New URL for NEMO forge!   http://forge.nemo-ocean.eu

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.
2013WP/2013Stream1/Configuration_Setting – NEMO
wiki:2013WP/2013Stream1/Configuration_Setting

Version 4 (modified by gm, 11 years ago) (diff)

--

Configuration Setting

Last edited Timestamp?


Position of the issue

Several points have to be improved regarding the management of the namelist in NEMO.

From a user point of view:

  • global domain sizes are FORTRAN parameters, not namelist parameters
    • a namelist file in each configuration with all the variables (i.e. all the sub-namelist), not only the sub-namelist that depart from the default values

From a developer point of view:

  • the number of copies of the whole namelist (2 by configuration and an increasing number of reference configuration) make the change in namelist a nightmare
    • default values of the namelist appear twice: 1) in the namelist itself and 2) in the code, distributed in the declaration phase of numerous modules
    • global domain sizes (jpiglo, jpjglo, jpidta, jpjdta, jpkdta) are FORTRAN parameters, except in AGRIF case ==> almost as many par_XXX.h90 as the number of reference configurations !
    • in the code old namelist variables (i.e. with a non-doctor name) still survive ==> suppression is needed.

Proposed solution

I - global domain sizes, configuration names, etc... (all the PARAMETER in par_oce.F90) defined in the namelist. Impact: suppression of all par_XXX.h90 files. Also suppression of all key_XXX associated to configurations (key_ORCA_RXXX, key_EEL_RXXX, key_GYRE, etc...).

II - namelist:
• One single whole by medium (ocean, ice, top, ...: namelist_ref, namelist_ice_ref, name list_top_ref, ...) put at CONFIG/ level in read-only mode. This namelist contains the default values. The hard coded default values spread in the modules are suppressed (together with the surviving old non-doctor variables).
• In each configuration the namelists of each medium contain only the changes associated with the configuration (the name may be namelist_cfg, namelist_cfg_top, etc...). A pearl script will be used to build the all the namelists that are required to run NEMO:   
namelist = namlist_ref + namelist_cfg  changes 
namelist_top  = namlist_top_ref + namelist_top_cfg changes 
etc ...

'

'