New URL for NEMO forge!

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
user/lovato/cfgrst – NEMO

Version 11 (modified by lovato, 5 years ago) (diff)



NEMO is distributed with a set of reference configurations allowing both the user to set up his own first applications and the developer to test/validate their NEMO developments (using SETTE package).
*The NEMO System Team is in charge only for these configurations.*

Configurations developed by external research projects or initiatives that make use of NEMO are welcome to be publicized also through the NEMO website by filling up the form `Add project <>`_

Available Configurations 
====================== ===== ===== ===== ======== ======= ================================================
 Configuration                     Component(s)                            Input & Forcing File(s)
---------------------- ---------------------------------- ------------------------------------------------
 Name                   OPA   SI3   TOP   PISCES   AGRIF
====================== ===== ===== ===== ======== ======= ================================================
 AGRIF_DEMO_             X     X                     X     AGRIF_DEMO_v4.0.tar_, ORCA2_ICE_v4.0.tar_
 AMM12_                  X                                 AMM12_v4.0.tar_
 C1D_PAPA_               X                                 INPUTS_C1D_PAPA_v4.0.tar_
 GYRE_BFM_               X           X                     *none*
 GYRE_PISCES_            X           X      X              *none*
 ORCA2_ICE_PISCES_       X     X     X      X              ORCA2_ICE_v4.0.tar_, INPUTS_PISCES_v4.0.tar_
 ORCA2_OFF_PISCES_                   X      X              ORCA2_OFF_v4.0.tar_, INPUTS_PISCES_v4.0.tar_
 ORCA2_OFF_TRC_                      X                     ORCA2_OFF_v4.0.tar_
 ORCA2_SAS_ICE_                X                           ORCA2_ICE_v4.0.tar_, INPUTS_SAS_v4.0.tar_
 SPITZ12_                X     X                           SPITZ12_v4.0.tar_
====================== ===== ===== ===== ======== ======= ================================================


AGRIF_DEMO is based on the ORCA2_ICE_PISCES_ global configuration at 2° of resolution with the inclusion of 3 online nested grids to demonstrate the overall capabilities of AGRIF (Adaptive Grid Refinement In Fortran) in a realistic context (including the nesting of sea ice models).

The configuration includes a 1:1 grid in the Pacific and two successively nested grids with odd and even refinement ratios over the Arctic ocean, with the finest grid spanning the whole Svalbard archipelago that is of particular interest to test sea ice coupling.

The 1:1 grid can be used alone as a benchmark to check that the model solution is not corrupted by grid exchanges. 
Note that since grids interact only at the baroclinic time level, numerically exact results can not be achieved in the 1:1 case. Perfect reproducibility is obtained only by switching to a fully explicit setip instead of a split explicit free surface scheme.


AMM12 stands for *Atlantic Margin Model at 12 km* that is a regional configuration covering the Northwest European Shelf domain on a regular horizontal grid of ~12 km of resolution (see `O'Dea et al., 2012 <>`_).

This configuration allows to tests several features of NEMO specifically addressed to the shelf seas. 
In particular, AMM12  accounts for vertical s-coordinates system, GLS turbulence scheme, tidal lateral boundary conditions using a flather scheme (see more in BDY).
Boundaries may be completely omitted by setting ``ln_bdy = .false.`` in ``nambdy``.

Sample surface fluxes, river forcing and an initial restart file are included to test a realistic model run (AMM12_v4.0.tar_).

Note that, the Baltic boundary is included within the river input file and is specified as a river source, but unlike ordinary river points the Baltic inputs also include salinity and temperature data.


C1D_PAPA is a 1D configuration for the `PAPA station <>`_ located in the northern-eastern Pacific Ocean at 50.1°N, 144.9°W. See `Reffray et al. (2015) <>`_ for the description of its physical and numerical turbulent-mixing behaviour.

The water column setup, called NEMO1D, is activated with the inclusion of the CPP key ``key_c1d`` and has a horizontal domain of 3x3 grid points.

This reference configuration uses 75 vertical levels grid (1m at the surface), GLS turbulence scheme with K-epsilon closure and the NCAR bulk formulae.
Data provided with INPUTS_C1D_PAPA_v4.0.tar_ file account for :

- ``forcing_PAPASTATION_1h_y201[0-1].nc`` : ECMWF operational analysis atmospheric forcing rescaled to 1h (with long and short waves flux correction) for years 2010 and 2011
- ```` : Initial Conditions from observed data and Levitus 2009 climatology
- ```` : surface chlorophyll file from Seawifs data


GYRE_BFM shares the same physical setup of GYRE_PISCES_, but NEMO is coupled with the `BFM <>`_ biogeochemical model as described in :trac:`source:/NEMO/trunk/cfgs/GYRE_BFM/README`.


GYRE_PISCES is an idealized configuration representing a Northern hemisphere double gyres system,  in the Beta-plane approximation with a regular 1° horizontal resolution and 31 vertical levels, which is coupled with `PISCES biogeochemical model`_. Analytical forcing for heat, freshwater and wind-stress fields are applied.  

This configuration act also as demonstrator of the **USER DEFINED setup** (``ln_read_cfg = .false.``) and grid setting are handled through the ``&namusr_def`` controls in namelist_cfg:

.. code-block:: fortran

  &namusr_def    !   GYRE user defined namelist
     nn_GYRE     =     1     !  GYRE resolution [1/degrees]
     ln_bench    = .false.   !  ! =T benchmark with gyre: the gridsize is kept constant
     jpkglo      =    31     !  number of model levels

Note that, the default grid size is 30x20 grid points (with ``nn_GYRE = 1``) and vertical levels are set by ``jpkglo``.

**Running GYRE as a benchmark** :  this simple configuration can be used as a benchmark since it is easy to increase resolution, with the drawback of getting results that have a very limited physical meaning.

GYRE grid resolution can be increased at runtime by setting a different value of ``nn_GYRE`` (integer multiplier scaling factor),  as described in the following table: 

=========== ========= ========== ============ ===================
``nn_GYRE``  *jpiglo*  *jpjglo*   ``jpkglo``   **Equivalent to**
=========== ========= ========== ============ ===================
 1           30        20         31           GYRE 1°
 25          750       500        101          ORCA 1/2°
 50          1500      1000       101          ORCA 1/4°
 150         4500      3000       101          ORCA 1/12°
 200         6000      4000       101          ORCA 1/16°
=========== ========= ========== ============ ===================

Note that,  it is necessary to set ``ln_bench = .true.`` in ``namusr_def`` to avoid problems in the physics computation and that the model timestep should be adequately rescaled. 

For example if ``nn_GYRE = 150``, equivalent to an ORCA 1/12° grid, the timestep should be set to 1200 seconds

.. code-block:: fortran
   rn_rdt      = 1200.     !  time step for the dynamics

Differently from previous versions of NEMO, the code uses by default  the time-splitting scheme and internally computes the number of sub-steps. 


ORCA is the generic name given to global ocean configurations.
Its specificity lies on the horizontal curvilinear mesh used to overcome the North Pole singularity found for
geographical meshes.
SI3 (Sea Ice Integrated Initiative) is a thermodynamic-dynamic sea ice model specifically designed for
climate studies.
A brief description of the model is given here.

:underline:`Space-time domain`

The horizontal resolution available through the standard configuration is ORCA2.
It is based on a 2 degrees Mercator mesh, (i.e. variation of meridian scale factor as cosinus of the latitude).
In the northern hemisphere the mesh has two poles so that the ratio of anisotropy is nearly one everywhere.
The mean grid spacing is about 2/3 of the nominal value: for example it is 1.3 degrees for ORCA2.
Other resolutions (ORCA4, ORCA05 and ORCA025) are running or under development within specific projects.
In the coarse resolution version (i.e. ORCA2 and ORCA4) the meridional grid spacing is increased near
the equator to improve the equatorial dynamics.
Figures in pdf format of mesh and bathymetry can be found and downloaded here.
The sea-ice model runs on the same grid.

The vertical domain spreads from the surface to a depth of 5000m.
There are 31 levels, with 10 levels in the top 100m.
The vertical mesh is deduced from a mathematical function of z ([[AttachmentNum(1)]]).
The ocean surface corresponds to the w-level k=1, and the ocean bottom to the w-level k=31.
The last T-level (k=31) is thus always in the ground.The depths of the vertical levels and
the associated scale factors can be viewed.
Higher vertical resolution is used in ORCA025 and ORCA12 (see `DRAKKAR project <>`_).

The time step depends on the resolution. It is 1h36' for ORCA2 so that there is 15 time steps in one day.

:underline:`Ocean Physics (for ORCA2)`

- horizontal diffusion on momentum: the eddy viscosity coefficient depends on the geographical position.
  It is taken as 40000 $m^2/s$, reduced in the equator regions (2000 $m^2/s$) excepted near the western boundaries.
- isopycnal diffusion on tracers: the diffusion acts along the isopycnal surfaces (neutral surface) with
  a eddy diffusivity coefficient of 2000 $m^2/s$.
- Eddy induced velocity parametrization with a coefficient that depends on the growth rate of
  baroclinic instabilities (it usually varies from 15 $m^2/s$ to 3000 $m^2/s$).
- lateral boundary conditions : zero fluxes of heat and salt and no-slip conditions are applied through
  lateral solid boundaries.
- bottom boundary condition : zero fluxes of heat and salt are applied through the ocean bottom.
  The Beckmann [19XX] simple bottom boundary layer parameterization is applied along continental slopes.
  A linear friction is applied on momentum.
- convection: the vertical eddy viscosity and diffusivity coefficients are increased to 1 $m^2/s$ in case of
  static instability.
- forcings: the ocean receives heat, freshwater, and momentum fluxes from the atmosphere and/or the sea-ice.
  The solar radiation penetrates the top meters of the ocean.
  The downward irradiance I(z) is formulated with two extinction coefficients [Paulson and Simpson, 1977],
  whose values correspond to a Type I water in Jerlov's classification (i.e the most transparent water)

ORCA2_ICE_PISCES is a reference configuration with the following characteristics:

- global ocean configuration
- based on a tri-polar ORCA grid, with a 2° horizontal resolution
- 31 vertical levels
- forced with climatological surface fields
- coupled to the sea-ice model SI3.
- coupled to TOP passive tracer transport module and `PISCES biogeochemical model`_.

:underline:`AGRIF demonstrator`

| From the ``ORCA2_ICE_PISCES`` configuration, a demonstrator using AGRIF nesting can be activated.
  It includes the global ``ORCA2_ICE_PISCES`` configuration and a nested grid in the Agulhas region.
| To set up this configuration, after extracting NEMO:

- Build your AGRIF configuration directory from ORCA2_ICE_PISCES, with the key_agrif CPP key activated:

.. code-block:: console
   $ ./makenemo -r 'ORCA2_ICE_PISCES' -n 'AGRIF' add_key 'key_agrif'

- Using the ``ORCA2_ICE_PISCES`` input files and namelist, AGRIF test configuration is ready to run

:underline:`On-The-Fly Interpolation`

| NEMO allows to use the interpolation on the fly option allowing to interpolate input data during the run.
  If you want to use this option you need files giving informations on weights, which have been created.
| You can find at
  2 weights files `bil_weights` for scalar field (bilinear interpolation) and `bic_weights` for
  vector field (bicubic interpolation).
| The data files used are `COREII forcing <>`_ extrapolated on
  continents, ready to be used for on the fly option:
  `COREII`_ forcing files extrapolated on continents


ORCA2_OFF_PISCES  shares the same general configuration of ORCA2_ICE_PISCES, but dynamical fields are pre-calculated and stored with 5 days frequency.
This enables for an offline coupling of all TOP components, here specifically dealing with PISCES biogeochemical model.

Pre-calculated dynamical fields are provided to NEMO using the namelist ``&namdta_dyn``  in ``namelist_cfg`` :

.. code-block:: fortran

  &namdta_dyn    !   offline ocean input files                            (OFF_SRC only)
     ln_dynrnf       =  .false.    !  runoffs option enabled (T) or not (F)
     ln_dynrnf_depth =  .false.    !  runoffs is spread in vertical (T) or not (F)
  !   fwbcorr        = 3.786e-06   !  annual global mean of empmr for ssh correction

     cn_dir      = './'      !  root directory for the ocean data location
     !           !  file name              ! frequency (hours) ! variable  ! time interp.!  clim  ! 'yearly'/ ! weights filename ! rotation ! land/sea mask !
     !           !                         !  (if <0  months)  !   name    !   (logical) !  (T/F) ! 'monthly' !                  ! pairing  !    filename   !
     sn_tem      = 'dyna_grid_T'           ,       120         , 'votemper'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_sal      = 'dyna_grid_T'           ,       120         , 'vosaline'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_mld      = 'dyna_grid_T'           ,       120         , 'somixhgt'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_emp      = 'dyna_grid_T'           ,       120         , 'sowaflup'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_fmf      = 'dyna_grid_T'           ,       120         , 'iowaflup'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_ice      = 'dyna_grid_T'           ,       120         , 'soicecov'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_qsr      = 'dyna_grid_T'           ,       120         , 'soshfldo'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_wnd      = 'dyna_grid_T'           ,       120         , 'sowindsp'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_uwd      = 'dyna_grid_U'           ,       120         , 'uocetr_eff',  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_vwd      = 'dyna_grid_V'           ,       120         , 'vocetr_eff',  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_wwd      = 'dyna_grid_W'           ,       120         , 'wocetr_eff',  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_avt      = 'dyna_grid_W'           ,       120         , 'voddmavs'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_ubl      = 'dyna_grid_U'           ,       120         , 'sobblcox'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''
     sn_vbl      = 'dyna_grid_V'           ,       120         , 'sobblcoy'  ,  .true.   , .true. , 'yearly'  , ''               , ''       , ''



Input dynamical fields for this configuration (ORCA2_OFF_v4.0.tar_) comes from a 2000 years long climatological simulation of ORCA2_ICE using ERA40 atmospheric forcing.


``ORCA2_OFF_TRC`` uses the ORCA2_LIM configuration in which the tracer passive transport module TOP has been
activated in standalone using the dynamical fields that are pre calculated.

See `ORCA2_ICE_PISCES`_ for general description of ORCA2.

In ``namelist_top_cfg``, different passive tracers can be activated ( cfc11, cfc12, sf6, c14, age ) or my-trc,
a user-defined tracer.

The dynamical fields are used as input, they are coming from a 2000 years of an ORCA2_LIM climatological run using
ERA40 atmospheric forcing.


``ORCA2_SAS_ICE`` is a demonstrator of the SAS ( Stand-alone Surface module ) based on ORCA2_LIM configuration.

The standalone surface module allows surface elements such as sea-ice, iceberg drift and surface fluxes to
be run using prescribed model state fields.
For example, it can be used to inter-compare different bulk formulae or adjust the parameters of
a given bulk formula

See `ORCA2_ICE_PISCES`_ for general description of ORCA2.

Same input files as `ORCA2_ICE_PISCES`_ are needed plus fields from a previous ORCA2_LIM run.

More informations on input and configuration files in `NEMO manual`_.


SPITZ12 is regional configuration around the Svalbard archipelago

.. _AGRIF_DEMO_v4.0.tar:
.. _AMM12_v4.0.tar:     
.. _PISCES biogeochemical model:
.. _INPUTS_PISCES_v4.0.tar:
.. _ORCA2_OFF_v4.0.tar: 
.. _ORCA2_ICE_v4.0.tar: 
.. _INPUTS_SAS_v4.0.tar:
.. _INPUTS_C1D_PAPA_v4.0.tar:
.. _SPITZ12_v4.0.tar:   

.. _COREII: