\section{Contents of a \dir{draglib} directory}\label{sect:draglibdir}

The {\sc draglib} format provide an efficient way to store burnup data and multigroup isotopic nuclear
data to be used in a lattice code. A {\sc draglib} file is a persistent
LCM object (an {\sc xsm}--formatted file) used to organize the
data in a hierarchical format. Therefore, it will be easy to convert back and
forth between the binary direct access format (efficient during a lattice
calculation) and the {\sc ascii} export format (usefull for backup and exchange purposes).
A library in {\sc draglib} format is generally built using the {\tt dragr} module
available in an inhouse version of NJOY.\cite{Dragr} The optional capability to define energy-dependent
fission spectra is available, as described in Ref.~\citen{mosca}.

\vskip0.2cm

A {\sc draglib} is an LCM object with a depletion chain and a set of isotopic
sub-directories located on the root directory. Each isotopic sub-directory
contains infinite dilution nuclear data for a set of absolute temperatures.
Incremental values corresponding to finite dilutions are given on the last
directory level.

\vskip0.2cm

The first group corresponds to highest energy neutrons.
Every cross section is given in barn. Finally, note that the lagging zeros of
any cross section record can be removed from that record in order to save space
on the {\sc draglib}. The lattice code will therefore have to pack any uncomplete
cross section record with zeros.

\subsection{The main \dir{draglib} directory}\label{sect:drglibdirmain}

On its first level, the
following records and sub-directories will be found in the \dir{draglib} directory:

\begin{DescriptionEnregistrement}{Main records and sub-directories in \dir{draglib}}{8.0cm}
\CharEnr
  {SIGNATURE\blank{3}}{$*12$}
  {Signature of the data structure ($\mathsf{SIGNA}=${\tt L\_DRAGLIB\blank{3}}).}
\CharEnr
  {VERSION\blank{5}}{$*12$}
  {Version identification. Equal to {\tt 'RELEASE\_2003'} for all Draglibs produced up to September
  2025. Equal to {\tt 'RELEASE\_2025'} for Draglibs with {\tt H-FACTOR} (KERMA) information. This value
  will change if the {\sc draglib} specification is to be modified in the future.}
\CharEnr
  {README\blank{6}}{$(N^{\rm dgl})*80$}
  {User--defined comments about the library.}
\RealEnr
  {ENERGY\blank{6}}{$G+1$}{eV}
  {$E(g)$: Group energy limits in eV. Group $g$ is defined as $E(g) < E \le E(g-1)$.}
\OptRealEnr
  {CHI-ENERGY\blank{2}}{$G_{\rm chi}+1$}{$G_{\rm chi}\ne 0$}{eV}
  {$E_{\rm chi}(g)$: Group energy limits defining the energy-dependent fission spectra. By default, a unique fission spectra is used.}
\OptIntEnr
  {CHI-LIMITS\blank{2}}{$G_{\rm chi}+1$}{$G_{\rm chi}\ne 0$}
  {$N_{\rm chi}(g)$: Group limit indices defining the energy-dependent fission spectra. By default, a unique fission spectra is used.}
\OptDirEnr
  {DEPL-CHAIN\blank{2}}{*}
  {directory containing the \dir{depletion} associated with this library, following
  the specification presented in \Sect{microlibdirdepletion}. (*) This data is required
  if the library is to be used for burnup calculations.}
\DirVar
  {\listedir{isotope}}
  {Set of sub-directories containing the cross section information
   associated with a specific isotope.}
\end{DescriptionEnregistrement}

\noindent where $G$ is the number of energy groups. For design reasons, the
{\sc draglib} object has no state vector record.

\subsection{Contents of an \dir{isotope} directory}\label{sect:isotopeDrag}

Each \dir{isotope} directory contains information related to a single isotope.
This information is written using one of the following formats:
\begin{itemize}
\item a temperature--independent isotopic data is written using the format described
in Tables~\ref{tabl:tabiso1} to \ref{tabl:tabiso5} of the {\sc microlib}
specification. Such isotopic data is typically produced by the {\tt EDI:} module.
\item a temperature--dependent isotopic data, tabulated for $N_{\rm tmp}$ temperatures, is
written using the format presented in Table~\ref{tabl:tabiso201}.
\end{itemize}

\begin{DescriptionEnregistrement}{Temperature-dependent isotopic records}{7.5cm}
\label{tabl:tabiso201}
\CharEnr
  {README\blank{6}}{$(N^{\rm iso})*80$}
  {User--defined comments about the isotope.}
\RealEnr
  {AWR\blank{9}}{$1$}{nau}
  {Ratio of the isotope mass divided by the neutron mass}
\RealEnr
  {TEMPERATURE\blank{1}}{$N_{\rm tmp}$}{K}
  {Set of temperatures, expressed in Kelvin.}
\DirVar
  {\listedir{tmpdir}}
  {Set of $N_{\rm tmp}$ sub-directories, each containing the cross section information
   associated with a specific temperature.}
\OptRealEnr
  {BIN-DELI\blank{4}}{$1$}{*}{1}
  {Elementary lethargy width of the Autolib lethargy mesh.}
\OptIntEnr
  {BIN-NFS\blank{5}}{$G$}{*}
  {Number of fine energy groups $n_{{\rm bin},g}$ in each group $g$. May be set to zero
  in some groups. (*) This data is optional and is useful when advanced self-shielding
  models are used in the lattice calculation.}
\OptRealEnr
  {BIN-ENERGY\blank{2}}{$N_{\rm bin}+1$}{*}{eV}
  {Fine group energy limits in eV. Here, $N_{\rm bin}=\sum_g n_{{\rm bin},g}$. (*) This data
  should be given if and only if the record {\tt `BIN-NFS'} is present.}
\OptIntEnr
  {ONFLIGHTIGR\blank{1}}{1}{*}
  {Number of groups with a lethargy width equal to $\Delta u^{\rm ecco}$. (*) This data is optional and is used to compress scattering information
  in eccolib libraries.}
\OptRealEnr
  {ONFLIGHTDEL\blank{1}}{1}{*}{1}
  {Lethargy width $\Delta u^{\rm ecco}$ of groups above thermal energies. (*) This data is optional and is used to compress scattering information
  in eccolib libraries.}
\end{DescriptionEnregistrement}

The name of each \listedir{tmpdir} directory is a {\tt character*12} variable ({\tt text12})
composed using the following Fortran instruction:
$$
\mathtt{WRITE(}\mathsf{text12}\mathtt{,'(''SUBTMP'',I4.4)')}\: J
$$
where $J$ is the index of the temperature with $1 \leq J \le N_{\rm tmp}$.

\vskip 0.2cm

Scattering information is lumped for some isotopes of an eccolib library. If records {\tt ONFLIGHTIGR} and
{\tt ONFLIGHTDEL} are present for an isotope, elastic scattering is assumed above thermal energies and
scattering probabilities are computed on-flight in Dragon. This option is only available with eccolib-1962g
libraries where the lethargy width is constant and equal to 1/120 above thermal energies.

\vskip 0.2cm

Each \dir{tmpdir} directory contains information related to a single isotope
at a single temperature. This information is written using one of the following formats:
\begin{itemize}
\item If the isotope contains no self-shielding data (i.e., if the isotope is
only present at infinite dilution), then the isotopic data is written using the format described
in Tables~\ref{tabl:tabiso1} to \ref{tabl:tabiso5} of the {\sc microlib}
specification.
\item If the isotope contains self-shielding data, then the infinite-dilution isotopic data is
written using the format described in Tables~\ref{tabl:tabiso1} to \ref{tabl:tabiso5} of the
{\sc microlib} specification. In this case, additional data is required to represent the
dilution dependence of the cross sections. This additional data is presented in Table~\ref{tabl:tabiso202}.
\end{itemize}

\begin{DescriptionEnregistrement}{Temperature-dependent isotopic records}{7.5cm}
\label{tabl:tabiso202}
\RealEnr
  {DILUTION\blank{4}}{$N_{\rm dil}$}{b}
  {Set of finite dilutions $\sigma_e$, expressed in barn. Note: the infinite dilution value (1.0E10) is not given.}
\DirVar
  {\listedir{dildir}}
  {Set of $N_{\rm dil}$ sub-directories, each containing the {\sl incremental} cross section information
   associated with a specific dilution.}
\OptRealEnr
  {BIN-NTOT0\blank{3}}{$N_{\rm bin}$}{*}{b}
  {Microscopic total cross sections $\sigma^{\rm BIN}(h)$ defined in the fine groups. (*) This data should be given if and
  only if the records {\tt `BIN-NFS'} and {\tt `BIN-ENERGY'} are present in the parent directory.}
\OptRealEnr
  {BIN-SIGS00\blank{2}}{$N_{\rm bin}$}{*}{b}
  {Microscopic diffusion cross sections $\sigma^{\rm BIN}_{\rm scat0}(h)$ for an isotropic collision in the laboratory system defined
  in the fine groups. (*) This data should be given if and only if the records {\tt `BIN-NFS'}
  and {\tt `BIN-ENERGY'} are present in the parent directory.}
\end{DescriptionEnregistrement}

The name of each \listedir{dildir} directory is a {\tt character*12} variable ({\tt text12})
composed using the following Fortran instruction:
$$
\mathtt{WRITE(}\mathsf{text12}\mathtt{,'(''SUBMAT'',I4.4)')}\: K
$$
where $K$ is the index of the finite dilution with $1 \leq K \le N_{\rm dil}$.

\vskip 0.2cm

The fine-group cross sections in records {\tt BIN-NTOT0\blank{3}} and {\tt BIN-SIGS00\blank{2}}
are normalized to the coarse group values $\sigma(g)$ and $\sigma_{\rm scat0}(g)$ in such a way that

$$\sigma(g)={1 \over {\rm ln}[E(g-1) / E(g)]} \sum_{h=h_{\rm min}+1}^{h_{\rm min}+N^{\rm BIN}(g)} {\sigma^{\rm BIN}(h)} \ {\rm ln} \biggl[{E^{\rm BIN}(h-1)\over E^{\rm BIN}(h)} \biggr]$$

\noindent and

$$\sigma_{\rm scat0}(g)={1 \over {\rm ln}[E(g-1) / E(g)]} \sum_{h=h_{\rm min}+1}^{h_{\rm min}+N^{\rm BIN}(g)} {\sigma^{\rm BIN}_{\rm scat0}(h)} \ {\rm ln} \biggl[{E^{\rm BIN}(h-1)\over E^{\rm BIN}(h)} \biggr]$$

\noindent where

$$h_{\rm min}=\sum_{i=1}^{g-1}{N^{\rm BIN}(i)} \ \ .$$

\vskip 0.2cm

Nuclear data stored on sub-directory \dir{tmpdir} is infinite dilution data related to a single isotope
at a single temperature. Nuclear
data stored on \dir{dildir} and corresponding to dilution $\sigma_e$ is incremental
data relative to infinite dilution data:

$$\delta\sigma_{\rm x}(g,\sigma_e)=I_{\rm x}(g,\sigma_e)-\sigma_{\rm x}(g,\infty)=\sigma_{\rm x}(g,\sigma_e)\varphi(g,\sigma_e)-\sigma_{\rm x}(g,\infty)$$

\noindent and

$$\delta\varphi(g,\sigma_e)=\varphi(g,\sigma_e)-1$$

\noindent where $I_{\rm x}(g,\sigma_e)$ is the effective resonance integral and $\varphi(g,\sigma_e)$ is the averaged fine
structure function at dilution $\sigma_e$. Note that $\varphi(g,\infty)=1$.

\eject
