| 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 | 
| 80 | 
 still be aware of the dependency. | 
 still be aware of the dependency. | 
| 81 | 
  | 
  | 
| 82 | 
  | 
  | 
| 83 | 
 \section{Package Coding Standards} | 
 \subsection{Package Coding Standards} | 
| 84 | 
  | 
  | 
| 85 | 
 The following sections describe how to modify and/or create new MITgcm | 
 The following sections describe how to modify and/or create new MITgcm | 
| 86 | 
 packages. | 
 packages. | 
| 87 | 
  | 
  | 
| 88 | 
 \subsection{Packages are Not Libraries} | 
 \subsubsection{Packages are Not Libraries} | 
| 89 | 
  | 
  | 
| 90 | 
 To a beginner, the MITgcm packages may resemble libraries as used in | 
 To a beginner, the MITgcm packages may resemble libraries as used in | 
| 91 | 
 myriad software projects.  While future versions are likely to | 
 myriad software projects.  While future versions are likely to | 
| 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() |