/[MITgcm]/manual/s_phys_pkgs/text/packages.tex
ViewVC logotype

Diff of /manual/s_phys_pkgs/text/packages.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.6 by molod, Mon Jul 18 20:45:27 2005 UTC revision 1.8 by jmc, Mon Aug 30 23:09:21 2010 UTC
# Line 20  set of subsequent run--time options. Line 20  set of subsequent run--time options.
20  There are numerous ways that one can specify compile--time package  There are numerous ways that one can specify compile--time package
21  inclusion or exclusion and they are all implemented by the  inclusion or exclusion and they are all implemented by the
22  \texttt{genmake2} program which was previously described in Section  \texttt{genmake2} program which was previously described in Section
23  \ref{sect:buildingCode}.  The options are as follows:  \ref{sec:buildingCode}.  The options are as follows:
24  \begin{enumerate}  \begin{enumerate}
25  \item Setting the \texttt{genamake2} options \texttt{--enable PKG}  \item Setting the \texttt{genamake2} options \texttt{--enable PKG}
26    and/or \texttt{--disable PKG} specifies inclusion or exclusion.    and/or \texttt{--disable PKG} specifies inclusion or exclusion.
# Line 41  inclusion or exclusion and they are all Line 41  inclusion or exclusion and they are all
41    automatically obtains all packages in that group.    automatically obtains all packages in that group.
42    
43  \item By default (that is, if a \texttt{packages.conf} file is not  \item By default (that is, if a \texttt{packages.conf} file is not
44    found), the \texttt{genmake2} program will use the contents of the    found), the \texttt{genmake2} program will use the
45    \texttt{pkg/pkg\_default} file to obtain a list of packages.    package group default ``\texttt{default\_pkg\_list}'' as defined
46      in \texttt{pkg/pkg\_groups} file.
47    
48  \item To help prevent users from creating unusable package groups, the  \item To help prevent users from creating unusable package groups, the
49    \texttt{genmake2} program will parse the contents of the    \texttt{genmake2} program will parse the contents of the
# Line 228  outlined here: Line 229  outlined here:
229    
230          #ifdef ALLOW_${PKG}          #ifdef ALLOW_${PKG}
231            if ( use${Pkg} )            if ( use${Pkg} )
232       &       CALL ${PKG}_DIAGS( )       &       CALL ${PKG}_OUTPUT( )
233          #endif          #endif
234    
235       7. S/R PACKAGES_WRITE_PICKUP()       7. S/R PACKAGES_WRITE_PICKUP()
# Line 243  outlined here: Line 244  outlined here:
244  \subsubsection{Adding a package to PARAMS.h and  packages\_boot()}  \subsubsection{Adding a package to PARAMS.h and  packages\_boot()}
245    
246  An MITgcm package directory contains all the code needed for that package apart  An MITgcm package directory contains all the code needed for that package apart
247  from one variable for each package. This variable is the {\tt use\$\{Pkg\} }  from one variable for each package. This variable is the {\it use\$\{Pkg\} }
248  flag. This flag, which is of type logical, {\bf must} be declared in the  flag. This flag, which is of type logical, {\bf must} be declared in the
249  shared header file {\it PARAMS.h} in the {\it PARM\_PACKAGES} block. This  shared header file {\it PARAMS.h} in the {\it PARM\_PACKAGES} block. This
250  convention is used to support a single runtime control file {\it data.pkg}  convention is used to support a single runtime control file {\it data.pkg}
# Line 251  which is read by the startup routine {\i Line 252  which is read by the startup routine {\i
252  flag controlling the runtime use of a package. This routine needs to be able to  flag controlling the runtime use of a package. This routine needs to be able to
253  read the flags for packages that were not built at compile time. Therefore  read the flags for packages that were not built at compile time. Therefore
254  when adding a new package, in addition to creating the per-package directory  when adding a new package, in addition to creating the per-package directory
255  in the {\it pkg/} subdirectory a developer should add a {\tt use\$\{Pkg\} }  in the {\it pkg/} subdirectory a developer should add a {\it use\$\{Pkg\} }
256  flag to {\it PARAMS.h} and a {\tt use\$\{Pkg\} } entry to the  flag to {\it PARAMS.h} and a {\it use\$\{Pkg\} } entry to the
257  {\it packages\_boot()} {\it PACKAGES} namelist.  {\it packages\_boot()} {\it PACKAGES} namelist.
258  The only other package specific code that should appear outside the individual  The only other package specific code that should appear outside the individual
259  package directory are calls to the specific package API.  package directory are calls to the specific package API.

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.22