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

Changes between Version 3 and Version 4 of Developers/Validation/trunk_perfs


Ignore:
Timestamp:
2020-11-23T15:25:48+01:00 (3 years ago)
Author:
smasson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Developers/Validation/trunk_perfs

    v3 v4  
    1  
    2 == Get the code  == 
    3  
    4 {{{#!sh 
    5 # my login 
    6 me=smasson 
    7 # svn path to NEMO trunk 
    8 svnpath=svn+ssh://${me}@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk 
    9 # get the revision number of the HEAD 
    10 rev=$( svn info $svnpath | grep "Last Changed Rev" | sed -e "s/.*: *//" ) 
    11 # directory name given to the local trunk 
    12 dirnemo=trunk_test_perf_${rev} 
    13 # checkout the trunk into $dirnemo 
    14 svn co $svnpath 
    15 svn+ssh://smasson@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk $dirnemo 
    16 # 
    17 cd $dirnemo 
    18 # 
    19 }}} 
    20  
    21 == Change namelist_*ref == 
    22  
    23 {{{#!sh 
    24 # change cfgs/SHARED/namelist_ref (no IO without XIOS, remove run.stat, meshmask, add timing) 
    25 sed -e "s/nn_stock *=.*/nn_stock = -1 /" \ 
    26     -e "s/nn_write *=.*/nn_write = -1 /" \ 
    27     -e "s/runstat *=.*/runstat = .false. /" \ 
    28     -e "s/ln_meshmask *=.*/ln_meshmask = .false. /" \ 
    29     -e "s/ln_timing *=.*/ln_timing = .true. /" \ 
    30     cfgs/SHARED/namelist_ref > tmp$$ 
    31 mv tmp$$ cfgs/SHARED/namelist_ref 
    32  
    33 # change cfgs/SHARED/namelist_ice_ref (add an init file) 
    34 sed -e "s/nn_iceini_file *=.*/nn_iceini_file = 1 /" \ 
    35     cfgs/SHARED/namelist_ice_ref > tmp$$ 
    36 mv tmp$$ cfgs/SHARED/namelist_ice_ref 
    37  
    38 # change cfgs/SHARED/namelist_pisces_ref (as in sette) 
    39 sed -e "s/ln_varpar *=.*/ln_varpar = .false. /" \ 
    40     -e "s/ln_pisdmp *=.*/ln_pisdmp = .false. /" \ 
    41     cfgs/SHARED/namelist_pisces_ref > tmp$$ 
    42 mv tmp$$ cfgs/SHARED/namelist_pisces_ref 
    43 }}} 
    44  
    45 == Change ORCA2_ICE_PISCES namelist_*cfg and file_def_nemo-*.xml == 
    46  
    47 {{{#!sh 
    48 # change namelist_cfg (suppress icebergs!!) 
    49 ff=cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg 
    50 sed -e "s/ln_icebergs *=.*/ln_icebergs = .false. /" $ff > tmp$$ 
    51 mv tmp$$ $ff 
    52  
    53 # change namelist_top_cfg (as in sette) 
    54 ff=cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_top_cfg 
    55 sed -e "s/ln_trcdta *=.*/ln_trcdta = .false. /" $ff > tmp$$ 
    56 mv tmp$$ $ff 
    57  
    58 # change namelist_pisces_cfg (as in sette) 
    59 ff=cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_pisces_cfg 
    60 sed -e "s/ln_ironsed *=.*/ln_ironsed = .false. /" \ 
    61     -e "s/ln_ironice *=.*/ln_ironice = .false. /" \ 
    62     -e "s/ln_hydrofe *=.*/ln_hydrofe = .false. /" \ 
    63     $ff > tmp$$ 
    64 mv tmp$$ $ff 
    65  
    66 # change file_def_nemo-oce.xml (suppress diag) 
    67 ff=cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-oce.xml 
    68 sed -e '/file_group id="1m"/,/<\/file_group>/d' $ff > tmp$$ 
    69 mv tmp$$ $ff 
    70  
    71 # change file_def_nemo-ice.xml (suppress diag) 
    72 ff=cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-ice.xml 
    73 sed -e '/name_suffix="_SBC_scalar"/,/<\/file>/d' $ff > tmp$$ 
    74 mv tmp$$ $ff 
    75  
    76 # change file_def_nemo-pisces.xml (suppress diag) 
    77 ff=cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-pisces.xml 
    78 sed -e '/file_group id="1y"/,/<\/file_group>/d' $ff > tmp$$ 
    79 mv tmp$$ $ff 
    80 }}} 
    81  
    82 == Compile the configurations code  == 
    83  
    84 I propose to start with ORCA2, ORCA2_ICE, ORCA2_ICE_PISCES.  [[BR]] 
    85 In each case, we do one run with XIOS attached (XIOSAT) an one run without XIOS (NOXIOS) 
    86  
    87 {{{#!sh 
    88 machine=... # for example X64_IRENE, X64_JEANZAY 
    89 # ORCA2_ICE_PISCES 
    90 ./makenemo -m $machine -n ORCA2_ICE_PISCES_XIOSAT -r ORCA2_ICE_PISCES -j 8 
    91 ./makenemo -m $machine -n ORCA2_ICE_PISCES_NOXIOS -r ORCA2_ICE_PISCES -j 8 del_key "key_iomput" 
    92 # ORCA2_ICE 
    93 ./makenemo -m $machine -n ORCA2_ICE_XIOSAT -r ORCA2_ICE_PISCES -j 8 del_key "key_top" 
    94 ./makenemo -m $machine -n ORCA2_ICE_NOXIOS -r ORCA2_ICE_PISCES -j 8 del_key "key_top key_iomput" 
    95 # ORCA2 
    96 ./makenemo -m $machine -n ORCA2_XIOSAT -r ORCA2_ICE_PISCES -j 8 del_key "key_top key_si3" 
    97 ./makenemo -m $machine -n ORCA2_NOXIOS -r ORCA2_ICE_PISCES -j 8 del_key "key_top key_si3 key_iomput" 
    98 }}} 
    99  
    100 == Cleaning of 2 context_nemo.xml files  == 
    101  
    102 {{{#!sh 
    103 ff=cfgs/ORCA2_ICE_XIOSAT/EXP00/context_nemo.xml 
    104 sed -e '/pisces/d' $ff > tmp$$ 
    105 mv tmp$$ $ff 
    106  
    107 ff=cfgs/ORCA2_XIOSAT/EXP00/context_nemo.xml 
    108 sed -e '/_pisces/d' -e '/_ice/d' $ff > tmp$$ 
    109 mv tmp$$ $ff 
    110 }}} 
    111  
    112 == link the input files files  == 
    113  
    114 {{{#!sh 
    115 # define path to ORCA2_ICE_v4.x directory. For example: 
    116 #dirdata=/ccc/scratch/cont005/ra0542/massons/input_nemo_v4.0/ORCA2_ICE_v4.x 
    117 #dirdata=/gpfsscratch/rech/fqx/reee217/input_nemo_v4.0/ORCA2_ICE_v4.x 
    118 dirdata=... 
    119  
    120 # add the new Ice_initialization file to this directory 
    121 mv Ice_initialization.nc $dirdata 
    122  
    123 # link the input files 
    124 for dd in cfgs/ORCA2_*/EXP00 
    125 do 
    126     cd $dd 
    127     ln -sf $dirdata/* . 
    128     cd - 
    129 done 
    130 }}} 
    131  
    132 == Run!  == 
    133  
    134 {{{#!sh 
    135 for dd in cfgs/ORCA2_*/EXP00 
    136 do 
    137     cp jobaps.sh $dd/.   # get jobaps.sh from the attached files 
    138     cd $dd 
    139     qs jobaps.sh  # define as alias is not already done... 
    140     cd - 
    141 done 
    142 }}} 
    143  
    144 == Check the runs did 5840 time steps  == 
    145  
    146 {{{#!sh 
    147 for ff in cfgs/ORCA2_*/EXP00/time.step 
    148 do 
    149     echo "$ff: $( cat $ff)" 
    150 done 
    151 }}} 
    152  
    153 == Create aps reports  == 
    154  
    155 {{{#!sh 
    156 for dd in cfgs/ORCA2_*/EXP00 
    157 do 
    158     cd $dd 
    159     aps-report aps_result_$( date +%Y%m%d ) 
    160     cd - 
    161 done 
    162 }}} 
    163  
    164  
    165  
    166  
     1* [./do_trunk_perfs How to do the tests]