From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001
From: stainer_t <thomas.stainer@oecd-nea.org>
Date: Mon, 8 Sep 2025 13:48:49 +0200
Subject: Initial commit from Polytechnique Montreal

---
 doc/IGE335/Section2.02.tex | 83 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)
 create mode 100644 doc/IGE335/Section2.02.tex

(limited to 'doc/IGE335/Section2.02.tex')

diff --git a/doc/IGE335/Section2.02.tex b/doc/IGE335/Section2.02.tex
new file mode 100644
index 0000000..29c4de7
--- /dev/null
+++ b/doc/IGE335/Section2.02.tex
@@ -0,0 +1,83 @@
+\subsection{DRAGON Data Structure and Module Declarations}\label{sect:StrucMod}
+
+DRAGON is built around the Ganlib kernel and its modules can be called from CLE-2000.\cite{ganlib5,cle2000}
+Accordingly, all the modules that will be used during the current execution must
+be first identified. One must also define the format of each data structure that
+will be processed by these modules. Then, the modules required for the specific
+DRAGON calculation are called successively, information being
+transferred from one module to the next via the data structures. Finally,
+the execution of DRAGON is terminated when it encounters the \moc{END:} module
+even if it is followed by additional data records in the input data stream. The
+general input data structure therefore follows the calling specifications given
+below:
+
+\begin{DataStructure}{Structure \dstr{DRAGON}}
+$[$ \moc{MODULE} $[[$ \dusa{MODNAME} $]]$ \moc{;} $]$ \\
+$[$ \moc{LINKED\_LIST} $[[$ \dusa{STRNAME} $]]$ \moc{;} $]$ \\
+$[$ \moc{XSM\_FILE} $[[$ \dusa{STRNAME} $]]$ \moc{;} $]$ \\
+$[$ \moc{SEQ\_BINARY} $[[$ \dusa{STRNAME} $]]$ \moc{;} $]$ \\
+$[$ \moc{SEQ\_ASCII} $[[$ \dusa{STRNAME} $]]$ \moc{;} $]$ \\
+$[[$ \dstr{module}  \moc{;} $]]$ \\
+\moc{END:} \moc{;}
+\end{DataStructure}
+
+\noindent where
+\begin{ListeDeDescription}{mmmmmmmm}
+
+\item[\moc{MODULE}]  keyword used to specify the list of modules to be used in
+this DRAGON execution.
+
+\item[\dusa{MODNAME}] {\tt character*12} name of a DRAGON or utility module.
+The list of DRAGON module is provided in \Sect{DragonModules} while the list of
+Utility module is described in \Sect{UtilityModules}. By default a ` ' module
+is always available (see \Sectand{UtilityModules}{EQUData}).
+
+\item[\moc{LINKED\_LIST}]  keyword used to specify which data structures will
+be stored in linked lists. 
+
+\item[\moc{XSM\_FILE}]  keyword used to specify which data structures will be
+stored on XSM format files. 
+
+\item[\moc{SEQ\_BINARY}]  keyword used to specify which data structures will be
+stored on sequential binary files. 
+
+\item[\moc{SEQ\_ASCII}]  keyword used to specify which data structures will be
+stored on sequential ASCII files. 
+
+\item[\dusa{STRNAME}] {\tt character*12} name of a DRAGON data structure.
+Note that on MVS file names are truncated to 7 characters due to a constraint of
+this operating system. The list of DRAGON data structure is presented in
+\Sect{DragonDataStructures}.
+
+\item[\dstr{module}] input specifications for a DRAGON or utility module.  For
+the DRAGON specific modules these input structures will be defined in
+\Sect{DragonModuleInput}. For utility modules, the required structures are
+described in \Sect{UtilityModuleInput}.
+
+\item[\moc{END:}] keyword to call the normal end-of-execution utility module.
+
+\item[\moc{;}] end of record keyword. This keyword is used by DRAGON to
+delimit the part of the input data stream associated with each module.
+
+\end{ListeDeDescription}
+
+Note that the user generally has the choice to declare most of the data
+structures in the format of a linked list to reduce CPU times or as a XSM
+file to reduce memory resources. Some exceptions to this general rule are
+the tracking files as we will see in \Sect{TRKData}. In general, the data
+structure are stored on the sequential ASCII files only for backup purposes.
+
+\vskip 0.2cm
+
+The input data normally ends with a call to
+the \moc{END:} module (see \Sect{ENDData}). However, the GAN driver will insert
+automatically the
+\moc{END:} module, even if it was not provided, upon reaching an end-of-file in
+the input stream.
+
+\vskip 0.2cm
+
+Each \dstr{module} specification contains a description of the execution modules to
+be called and its associated input structure. All these
+modules, except the \moc{END:} module may be called more than once.
+
-- 
cgit v1.2.3

