/[MITgcm]/manual/s_getstarted/text/getting_started.tex
ViewVC logotype

Diff of /manual/s_getstarted/text/getting_started.tex

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

revision 1.17 by edhill, Thu Jan 29 15:11:39 2004 UTC revision 1.22 by edhill, Wed Mar 24 20:53:12 2004 UTC
# Line 79  provide easy support for maintenance upd Line 79  provide easy support for maintenance upd
79    
80  \end{enumerate}  \end{enumerate}
81    
82    \subsubsection{Checkout from CVS}
83    \label{sect:cvs_checkout}
84    
85  If CVS is available on your system, we strongly encourage you to use it. CVS  If CVS is available on your system, we strongly encourage you to use it. CVS
86  provides an efficient and elegant way of organizing your code and keeping  provides an efficient and elegant way of organizing your code and keeping
87  track of your changes. If CVS is not available on your machine, you can also  track of your changes. If CVS is not available on your machine, you can also
# Line 93  in your .cshrc or .tcshrc file.  For bas Line 96  in your .cshrc or .tcshrc file.  For bas
96  \begin{verbatim}  \begin{verbatim}
97  % export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack'  % export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack'
98  \end{verbatim}  \end{verbatim}
99  in your .profile or .bashrc file.  in your \texttt{.profile} or \texttt{.bashrc} file.
100    
101    
102  To get MITgcm through CVS, first register with the MITgcm CVS server  To get MITgcm through CVS, first register with the MITgcm CVS server
# Line 121  http://mitgcm.org/source_code.html Line 124  http://mitgcm.org/source_code.html
124  \end{verbatim}  \end{verbatim}
125  \begin{rawhtml} </A> \end{rawhtml}  \begin{rawhtml} </A> \end{rawhtml}
126    
127    As a convenience, the MITgcm CVS server contains aliases which are
128    named subsets of the codebase.  These aliases can be especially
129    helpful when used over slow internet connections or on machines with
130    restricted storage space.  Table \ref{tab:cvsModules} contains a list
131    of CVS aliases
132    \begin{table}[htb]
133      \centering
134      \begin{tabular}[htb]{|lp{3.25in}|}\hline
135        \textbf{Alias Name}    &  \textbf{Information (directories) Contained}  \\\hline
136        \texttt{MITgcm\_code}  &  Only the source code -- none of the verification examples.  \\
137        \texttt{MITgcm\_verif\_basic}
138        &  Source code plus a small set of the verification examples
139        (\texttt{global\_ocean.90x40x15}, \texttt{aim.5l\_cs}, \texttt{hs94.128x64x5},
140        \texttt{front\_relax}, and \texttt{plume\_on\_slope}).  \\
141        \texttt{MITgcm\_verif\_atmos}  &  Source code plus all of the atmospheric examples.  \\
142        \texttt{MITgcm\_verif\_ocean}  &  Source code plus all of the oceanic examples.  \\
143        \texttt{MITgcm\_verif\_all}    &  Source code plus all of the
144        verification examples. \\\hline
145      \end{tabular}
146      \caption{MITgcm CVS Modules}
147      \label{tab:cvsModules}
148    \end{table}
149    
150  The checkout process creates a directory called \textit{MITgcm}. If  The checkout process creates a directory called \textit{MITgcm}. If
151  the directory \textit{MITgcm} exists this command updates your code  the directory \textit{MITgcm} exists this command updates your code
# Line 134  MITgcm code can be found Line 159  MITgcm code can be found
159  here  here
160  \begin{rawhtml} </A> \end{rawhtml}  \begin{rawhtml} </A> \end{rawhtml}
161  .  .
162    It is important to note that the CVS aliases in Table
163    \ref{tab:cvsModules} cannot be used in conjunction with the CVS
164    \texttt{-d DIRNAME} option.  However, the \texttt{MITgcm} directories
165    they create can be changed to a different name following the check-out:
166    \begin{verbatim}
167       %  cvs co MITgcm_verif_basic
168       %  mv MITgcm MITgcm_verif_basic
169    \end{verbatim}
170    
171    
172  \paragraph*{Conventional download method}  \subsubsection{Conventional download method}
173  \label{sect:conventionalDownload}  \label{sect:conventionalDownload}
174    
175  If you do not have CVS on your system, you can download the model as a  If you do not have CVS on your system, you can download the model as a
# Line 156  MITgcm-support@mitgcm.org Line 189  MITgcm-support@mitgcm.org
189  \begin{rawhtml} </A> \end{rawhtml}  \begin{rawhtml} </A> \end{rawhtml}
190  mailing list.  mailing list.
191    
192  \paragraph*{Upgrading from an earlier version}  \subsubsection{Upgrading from an earlier version}
193    
194  If you already have an earlier version of the code you can ``upgrade''  If you already have an earlier version of the code you can ``upgrade''
195  your copy instead of downloading the entire repository again. First,  your copy instead of downloading the entire repository again. First,
# Line 739  The most important command-line options Line 772  The most important command-line options
772    the user's path.  When these three items have been identified,    the user's path.  When these three items have been identified,
773    genmake2 will try to find an optfile that has a matching name.    genmake2 will try to find an optfile that has a matching name.
774        
775    \item[\texttt{--pdefault='PKG1 PKG2 PKG3 ...'}] specifies the default
776      set of packages to be used.  The normal order of precedence for
777      packages is as follows:
778      \begin{enumerate}
779      \item If available, the command line (\texttt{--pdefault}) settings
780        over-rule any others.
781    
782      \item Next, \texttt{genmake2} will look for a file named
783        ``\texttt{packages.conf}'' in the local directory or in any of the
784        directories specified with the \texttt{--mods} option.
785        
786      \item Finally, if neither of the above are available,
787        \texttt{genmake2} will use the \texttt{/pkg/pkg\_default} file.
788      \end{enumerate}
789      
790  \item[\texttt{--pdepend=/PATH/FILENAME}] specifies the dependency file  \item[\texttt{--pdepend=/PATH/FILENAME}] specifies the dependency file
791    used for packages.    used for packages.
792        
# Line 751  The most important command-line options Line 799  The most important command-line options
799    assumed that the two packages are compatible and will function    assumed that the two packages are compatible and will function
800    either with or without each other.    either with or without each other.
801        
 \item[\texttt{--pdefault='PKG1 PKG2 PKG3 ...'}] specifies the default  
   set of packages to be used.  
     
   If not set, the default package list will be read from {\em  
     pkg/pkg\_default}  
     
802  \item[\texttt{--adof=/path/to/file}] specifies the "adjoint" or  \item[\texttt{--adof=/path/to/file}] specifies the "adjoint" or
803    automatic differentiation options file to be used.  The file is    automatic differentiation options file to be used.  The file is
804    analogous to the ``optfile'' defined above but it specifies    analogous to the ``optfile'' defined above but it specifies
# Line 791  The most important command-line options Line 833  The most important command-line options
833    provided by commercial Unix vendors, GNU \texttt{make} (sometimes    provided by commercial Unix vendors, GNU \texttt{make} (sometimes
834    called \texttt{gmake}) should be preferred.  This option provides a    called \texttt{gmake}) should be preferred.  This option provides a
835    means for specifying the make executable to be used.    means for specifying the make executable to be used.
836      
837    \item[\texttt{--bash=/path/to/sh}] On some (usually older UNIX)
838      machines, the ``bash'' shell is unavailable.  To run on these
839      systems, \texttt{genmake2} can be invoked using an ``sh'' (that is,
840      a Bourne, POSIX, or compatible) shell.  The syntax in these
841      circumstances is:
842      \begin{center}
843        \texttt{/bin/sh genmake2 -bash=/bin/sh [...options...]}
844      \end{center}
845      where \texttt{/bin/sh} can be replaced with the full path and name
846      of the desired shell.
847    
848  \end{description}  \end{description}
849    
# Line 940  simulation controls. Line 993  simulation controls.
993  \begin{description}  \begin{description}
994  \item[dimensions] \  \item[dimensions] \
995        
996    The number of points in the x, y,\textit{\ }and r\textit{\    The number of points in the x, y, and r directions are represented
997    }directions are represented by the variables \textbf{sNx}\textit{,    by the variables \textbf{sNx}, \textbf{sNy} and \textbf{Nr}
998    }\textbf{sNy}\textit{, } and \textbf{Nr}\textit{\ }respectively    respectively which are declared and set in the file
999    which are declared and set in the file \textit{model/inc/SIZE.h.    \textit{model/inc/SIZE.h}.  (Again, this assumes a mono-processor
1000    }(Again, this assumes a mono-processor calculation. For    calculation. For multiprocessor calculations see the section on
1001    multiprocessor calculations see section on parallel implementation.)    parallel implementation.)
1002    
1003  \item[grid] \  \item[grid] \
1004        
1005    Three different grids are available: cartesian, spherical polar, and    Three different grids are available: cartesian, spherical polar, and
1006    curvilinear (including the cubed sphere). The grid is set through    curvilinear (which includes the cubed sphere). The grid is set
1007    the logical variables \textbf{usingCartesianGrid}\textit{, }\textbf{    through the logical variables \textbf{usingCartesianGrid},
1008      usingSphericalPolarGrid}\textit{, }and \textit{\ }\textbf{    \textbf{usingSphericalPolarGrid}, and \textbf{usingCurvilinearGrid}.
1009      usingCurvilinearGrid}\textit{. }In the case of spherical and    In the case of spherical and curvilinear grids, the southern
1010    curvilinear grids, the southern boundary is defined through the    boundary is defined through the variable \textbf{phiMin} which
1011    variable \textbf{phiMin} \textit{\ }which corresponds to the    corresponds to the latitude of the southern most cell face (in
1012    latitude of the southern most cell face (in degrees). The resolution    degrees). The resolution along the x and y directions is controlled
1013    along the x and y directions is controlled by the 1D arrays    by the 1D arrays \textbf{delx} and \textbf{dely} (in meters in the
1014    \textbf{delx}\textit{\ }and \textbf{dely}\textit{\ }(in meters in    case of a cartesian grid, in degrees otherwise).  The vertical grid
1015    the case of a cartesian grid, in degrees otherwise). The vertical    spacing is set through the 1D array \textbf{delz} for the ocean (in
1016    grid spacing is set through the 1D array \textbf{delz }for the ocean    meters) or \textbf{delp} for the atmosphere (in Pa).  The variable
1017    (in meters) or \textbf{delp}\textit{\ }for the atmosphere (in Pa).    \textbf{Ro\_SeaLevel} represents the standard position of Sea-Level
1018    The variable \textbf{ Ro\_SeaLevel} represents the standard position    in ``R'' coordinate. This is typically set to 0m for the ocean
1019    of Sea-Level in ''R'' coordinate. This is typically set to 0m for    (default value) and 10$^{5}$Pa for the atmosphere. For the
1020    the ocean (default value) and 10$ ^{5}$Pa for the atmosphere. For    atmosphere, also set the logical variable \textbf{groundAtK1} to
1021    the atmosphere, also set the logical variable \textbf{groundAtK1} to    \texttt{'.TRUE.'} which puts the first level (k=1) at the lower
   '.\texttt{TRUE}.'. which put the first level (k=1) at the lower  
1022    boundary (ground).    boundary (ground).
1023        
1024    For the cartesian grid case, the Coriolis parameter $f$ is set    For the cartesian grid case, the Coriolis parameter $f$ is set
1025    through the variables \textbf{f0}\textit{\ }and    through the variables \textbf{f0} and \textbf{beta} which correspond
1026    \textbf{beta}\textit{\ }which correspond to the reference Coriolis    to the reference Coriolis parameter (in s$^{-1}$) and
1027    parameter (in s$^{-1}$) and $\frac{\partial f}{ \partial y}$(in    $\frac{\partial f}{ \partial y}$(in m$^{-1}$s$^{-1}$) respectively.
1028    m$^{-1}$s$^{-1}$) respectively. If \textbf{beta }\textit{\ } is set    If \textbf{beta } is set to a nonzero value, \textbf{f0} is the
1029    to a nonzero value, \textbf{f0}\textit{\ }is the value of $f$ at the    value of $f$ at the southern edge of the domain.
   southern edge of the domain.  
1030    
1031  \item[topography - full and partial cells] \  \item[topography - full and partial cells] \
1032        
1033    The domain bathymetry is read from a file that contains a 2D (x,y)    The domain bathymetry is read from a file that contains a 2D (x,y)
1034    map of depths (in m) for the ocean or pressures (in Pa) for the    map of depths (in m) for the ocean or pressures (in Pa) for the
1035    atmosphere. The file name is represented by the variable    atmosphere. The file name is represented by the variable
1036    \textbf{bathyFile}\textit{. }The file is assumed to contain binary    \textbf{bathyFile}. The file is assumed to contain binary numbers
1037    numbers giving the depth (pressure) of the model at each grid cell,    giving the depth (pressure) of the model at each grid cell, ordered
1038    ordered with the x coordinate varying fastest. The points are    with the x coordinate varying fastest. The points are ordered from
1039    ordered from low coordinate to high coordinate for both axes. The    low coordinate to high coordinate for both axes. The model code
1040    model code applies without modification to enclosed, periodic, and    applies without modification to enclosed, periodic, and double
1041    double periodic domains. Periodicity is assumed by default and is    periodic domains. Periodicity is assumed by default and is
1042    suppressed by setting the depths to 0m for the cells at the limits    suppressed by setting the depths to 0m for the cells at the limits
1043    of the computational domain (note: not sure this is the case for the    of the computational domain (note: not sure this is the case for the
1044    atmosphere). The precision with which to read the binary data is    atmosphere). The precision with which to read the binary data is
1045    controlled by the integer variable \textbf{readBinaryPrec }which can    controlled by the integer variable \textbf{readBinaryPrec} which can
1046    take the value \texttt{32} (single precision) or \texttt{64} (double    take the value \texttt{32} (single precision) or \texttt{64} (double
1047    precision). See the matlab program \textit{ gendata.m }in the    precision). See the matlab program \textit{gendata.m} in the
1048    \textit{input }directories under \textit{verification }to see how    \textit{input} directories under \textit{verification} to see how
1049    the bathymetry files are generated for the case study experiments.    the bathymetry files are generated for the case study experiments.
1050        
1051    To use the partial cell capability, the variable    To use the partial cell capability, the variable \textbf{hFacMin}
1052    \textbf{hFacMin}\textit{\ } needs to be set to a value between 0 and    needs to be set to a value between 0 and 1 (it is set to 1 by
1053    1 (it is set to 1 by default) corresponding to the minimum    default) corresponding to the minimum fractional size of the cell.
1054    fractional size of the cell. For example if the bottom cell is 500m    For example if the bottom cell is 500m thick and \textbf{hFacMin} is
1055    thick and \textbf{hFacMin}\textit{\ }is set to 0.1, the actual    set to 0.1, the actual thickness of the cell (i.e. used in the code)
1056    thickness of the cell (i.e. used in the code) can cover a range of    can cover a range of discrete values 50m apart from 50m to 500m
1057    discrete values 50m apart from 50m to 500m depending on the value of    depending on the value of the bottom depth (in \textbf{bathyFile})
1058    the bottom depth (in \textbf{bathyFile}) at this point.    at this point.
1059        
1060    Note that the bottom depths (or pressures) need not coincide with    Note that the bottom depths (or pressures) need not coincide with
1061    the models levels as deduced from \textbf{delz}\textit{\    the models levels as deduced from \textbf{delz} or \textbf{delp}.
1062    }or\textit{\ }\textbf{delp} \textit{. }The model will interpolate    The model will interpolate the numbers in \textbf{bathyFile} so that
1063    the numbers in \textbf{bathyFile} \textit{\ }so that they match the    they match the levels obtained from \textbf{delz} or \textbf{delp}
1064    levels obtained from \textbf{delz}\textit{ \ }or\textit{\    and \textbf{hFacMin}.
   }\textbf{delp}\textit{\ }and \textbf{hFacMin}\textit{. }  
1065        
1066    (Note: the atmospheric case is a bit more complicated than what is    (Note: the atmospheric case is a bit more complicated than what is
1067    written here I think. To come soon...)    written here I think. To come soon...)
# Line 1026  simulation controls. Line 1076  simulation controls.
1076    \textbf{deltaT}). The Adams-Bashforth stabilizing parameter is set    \textbf{deltaT}). The Adams-Bashforth stabilizing parameter is set
1077    through the variable \textbf{abEps} (dimensionless). The stagger    through the variable \textbf{abEps} (dimensionless). The stagger
1078    baroclinic time stepping can be activated by setting the logical    baroclinic time stepping can be activated by setting the logical
1079    variable \textbf{staggerTimeStep} to '.\texttt{TRUE}.'.    variable \textbf{staggerTimeStep} to \texttt{'.TRUE.'}.
1080    
1081  \end{description}  \end{description}
1082    
# Line 1044  humidity profile (in g/kg) for the atmos Line 1094  humidity profile (in g/kg) for the atmos
1094    
1095  The form of the equation of state is controlled by the character  The form of the equation of state is controlled by the character
1096  variables \textbf{buoyancyRelation} and \textbf{eosType}.  variables \textbf{buoyancyRelation} and \textbf{eosType}.
1097  \textbf{buoyancyRelation} is set to '\texttt{OCEANIC}' by default and  \textbf{buoyancyRelation} is set to \texttt{'OCEANIC'} by default and
1098  needs to be set to '\texttt{ATMOSPHERIC}' for atmosphere simulations.  needs to be set to \texttt{'ATMOSPHERIC'} for atmosphere simulations.
1099  In this case, \textbf{eosType} must be set to '\texttt{IDEALGAS}'.  In this case, \textbf{eosType} must be set to \texttt{'IDEALGAS'}.
1100  For the ocean, two forms of the equation of state are available:  For the ocean, two forms of the equation of state are available:
1101  linear (set \textbf{eosType} to '\texttt{LINEAR}') and a polynomial  linear (set \textbf{eosType} to \texttt{'LINEAR'}) and a polynomial
1102  approximation to the full nonlinear equation ( set  approximation to the full nonlinear equation ( set \textbf{eosType} to
1103  \textbf{eosType}\textit{\ }to '\texttt{POLYNOMIAL}'). In the linear  \texttt{'POLYNOMIAL'}). In the linear case, you need to specify the
1104  case, you need to specify the thermal and haline expansion  thermal and haline expansion coefficients represented by the variables
1105  coefficients represented by the variables \textbf{tAlpha}\textit{\  \textbf{tAlpha} (in K$^{-1}$) and \textbf{sBeta} (in ppt$^{-1}$). For
1106    }(in K$^{-1}$) and \textbf{sBeta} (in ppt$^{-1}$). For the nonlinear  the nonlinear case, you need to generate a file of polynomial
1107  case, you need to generate a file of polynomial coefficients called  coefficients called \textit{POLY3.COEFFS}. To do this, use the program
 \textit{POLY3.COEFFS}. To do this, use the program  
1108  \textit{utils/knudsen2/knudsen2.f} under the model tree (a Makefile is  \textit{utils/knudsen2/knudsen2.f} under the model tree (a Makefile is
1109  available in the same directory and you will need to edit the number  available in the same directory and you will need to edit the number
1110  and the values of the vertical levels in \textit{knudsen2.f} so that  and the values of the vertical levels in \textit{knudsen2.f} so that
# Line 1063  they match those of your configuration). Line 1112  they match those of your configuration).
1112    
1113  There there are also higher polynomials for the equation of state:  There there are also higher polynomials for the equation of state:
1114  \begin{description}  \begin{description}
1115  \item['\texttt{UNESCO}':] The UNESCO equation of state formula of  \item[\texttt{'UNESCO'}:] The UNESCO equation of state formula of
1116    Fofonoff and Millard \cite{fofonoff83}. This equation of state    Fofonoff and Millard \cite{fofonoff83}. This equation of state
1117    assumes in-situ temperature, which is not a model variable; \emph{its use    assumes in-situ temperature, which is not a model variable; {\em its
1118    is therefore discouraged, and it is only listed for completeness}.      use is therefore discouraged, and it is only listed for
1119  \item['\texttt{JMD95Z}':] A modified UNESCO formula by Jackett and      completeness}.
1120    \item[\texttt{'JMD95Z'}:] A modified UNESCO formula by Jackett and
1121    McDougall \cite{jackett95}, which uses the model variable potential    McDougall \cite{jackett95}, which uses the model variable potential
1122    temperature as input. The '\texttt{Z}' indicates that this equation    temperature as input. The \texttt{'Z'} indicates that this equation
1123    of state uses a horizontally and temporally constant pressure    of state uses a horizontally and temporally constant pressure
1124    $p_{0}=-g\rho_{0}z$.    $p_{0}=-g\rho_{0}z$.
1125  \item['\texttt{JMD95P}':] A modified UNESCO formula by Jackett and  \item[\texttt{'JMD95P'}:] A modified UNESCO formula by Jackett and
1126    McDougall \cite{jackett95}, which uses the model variable potential    McDougall \cite{jackett95}, which uses the model variable potential
1127    temperature as input. The '\texttt{P}' indicates that this equation    temperature as input. The \texttt{'P'} indicates that this equation
1128    of state uses the actual hydrostatic pressure of the last time    of state uses the actual hydrostatic pressure of the last time
1129    step. Lagging the pressure in this way requires an additional pickup    step. Lagging the pressure in this way requires an additional pickup
1130    file for restarts.    file for restarts.
1131  \item['\texttt{MDJWF}':] The new, more accurate and less expensive  \item[\texttt{'MDJWF'}:] The new, more accurate and less expensive
1132    equation of state by McDougall et~al. \cite{mcdougall03}. It also    equation of state by McDougall et~al. \cite{mcdougall03}. It also
1133    requires lagging the pressure and therefore an additional pickup    requires lagging the pressure and therefore an additional pickup
1134    file for restarts.    file for restarts.
# Line 1088  salinity is required. Line 1138  salinity is required.
1138    
1139  \subsection{Momentum equations}  \subsection{Momentum equations}
1140    
1141  In this section, we only focus for now on the parameters that you are likely  In this section, we only focus for now on the parameters that you are
1142  to change, i.e. the ones relative to forcing and dissipation for example.  likely to change, i.e. the ones relative to forcing and dissipation
1143  The details relevant to the vector-invariant form of the equations and the  for example.  The details relevant to the vector-invariant form of the
1144  various advection schemes are not covered for the moment. We assume that you  equations and the various advection schemes are not covered for the
1145  use the standard form of the momentum equations (i.e. the flux-form) with  moment. We assume that you use the standard form of the momentum
1146  the default advection scheme. Also, there are a few logical variables that  equations (i.e. the flux-form) with the default advection scheme.
1147  allow you to turn on/off various terms in the momentum equation. These  Also, there are a few logical variables that allow you to turn on/off
1148  variables are called \textbf{momViscosity, momAdvection, momForcing,  various terms in the momentum equation. These variables are called
1149  useCoriolis, momPressureForcing, momStepping}\textit{, }and \textit{\ }%  \textbf{momViscosity, momAdvection, momForcing, useCoriolis,
1150  \textbf{metricTerms }and are assumed to be set to '.\texttt{TRUE}.' here.    momPressureForcing, momStepping} and \textbf{metricTerms }and are
1151  Look at the file \textit{model/inc/PARAMS.h }for a precise definition of  assumed to be set to \texttt{'.TRUE.'} here.  Look at the file
1152  these variables.  \textit{model/inc/PARAMS.h }for a precise definition of these
1153    variables.
1154    
1155  \begin{description}  \begin{description}
1156  \item[initialization] \  \item[initialization] \
# Line 1111  these variables. Line 1162  these variables.
1162  \item[forcing] \  \item[forcing] \
1163        
1164    This section only applies to the ocean. You need to generate    This section only applies to the ocean. You need to generate
1165    wind-stress data into two files \textbf{zonalWindFile}\textit{\ }and    wind-stress data into two files \textbf{zonalWindFile} and
1166    \textbf{ meridWindFile }corresponding to the zonal and meridional    \textbf{meridWindFile} corresponding to the zonal and meridional
1167    components of the wind stress, respectively (if you want the stress    components of the wind stress, respectively (if you want the stress
1168    to be along the direction of only one of the model horizontal axes,    to be along the direction of only one of the model horizontal axes,
1169    you only need to generate one file). The format of the files is    you only need to generate one file). The format of the files is
1170    similar to the bathymetry file. The zonal (meridional) stress data    similar to the bathymetry file. The zonal (meridional) stress data
1171    are assumed to be in Pa and located at U-points (V-points). As for    are assumed to be in Pa and located at U-points (V-points). As for
1172    the bathymetry, the precision with which to read the binary data is    the bathymetry, the precision with which to read the binary data is
1173    controlled by the variable \textbf{readBinaryPrec}.\textbf{\ } See    controlled by the variable \textbf{readBinaryPrec}.  See the matlab
1174    the matlab program \textit{gendata.m }in the \textit{input    program \textit{gendata.m} in the \textit{input} directories under
1175    }directories under \textit{verification }to see how simple    \textit{verification} to see how simple analytical wind forcing data
1176    analytical wind forcing data are generated for the case study    are generated for the case study experiments.
   experiments.  
1177        
1178    There is also the possibility of prescribing time-dependent periodic    There is also the possibility of prescribing time-dependent periodic
1179    forcing. To do this, concatenate the successive time records into a    forcing. To do this, concatenate the successive time records into a
1180    single file (for each stress component) ordered in a (x, y, t)    single file (for each stress component) ordered in a (x,y,t) fashion
1181    fashion and set the following variables:    and set the following variables: \textbf{periodicExternalForcing }to
1182    \textbf{periodicExternalForcing }to '.\texttt{TRUE}.',    \texttt{'.TRUE.'}, \textbf{externForcingPeriod }to the period (in s)
1183    \textbf{externForcingPeriod }to the period (in s) of which the    of which the forcing varies (typically 1 month), and
1184    forcing varies (typically 1 month), and \textbf{externForcingCycle    \textbf{externForcingCycle} to the repeat time (in s) of the forcing
1185    }to the repeat time (in s) of the forcing (typically 1 year -- note:    (typically 1 year -- note: \textbf{ externForcingCycle} must be a
1186    \textbf{ externForcingCycle }must be a multiple of    multiple of \textbf{externForcingPeriod}).  With these variables set
1187    \textbf{externForcingPeriod}).  With these variables set up, the    up, the model will interpolate the forcing linearly at each
1188    model will interpolate the forcing linearly at each iteration.    iteration.
1189    
1190  \item[dissipation] \  \item[dissipation] \
1191        
1192    The lateral eddy viscosity coefficient is specified through the    The lateral eddy viscosity coefficient is specified through the
1193    variable \textbf{viscAh}\textit{\ }(in m$^{2}$s$^{-1}$). The    variable \textbf{viscAh} (in m$^{2}$s$^{-1}$). The vertical eddy
1194    vertical eddy viscosity coefficient is specified through the    viscosity coefficient is specified through the variable
1195    variable \textbf{viscAz }(in m$^{2}$s$ ^{-1}$) for the ocean and    \textbf{viscAz} (in m$^{2}$s$^{-1}$) for the ocean and
1196    \textbf{viscAp}\textit{\ }(in Pa$^{2}$s$^{-1}$) for the atmosphere.    \textbf{viscAp} (in Pa$^{2}$s$^{-1}$) for the atmosphere.  The
1197    The vertical diffusive fluxes can be computed implicitly by setting    vertical diffusive fluxes can be computed implicitly by setting the
1198    the logical variable \textbf{implicitViscosity }to '.\texttt{TRUE}    logical variable \textbf{implicitViscosity }to \texttt{'.TRUE.'}.
1199    .'. In addition, biharmonic mixing can be added as well through the    In addition, biharmonic mixing can be added as well through the
1200    variable \textbf{viscA4}\textit{\ }(in m$^{4}$s$^{-1}$). On a    variable \textbf{viscA4} (in m$^{4}$s$^{-1}$). On a spherical polar
1201    spherical polar grid, you might also need to set the variable    grid, you might also need to set the variable \textbf{cosPower}
1202    \textbf{cosPower} which is set to 0 by default and which represents    which is set to 0 by default and which represents the power of
1203    the power of cosine of latitude to multiply viscosity. Slip or    cosine of latitude to multiply viscosity. Slip or no-slip conditions
1204    no-slip conditions at lateral and bottom boundaries are specified    at lateral and bottom boundaries are specified through the logical
1205    through the logical variables \textbf{no\_slip\_sides}\textit{\ }    variables \textbf{no\_slip\_sides} and \textbf{no\_slip\_bottom}. If
1206    and \textbf{no\_slip\_bottom}. If set to '\texttt{.FALSE.}',    set to \texttt{'.FALSE.'}, free-slip boundary conditions are
1207    free-slip boundary conditions are applied. If no-slip boundary    applied. If no-slip boundary conditions are applied at the bottom, a
1208    conditions are applied at the bottom, a bottom drag can be applied    bottom drag can be applied as well. Two forms are available: linear
1209    as well. Two forms are available: linear (set the variable    (set the variable \textbf{bottomDragLinear} in s$ ^{-1}$) and
1210    \textbf{bottomDragLinear}\textit{\ }in s$ ^{-1}$) and quadratic (set    quadratic (set the variable \textbf{bottomDragQuadratic} in
1211    the variable \textbf{bottomDragQuadratic}\textit{ \ }in m$^{-1}$).    m$^{-1}$).
1212    
1213    The Fourier and Shapiro filters are described elsewhere.    The Fourier and Shapiro filters are described elsewhere.
1214    
# Line 1172  these variables. Line 1222  these variables.
1222  \item[calculation of pressure/geopotential] \  \item[calculation of pressure/geopotential] \
1223        
1224    First, to run a non-hydrostatic ocean simulation, set the logical    First, to run a non-hydrostatic ocean simulation, set the logical
1225    variable \textbf{nonHydrostatic} to '.\texttt{TRUE}.'. The pressure    variable \textbf{nonHydrostatic} to \texttt{'.TRUE.'}. The pressure
1226    field is then inverted through a 3D elliptic equation. (Note: this    field is then inverted through a 3D elliptic equation. (Note: this
1227    capability is not available for the atmosphere yet.) By default, a    capability is not available for the atmosphere yet.) By default, a
1228    hydrostatic simulation is assumed and a 2D elliptic equation is used    hydrostatic simulation is assumed and a 2D elliptic equation is used
1229    to invert the pressure field. The parameters controlling the    to invert the pressure field. The parameters controlling the
1230    behaviour of the elliptic solvers are the variables    behaviour of the elliptic solvers are the variables
1231    \textbf{cg2dMaxIters}\textit{\ }and \textbf{cg2dTargetResidual } for    \textbf{cg2dMaxIters} and \textbf{cg2dTargetResidual } for
1232    the 2D case and \textbf{cg3dMaxIters}\textit{\ }and \textbf{    the 2D case and \textbf{cg3dMaxIters} and
1233      cg3dTargetResidual }for the 3D case. You probably won't need to    \textbf{cg3dTargetResidual} for the 3D case. You probably won't need to
1234    alter the default values (are we sure of this?).    alter the default values (are we sure of this?).
1235        
1236    For the calculation of the surface pressure (for the ocean) or    For the calculation of the surface pressure (for the ocean) or
1237    surface geopotential (for the atmosphere) you need to set the    surface geopotential (for the atmosphere) you need to set the
1238    logical variables \textbf{rigidLid} and    logical variables \textbf{rigidLid} and \textbf{implicitFreeSurface}
1239    \textbf{implicitFreeSurface}\textit{\ }(set one to '.    (set one to \texttt{'.TRUE.'} and the other to \texttt{'.FALSE.'}
1240    \texttt{TRUE}.' and the other to '.\texttt{FALSE}.' depending on how    depending on how you want to deal with the ocean upper or atmosphere
1241    you want to deal with the ocean upper or atmosphere lower boundary).    lower boundary).
1242    
1243  \end{description}  \end{description}
1244    
1245  \subsection{Tracer equations}  \subsection{Tracer equations}
1246    
1247  This section covers the tracer equations i.e. the potential temperature  This section covers the tracer equations i.e. the potential
1248  equation and the salinity (for the ocean) or specific humidity (for the  temperature equation and the salinity (for the ocean) or specific
1249  atmosphere) equation. As for the momentum equations, we only describe for  humidity (for the atmosphere) equation. As for the momentum equations,
1250  now the parameters that you are likely to change. The logical variables  we only describe for now the parameters that you are likely to change.
1251  \textbf{tempDiffusion}\textit{, }\textbf{tempAdvection}\textit{, }\textbf{  The logical variables \textbf{tempDiffusion} \textbf{tempAdvection}
1252  tempForcing}\textit{,} and \textbf{tempStepping} allow you to turn on/off  \textbf{tempForcing}, and \textbf{tempStepping} allow you to turn
1253  terms in the temperature equation (same thing for salinity or specific  on/off terms in the temperature equation (same thing for salinity or
1254  humidity with variables \textbf{saltDiffusion}\textit{, }\textbf{  specific humidity with variables \textbf{saltDiffusion},
1255  saltAdvection}\textit{\ }etc). These variables are all assumed here to be  \textbf{saltAdvection} etc.). These variables are all assumed here to
1256  set to '.\texttt{TRUE}.'. Look at file \textit{model/inc/PARAMS.h }for a  be set to \texttt{'.TRUE.'}. Look at file \textit{model/inc/PARAMS.h}
1257  precise definition.  for a precise definition.
1258    
1259  \begin{description}  \begin{description}
1260  \item[initialization] \  \item[initialization] \
1261        
1262    The initial tracer data can be contained in the binary files    The initial tracer data can be contained in the binary files
1263    \textbf{ hydrogThetaFile }and \textbf{hydrogSaltFile}. These files    \textbf{hydrogThetaFile} and \textbf{hydrogSaltFile}. These files
1264    should contain 3D data ordered in an (x, y, r) fashion with k=1 as    should contain 3D data ordered in an (x,y,r) fashion with k=1 as the
1265    the first vertical level.  If no file names are provided, the    first vertical level.  If no file names are provided, the tracers
1266    tracers are then initialized with the values of \textbf{tRef }and    are then initialized with the values of \textbf{tRef} and
1267    \textbf{sRef }mentioned above (in the equation of state section). In    \textbf{sRef} mentioned above (in the equation of state section). In
1268    this case, the initial tracer data are uniform in x and y for each    this case, the initial tracer data are uniform in x and y for each
1269    depth level.    depth level.
1270    
# Line 1224  precise definition. Line 1274  precise definition.
1274    atmosphere not being completely stabilized at the moment.    atmosphere not being completely stabilized at the moment.
1275        
1276    A combination of fluxes data and relaxation terms can be used for    A combination of fluxes data and relaxation terms can be used for
1277    driving the tracer equations. \ For potential temperature, heat flux    driving the tracer equations.  For potential temperature, heat flux
1278    data (in W/m$ ^{2}$) can be stored in the 2D binary file    data (in W/m$ ^{2}$) can be stored in the 2D binary file
1279    \textbf{surfQfile}\textit{. }  Alternatively or in addition, the    \textbf{surfQfile}.  Alternatively or in addition, the forcing can
1280    forcing can be specified through a relaxation term. The SST data to    be specified through a relaxation term. The SST data to which the
1281    which the model surface temperatures are restored to are supposed to    model surface temperatures are restored to are supposed to be stored
1282    be stored in the 2D binary file \textbf{ thetaClimFile}\textit{.    in the 2D binary file \textbf{thetaClimFile}. The corresponding
1283    }The corresponding relaxation time scale coefficient is set through    relaxation time scale coefficient is set through the variable
1284    the variable \textbf{tauThetaClimRelax}\textit{\ }(in s). The same    \textbf{tauThetaClimRelax} (in s). The same procedure applies for
1285    procedure applies for salinity with the variable names    salinity with the variable names \textbf{EmPmRfile},
1286    \textbf{EmPmRfile }\textit{, }\textbf{saltClimFile}\textit{, }and    \textbf{saltClimFile}, and \textbf{tauSaltClimRelax} for freshwater
1287    \textbf{tauSaltClimRelax} \textit{\ }for freshwater flux (in m/s)    flux (in m/s) and surface salinity (in ppt) data files and
1288    and surface salinity (in ppt) data files and relaxation time scale    relaxation time scale coefficient (in s), respectively. Also for
1289    coefficient (in s), respectively. Also for salinity, if the CPP key    salinity, if the CPP key \textbf{USE\_NATURAL\_BCS} is turned on,
1290    \textbf{USE\_NATURAL\_BCS} is turned on, natural boundary conditions    natural boundary conditions are applied i.e. when computing the
1291    are applied i.e. when computing the surface salinity tendency, the    surface salinity tendency, the freshwater flux is multiplied by the
1292    freshwater flux is multiplied by the model surface salinity instead    model surface salinity instead of a constant salinity value.
   of a constant salinity value.  
1293        
1294    As for the other input files, the precision with which to read the    As for the other input files, the precision with which to read the
1295    data is controlled by the variable \textbf{readBinaryPrec}.    data is controlled by the variable \textbf{readBinaryPrec}.
# Line 1250  precise definition. Line 1299  precise definition.
1299  \item[dissipation] \  \item[dissipation] \
1300        
1301    Lateral eddy diffusivities for temperature and salinity/specific    Lateral eddy diffusivities for temperature and salinity/specific
1302    humidity are specified through the variables \textbf{diffKhT }and    humidity are specified through the variables \textbf{diffKhT} and
1303    \textbf{diffKhS } (in m$^{2}$/s). Vertical eddy diffusivities are    \textbf{diffKhS} (in m$^{2}$/s). Vertical eddy diffusivities are
1304    specified through the variables \textbf{diffKzT }and \textbf{diffKzS    specified through the variables \textbf{diffKzT} and
1305    }(in m$^{2}$/s) for the ocean and \textbf{diffKpT }and    \textbf{diffKzS} (in m$^{2}$/s) for the ocean and \textbf{diffKpT
1306    \textbf{diffKpS }(in Pa$^{2}$/s) for the atmosphere. The vertical    }and \textbf{diffKpS} (in Pa$^{2}$/s) for the atmosphere. The
1307    diffusive fluxes can be computed implicitly by setting the logical    vertical diffusive fluxes can be computed implicitly by setting the
1308    variable \textbf{implicitDiffusion }to '.\texttt{TRUE} .'. In    logical variable \textbf{implicitDiffusion} to \texttt{'.TRUE.'}.
1309    addition, biharmonic diffusivities can be specified as well through    In addition, biharmonic diffusivities can be specified as well
1310    the coefficients \textbf{diffK4T }and \textbf{diffK4S }(in    through the coefficients \textbf{diffK4T} and \textbf{diffK4S} (in
1311    m$^{4}$/s). Note that the cosine power scaling (specified through    m$^{4}$/s). Note that the cosine power scaling (specified through
1312    \textbf{cosPower }- see the momentum equations section) is applied    \textbf{cosPower}---see the momentum equations section) is applied to
1313    to the tracer diffusivities (Laplacian and biharmonic) as well. The    the tracer diffusivities (Laplacian and biharmonic) as well. The
1314    Gent and McWilliams parameterization for oceanic tracers is    Gent and McWilliams parameterization for oceanic tracers is
1315    described in the package section. Finally, note that tracers can be    described in the package section. Finally, note that tracers can be
1316    also subject to Fourier and Shapiro filtering (see the corresponding    also subject to Fourier and Shapiro filtering (see the corresponding
# Line 1276  precise definition. Line 1325  precise definition.
1325    value (if set to a negative value by the user, the model will set it    value (if set to a negative value by the user, the model will set it
1326    to the tracer time step). The other option is to parameterize    to the tracer time step). The other option is to parameterize
1327    convection with implicit vertical diffusion. To do this, set the    convection with implicit vertical diffusion. To do this, set the
1328    logical variable \textbf{implicitDiffusion }to '.\texttt{TRUE} .'    logical variable \textbf{implicitDiffusion} to \texttt{'.TRUE.'}
1329    and the real variable \textbf{ivdc\_kappa }to a value (in m$^{2}$/s)    and the real variable \textbf{ivdc\_kappa} to a value (in m$^{2}$/s)
1330    you wish the tracer vertical diffusivities to have when mixing    you wish the tracer vertical diffusivities to have when mixing
1331    tracers vertically due to static instabilities. Note that    tracers vertically due to static instabilities. Note that
1332    \textbf{cadjFreq }and \textbf{ivdc\_kappa }can not both have    \textbf{cadjFreq} and \textbf{ivdc\_kappa}can not both have non-zero
1333    non-zero value.    value.
1334    
1335  \end{description}  \end{description}
1336    
1337  \subsection{Simulation controls}  \subsection{Simulation controls}
1338    
1339  The model ''clock'' is defined by the variable \textbf{deltaTClock }(in s)  The model ''clock'' is defined by the variable \textbf{deltaTClock}
1340  which determines the IO frequencies and is used in tagging output.  (in s) which determines the IO frequencies and is used in tagging
1341  Typically, you will set it to the tracer time step for accelerated runs  output.  Typically, you will set it to the tracer time step for
1342  (otherwise it is simply set to the default time step \textbf{deltaT}).  accelerated runs (otherwise it is simply set to the default time step
1343  Frequency of checkpointing and dumping of the model state are referenced to  \textbf{deltaT}).  Frequency of checkpointing and dumping of the model
1344  this clock (see below).  state are referenced to this clock (see below).
1345    
1346  \begin{description}  \begin{description}
1347  \item[run duration] \  \item[run duration] \
1348        
1349    The beginning of a simulation is set by specifying a start time (in    The beginning of a simulation is set by specifying a start time (in
1350    s) through the real variable \textbf{startTime }or by specifying an    s) through the real variable \textbf{startTime} or by specifying an
1351    initial iteration number through the integer variable    initial iteration number through the integer variable
1352    \textbf{nIter0}. If these variables are set to nonzero values, the    \textbf{nIter0}. If these variables are set to nonzero values, the
1353    model will look for a ''pickup'' file \textit{pickup.0000nIter0 }to    model will look for a ''pickup'' file \textit{pickup.0000nIter0} to
1354    restart the integration\textit{. }The end of a simulation is set    restart the integration. The end of a simulation is set through the
1355    through the real variable \textbf{endTime }(in s).  Alternatively,    real variable \textbf{endTime} (in s).  Alternatively, you can
1356    you can specify instead the number of time steps to execute through    specify instead the number of time steps to execute through the
1357    the integer variable \textbf{nTimeSteps}.    integer variable \textbf{nTimeSteps}.
1358    
1359  \item[frequency of output] \  \item[frequency of output] \
1360        
1361    Real variables defining frequencies (in s) with which output files    Real variables defining frequencies (in s) with which output files
1362    are written on disk need to be set up. \textbf{dumpFreq }controls    are written on disk need to be set up. \textbf{dumpFreq} controls
1363    the frequency with which the instantaneous state of the model is    the frequency with which the instantaneous state of the model is
1364    saved. \textbf{chkPtFreq } and \textbf{pchkPtFreq }control the    saved. \textbf{chkPtFreq} and \textbf{pchkPtFreq} control the output
1365    output frequency of rolling and permanent checkpoint files,    frequency of rolling and permanent checkpoint files, respectively.
1366    respectively. See section 1.5.1 Output files for the definition of    See section 1.5.1 Output files for the definition of model state and
1367    model state and checkpoint files. In addition, time-averaged fields    checkpoint files. In addition, time-averaged fields can be written
1368    can be written out by setting the variable \textbf{taveFreq} (in s).    out by setting the variable \textbf{taveFreq} (in s).  The precision
1369    The precision with which to write the binary data is controlled by    with which to write the binary data is controlled by the integer
1370    the integer variable w\textbf{riteBinaryPrec }(set it to \texttt{32}    variable w\textbf{riteBinaryPrec} (set it to \texttt{32} or
1371    or \texttt{ 64}).    \texttt{64}).
1372    
1373  \end{description}  \end{description}
1374    

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.22