Version 8 (modified by lovato, 22 months ago) (diff)

REFERENCE CONFIGURATIONS
========================

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 <http://www.nemo-ocean.eu/projects/add>`_

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      X              ORCA2_OFF_v4.0.tar_, INPUTS_PISCES_v4.0.tar_
 ORCA2_OFF_TRC_          X           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_
====================== ===== ===== ===== ======== ======= ================================================

https://forge.ipsl.jussieu.fr/nemo/wiki/WikiRestructuredText

AGRIF_DEMO
----------

AGRIF_DEMO is based on the *ORCA2_LIM3_PISCES* global 2° configuration with the inclusion of 3 online nested grids that 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
-----

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 <http://www.tandfonline.com/doi/pdf/10.1080/1755876X.2012.11020128>`_).

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
--------

C1D_PAPA is a 1D configuration for the `PAPA station <http://www.pmel.noaa.gov/OCS/Papa/index-Papa.shtml>`_ located in the northern-eastern Pacific Ocean at 50.1°N, 144.9°W. See `Reffray et al, 2015 <http://www.geosci-model-dev.net/8/69/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 CORE 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
- ``init_PAPASTATION_m06d15.nc`` : Initial Conditions from observed data and Levitus 2009 climatology
- ``chlorophyll_PAPASTATION.nc`` : surface chlorophyll file from Seawifs data


GYRE_BFM
--------

GYRE_BFM shares the same physical setup of GYRE_PISCES_, but NEMO is coupled with the `BFM <http://www.bfm-community.eu/>`_ biogeochemical model.

For more details on this configuration refer to trunk/cfgs/GYRE_BFM/README.


GYRE_PISCES
-----------

| Idealized configuration representing double gyres in the North hemisphere, Beta-plane with
  a regular grid spacing at 1° horizontal resolution (and possible use as a benchmark by
  easily increasing grid size), 101 vertical levels, forced with analytical heat, freshwater and
  wind-stress fields.
| This configuration is coupled to `PISCES biogeochemical model`_.

Running GYRE as a benchmark
^^^^^^^^^^^^^^^^^^^^^^^^^^^

This simple configuration can be used as a benchmark since it is easy to increase resolution
(and in this case no physical meaning of outputs):

1. Choose the grid size

   In ``./cfgs/GYRE/EXP00``, edit your ``namelist_cfg`` file to change the ``jp_cfg``, ``jpi``, ``jpj``,
   ``jpk`` variables in &namcfg:

   +------------+---------+---------+---------+------------------+---------------+
   | ``jp_cfg`` | ``jpi`` | ``jpj`` | ``jpk`` | Number of points | Equivalent to |
   +============+=========+=========+=========+==================+===============+
   | 1          | 30      | 20      | 101     | 60600            | GYRE 1°       |
   +------------+---------+---------+---------+------------------+---------------+
   | 25         | 750     | 500     | 101     | 37875000         | ORCA 1/2°     |
   +------------+---------+---------+---------+------------------+---------------+
   | 50         | 1500    | 1000    | 101     | 151500000        | ORCA 1/4°     |
   +------------+---------+---------+---------+------------------+---------------+
   | 150        | 4500    | 3000    | 101     | 1363500000       | ORCA 1/12°    |
   +------------+---------+---------+---------+------------------+---------------+
   | 200        | 6000    | 4000    | 101     | 2424000000       | ORCA 1/16°    |
   +------------+---------+---------+---------+------------------+---------------+

2. In `namelist_cfg` again, avoid problems in the physics (and results will not be meaningful in terms of physics) by setting `nn_bench = 1` in &namctl

.. code-block:: fortran
   
   nn_bench    =    1     !  Bench mode (1/0): CAUTION use zero except for bench

3. If you increase domain size, you may need to decrease time-step (for stability) by changing `rn_rdt` value in &namdom (i.e. for `jp_cfg = 150`, ORCA12 equivalent, use `rn_rdt = 1200`)

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

4. Optional, in order to increase the number of MPI communication for benchmark purposes:
   you can change the number of sub-timesteps computed in the time-splitting scheme each iteration.
   First change the list of active CPP keys for your experiment,
   in `cfgs/"your configuration name"/cpp_"your configuration name".fcm`:
   replace ``key_dynspg_flt by key_dynspg_ts`` and recompile/create your executable again
   
   .. code-block:: fortran
   
   makenemo [...] add_key 'key_dynspg_ts' del_key 'key_dynspg_flt'

In your ``namelist_cfg`` file, edit the &namsplit namelist by adding the following line: 

.. code-block:: fortran
   
   nn_baro       =    30               !  Number of iterations of barotropic mode/

``nn_baro = 30`` is a kind of minimum (we usually use 30 to 60).
So than increasing the ``nn_baro`` value will increase the number of MPI communications.

The GYRE CPP keys, namelists and scripts can be explored in the ``GYRE`` configuration directory
(``./cfgs/GYRE`` and ``./cfgs/GYRE/EXP00``).

Find monthly mean outputs of 1 year run here:
http://prodn.idris.fr/thredds/catalog/ipsl_public/reee451/NEMO_OUT/GYRE/catalog.html

ORCA2_ICE_PISCES
----------------

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 <http://www.drakkar-ocean.eu>`_).

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 http://prodn.idris.fr/thredds/catalog/ipsl_public/reee512/ORCA2_ONTHEFLY/WEIGHTS/catalog.html
  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 <http://data1.gdfl.noaa.gov/nomads/forms/mom4/COREv2>`_ extrapolated on
  continents, ready to be used for on the fly option:
  `COREII`_ forcing files extrapolated on continents

ORCA2_OFF_PISCES
----------------

``ORCA2_OFF_PISCES`` uses the ORCA2 configuration in which the `PISCES biogeochemical model`_ has been activated in
standalone using the dynamical fields that are pre calculated.

See `ORCA2_ICE_PISCES`_ for general description of ORCA2.

The input files for PISCES are needed, in addition 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_OFF_TRC
-------------

``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
-------------

``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
-------

SPITZ12 is regional configuration around the Svalbard archipelago

.. _AGRIF_DEMO_v4.0.tar:          http://prodn.idris.fr/thredds/fileServer/ipsl_public/romr005/Online_forcing_archives/AGRIF_DEMO_v4.0.tar
.. _AMM12_v4.0.tar:               http://prodn.idris.fr/thredds/fileServer/ipsl_public/romr005/Online_forcing_archives/AMM12_v4.0.tar
.. _PISCES biogeochemical model:  http://www.geosci-model-dev.net/8/2465/2015
.. _INPUTS_PISCES_v4.0.tar:       http://prodn.idris.fr/thredds/fileServer/ipsl_public/romr005/Online_forcing_archives/INPUTS_PISCES_v4.0.tar
.. _ORCA2_OFF_v4.0.tar:           http://prodn.idris.fr/thredds/fileServer/ipsl_public/romr005/Online_forcing_archives/ORCA2_OFF_v4.0.tar
.. _ORCA2_ICE_v4.0.tar:           http://prodn.idris.fr/thredds/fileServer/ipsl_public/romr005/Online_forcing_archives/ORCA2_ICE_v4.0.tar
.. _INPUTS_SAS_v4.0.tar:          http://prodn.idris.fr/thredds/fileServer/ipsl_public/romr005/Online_forcing_archives/INPUTS_SAS_v4.0.tar
.. _INPUTS_C1D_PAPA_v4.0.tar:     http://prodn.idris.fr/thredds/fileServer/ipsl_public/romr005/Online_forcing_archives/INPUTS_C1D_PAPA_v4.0.tar
.. _SPITZ12_v4.0.tar:             http://prodn.idris.fr/thredds/fileServer/ipsl_public/romr005/Online_forcing_archives/SPITZ12_v4.0.tar

.. _COREII:                       http://prodn.idris.fr/thredds/catalog/ipsl_public/reee512/ORCA2_ONTHEFLY/FILLED_FILES/catalog.html