| 940 | \begin{description} | \begin{description} | 
| 941 | \item[dimensions] \ | \item[dimensions] \ | 
| 942 |  |  | 
| 943 | 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 | 
| 944 | }directions are represented by the variables \textbf{sNx}\textit{, | by the variables \textbf{sNx}, \textbf{sNy} and \textbf{Nr} | 
| 945 | }\textbf{sNy}\textit{, } and \textbf{Nr}\textit{\ }respectively | respectively which are declared and set in the file | 
| 946 | which are declared and set in the file \textit{model/inc/SIZE.h. | \textit{model/inc/SIZE.h}.  (Again, this assumes a mono-processor | 
| 947 | }(Again, this assumes a mono-processor calculation. For | calculation. For multiprocessor calculations see the section on | 
| 948 | multiprocessor calculations see section on parallel implementation.) | parallel implementation.) | 
| 949 |  |  | 
| 950 | \item[grid] \ | \item[grid] \ | 
| 951 |  |  | 
| 952 | Three different grids are available: cartesian, spherical polar, and | Three different grids are available: cartesian, spherical polar, and | 
| 953 | curvilinear (including the cubed sphere). The grid is set through | curvilinear (which includes the cubed sphere). The grid is set | 
| 954 | the logical variables \textbf{usingCartesianGrid}\textit{, }\textbf{ | through the logical variables \textbf{usingCartesianGrid}, | 
| 955 | usingSphericalPolarGrid}\textit{, }and \textit{\ }\textbf{ | \textbf{usingSphericalPolarGrid}, and \textbf{usingCurvilinearGrid}. | 
| 956 | usingCurvilinearGrid}\textit{. }In the case of spherical and | In the case of spherical and curvilinear grids, the southern | 
| 957 | curvilinear grids, the southern boundary is defined through the | boundary is defined through the variable \textbf{phiMin} which | 
| 958 | variable \textbf{phiMin} \textit{\ }which corresponds to the | corresponds to the latitude of the southern most cell face (in | 
| 959 | latitude of the southern most cell face (in degrees). The resolution | degrees). The resolution along the x and y directions is controlled | 
| 960 | 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 | 
| 961 | \textbf{delx}\textit{\ }and \textbf{dely}\textit{\ }(in meters in | case of a cartesian grid, in degrees otherwise).  The vertical grid | 
| 962 | the case of a cartesian grid, in degrees otherwise). The vertical | spacing is set through the 1D array \textbf{delz} for the ocean (in | 
| 963 | grid spacing is set through the 1D array \textbf{delz }for the ocean | meters) or \textbf{delp} for the atmosphere (in Pa).  The variable | 
| 964 | (in meters) or \textbf{delp}\textit{\ }for the atmosphere (in Pa). | \textbf{Ro\_SeaLevel} represents the standard position of Sea-Level | 
| 965 | The variable \textbf{ Ro\_SeaLevel} represents the standard position | in ``R'' coordinate. This is typically set to 0m for the ocean | 
| 966 | of Sea-Level in ''R'' coordinate. This is typically set to 0m for | (default value) and 10$^{5}$Pa for the atmosphere. For the | 
| 967 | the ocean (default value) and 10$ ^{5}$Pa for the atmosphere. For | atmosphere, also set the logical variable \textbf{groundAtK1} to | 
| 968 | 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 |  | 
| 969 | boundary (ground). | boundary (ground). | 
| 970 |  |  | 
| 971 | For the cartesian grid case, the Coriolis parameter $f$ is set | For the cartesian grid case, the Coriolis parameter $f$ is set | 
| 972 | through the variables \textbf{f0}\textit{\ }and | through the variables \textbf{f0} and \textbf{beta} which correspond | 
| 973 | \textbf{beta}\textit{\ }which correspond to the reference Coriolis | to the reference Coriolis parameter (in s$^{-1}$) and | 
| 974 | parameter (in s$^{-1}$) and $\frac{\partial f}{ \partial y}$(in | $\frac{\partial f}{ \partial y}$(in m$^{-1}$s$^{-1}$) respectively. | 
| 975 | m$^{-1}$s$^{-1}$) respectively. If \textbf{beta }\textit{\ } is set | If \textbf{beta } is set to a nonzero value, \textbf{f0} is the | 
| 976 | 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. |  | 
| 977 |  |  | 
| 978 | \item[topography - full and partial cells] \ | \item[topography - full and partial cells] \ | 
| 979 |  |  | 
| 980 | 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) | 
| 981 | 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 | 
| 982 | atmosphere. The file name is represented by the variable | atmosphere. The file name is represented by the variable | 
| 983 | \textbf{bathyFile}\textit{. }The file is assumed to contain binary | \textbf{bathyFile}. The file is assumed to contain binary numbers | 
| 984 | numbers giving the depth (pressure) of the model at each grid cell, | giving the depth (pressure) of the model at each grid cell, ordered | 
| 985 | ordered with the x coordinate varying fastest. The points are | with the x coordinate varying fastest. The points are ordered from | 
| 986 | ordered from low coordinate to high coordinate for both axes. The | low coordinate to high coordinate for both axes. The model code | 
| 987 | model code applies without modification to enclosed, periodic, and | applies without modification to enclosed, periodic, and double | 
| 988 | double periodic domains. Periodicity is assumed by default and is | periodic domains. Periodicity is assumed by default and is | 
| 989 | 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 | 
| 990 | 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 | 
| 991 | atmosphere). The precision with which to read the binary data is | atmosphere). The precision with which to read the binary data is | 
| 992 | controlled by the integer variable \textbf{readBinaryPrec }which can | controlled by the integer variable \textbf{readBinaryPrec} which can | 
| 993 | take the value \texttt{32} (single precision) or \texttt{64} (double | take the value \texttt{32} (single precision) or \texttt{64} (double | 
| 994 | precision). See the matlab program \textit{ gendata.m }in the | precision). See the matlab program \textit{gendata.m} in the | 
| 995 | \textit{input }directories under \textit{verification }to see how | \textit{input} directories under \textit{verification} to see how | 
| 996 | the bathymetry files are generated for the case study experiments. | the bathymetry files are generated for the case study experiments. | 
| 997 |  |  | 
| 998 | To use the partial cell capability, the variable | To use the partial cell capability, the variable \textbf{hFacMin} | 
| 999 | \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 | 
| 1000 | 1 (it is set to 1 by default) corresponding to the minimum | default) corresponding to the minimum fractional size of the cell. | 
| 1001 | 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 | 
| 1002 | 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) | 
| 1003 | 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 | 
| 1004 | discrete values 50m apart from 50m to 500m depending on the value of | depending on the value of the bottom depth (in \textbf{bathyFile}) | 
| 1005 | the bottom depth (in \textbf{bathyFile}) at this point. | at this point. | 
| 1006 |  |  | 
| 1007 | Note that the bottom depths (or pressures) need not coincide with | Note that the bottom depths (or pressures) need not coincide with | 
| 1008 | the models levels as deduced from \textbf{delz}\textit{\ | the models levels as deduced from \textbf{delz} or \textbf{delp}. | 
| 1009 | }or\textit{\ }\textbf{delp} \textit{. }The model will interpolate | The model will interpolate the numbers in \textbf{bathyFile} so that | 
| 1010 | the numbers in \textbf{bathyFile} \textit{\ }so that they match the | they match the levels obtained from \textbf{delz} or \textbf{delp} | 
| 1011 | levels obtained from \textbf{delz}\textit{ \ }or\textit{\ | and \textbf{hFacMin}. | 
|  | }\textbf{delp}\textit{\ }and \textbf{hFacMin}\textit{. } |  | 
| 1012 |  |  | 
| 1013 | (Note: the atmospheric case is a bit more complicated than what is | (Note: the atmospheric case is a bit more complicated than what is | 
| 1014 | written here I think. To come soon...) | written here I think. To come soon...) | 
| 1023 | \textbf{deltaT}). The Adams-Bashforth stabilizing parameter is set | \textbf{deltaT}). The Adams-Bashforth stabilizing parameter is set | 
| 1024 | through the variable \textbf{abEps} (dimensionless). The stagger | through the variable \textbf{abEps} (dimensionless). The stagger | 
| 1025 | baroclinic time stepping can be activated by setting the logical | baroclinic time stepping can be activated by setting the logical | 
| 1026 | variable \textbf{staggerTimeStep} to '.\texttt{TRUE}.'. | variable \textbf{staggerTimeStep} to \texttt{'.TRUE.'}. | 
| 1027 |  |  | 
| 1028 | \end{description} | \end{description} | 
| 1029 |  |  | 
| 1041 |  |  | 
| 1042 | The form of the equation of state is controlled by the character | The form of the equation of state is controlled by the character | 
| 1043 | variables \textbf{buoyancyRelation} and \textbf{eosType}. | variables \textbf{buoyancyRelation} and \textbf{eosType}. | 
| 1044 | \textbf{buoyancyRelation} is set to '\texttt{OCEANIC}' by default and | \textbf{buoyancyRelation} is set to \texttt{'OCEANIC'} by default and | 
| 1045 | needs to be set to '\texttt{ATMOSPHERIC}' for atmosphere simulations. | needs to be set to \texttt{'ATMOSPHERIC'} for atmosphere simulations. | 
| 1046 | In this case, \textbf{eosType} must be set to '\texttt{IDEALGAS}'. | In this case, \textbf{eosType} must be set to \texttt{'IDEALGAS'}. | 
| 1047 | For the ocean, two forms of the equation of state are available: | For the ocean, two forms of the equation of state are available: | 
| 1048 | linear (set \textbf{eosType} to '\texttt{LINEAR}') and a polynomial | linear (set \textbf{eosType} to \texttt{'LINEAR'}) and a polynomial | 
| 1049 | approximation to the full nonlinear equation ( set | approximation to the full nonlinear equation ( set \textbf{eosType} to | 
| 1050 | \textbf{eosType}\textit{\ }to '\texttt{POLYNOMIAL}'). In the linear | \texttt{'POLYNOMIAL'}). In the linear case, you need to specify the | 
| 1051 | case, you need to specify the thermal and haline expansion | thermal and haline expansion coefficients represented by the variables | 
| 1052 | coefficients represented by the variables \textbf{tAlpha}\textit{\ | \textbf{tAlpha} (in K$^{-1}$) and \textbf{sBeta} (in ppt$^{-1}$). For | 
| 1053 | }(in K$^{-1}$) and \textbf{sBeta} (in ppt$^{-1}$). For the nonlinear | the nonlinear case, you need to generate a file of polynomial | 
| 1054 | 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 |  | 
| 1055 | \textit{utils/knudsen2/knudsen2.f} under the model tree (a Makefile is | \textit{utils/knudsen2/knudsen2.f} under the model tree (a Makefile is | 
| 1056 | 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 | 
| 1057 | 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 | 
| 1059 |  |  | 
| 1060 | There there are also higher polynomials for the equation of state: | There there are also higher polynomials for the equation of state: | 
| 1061 | \begin{description} | \begin{description} | 
| 1062 | \item['\texttt{UNESCO}':] The UNESCO equation of state formula of | \item[\texttt{'UNESCO'}:] The UNESCO equation of state formula of | 
| 1063 | Fofonoff and Millard \cite{fofonoff83}. This equation of state | Fofonoff and Millard \cite{fofonoff83}. This equation of state | 
| 1064 | 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 | 
| 1065 | is therefore discouraged, and it is only listed for completeness}. | use is therefore discouraged, and it is only listed for | 
| 1066 | \item['\texttt{JMD95Z}':] A modified UNESCO formula by Jackett and | completeness}. | 
| 1067 |  | \item[\texttt{'JMD95Z'}:] A modified UNESCO formula by Jackett and | 
| 1068 | McDougall \cite{jackett95}, which uses the model variable potential | McDougall \cite{jackett95}, which uses the model variable potential | 
| 1069 | temperature as input. The '\texttt{Z}' indicates that this equation | temperature as input. The \texttt{'Z'} indicates that this equation | 
| 1070 | of state uses a horizontally and temporally constant pressure | of state uses a horizontally and temporally constant pressure | 
| 1071 | $p_{0}=-g\rho_{0}z$. | $p_{0}=-g\rho_{0}z$. | 
| 1072 | \item['\texttt{JMD95P}':] A modified UNESCO formula by Jackett and | \item[\texttt{'JMD95P'}:] A modified UNESCO formula by Jackett and | 
| 1073 | McDougall \cite{jackett95}, which uses the model variable potential | McDougall \cite{jackett95}, which uses the model variable potential | 
| 1074 | temperature as input. The '\texttt{P}' indicates that this equation | temperature as input. The \texttt{'P'} indicates that this equation | 
| 1075 | of state uses the actual hydrostatic pressure of the last time | of state uses the actual hydrostatic pressure of the last time | 
| 1076 | step. Lagging the pressure in this way requires an additional pickup | step. Lagging the pressure in this way requires an additional pickup | 
| 1077 | file for restarts. | file for restarts. | 
| 1078 | \item['\texttt{MDJWF}':] The new, more accurate and less expensive | \item[\texttt{'MDJWF'}:] The new, more accurate and less expensive | 
| 1079 | equation of state by McDougall et~al. \cite{mcdougall03}. It also | equation of state by McDougall et~al. \cite{mcdougall03}. It also | 
| 1080 | requires lagging the pressure and therefore an additional pickup | requires lagging the pressure and therefore an additional pickup | 
| 1081 | file for restarts. | file for restarts. | 
| 1085 |  |  | 
| 1086 | \subsection{Momentum equations} | \subsection{Momentum equations} | 
| 1087 |  |  | 
| 1088 | 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 | 
| 1089 | 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 | 
| 1090 | 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 | 
| 1091 | various advection schemes are not covered for the moment. We assume that you | equations and the various advection schemes are not covered for the | 
| 1092 | 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 | 
| 1093 | the default advection scheme. Also, there are a few logical variables that | equations (i.e. the flux-form) with the default advection scheme. | 
| 1094 | 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 | 
| 1095 | variables are called \textbf{momViscosity, momAdvection, momForcing, | various terms in the momentum equation. These variables are called | 
| 1096 | useCoriolis, momPressureForcing, momStepping}\textit{, }and \textit{\ }% | \textbf{momViscosity, momAdvection, momForcing, useCoriolis, | 
| 1097 | \textbf{metricTerms }and are assumed to be set to '.\texttt{TRUE}.' here. | momPressureForcing, momStepping} and \textbf{metricTerms }and are | 
| 1098 | 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 | 
| 1099 | these variables. | \textit{model/inc/PARAMS.h }for a precise definition of these | 
| 1100 |  | variables. | 
| 1101 |  |  | 
| 1102 | \begin{description} | \begin{description} | 
| 1103 | \item[initialization] \ | \item[initialization] \ | 
| 1109 | \item[forcing] \ | \item[forcing] \ | 
| 1110 |  |  | 
| 1111 | This section only applies to the ocean. You need to generate | This section only applies to the ocean. You need to generate | 
| 1112 | wind-stress data into two files \textbf{zonalWindFile}\textit{\ }and | wind-stress data into two files \textbf{zonalWindFile} and | 
| 1113 | \textbf{ meridWindFile }corresponding to the zonal and meridional | \textbf{meridWindFile} corresponding to the zonal and meridional | 
| 1114 | components of the wind stress, respectively (if you want the stress | components of the wind stress, respectively (if you want the stress | 
| 1115 | 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, | 
| 1116 | 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 | 
| 1117 | similar to the bathymetry file. The zonal (meridional) stress data | similar to the bathymetry file. The zonal (meridional) stress data | 
| 1118 | 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 | 
| 1119 | the bathymetry, the precision with which to read the binary data is | the bathymetry, the precision with which to read the binary data is | 
| 1120 | controlled by the variable \textbf{readBinaryPrec}.\textbf{\ } See | controlled by the variable \textbf{readBinaryPrec}.  See the matlab | 
| 1121 | the matlab program \textit{gendata.m }in the \textit{input | program \textit{gendata.m} in the \textit{input} directories under | 
| 1122 | }directories under \textit{verification }to see how simple | \textit{verification} to see how simple analytical wind forcing data | 
| 1123 | analytical wind forcing data are generated for the case study | are generated for the case study experiments. | 
|  | experiments. |  | 
| 1124 |  |  | 
| 1125 | There is also the possibility of prescribing time-dependent periodic | There is also the possibility of prescribing time-dependent periodic | 
| 1126 | forcing. To do this, concatenate the successive time records into a | forcing. To do this, concatenate the successive time records into a | 
| 1127 | 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 | 
| 1128 | fashion and set the following variables: | and set the following variables: \textbf{periodicExternalForcing }to | 
| 1129 | \textbf{periodicExternalForcing }to '.\texttt{TRUE}.', | \texttt{'.TRUE.'}, \textbf{externForcingPeriod }to the period (in s) | 
| 1130 | \textbf{externForcingPeriod }to the period (in s) of which the | of which the forcing varies (typically 1 month), and | 
| 1131 | forcing varies (typically 1 month), and \textbf{externForcingCycle | \textbf{externForcingCycle} to the repeat time (in s) of the forcing | 
| 1132 | }to the repeat time (in s) of the forcing (typically 1 year -- note: | (typically 1 year -- note: \textbf{ externForcingCycle} must be a | 
| 1133 | \textbf{ externForcingCycle }must be a multiple of | multiple of \textbf{externForcingPeriod}).  With these variables set | 
| 1134 | \textbf{externForcingPeriod}).  With these variables set up, the | up, the model will interpolate the forcing linearly at each | 
| 1135 | model will interpolate the forcing linearly at each iteration. | iteration. | 
| 1136 |  |  | 
| 1137 | \item[dissipation] \ | \item[dissipation] \ | 
| 1138 |  |  | 
| 1139 | The lateral eddy viscosity coefficient is specified through the | The lateral eddy viscosity coefficient is specified through the | 
| 1140 | variable \textbf{viscAh}\textit{\ }(in m$^{2}$s$^{-1}$). The | variable \textbf{viscAh} (in m$^{2}$s$^{-1}$). The vertical eddy | 
| 1141 | vertical eddy viscosity coefficient is specified through the | viscosity coefficient is specified through the variable | 
| 1142 | variable \textbf{viscAz }(in m$^{2}$s$ ^{-1}$) for the ocean and | \textbf{viscAz} (in m$^{2}$s$^{-1}$) for the ocean and | 
| 1143 | \textbf{viscAp}\textit{\ }(in Pa$^{2}$s$^{-1}$) for the atmosphere. | \textbf{viscAp} (in Pa$^{2}$s$^{-1}$) for the atmosphere.  The | 
| 1144 | The vertical diffusive fluxes can be computed implicitly by setting | vertical diffusive fluxes can be computed implicitly by setting the | 
| 1145 | the logical variable \textbf{implicitViscosity }to '.\texttt{TRUE} | logical variable \textbf{implicitViscosity }to \texttt{'.TRUE.'}. | 
| 1146 | .'. In addition, biharmonic mixing can be added as well through the | In addition, biharmonic mixing can be added as well through the | 
| 1147 | variable \textbf{viscA4}\textit{\ }(in m$^{4}$s$^{-1}$). On a | variable \textbf{viscA4} (in m$^{4}$s$^{-1}$). On a spherical polar | 
| 1148 | spherical polar grid, you might also need to set the variable | grid, you might also need to set the variable \textbf{cosPower} | 
| 1149 | \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 | 
| 1150 | the power of cosine of latitude to multiply viscosity. Slip or | cosine of latitude to multiply viscosity. Slip or no-slip conditions | 
| 1151 | no-slip conditions at lateral and bottom boundaries are specified | at lateral and bottom boundaries are specified through the logical | 
| 1152 | through the logical variables \textbf{no\_slip\_sides}\textit{\ } | variables \textbf{no\_slip\_sides} and \textbf{no\_slip\_bottom}. If | 
| 1153 | and \textbf{no\_slip\_bottom}. If set to '\texttt{.FALSE.}', | set to \texttt{'.FALSE.'}, free-slip boundary conditions are | 
| 1154 | free-slip boundary conditions are applied. If no-slip boundary | applied. If no-slip boundary conditions are applied at the bottom, a | 
| 1155 | conditions are applied at the bottom, a bottom drag can be applied | bottom drag can be applied as well. Two forms are available: linear | 
| 1156 | as well. Two forms are available: linear (set the variable | (set the variable \textbf{bottomDragLinear} in s$ ^{-1}$) and | 
| 1157 | \textbf{bottomDragLinear}\textit{\ }in s$ ^{-1}$) and quadratic (set | quadratic (set the variable \textbf{bottomDragQuadratic} in | 
| 1158 | the variable \textbf{bottomDragQuadratic}\textit{ \ }in m$^{-1}$). | m$^{-1}$). | 
| 1159 |  |  | 
| 1160 | The Fourier and Shapiro filters are described elsewhere. | The Fourier and Shapiro filters are described elsewhere. | 
| 1161 |  |  | 
| 1169 | \item[calculation of pressure/geopotential] \ | \item[calculation of pressure/geopotential] \ | 
| 1170 |  |  | 
| 1171 | First, to run a non-hydrostatic ocean simulation, set the logical | First, to run a non-hydrostatic ocean simulation, set the logical | 
| 1172 | variable \textbf{nonHydrostatic} to '.\texttt{TRUE}.'. The pressure | variable \textbf{nonHydrostatic} to \texttt{'.TRUE.'}. The pressure | 
| 1173 | field is then inverted through a 3D elliptic equation. (Note: this | field is then inverted through a 3D elliptic equation. (Note: this | 
| 1174 | capability is not available for the atmosphere yet.) By default, a | capability is not available for the atmosphere yet.) By default, a | 
| 1175 | hydrostatic simulation is assumed and a 2D elliptic equation is used | hydrostatic simulation is assumed and a 2D elliptic equation is used | 
| 1176 | to invert the pressure field. The parameters controlling the | to invert the pressure field. The parameters controlling the | 
| 1177 | behaviour of the elliptic solvers are the variables | behaviour of the elliptic solvers are the variables | 
| 1178 | \textbf{cg2dMaxIters}\textit{\ }and \textbf{cg2dTargetResidual } for | \textbf{cg2dMaxIters} and \textbf{cg2dTargetResidual } for | 
| 1179 | the 2D case and \textbf{cg3dMaxIters}\textit{\ }and \textbf{ | the 2D case and \textbf{cg3dMaxIters} and | 
| 1180 | cg3dTargetResidual }for the 3D case. You probably won't need to | \textbf{cg3dTargetResidual} for the 3D case. You probably won't need to | 
| 1181 | alter the default values (are we sure of this?). | alter the default values (are we sure of this?). | 
| 1182 |  |  | 
| 1183 | For the calculation of the surface pressure (for the ocean) or | For the calculation of the surface pressure (for the ocean) or | 
| 1184 | surface geopotential (for the atmosphere) you need to set the | surface geopotential (for the atmosphere) you need to set the | 
| 1185 | logical variables \textbf{rigidLid} and | logical variables \textbf{rigidLid} and \textbf{implicitFreeSurface} | 
| 1186 | \textbf{implicitFreeSurface}\textit{\ }(set one to '. | (set one to \texttt{'.TRUE.'} and the other to \texttt{'.FALSE.'} | 
| 1187 | \texttt{TRUE}.' and the other to '.\texttt{FALSE}.' depending on how | depending on how you want to deal with the ocean upper or atmosphere | 
| 1188 | you want to deal with the ocean upper or atmosphere lower boundary). | lower boundary). | 
| 1189 |  |  | 
| 1190 | \end{description} | \end{description} | 
| 1191 |  |  | 
| 1192 | \subsection{Tracer equations} | \subsection{Tracer equations} | 
| 1193 |  |  | 
| 1194 | This section covers the tracer equations i.e. the potential temperature | This section covers the tracer equations i.e. the potential | 
| 1195 | equation and the salinity (for the ocean) or specific humidity (for the | temperature equation and the salinity (for the ocean) or specific | 
| 1196 | atmosphere) equation. As for the momentum equations, we only describe for | humidity (for the atmosphere) equation. As for the momentum equations, | 
| 1197 | 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. | 
| 1198 | \textbf{tempDiffusion}\textit{, }\textbf{tempAdvection}\textit{, }\textbf{ | The logical variables \textbf{tempDiffusion} \textbf{tempAdvection} | 
| 1199 | tempForcing}\textit{,} and \textbf{tempStepping} allow you to turn on/off | \textbf{tempForcing}, and \textbf{tempStepping} allow you to turn | 
| 1200 | terms in the temperature equation (same thing for salinity or specific | on/off terms in the temperature equation (same thing for salinity or | 
| 1201 | humidity with variables \textbf{saltDiffusion}\textit{, }\textbf{ | specific humidity with variables \textbf{saltDiffusion}, | 
| 1202 | saltAdvection}\textit{\ }etc). These variables are all assumed here to be | \textbf{saltAdvection} etc.). These variables are all assumed here to | 
| 1203 | 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} | 
| 1204 | precise definition. | for a precise definition. | 
| 1205 |  |  | 
| 1206 | \begin{description} | \begin{description} | 
| 1207 | \item[initialization] \ | \item[initialization] \ | 
| 1208 |  |  | 
| 1209 | The initial tracer data can be contained in the binary files | The initial tracer data can be contained in the binary files | 
| 1210 | \textbf{ hydrogThetaFile }and \textbf{hydrogSaltFile}. These files | \textbf{hydrogThetaFile} and \textbf{hydrogSaltFile}. These files | 
| 1211 | 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 | 
| 1212 | the first vertical level.  If no file names are provided, the | first vertical level.  If no file names are provided, the tracers | 
| 1213 | tracers are then initialized with the values of \textbf{tRef }and | are then initialized with the values of \textbf{tRef} and | 
| 1214 | \textbf{sRef }mentioned above (in the equation of state section). In | \textbf{sRef} mentioned above (in the equation of state section). In | 
| 1215 | 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 | 
| 1216 | depth level. | depth level. | 
| 1217 |  |  | 
| 1221 | atmosphere not being completely stabilized at the moment. | atmosphere not being completely stabilized at the moment. | 
| 1222 |  |  | 
| 1223 | A combination of fluxes data and relaxation terms can be used for | A combination of fluxes data and relaxation terms can be used for | 
| 1224 | driving the tracer equations. \ For potential temperature, heat flux | driving the tracer equations.  For potential temperature, heat flux | 
| 1225 | 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 | 
| 1226 | \textbf{surfQfile}\textit{. }  Alternatively or in addition, the | \textbf{surfQfile}.  Alternatively or in addition, the forcing can | 
| 1227 | forcing can be specified through a relaxation term. The SST data to | be specified through a relaxation term. The SST data to which the | 
| 1228 | which the model surface temperatures are restored to are supposed to | model surface temperatures are restored to are supposed to be stored | 
| 1229 | be stored in the 2D binary file \textbf{ thetaClimFile}\textit{. | in the 2D binary file \textbf{thetaClimFile}. The corresponding | 
| 1230 | }The corresponding relaxation time scale coefficient is set through | relaxation time scale coefficient is set through the variable | 
| 1231 | the variable \textbf{tauThetaClimRelax}\textit{\ }(in s). The same | \textbf{tauThetaClimRelax} (in s). The same procedure applies for | 
| 1232 | procedure applies for salinity with the variable names | salinity with the variable names \textbf{EmPmRfile}, | 
| 1233 | \textbf{EmPmRfile }\textit{, }\textbf{saltClimFile}\textit{, }and | \textbf{saltClimFile}, and \textbf{tauSaltClimRelax} for freshwater | 
| 1234 | \textbf{tauSaltClimRelax} \textit{\ }for freshwater flux (in m/s) | flux (in m/s) and surface salinity (in ppt) data files and | 
| 1235 | and surface salinity (in ppt) data files and relaxation time scale | relaxation time scale coefficient (in s), respectively. Also for | 
| 1236 | coefficient (in s), respectively. Also for salinity, if the CPP key | salinity, if the CPP key \textbf{USE\_NATURAL\_BCS} is turned on, | 
| 1237 | \textbf{USE\_NATURAL\_BCS} is turned on, natural boundary conditions | natural boundary conditions are applied i.e. when computing the | 
| 1238 | are applied i.e. when computing the surface salinity tendency, the | surface salinity tendency, the freshwater flux is multiplied by the | 
| 1239 | freshwater flux is multiplied by the model surface salinity instead | model surface salinity instead of a constant salinity value. | 
|  | of a constant salinity value. |  | 
| 1240 |  |  | 
| 1241 | 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 | 
| 1242 | data is controlled by the variable \textbf{readBinaryPrec}. | data is controlled by the variable \textbf{readBinaryPrec}. | 
| 1246 | \item[dissipation] \ | \item[dissipation] \ | 
| 1247 |  |  | 
| 1248 | Lateral eddy diffusivities for temperature and salinity/specific | Lateral eddy diffusivities for temperature and salinity/specific | 
| 1249 | humidity are specified through the variables \textbf{diffKhT }and | humidity are specified through the variables \textbf{diffKhT} and | 
| 1250 | \textbf{diffKhS } (in m$^{2}$/s). Vertical eddy diffusivities are | \textbf{diffKhS} (in m$^{2}$/s). Vertical eddy diffusivities are | 
| 1251 | specified through the variables \textbf{diffKzT }and \textbf{diffKzS | specified through the variables \textbf{diffKzT} and | 
| 1252 | }(in m$^{2}$/s) for the ocean and \textbf{diffKpT }and | \textbf{diffKzS} (in m$^{2}$/s) for the ocean and \textbf{diffKpT | 
| 1253 | \textbf{diffKpS }(in Pa$^{2}$/s) for the atmosphere. The vertical | }and \textbf{diffKpS} (in Pa$^{2}$/s) for the atmosphere. The | 
| 1254 | diffusive fluxes can be computed implicitly by setting the logical | vertical diffusive fluxes can be computed implicitly by setting the | 
| 1255 | variable \textbf{implicitDiffusion }to '.\texttt{TRUE} .'. In | logical variable \textbf{implicitDiffusion} to \texttt{'.TRUE.'}. | 
| 1256 | addition, biharmonic diffusivities can be specified as well through | In addition, biharmonic diffusivities can be specified as well | 
| 1257 | the coefficients \textbf{diffK4T }and \textbf{diffK4S }(in | through the coefficients \textbf{diffK4T} and \textbf{diffK4S} (in | 
| 1258 | m$^{4}$/s). Note that the cosine power scaling (specified through | m$^{4}$/s). Note that the cosine power scaling (specified through | 
| 1259 | \textbf{cosPower }- see the momentum equations section) is applied | \textbf{cosPower}---see the momentum equations section) is applied to | 
| 1260 | to the tracer diffusivities (Laplacian and biharmonic) as well. The | the tracer diffusivities (Laplacian and biharmonic) as well. The | 
| 1261 | Gent and McWilliams parameterization for oceanic tracers is | Gent and McWilliams parameterization for oceanic tracers is | 
| 1262 | described in the package section. Finally, note that tracers can be | described in the package section. Finally, note that tracers can be | 
| 1263 | also subject to Fourier and Shapiro filtering (see the corresponding | also subject to Fourier and Shapiro filtering (see the corresponding | 
| 1272 | 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 | 
| 1273 | to the tracer time step). The other option is to parameterize | to the tracer time step). The other option is to parameterize | 
| 1274 | convection with implicit vertical diffusion. To do this, set the | convection with implicit vertical diffusion. To do this, set the | 
| 1275 | logical variable \textbf{implicitDiffusion }to '.\texttt{TRUE} .' | logical variable \textbf{implicitDiffusion} to \texttt{'.TRUE.'} | 
| 1276 | 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) | 
| 1277 | you wish the tracer vertical diffusivities to have when mixing | you wish the tracer vertical diffusivities to have when mixing | 
| 1278 | tracers vertically due to static instabilities. Note that | tracers vertically due to static instabilities. Note that | 
| 1279 | \textbf{cadjFreq }and \textbf{ivdc\_kappa }can not both have | \textbf{cadjFreq} and \textbf{ivdc\_kappa}can not both have non-zero | 
| 1280 | non-zero value. | value. | 
| 1281 |  |  | 
| 1282 | \end{description} | \end{description} | 
| 1283 |  |  | 
| 1284 | \subsection{Simulation controls} | \subsection{Simulation controls} | 
| 1285 |  |  | 
| 1286 | The model ''clock'' is defined by the variable \textbf{deltaTClock }(in s) | The model ''clock'' is defined by the variable \textbf{deltaTClock} | 
| 1287 | which determines the IO frequencies and is used in tagging output. | (in s) which determines the IO frequencies and is used in tagging | 
| 1288 | 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 | 
| 1289 | (otherwise it is simply set to the default time step \textbf{deltaT}). | accelerated runs (otherwise it is simply set to the default time step | 
| 1290 | Frequency of checkpointing and dumping of the model state are referenced to | \textbf{deltaT}).  Frequency of checkpointing and dumping of the model | 
| 1291 | this clock (see below). | state are referenced to this clock (see below). | 
| 1292 |  |  | 
| 1293 | \begin{description} | \begin{description} | 
| 1294 | \item[run duration] \ | \item[run duration] \ | 
| 1295 |  |  | 
| 1296 | 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 | 
| 1297 | s) through the real variable \textbf{startTime }or by specifying an | s) through the real variable \textbf{startTime} or by specifying an | 
| 1298 | initial iteration number through the integer variable | initial iteration number through the integer variable | 
| 1299 | \textbf{nIter0}. If these variables are set to nonzero values, the | \textbf{nIter0}. If these variables are set to nonzero values, the | 
| 1300 | model will look for a ''pickup'' file \textit{pickup.0000nIter0 }to | model will look for a ''pickup'' file \textit{pickup.0000nIter0} to | 
| 1301 | restart the integration\textit{. }The end of a simulation is set | restart the integration. The end of a simulation is set through the | 
| 1302 | through the real variable \textbf{endTime }(in s).  Alternatively, | real variable \textbf{endTime} (in s).  Alternatively, you can | 
| 1303 | you can specify instead the number of time steps to execute through | specify instead the number of time steps to execute through the | 
| 1304 | the integer variable \textbf{nTimeSteps}. | integer variable \textbf{nTimeSteps}. | 
| 1305 |  |  | 
| 1306 | \item[frequency of output] \ | \item[frequency of output] \ | 
| 1307 |  |  | 
| 1308 | Real variables defining frequencies (in s) with which output files | Real variables defining frequencies (in s) with which output files | 
| 1309 | are written on disk need to be set up. \textbf{dumpFreq }controls | are written on disk need to be set up. \textbf{dumpFreq} controls | 
| 1310 | the frequency with which the instantaneous state of the model is | the frequency with which the instantaneous state of the model is | 
| 1311 | saved. \textbf{chkPtFreq } and \textbf{pchkPtFreq }control the | saved. \textbf{chkPtFreq} and \textbf{pchkPtFreq} control the output | 
| 1312 | output frequency of rolling and permanent checkpoint files, | frequency of rolling and permanent checkpoint files, respectively. | 
| 1313 | 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 | 
| 1314 | model state and checkpoint files. In addition, time-averaged fields | checkpoint files. In addition, time-averaged fields can be written | 
| 1315 | can be written out by setting the variable \textbf{taveFreq} (in s). | out by setting the variable \textbf{taveFreq} (in s).  The precision | 
| 1316 | The precision with which to write the binary data is controlled by | with which to write the binary data is controlled by the integer | 
| 1317 | the integer variable w\textbf{riteBinaryPrec }(set it to \texttt{32} | variable w\textbf{riteBinaryPrec} (set it to \texttt{32} or | 
| 1318 | or \texttt{ 64}). | \texttt{64}). | 
| 1319 |  |  | 
| 1320 | \end{description} | \end{description} | 
| 1321 |  |  |