Changes between Version 2 and Version 3 of 2013WP/2013Stream1/Configuration_Setting


Ignore:
Timestamp:
2012-10-19T16:14:54+02:00 (8 years ago)
Author:
gm
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • 2013WP/2013Stream1/Configuration_Setting

    v2 v3  
    88Several points have to be improved regarding the management of the namelist in NEMO. 
    99 
    10   From a user point of view:[[BR]]         • global domain sizes are FORTRAN parameters, not namelist parameters[[BR]]         • 2 namelist files in each configuration (standard and agrif) with all the variables, not only the one that depart from the default values 
    11   From a developer point of view:[[BR]]• 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 [[BR]]• 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[[BR]]• 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 ! [[BR]]• in the code old namelist variables (i.e. with a non-doctor name) still survive ==> suppression is needed. 
     10From a user point of view: 
    1211 
    13 === Proposed solution === 
    14         '''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...). 
     12  • global domain sizes are FORTRAN parameters, not namelist parameters[[BR]] • 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 
    1513 
    16         '''II -''' namelist:[[BR]]              • 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). [[BR]]            • 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. 
     14From a developer point of view: 
     15 
     16  • 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[[BR]] • 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[[BR]] • 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 ! [[BR]] • in the code old namelist variables (i.e. with a non-doctor name) still survive ==> suppression is needed. 
     17 
     18== [[BR]]Proposed solution == 
     19  '''      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...). 
     20 
     21  '''      II -'''       namelist:[[BR]]                      • 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). [[BR]]                      • 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.