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 (diff) – NEMO

Changes between Version 10 and Version 11 of 2013WP/2013Stream1/Configuration_Setting


Ignore:
Timestamp:
2013-02-07T18:39:20+01:00 (11 years ago)
Author:
vichi
Comment:

--

Legend:

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

    v10 v11  
    1010From a user point of view: 
    1111 
    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 
     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 
    1313 
    1414From a developer point of view: 
    1515 
    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. 
     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. 
    1717 
    1818== [[BR]]Proposed SOLUTION1 (Gurvan, december 2012): "3 namelists, 1 additional step" == 
    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...). 
     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...). 
    2020 
    21   '''               II -'''                namelist:[[BR]]                               • 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). [[BR]]                               • 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:   [[BR]] 
     21  '''                II -'''                 namelist:[[BR]]                                • 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). [[BR]]                                • 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:   [[BR]] 
    2222 
    23   namelist == namelist_ref       + namelist_cfg        changes[[BR]]     namelist_top == namelist_top_ref + namelist_top_cfg changes[[BR]]     etc ... 
     23  namelist == namelist_ref       + namelist_cfg        changes[[BR]]      namelist_top == namelist_top_ref + namelist_top_cfg changes[[BR]]      etc ... 
    2424 
    2525== Discussion (Claire) == 
     
    5757=== Please add your comments and suggestions below 
    5858 
     59Marcello: Solution3 was partly discussed during the meeting and I found it very clever. This is very much equivalent to Solution1 but without the need to run a parser first. On the other hand, the step of running the parser can be included in the example script for job submission, but I do agree that it is less automatic.  Incidentally, perl must be installed on the machines, otherwise FCM does not work! In summary, I'm for SOLUTION3 and second choice SOLUTION1. 
     60 
    5961=== Add your vote below 
    6062 
    61 SOLUTION1 "3 namelists, 1 additional step":[[BR]]SOLUTION2 "1 namelist, more initialisation in the code":[[BR]]SOLUTION3 "2 namelist, more READS in the code"[[BR]]??? 
     63SOLUTION1 "3 namelists, 1 additional step":[[BR]]SOLUTION2 "1 namelist, more initialisation in the code":[[BR]]SOLUTION3 "2 namelist, more READS in the code": Marcello[[BR]]???