Home Contact Us Site Map  
 
       
    next up previous contents
Next: 3.6.4 Parameters: Tracer equations Up: 3.6 Customizing MITgcm Previous: 3.6.2 Parameters: Equation of   Contents

3.6.3 Parameters: Momentum equations

In this section, we only focus for now on the parameters that you are likely to change, i.e. the ones relative to forcing and dissipation for example. The details relevant to the vector-invariant form of the equations and the various advection schemes are not covered for the moment. We assume that you use the standard form of the momentum equations (i.e. the flux-form) with the default advection scheme. Also, there are a few logical variables that allow you to turn on/off various terms in the momentum equation. These variables are called momViscosity, momAdvection, momForcing, useCoriolis, momPressureForcing, momStepping and metricTerms and are assumed to be set to '.TRUE.' here. Look at the file model/inc/PARAMS.h for a precise definition of these variables.

initialization

The initial horizontal velocity components can be specified from binary files uVelInitFile and vVelInitFile. These files should contain 3D data ordered in an (x,y,r) fashion with k=1 as the first vertical level (surface level). If no file names are provided, the velocity is initialised to zero. The initial vertical velocity is always derived from the horizontal velocity using the continuity equation, even in the case of non-hydrostatic simulation (see, e.g.: tutorial_deep_convection/input/data).

In the case of a restart (from the end of a previous simulation), the velocity field is read from a pickup file (see section on simulation control parameters) and the initial velocity files are ignored.

forcing

This section only applies to the ocean. You need to generate wind-stress data into two files zonalWindFile and meridWindFile corresponding to the zonal and meridional components of the wind stress, respectively (if you want the stress to be along the direction of only one of the model horizontal axes, you only need to generate one file). The format of the files is similar to the bathymetry file. The zonal (meridional) stress data are assumed to be in Pa and located at U-points (V-points). As for the bathymetry, the precision with which to read the binary data is controlled by the variable readBinaryPrec. See the matlab program gendata.m in the input directories under verification to see how simple analytical wind forcing data are generated for the case study experiments.

There is also the possibility of prescribing time-dependent periodic forcing. To do this, concatenate the successive time records into a single file (for each stress component) ordered in a (x,y,t) fashion and set the following variables: periodicExternalForcing to '.TRUE.', externForcingPeriod to the period (in s) of which the forcing varies (typically 1 month), and externForcingCycle to the repeat time (in s) of the forcing (typically 1 year - note: externForcingCycle must be a multiple of externForcingPeriod). With these variables set up, the model will interpolate the forcing linearly at each iteration.

dissipation

The lateral eddy viscosity coefficient is specified through the variable viscAh (in m$ ^{2}$ s$ ^{-1}$ ). The vertical eddy viscosity coefficient is specified through the variable viscAz (in m$ ^{2}$ s$ ^{-1}$ ) for the ocean and viscAp (in Pa$ ^{2}$ s$ ^{-1}$ ) for the atmosphere. The vertical diffusive fluxes can be computed implicitly by setting the logical variable implicitViscosity to '.TRUE.'. In addition, biharmonic mixing can be added as well through the variable viscA4 (in m$ ^{4}$ s$ ^{-1}$ ). On a spherical polar grid, you might also need to set the variable cosPower which is set to 0 by default and which represents the power of cosine of latitude to multiply viscosity. Slip or no-slip conditions at lateral and bottom boundaries are specified through the logical variables no_slip_sides and no_slip_bottom. If set to '.FALSE.', free-slip boundary conditions are applied. If no-slip boundary conditions are applied at the bottom, a bottom drag can be applied as well. Two forms are available: linear (set the variable bottomDragLinear in m/s) and quadratic (set the variable bottomDragQuadratic, dimensionless).

The Fourier and Shapiro filters are described elsewhere.

C-D scheme

If you run at a sufficiently coarse resolution, you will need the C-D scheme for the computation of the Coriolis terms. The variable tauCD, which represents the C-D scheme coupling timescale (in s) needs to be set.

calculation of pressure/geopotential

First, to run a non-hydrostatic ocean simulation, set the logical variable nonHydrostatic to '.TRUE.'. The pressure field is then inverted through a 3D elliptic equation. (Note: this capability is not available for the atmosphere yet.) By default, a hydrostatic simulation is assumed and a 2D elliptic equation is used to invert the pressure field. The parameters controlling the behaviour of the elliptic solvers are the variables cg2dMaxIters and cg2dTargetResidual for the 2D case and cg3dMaxIters and cg3dTargetResidual for the 3D case. You probably won't need to alter the default values (are we sure of this?).

For the calculation of the surface pressure (for the ocean) or surface geopotential (for the atmosphere) you need to set the logical variables rigidLid and implicitFreeSurface (set one to '.TRUE.' and the other to '.FALSE.' depending on how you want to deal with the ocean upper or atmosphere lower boundary).


next up previous contents
Next: 3.6.4 Parameters: Tracer equations Up: 3.6 Customizing MITgcm Previous: 3.6.2 Parameters: Equation of   Contents
mitgcm-support@mitgcm.org
Copyright © 2006 Massachusetts Institute of Technology Last update 2018-01-23