Changes between Version 10 and Version 11 of 2013WP/2013Stream1/Configuration_Setting
- Timestamp:
- 2013-02-07T18:39:20+01:00 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
2013WP/2013Stream1/Configuration_Setting
v10 v11 10 10 From a user point of view: 11 11 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 values12 • 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 13 13 14 14 From a developer point of view: 15 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.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 17 18 18 == [[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...). 20 20 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]] 22 22 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 ... 24 24 25 25 == Discussion (Claire) == … … 57 57 === Please add your comments and suggestions below 58 58 59 Marcello: 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 59 61 === Add your vote below 60 62 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]]???63 SOLUTION1 "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]]???