/[MITgcm]/manual/s_examples/baroclinic_gyre/fourlayer.tex
ViewVC logotype

Diff of /manual/s_examples/baroclinic_gyre/fourlayer.tex

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

revision 1.12 by cnh, Thu Feb 28 19:32:19 2002 UTC revision 1.22 by jmc, Wed Jun 28 18:57:15 2006 UTC
# Line 1  Line 1 
1  % $Header$  % $Header$
2  % $Name$  % $Name$
3    
4  \section{Four Layer Baroclinic Ocean Gyre In Spherical Coordinates}  \section[Baroclinic Gyre MITgcm Example]{Four Layer Baroclinic Ocean Gyre In Spherical Coordinates}
5    \label{www:tutorials}
6  \label{sect:eg-fourlayer}  \label{sect:eg-fourlayer}
7    \begin{rawhtml}
8    <!-- CMIREDIR:eg-fourlayer: -->
9    \end{rawhtml}
10    
11  \bodytext{bgcolor="#FFFFFFFF"}  \bodytext{bgcolor="#FFFFFFFF"}
12    
# Line 17  Line 21 
21  %\end{center}  %\end{center}
22    
23  This document describes an example experiment using MITgcm  This document describes an example experiment using MITgcm
24  to simulate a baroclinic ocean gyre in spherical  to simulate a baroclinic ocean gyre for four layers in spherical
25  polar coordinates. The barotropic  polar coordinates.  The files for this experiment can be found
26  example experiment in section \ref{sect:eg-baro}  in the verification directory under tutorial\_baroclinic\_gyre.
 illustrated how to configure the code for a single layer  
 simulation in a Cartesian grid. In this example a similar physical problem  
 is simulated, but the code is now configured  
 for four layers and in a spherical polar coordinate system.  
27    
28  \subsection{Overview}  \subsection{Overview}
29    \label{www:tutorials}
30    
31  This example experiment demonstrates using the MITgcm to simulate  This example experiment demonstrates using the MITgcm to simulate
32  a baroclinic, wind-forced, ocean gyre circulation. The experiment  a baroclinic, wind-forced, ocean gyre circulation. The experiment
# Line 102  non-linear, we use $\theta$ to represent Line 103  non-linear, we use $\theta$ to represent
103  the quantity that is carried in the model core equations.  the quantity that is carried in the model core equations.
104    
105  \begin{figure}  \begin{figure}
106  \begin{center}  %% \begin{center}
107   \resizebox{7.5in}{5.5in}{  %%  \resizebox{7.5in}{5.5in}{
108     \includegraphics*[0.2in,0.7in][10.5in,10.5in]  %%    \includegraphics*[0.2in,0.7in][10.5in,10.5in]
109     {part3/case_studies/fourlayer_gyre/simulation_config.eps} }  %%    {part3/case_studies/fourlayer_gyre/simulation_config.eps} }
110  \end{center}  %% \end{center}
111    \centerline{
112      \scalefig{.95}
113      \epsfbox{part3/case_studies/fourlayer_gyre/simulation_config.eps}
114    }
115  \caption{Schematic of simulation domain and wind-stress forcing function  \caption{Schematic of simulation domain and wind-stress forcing function
116  for the four-layer gyre numerical experiment. The domain is enclosed by solid  for the four-layer gyre numerical experiment. The domain is enclosed by solid
117  walls at $0^{\circ}$~E, $60^{\circ}$~E, $0^{\circ}$~N and $60^{\circ}$~N.  walls at $0^{\circ}$~E, $60^{\circ}$~E, $0^{\circ}$~N and $60^{\circ}$~N.
# Line 118  The vertical spacing, $\Delta z$, is con Line 123  The vertical spacing, $\Delta z$, is con
123  \end{figure}  \end{figure}
124    
125  \subsection{Equations solved}  \subsection{Equations solved}
126    \label{www:tutorials}
127  For this problem  For this problem
128  the implicit free surface, {\bf HPE} (see section \ref{sect:hydrostatic_and_quasi-hydrostatic_forms}) form of the  the implicit free surface, {\bf HPE} (see section \ref{sect:hydrostatic_and_quasi-hydrostatic_forms}) form of the
129  equations described in Marshall et. al \cite{marshall:97a} are  equations described in Marshall et. al \cite{marshall:97a} are
# Line 202  e.g. $\frac{\partial \theta}{\partial \v Line 208  e.g. $\frac{\partial \theta}{\partial \v
208    
209    
210  \subsection{Discrete Numerical Configuration}  \subsection{Discrete Numerical Configuration}
211    \label{www:tutorials}
212    
213   The domain is discretised with   The domain is discretised with
214  a uniform grid spacing in latitude and longitude  a uniform grid spacing in latitude and longitude
# Line 261  field solution method is described in se Line 268  field solution method is described in se
268  \ref{sect:finding_the_pressure_field}.  \ref{sect:finding_the_pressure_field}.
269    
270  \subsubsection{Numerical Stability Criteria}  \subsubsection{Numerical Stability Criteria}
271    \label{www:tutorials}
272    
273  The Laplacian viscosity coefficient, $A_{h}$, is set to $400 m s^{-1}$.  The Laplacian viscosity coefficient, $A_{h}$, is set to $400 m s^{-1}$.
274  This value is chosen to yield a Munk layer width,  This value is chosen to yield a Munk layer width,
# Line 340  S_{c} = \frac{c_{g} \delta t}{ \Delta x} Line 348  S_{c} = \frac{c_{g} \delta t}{ \Delta x}
348  stability limit of 0.25.  stability limit of 0.25.
349        
350  \subsection{Code Configuration}  \subsection{Code Configuration}
351    \label{www:tutorials}
352  \label{SEC:eg_fourl_code_config}  \label{SEC:eg_fourl_code_config}
353    
354  The model configuration for this experiment resides under the  The model configuration for this experiment resides under the
# Line 354  directory {\it verification/exp2/}.  The Line 363  directory {\it verification/exp2/}.  The
363  \item {\it code/CPP\_OPTIONS.h},  \item {\it code/CPP\_OPTIONS.h},
364  \item {\it code/SIZE.h}.  \item {\it code/SIZE.h}.
365  \end{itemize}  \end{itemize}
366  contain the code customisations and parameter settings for this  contain the code customisations and parameter settings for this
367  experiments. Below we describe the customisations  experiment. Below we describe the customisations to these files
368  to these files associated with this experiment.  associated with this experiment.
369    
370  \subsubsection{File {\it input/data}}  \subsubsection{File {\it input/data}}
371    \label{www:tutorials}
372    
373  This file, reproduced completely below, specifies the main parameters  This file, reproduced completely below, specifies the main parameters
374  for the experiment. The parameters that are significant for this configuration  for the experiment. The parameters that are significant for this configuration
# Line 368  are Line 378  are
378    
379  \item Line 4,  \item Line 4,
380  \begin{verbatim} tRef=20.,10.,8.,6., \end{verbatim}  \begin{verbatim} tRef=20.,10.,8.,6., \end{verbatim}
381  this line sets  this line sets the initial and reference values of potential
382  the initial and reference values of potential temperature at each model  temperature at each model level in units of $^{\circ}\mathrm{C}$.  The entries
383  level in units of $^{\circ}$C.  are ordered from surface to depth. For each depth level the initial
384  The entries are ordered from surface to depth. For each  and reference profiles will be uniform in $x$ and $y$. The values
385  depth level the initial and reference profiles will be uniform in  specified here are read into the variable \varlink{tRef}{tRef} in the
386  $x$ and $y$. The values specified here are read into the  model code, by procedure \filelink{INI\_PARMS}{model-src-ini_parms.F}
 variable  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/OK.htm> \end{rawhtml}  
 tRef  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
 in the model code, by procedure  
 {\it  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
   
 %% \codelink{var:tref} tRef \endlink  
 %% \codelink{file:ini_parms} {\it INI\_PARMS } \endlink  
 %% \codelink{proc:ini_parms} {\it INI\_PARMS } \endlink  
 %% \var{tref}  
 %% \proc{ini_parms}  
 %% \file{ini_parms}  
 \newcommand{\VARtref}{  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/OK.htm> \end{rawhtml}  
 tRef  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
 }  
   
   
387    
388  \fbox{  \fbox{
389  \begin{minipage}{5.0in}    \begin{minipage}{5.0in}
390  {\it S/R INI\_THETA}      {\it S/R INI\_THETA}({\it ini\_theta.F})
391  ({\it ini\_theta.F})    \end{minipage}
 \end{minipage}  
392  }  }
393  {\bf  \filelink{ini\_theta.F}{model-src-ini_theta.F}
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/98.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
394    
395  \item Line 6,  \item Line 6,
396  \begin{verbatim} viscAz=1.E-2, \end{verbatim}  \begin{verbatim} viscAz=1.E-2, \end{verbatim}
397  this line sets the vertical Laplacian dissipation coefficient to  this line sets the vertical Laplacian dissipation coefficient to $1
398  $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions  \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions for this
399  for this operator are specified later.  operator are specified later.  The variable \varlink{viscAz}{viscAz}
400  The variable  is read in the routine \filelink{ini\_parms.F}{model-src-ini_parms.F}
401  {\bf  and is copied into model general vertical coordinate variable
402  \begin{rawhtml} <A href=../../../code_reference/vdb/names/ZQ.htm> \end{rawhtml}  \varlink{viscAr}{viscAr} At each time step, the viscous term
403  viscAz  contribution to the momentum equations is calculated in routine
404  \begin{rawhtml} </A>\end{rawhtml}  \varlink{CALC\_DIFFUSIVITY}{CALC_DIFFUSIVITY}
 }  
 is read in the routine  
 {\it  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
 and is copied into model general vertical coordinate variable  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/PF.htm> \end{rawhtml}  
 viscAr  
 \begin{rawhtml} </A>\end{rawhtml}  
 }. At each time step, the viscous term contribution to the momentum equations  
 is calculated in routine  
 {\it S/R CALC\_DIFFUSIVITY}.  
405    
406  \fbox{  \fbox{
407  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
408  {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})  {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})
409  \end{minipage}  \end{minipage}
410  }  }
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/53.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
411    
412  \item Line 7,  \item Line 7,
413  \begin{verbatim}  \begin{verbatim}
414  viscAh=4.E2,  viscAh=4.E2,
415  \end{verbatim}  \end{verbatim}
416  this line sets the horizontal laplacian frictional dissipation coefficient to    this line sets the horizontal laplacian frictional dissipation
417  $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions    coefficient to $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary
418  for this operator are specified later.    conditions for this operator are specified later.  The variable
419  The variable    \varlink{viscAh}{viscAh} is read in the routine
420  {\bf    \varlink{INI\_PARMS}{INI_PARMS} and applied in routine
421  \begin{rawhtml} <A href=../../../code_reference/vdb/names/SI.htm> \end{rawhtml}    \varlink{MOM\_FLUXFORM}{MOM_FLUXFORM}.
 viscAh  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
 is read in the routine  
 {\it  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 } and applied in routines {\it CALC\_MOM\_RHS} and {\it CALC\_GW}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R CALC\_MOM\_RHS}({\it calc\_mom\_rhs.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/60.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
422    
423  \fbox{  \fbox{
424  \begin{minipage}{5.0in}    \begin{minipage}{5.0in}
425  {\it S/R CALC\_GW}({\it calc\_gw.F})      {\it S/R MOM\_FLUXFORM}({\it mom\_fluxform.F})
426  \end{minipage}    \end{minipage}
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/58.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
427  }  }
428    
429  \item Lines 8,  \item Line 8,
430  \begin{verbatim}  \begin{verbatim}
431  no_slip_sides=.FALSE.  no_slip_sides=.FALSE.
432  \end{verbatim}  \end{verbatim}
433  this line selects a free-slip lateral boundary condition for    this line selects a free-slip lateral boundary condition for the
434  the horizontal laplacian friction operator    horizontal laplacian friction operator e.g. $\frac{\partial
435  e.g. $\frac{\partial u}{\partial y}$=0 along boundaries in $y$ and      u}{\partial y}$=0 along boundaries in $y$ and $\frac{\partial
436  $\frac{\partial v}{\partial x}$=0 along boundaries in $x$.      v}{\partial x}$=0 along boundaries in $x$.  The variable
437  The variable    \varlink{no\_slip\_sides}{no_slip_sides} is read in the routine
438  {\bf    \varlink{INI\_PARMS}{INI_PARMS} and the boundary condition is
439  \begin{rawhtml} <A href=../../../code_reference/vdb/names/UT.htm> \end{rawhtml}    evaluated in routine
440  no\_slip\_sides  
441  \begin{rawhtml} </A>\end{rawhtml}    \fbox{
442  }      \begin{minipage}{5.0in}
443  is read in the routine        {\it S/R MOM\_FLUXFORM}({\it mom\_fluxform.F})
444  {\it      \end{minipage}
445  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
446  INI\_PARMS    \filelink{mom\_fluxform.F}{pkg-mom_fluxform-mom_fluxform.F}
447  \begin{rawhtml} </A>\end{rawhtml}    
 } and the boundary condition is evaluated in routine  
 {\it S/R CALC\_MOM\_RHS}.  
   
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R CALC\_MOM\_RHS}({\it calc\_mom\_rhs.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/60.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
448  \item Lines 9,  \item Lines 9,
449  \begin{verbatim}  \begin{verbatim}
450  no_slip_bottom=.TRUE.  no_slip_bottom=.TRUE.
451  \end{verbatim}  \end{verbatim}
452  this line selects a no-slip boundary condition for bottom    this line selects a no-slip boundary condition for bottom boundary
453  boundary condition in the vertical laplacian friction operator    condition in the vertical laplacian friction operator e.g. $u=v=0$
454  e.g. $u=v=0$ at $z=-H$, where $H$ is the local depth of the domain.    at $z=-H$, where $H$ is the local depth of the domain.  The variable
455  The variable    \varlink{no\_slip\_bottom}{no\_slip\_bottom} is read in the routine
456  {\bf    \filelink{INI\_PARMS}{model-src-ini_parms.F} and is applied in the
457  \begin{rawhtml} <A href=../../../code_reference/vdb/names/UK.htm> \end{rawhtml}    routine \varlink{MOM\_FLUXFORM}{MOM_FLUXFORM}.
458  no\_slip\_bottom  
459  \begin{rawhtml} </A>\end{rawhtml}    \fbox{
460  }      \begin{minipage}{5.0in}
461  is read in the routine        {\it S/R MOM\_FLUXFORM}({\it mom\_fluxform.F})
462  {\it      \end{minipage}
463  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
464  INI\_PARMS    \filelink{mom\_fluxform.F}{pkg-mom_fluxform-mom_fluxform.F}
 \begin{rawhtml} </A>\end{rawhtml}  
 } and is applied in the routine {\it S/R CALC\_MOM\_RHS}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R CALC\_MOM\_RHS}({\it calc\_mom\_rhs.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/60.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
465    
466  \item Line 10,  \item Line 10,
467  \begin{verbatim}  \begin{verbatim}
468  diffKhT=4.E2,  diffKhT=4.E2,
469  \end{verbatim}  \end{verbatim}
470  this line sets the horizontal diffusion coefficient for temperature    this line sets the horizontal diffusion coefficient for temperature
471  to $400\,{\rm m^{2}s^{-1}}$. The boundary condition on this    to $400\,{\rm m^{2}s^{-1}}$. The boundary condition on this operator
472  operator is $\frac{\partial}{\partial x}=\frac{\partial}{\partial y}=0$ at    is $\frac{\partial}{\partial x}=\frac{\partial}{\partial y}=0$ at
473  all boundaries.    all boundaries.  The variable \varlink{diffKhT}{diffKhT} is read in
474  The variable    the routine \varlink{INI\_PARMS}{INI_PARMS} and used in routine
475  {\bf    \varlink{CALC\_GT}{CALC_GT}.
476  \begin{rawhtml} <A href=../../../code_reference/vdb/names/RC.htm> \end{rawhtml}  
477  diffKhT    \fbox{ \begin{minipage}{5.0in}
478  \begin{rawhtml} </A>\end{rawhtml}        {\it S/R CALC\_GT}({\it calc\_gt.F})
479  }      \end{minipage}
480  is read in the routine    }
481  {\it    \filelink{calc\_gt.F}{model-src-calc_gt.F}
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 } and used in routine {\it S/R CALC\_GT}.  
   
 \fbox{ \begin{minipage}{5.0in}  
 {\it S/R CALC\_GT}({\it calc\_gt.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/57.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
482    
483  \item Line 11,  \item Line 11,
484  \begin{verbatim}  \begin{verbatim}
485  diffKzT=1.E-2,  diffKzT=1.E-2,
486  \end{verbatim}  \end{verbatim}
487  this line sets the vertical diffusion coefficient for temperature    this line sets the vertical diffusion coefficient for temperature to
488  to $10^{-2}\,{\rm m^{2}s^{-1}}$. The boundary condition on this    $10^{-2}\,{\rm m^{2}s^{-1}}$. The boundary condition on this
489  operator is $\frac{\partial}{\partial z}$ = 0 on all boundaries.    operator is $\frac{\partial}{\partial z}$ = 0 on all boundaries.
490  The variable    The variable \varlink{diffKzT}{diffKzT} is read in the routine
491  {\bf    \varlink{INI\_PARMS}{INI_PARMS}. It is copied into model general
492  \begin{rawhtml} <A href=../../../code_reference/vdb/names/ZT.htm> \end{rawhtml}    vertical coordinate variable \varlink{diffKrT}{diffKrT} which is
493  diffKzT    used in routine \varlink{CALC\_DIFFUSIVITY}{CALC_DIFFUSIVITY}.
494  \begin{rawhtml} </A>\end{rawhtml}  
495  }    \fbox{ \begin{minipage}{5.0in}
496  is read in the routine        {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})
497  {\it      \end{minipage}
498  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
499  INI\_PARMS    \filelink{calc\_diffusivity.F}{model-src-calc_diffusivity.F}
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
 It is copied into model general vertical coordinate variable  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/PD.htm> \end{rawhtml}  
 diffKrT  
 \begin{rawhtml} </A>\end{rawhtml}  
 } which is used in routine {\it S/R CALC\_DIFFUSIVITY}.  
   
 \fbox{ \begin{minipage}{5.0in}  
 {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/53.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
   
500    
501  \item Line 13,  \item Line 13,
502  \begin{verbatim}  \begin{verbatim}
503  tAlpha=2.E-4,  tAlpha=2.E-4,
504  \end{verbatim}  \end{verbatim}
505  This line sets the thermal expansion coefficient for the fluid    This line sets the thermal expansion coefficient for the fluid to $2
506  to $2 \times 10^{-4}\,{\rm degrees}^{-1}$    \times 10^{-4}\,{\rm degrees}^{-1}$ The variable
507  The variable    \varlink{tAlpha}{tAlpha} is read in the routine
508  {\bf    \varlink{INI\_PARMS}{INI_PARMS}. The routine
509  \begin{rawhtml} <A href=../../../code_reference/vdb/names/ZV.htm> \end{rawhtml}    \varlink{FIND\_RHO}{FIND\_RHO} makes use of {\bf tAlpha}.
510  tAlpha  
511  \begin{rawhtml} </A>\end{rawhtml}    \fbox{
512  }      \begin{minipage}{5.0in}
513  is read in the routine        {\it S/R FIND\_RHO}({\it find\_rho.F})
514  {\it      \end{minipage}
515  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
516  INI\_PARMS    \filelink{find\_rho.F}{model-src-find_rho.F}
 \begin{rawhtml} </A>\end{rawhtml}  
 }. The routine {\it S/R FIND\_RHO} makes use of {\bf tAlpha}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R FIND\_RHO}({\it find\_rho.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/79.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
517    
518  \item Line 18,  \item Line 18,
519  \begin{verbatim}  \begin{verbatim}
520  eosType='LINEAR'  eosType='LINEAR'
521  \end{verbatim}  \end{verbatim}
522  This line selects the linear form of the equation of state.    This line selects the linear form of the equation of state.  The
523  The variable    variable \varlink{eosType}{eosType} is read in the routine
524  {\bf    \varlink{INI\_PARMS}{INI_PARMS}. The values of {\bf eosType} sets
525  \begin{rawhtml} <A href=../../../code_reference/vdb/names/WV.htm> \end{rawhtml}    which formula in routine {\it FIND\_RHO} is used to calculate
526  eosType    density.
527  \begin{rawhtml} </A>\end{rawhtml}  
528  }    \fbox{
529  is read in the routine      \begin{minipage}{5.0in}
530  {\it        {\it S/R FIND\_RHO}({\it find\_rho.F})
531  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}      \end{minipage}
532  INI\_PARMS    }
533  \begin{rawhtml} </A>\end{rawhtml}    \filelink{find\_rho.F}{model-src-find_rho.F}
 }. The values of {\bf eosType} sets which formula in routine  
 {\it FIND\_RHO} is used to calculate density.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R FIND\_RHO}({\it find\_rho.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/79.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
   
534    
535  \item Line 40,  \item Line 40,
536  \begin{verbatim}  \begin{verbatim}
537  usingSphericalPolarGrid=.TRUE.,  usingSphericalPolarGrid=.TRUE.,
538  \end{verbatim}  \end{verbatim}
539  This line requests that the simulation be performed in a    This line requests that the simulation be performed in a spherical
540  spherical polar coordinate system. It affects the interpretation of    polar coordinate system. It affects the interpretation of grid input
541  grid input parameters, for example {\bf delX} and {\bf delY} and    parameters, for example {\bf delX} and {\bf delY} and causes the
542  causes the grid generation routines to initialize an internal grid based    grid generation routines to initialize an internal grid based on
543  on spherical polar geometry.    spherical polar geometry.  The variable
544  The variable    \varlink{usingSphericalPolarGrid}{usingSphericalPolarGrid} is read
545  {\bf    in the routine \varlink{INI\_PARMS}{INI_PARMS}. When set to {\bf
546  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10T.htm> \end{rawhtml}      .TRUE.} the settings of {\bf delX} and {\bf delY} are taken to be
547  usingSphericalPolarGrid    in degrees. These values are used in the routine
548  \begin{rawhtml} </A>\end{rawhtml}  
549  }    \fbox{
550  is read in the routine      \begin{minipage}{5.0in}
551  {\it        {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})
552  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}      \end{minipage}
553  INI\_PARMS    }
554  \begin{rawhtml} </A>\end{rawhtml}    \filelink{ini\_spherical\_polar\_grid.F}{model-src-ini_spherical_polar_grid.F}
 }. When set to {\bf .TRUE.} the settings of {\bf delX} and {\bf delY} are  
 taken to be in degrees. These values are used in the  
 routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
555    
556  \item Line 41,  \item Line 41,
557  \begin{verbatim}  \begin{verbatim}
558  phiMin=0.,  phiMin=0.,
559  \end{verbatim}  \end{verbatim}
560  This line sets the southern boundary of the modeled    This line sets the southern boundary of the modeled domain to
561  domain to $0^{\circ}$ latitude. This value affects both the    $0^{\circ}$ latitude. This value affects both the generation of the
562  generation of the locally orthogonal grid that the model    locally orthogonal grid that the model uses internally and affects
563  uses internally and affects the initialization of the coriolis force.    the initialization of the coriolis force.  Note - it is not required
564  Note - it is not required to set    to set a longitude boundary, since the absolute longitude does not
565  a longitude boundary, since the absolute longitude does    alter the kernel equation discretisation.  The variable
566  not alter the kernel equation discretisation.    \varlink{phiMin}{phiMin} is read in the
567  The variable    routine \varlink{INI\_PARMS}{INI_PARMS} and is used in routine
568  {\bf  
569  \begin{rawhtml} <A href=../../../code_reference/vdb/names/110.htm> \end{rawhtml}    \fbox{
570  phiMin      \begin{minipage}{5.0in}
571  \begin{rawhtml} </A>\end{rawhtml}        {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})
572  }      \end{minipage}
573  is read in the routine    }
574  {\it    \filelink{ini\_spherical\_polar\_grid.F}{model-src-ini_spherical_polar_grid.F}
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 } and is used in routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
575    
576  \item Line 42,  \item Line 42,
577  \begin{verbatim}  \begin{verbatim}
578  delX=60*1.,  delX=60*1.,
579  \end{verbatim}  \end{verbatim}
580  This line sets the horizontal grid spacing between each y-coordinate line    This line sets the horizontal grid spacing between each y-coordinate
581  in the discrete grid to $1^{\circ}$ in longitude.    line in the discrete grid to $1^{\circ}$ in longitude.  The variable
582  The variable    \varlink{delX}{delX} is read in the routine
583  {\bf    \varlink{INI\_PARMS}{INI_PARMS} and is used in routine
584  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10Z.htm> \end{rawhtml}  
585  delX    \fbox{
586  \begin{rawhtml} </A>\end{rawhtml}      \begin{minipage}{5.0in}
587  }        {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})
588  is read in the routine      \end{minipage}
589  {\it    }
590  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    \filelink{ini\_spherical\_polar\_grid.F}{model-src-ini_spherical_polar_grid.F}
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 } and is used in routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
591    
592  \item Line 43,  \item Line 43,
593  \begin{verbatim}  \begin{verbatim}
594  delY=60*1.,  delY=60*1.,
595  \end{verbatim}  \end{verbatim}
596  This line sets the horizontal grid spacing between each y-coordinate line    This line sets the horizontal grid spacing between each y-coordinate
597  in the discrete grid to $1^{\circ}$ in latitude.    line in the discrete grid to $1^{\circ}$ in latitude.  The variable
598  The variable    \varlink{delY}{delY} is read in the routine
599  {\bf    \varlink{INI\_PARMS}{INI_PARMS} and is used in routine
600  \begin{rawhtml} <A href=../../../code_reference/vdb/names/UB.htm> \end{rawhtml}  
601  delY      \fbox{
602  \begin{rawhtml} </A>\end{rawhtml}      \begin{minipage}{5.0in}
603  }        {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})
604  is read in the routine      \end{minipage}
605  {\it    }
606  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    \filelink{ini\_spherical\_polar\_grid.F}{model-src-ini_spherical_polar_grid.F}
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 } and is used in routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/97.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
607    
608  \item Line 44,  \item Line 44,
609  \begin{verbatim}  \begin{verbatim}
610  delZ=500.,500.,500.,500.,  delZ=500.,500.,500.,500.,
611  \end{verbatim}  \end{verbatim}
612  This line sets the vertical grid spacing between each z-coordinate line    This line sets the vertical grid spacing between each z-coordinate
613  in the discrete grid to $500\,{\rm m}$, so that the total model depth    line in the discrete grid to $500\,{\rm m}$, so that the total model
614  is $2\,{\rm km}$.    depth is $2\,{\rm km}$.  The variable \varlink{delZ}{delZ} is read
615  The variable    in the routine \varlink{INI\_PARMS}{INI_PARMS}.  It is copied into
616  {\bf    the internal model coordinate variable \varlink{delR}{delR} which is
617  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10W.htm> \end{rawhtml}    used in routine
618  delZ  
619  \begin{rawhtml} </A>\end{rawhtml}    \fbox{
620  }      \begin{minipage}{5.0in}
621  is read in the routine        {\it S/R INI\_VERTICAL\_GRID}({\it ini\_vertical\_grid.F})
622  {\it      \end{minipage}
623  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    }
624  INI\_PARMS    \filelink{ini\_vertical\_grid.F}{model-src-ini_vertical_grid.F}
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  
 It is copied into the internal  
 model coordinate variable  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/names/10Y.htm> \end{rawhtml}  
 delR  
 \begin{rawhtml} </A>\end{rawhtml}  
 } which is used in routine {\it INI\_VERTICAL\_GRID}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_VERTICAL\_GRID}({\it ini\_vertical\_grid.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/100.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
625    
626  \item Line 47,  \item Line 47,
627  \begin{verbatim}  \begin{verbatim}
628  bathyFile='topog.box'  bathyFile='topog.box'
629  \end{verbatim}  \end{verbatim}
630  This line specifies the name of the file from which the domain    This line specifies the name of the file from which the domain
631  bathymetry is read. This file is a two-dimensional ($x,y$) map of    bathymetry is read. This file is a two-dimensional ($x,y$) map of
632  depths. This file is assumed to contain 64-bit binary numbers    depths. This file is assumed to contain 64-bit binary numbers giving
633  giving the depth of the model at each grid cell, ordered with the x    the depth of the model at each grid cell, ordered with the x
634  coordinate varying fastest. The points are ordered from low coordinate    coordinate varying fastest. The points are ordered from low
635  to high coordinate for both axes. The units and orientation of the    coordinate to high coordinate for both axes. The units and
636  depths in this file are the same as used in the MITgcm code. In this    orientation of the depths in this file are the same as used in the
637  experiment, a depth of $0m$ indicates a solid wall and a depth    MITgcm code. In this experiment, a depth of $0m$ indicates a solid
638  of $-2000m$ indicates open ocean. The matlab program    wall and a depth of $-2000m$ indicates open ocean. The matlab
639  {\it input/gendata.m} shows an example of how to generate a    program {\it input/gendata.m} shows an example of how to generate a
640  bathymetry file.    bathymetry file.  The variable \varlink{bathyFile}{bathyFile} is
641  The variable    read in the routine \varlink{INI\_PARMS}{INI_PARMS}.  The bathymetry
642  {\bf    file is read in the routine
643  \begin{rawhtml} <A href=../../../code_reference/vdb/names/179.htm> \end{rawhtml}  
644  bathyFile    \fbox{
645  \begin{rawhtml} </A>\end{rawhtml}      \begin{minipage}{5.0in}
646  }        {\it S/R INI\_DEPTHS}({\it ini\_depths.F})
647  is read in the routine      \end{minipage}
648  {\it    }
649  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    \filelink{ini\_depths.F}{model-src-ini_depths.F}
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }. The bathymetry file is read in the routine {\it INI\_DEPTHS}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R INI\_DEPTHS}({\it ini\_depths.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/88.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
   
650    
651  \item Line 50,  \item Line 50,
652  \begin{verbatim}  \begin{verbatim}
653  zonalWindFile='windx.sin_y'  zonalWindFile='windx.sin_y'
654  \end{verbatim}  \end{verbatim}
655  This line specifies the name of the file from which the x-direction    This line specifies the name of the file from which the x-direction
656  (zonal) surface wind stress is read. This file is also a two-dimensional    (zonal) surface wind stress is read. This file is also a
657  ($x,y$) map and is enumerated and formatted in the same manner as the    two-dimensional ($x,y$) map and is enumerated and formatted in the
658  bathymetry file. The matlab program {\it input/gendata.m} includes example    same manner as the bathymetry file. The matlab program {\it
659  code to generate a valid      input/gendata.m} includes example code to generate a valid {\bf
660  {\bf zonalWindFile}      zonalWindFile} file.  The variable
661  file.      \varlink{zonalWindFile}{zonalWindFile} is read in the routine
662  The variable    \varlink{INI\_PARMS}{INI_PARMS}.  The wind-stress file is read in
663  {\bf    the routine
664  \begin{rawhtml} <A href=../../../code_reference/vdb/names/13W.htm> \end{rawhtml}  
665  zonalWindFile    \fbox{
666  \begin{rawhtml} </A>\end{rawhtml}      \begin{minipage}{5.0in}
667  }        {\it S/R EXTERNAL\_FIELDS\_LOAD}({\it external\_fields\_load.F})
668  is read in the routine      \end{minipage}
669  {\it    }
670  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}    \filelink{external\_fields\_load.F}{model-src-external_fields_load.F}
 INI\_PARMS  
 \begin{rawhtml} </A>\end{rawhtml}  
 }.  The wind-stress file is read in the routine  
 {\it EXTERNAL\_FIELDS\_LOAD}.  
   
 \fbox{  
 \begin{minipage}{5.0in}  
 {\it S/R EXTERNAL\_FIELDS\_LOAD}({\it external\_fields\_load.F})  
 \end{minipage}  
 }  
 {\bf  
 \begin{rawhtml} <A href=../../../code_reference/vdb/code/75.htm> \end{rawhtml}  
 goto code  
 \begin{rawhtml} </A>\end{rawhtml}  
 }  
671    
672  \end{itemize}  \end{itemize}
673    
# Line 946  goto code Line 680  goto code
680  \begin{rawhtml}</PRE>\end{rawhtml}  \begin{rawhtml}</PRE>\end{rawhtml}
681    
682  \subsubsection{File {\it input/data.pkg}}  \subsubsection{File {\it input/data.pkg}}
683    \label{www:tutorials}
684    
685  This file uses standard default values and does not contain  This file uses standard default values and does not contain
686  customisations for this experiment.  customisations for this experiment.
687    
688  \subsubsection{File {\it input/eedata}}  \subsubsection{File {\it input/eedata}}
689    \label{www:tutorials}
690    
691  This file uses standard default values and does not contain  This file uses standard default values and does not contain
692  customisations for this experiment.  customisations for this experiment.
693    
694  \subsubsection{File {\it input/windx.sin\_y}}  \subsubsection{File {\it input/windx.sin\_y}}
695    \label{www:tutorials}
696    
697  The {\it input/windx.sin\_y} file specifies a two-dimensional ($x,y$)  The {\it input/windx.sin\_y} file specifies a two-dimensional ($x,y$)
698  map of wind stress ,$\tau_{x}$, values. The units used are $Nm^{-2}$ (the  map of wind stress ,$\tau_{x}$, values. The units used are $Nm^{-2}$
699  default for MITgcm).  (the default for MITgcm).  Although $\tau_{x}$ is only a function of
700  Although $\tau_{x}$ is only a function of latitude, $y$,  latitude, $y$, in this experiment this file must still define a
701  in this experiment  complete two-dimensional map in order to be compatible with the
702  this file must still define a complete two-dimensional map in order  standard code for loading forcing fields in MITgcm (routine {\it
703  to be compatible with the standard code for loading forcing fields    EXTERNAL\_FIELDS\_LOAD}.  The included matlab program {\it
704  in MITgcm (routine {\it EXTERNAL\_FIELDS\_LOAD}.    input/gendata.m} gives a complete code for creating the {\it
705  The included matlab program {\it input/gendata.m} gives a complete    input/windx.sin\_y} file.
 code for creating the {\it input/windx.sin\_y} file.  
706    
707  \subsubsection{File {\it input/topog.box}}  \subsubsection{File {\it input/topog.box}}
708    \label{www:tutorials}
709    
710    
711  The {\it input/topog.box} file specifies a two-dimensional ($x,y$)  The {\it input/topog.box} file specifies a two-dimensional ($x,y$)
# Line 980  The included matlab program {\it input/g Line 717  The included matlab program {\it input/g
717  code for creating the {\it input/topog.box} file.  code for creating the {\it input/topog.box} file.
718    
719  \subsubsection{File {\it code/SIZE.h}}  \subsubsection{File {\it code/SIZE.h}}
720    \label{www:tutorials}
721    
722  Two lines are customized in this file for the current experiment  Two lines are customized in this file for the current experiment
723    
# Line 1006  the vertical domain extent in grid point Line 744  the vertical domain extent in grid point
744  \end{small}  \end{small}
745    
746  \subsubsection{File {\it code/CPP\_OPTIONS.h}}  \subsubsection{File {\it code/CPP\_OPTIONS.h}}
747    \label{www:tutorials}
748    
749  This file uses standard default values and does not contain  This file uses standard default values and does not contain
750  customisations for this experiment.  customisations for this experiment.
751    
752    
753  \subsubsection{File {\it code/CPP\_EEOPTIONS.h}}  \subsubsection{File {\it code/CPP\_EEOPTIONS.h}}
754    \label{www:tutorials}
755    
756  This file uses standard default values and does not contain  This file uses standard default values and does not contain
757  customisations for this experiment.  customisations for this experiment.
758    
759  \subsubsection{Other Files }  \subsubsection{Other Files }
760    \label{www:tutorials}
761    
762  Other files relevant to this experiment are  Other files relevant to this experiment are
763  \begin{itemize}  \begin{itemize}
# Line 1029  dxF, dyF, dxG, dyG, dxC, dyC}. Line 770  dxF, dyF, dxG, dyG, dxC, dyC}.
770  \end{itemize}  \end{itemize}
771    
772  \subsection{Running The Example}  \subsection{Running The Example}
773    \label{www:tutorials}
774  \label{SEC:running_the_example}  \label{SEC:running_the_example}
775    
776  \subsubsection{Code Download}  \subsubsection{Code Download}
777    \label{www:tutorials}
778    
779   In order to run the examples you must first download the code distribution.   In order to run the examples you must first download the code distribution.
780  Instructions for downloading the code can be found in section  Instructions for downloading the code can be found in section
781  \ref{sect:obtainingCode}.  \ref{sect:obtainingCode}.
782    
783  \subsubsection{Experiment Location}  \subsubsection{Experiment Location}
784    \label{www:tutorials}
785    
786   This example experiments is located under the release sub-directory   This example experiments is located under the release sub-directory
787    
# Line 1045  Instructions for downloading the code ca Line 789  Instructions for downloading the code ca
789  {\it verification/exp2/ }  {\it verification/exp2/ }
790    
791  \subsubsection{Running the Experiment}  \subsubsection{Running the Experiment}
792    \label{www:tutorials}
793    
794   To run the experiment   To run the experiment
795    

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

  ViewVC Help
Powered by ViewVC 1.1.22