Version 3 (modified by gm, 8 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 namelist by medium (ocean, ice, bio) 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 sub-namelists that are changed for the configuration (the name will be namelist_cfg, name list_cfg_top, etc…). In the code, read the first the default namelist, then the configuration namelist.