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.
Developers/NamelistChecker (diff) – NEMO

Changes between Version 3 and Version 4 of Developers/NamelistChecker


Ignore:
Timestamp:
2020-06-05T14:12:17+02:00 (2 years ago)
Author:
acc
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Developers/NamelistChecker

    v3 v4  
    9797== Part 3 Checking reference namelist and source compatibility == 
    9898 
     99The ''pseudo-namelist_ref'' produced this way should contain all the variables that can be set via namelists (at least for the 'blue ocean'). Treating the actual ''namelist_ref'' as a configuration namelist and checking its integrity against the pseudo version should confirm the validity of everything in the reference namelist, Surprisingly quite a few variables are flagged (admittedly, this version may not have been entirely up-to-date [to be redone]): 
    99100 
     101{{{ 
     102python nemo_nml_check.py -c namelist_ref -r pseudo_nml_ref  
     103No match for:  sn_wnum  in  namsbc_wave  (at line no.  567 ) 
     104No match for:  sn_tauwoc  in  namsbc_wave  (at line no.  568 ) 
     105No match for:  sn_tauwx  in  namsbc_wave  (at line no.  569 ) 
     106No match for:  sn_tauwy  in  namsbc_wave  (at line no.  570 ) 
     107No match for:  sn_tide_cnames(1)  in  nam_tide  (at line no.  664 ) 
     108No match for:  ln_zinterp  in  nambdy_dta  (at line no.  701 ) 
     109No match for:  ln_full_vel  in  nambdy_dta  (at line no.  703 ) 
     110No match for:  bn_a_i  in  nambdy_dta  (at line no.  718 ) 
     111No match for:  bn_h_i  in  nambdy_dta  (at line no.  719 ) 
     112No match for:  bn_h_s  in  nambdy_dta  (at line no.  720 ) 
     113No match for:  bn_t_i  in  nambdy_dta  (at line no.  721 ) 
     114No match for:  bn_t_s  in  nambdy_dta  (at line no.  722 ) 
     115No match for:  bn_tsu  in  nambdy_dta  (at line no.  723 ) 
     116No match for:  bn_s_i  in  nambdy_dta  (at line no.  724 ) 
     117No match for:  bn_aip  in  nambdy_dta  (at line no.  726 ) 
     118No match for:  bn_hip  in  nambdy_dta  (at line no.  727 ) 
     119No match for:  rn_ice_tem  in  nambdy_dta  (at line no.  729 ) 
     120No match for:  rn_ice_sal  in  nambdy_dta  (at line no.  730 ) 
     121No match for:  rn_ice_age  in  nambdy_dta  (at line no.  731 ) 
     122No match for:  rn_ice_apnd  in  nambdy_dta  (at line no.  732 ) 
     123No match for:  rn_ice_hpnd  in  nambdy_dta  (at line no.  733 ) 
     124No match for:  ln_zinterp  in  nambdy_dta  (at line no.  701 ) 
     125No match for:  ln_full_vel  in  nambdy_dta  (at line no.  703 ) 
     126No match for:  cn_dir  in  nambdy_dta  (at line no.  706 ) 
     127No match for:  bn_ssh  in  nambdy_dta  (at line no.  710 ) 
     128No match for:  bn_u2d  in  nambdy_dta  (at line no.  711 ) 
     129No match for:  bn_v2d  in  nambdy_dta  (at line no.  712 ) 
     130No match for:  bn_u3d  in  nambdy_dta  (at line no.  713 ) 
     131No match for:  bn_v3d  in  nambdy_dta  (at line no.  714 ) 
     132No match for:  bn_tem  in  nambdy_dta  (at line no.  715 ) 
     133No match for:  bn_sal  in  nambdy_dta  (at line no.  716 ) 
     134No match for:  bn_a_i  in  nambdy_dta  (at line no.  718 ) 
     135No match for:  bn_h_i  in  nambdy_dta  (at line no.  719 ) 
     136No match for:  bn_h_s  in  nambdy_dta  (at line no.  720 ) 
     137No match for:  bn_t_i  in  nambdy_dta  (at line no.  721 ) 
     138No match for:  bn_t_s  in  nambdy_dta  (at line no.  722 ) 
     139No match for:  bn_tsu  in  nambdy_dta  (at line no.  723 ) 
     140No match for:  bn_s_i  in  nambdy_dta  (at line no.  724 ) 
     141No match for:  bn_aip  in  nambdy_dta  (at line no.  726 ) 
     142No match for:  bn_hip  in  nambdy_dta  (at line no.  727 ) 
     143No match for:  sn_cfctl%l_glochk  in  namctl  (at line no.  1396 ) 
     144No match for:  sn_cfctl%l_allon  in  namctl  (at line no.  1397 ) 
     145No match for:  sn_cfctl%l_config  in  namctl  (at line no.  1398 ) 
     146No match for:  sn_cfctl%l_runstat  in  namctl  (at line no.  1399 ) 
     147No match for:  sn_cfctl%l_trcstat  in  namctl  (at line no.  1400 ) 
     148No match for:  sn_cfctl%l_oceout  in  namctl  (at line no.  1401 ) 
     149No match for:  sn_cfctl%l_layout  in  namctl  (at line no.  1402 ) 
     150No match for:  sn_cfctl%l_prtctl  in  namctl  (at line no.  1403 ) 
     151No match for:  sn_cfctl%l_prttrc  in  namctl  (at line no.  1404 ) 
     152No match for:  sn_cfctl%l_oasout  in  namctl  (at line no.  1405 ) 
     153No match for:  sn_cfctl%procmin  in  namctl  (at line no.  1406 ) 
     154No match for:  sn_cfctl%procmax  in  namctl  (at line no.  1407 ) 
     155No match for:  sn_cfctl%procincr  in  namctl  (at line no.  1408 ) 
     156No match for:  sn_cfctl%ptimincr  in  namctl  (at line no.  1409 ) 
     157}}} 
    100158 
     159It is probably the case that the structure variables flagged (sn_*) are false positives. This is because only the structure name is declared in the namelist but individual members of the structure may be (and are) set the ''namelist_ref''. Nonetheless, there are quite a few normal variables to investigate. Even if these issues are resolved in more up-to-date revisions, this does illustrate the potential usefulness of this tool. 
     160 
     161Secondly, reversing the roles of the input namelists allows a check on whether or not all the available namelist variables have a default setting in ''namelist_ref'': 
     162 
     163{{{ 
     164python nemo_nml_check.py -r namelist_ref -c pseudo_nml_ref  
     165No match for:  ln_time_average_weight  in  namberg  (at line no.  26 ) 
     166No match for:  ln_sto_ldf  in  namsto  (at line no.  67 ) 
     167No match for:  rn_ldf_std  in  namsto  (at line no.  68 ) 
     168No match for:  rn_ldf_tcor  in  namsto  (at line no.  69 ) 
     169No match for:  ln_sto_hpg  in  namsto  (at line no.  70 ) 
     170No match for:  rn_hpg_std  in  namsto  (at line no.  71 ) 
     171No match for:  rn_hpg_tcor  in  namsto  (at line no.  72 ) 
     172No match for:  ln_sto_pstar  in  namsto  (at line no.  73 ) 
     173No match for:  rn_pstar_std  in  namsto  (at line no.  74 ) 
     174No match for:  rn_pstar_tcor  in  namsto  (at line no.  75 ) 
     175No match for:  nn_pstar_flt  in  namsto  (at line no.  76 ) 
     176No match for:  nn_pstar_ord  in  namsto  (at line no.  77 ) 
     177No match for:  ln_sto_trd  in  namsto  (at line no.  78 ) 
     178No match for:  rn_trd_std  in  namsto  (at line no.  79 ) 
     179No match for:  rn_trd_tcor  in  namsto  (at line no.  80 ) 
     180No match for:  ln_sto_trc  in  namsto  (at line no.  89 ) 
     181No match for:  nn_sto_trc  in  namsto  (at line no.  90 ) 
     182No match for:  rn_trc_stdxy  in  namsto  (at line no.  91 ) 
     183No match for:  rn_trc_stdz  in  namsto  (at line no.  92 ) 
     184No match for:  rn_trc_tcor  in  namsto  (at line no.  93 ) 
     185No match for:  nn_trc_ord  in  namsto  (at line no.  94 ) 
     186No match for:  nn_trc_flt  in  namsto  (at line no.  95 ) 
     187No match for:  rn_trc_lim  in  namsto  (at line no.  96 ) 
     188No match for:  sn_cfctl  in  namctl  (at line no.  223 ) 
     189No match for:  ln_rnf_icb  in  namsbc_rnf  (at line no.  575 ) 
     190No match for:  sn_i_rnf  in  namsbc_rnf  (at line no.  578 ) 
     191No match for:  sn_tide_cnames  in  nam_tide  (at line no.  1125 ) 
     192}}} 
     193 
     194The same caveats apply but there are a few issues warranting further investigation. 
     195 
     196[TBD: repeat process for SI3, TOP, PISCES etc.] 
    101197 
    102198