|NEMO is an ocean modelling framework which is composed of "engines" nested in an "environment". The "engines" provide numerical solutions of ocean, sea-ice, tracers and biochemistry equations and their related physics. The "environment" consists of the pre- and post-processing tools, the interface to the other components of the Earth System, the user interface, the computer dependent functions and the documentation of the system.|
NEMO allows several ocean related components of the earth system to work together or separately. It also allows a two-way nesting via the AGRIF software. It is interfaced with the remaining component of the earth system (atmosphere, land surfaces, ...) via the OASIS coupler.
The latest release of NEMO is the version 3.2 (December 2009). It includes four engines (or components):
- OPA - the ocean engine.
- LIM2 - the previous version of the Louvain-la-Neuve sea-ice model.
- LIM3 - the latest version of the Louvain-la-Neuve sea-ice model including a new thermodynamics (Vancoppenolle et al. Ocean Modelling 2008) and a C-grid Elasto-Visco-Plastic rheology.
- TOP2 - the passive tracer package including a transport component (TRP), and source/sink associated to CFC and LOBSTER and PISCES biogeochemical models.
These engines can be run in standalone mode, except for sea-ice (work in progress). For ocean and passive tracers, AGRIF package is implemented to use embedded sub-grids.
The NEMO system will evolve through the improvement of the existing "engines", the addition of "engines" coming from other models or the creation of new "engines", and the improvement and generalisation of the "environment". NEMO is available as a source code. As improvments are validated, they are implemented in the shared reference. In order to ensure the reliability of the system, to allow projects to find the appropriate version and to keep track of the evolutions, NEMO is under SVN (Subversion control System). NEMO also uses Trac (tracking system for software development projects) to share information on the developments and eventual bugs.
The full description of NEMO (as it has been done for its first version based on OPA version 9.0) is:
- Source codes: an ocean general circulation model (OPA_SRC), its tangent linear and adjoint model (TAM_SRC), on/off-line ocean tracer and biochemistry models (TOP_SRC) and a sea-ice model (LIM_SRC).
- a built-in interface to the OASIS coupler and IOIPSL library
- scripts to compile, create executables and run the experiment on target platforms
- pre- and post-processing tools built on IDL (SAXO) to configure input files and analyse output files
- standard configurations, including a tri-3 polar global ocean (ORCA2). These are provided for illustrative purposes enabling one to verify that the code flow is correct
- a configuration control system based on SVN
- on-line and off-line documentation of the model formulation and code
For the moment there are 6 availble configurations which could be used with downlable input files:
- ORCA2_LIM: a coupled ocean / sea-ice configuration based on the ORCA tripolar grid at 2° horizontal resolution with climatological forcing
- ORCA2_LIM_PISCES : above configuration with PISCES biogeochemichal model
- ORCA2_OFF_PISCES : PISCES model forced with output form an ORCA2 simulation
- GYRE: an idealized double gyres configuration on a beta-plane at 1° horizontal resolution with analytical forcing
- GYRE_LOBSTER : above configuration with LOBSTER biogeochemichal model
- POMME : an Open Boundary Configuration on the POMME experiment zone
They will slowly evolve towards more complex configurations. The objectives are both to allow the possibility to run one configuration on one platform to be sure that it works correctly and also to give basis to the user to be able to build his own configuration. More in the Configurations section
NEMO is intended to be a portable platform. It actually runs on a number of computers (target platforms) as can be seen in the list of projects using NEMO. For the most commonly used platforms, the implementation of the NEMO reference is straightforward. See Users'guide section for more details.