== Get the code == {{{#!sh # my login me=smasson # svn path to NEMO trunk svnpath=svn+ssh://${me}@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk # get the revision number of the HEAD rev=$( svn info $svnpath | grep "Last Changed Rev" | sed -e "s/.*: *//" ) # directory name given to the local trunk dirnemo=trunk_test_perf_${rev} # checkout the trunk into $dirnemo svn co $svnpath svn+ssh://smasson@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk $dirnemo # cd $dirnemo # }}} == Change namelist_*ref == {{{#!sh # change cfgs/SHARED/namelist_ref (no IO without XIOS, remove run.stat, meshmask, add timing) sed -e "s/nn_stock *=.*/nn_stock = -1 /" \ -e "s/nn_write *=.*/nn_write = -1 /" \ -e "s/runstat *=.*/runstat = .false. /" \ -e "s/ln_meshmask *=.*/ln_meshmask = .false. /" \ -e "s/ln_timing *=.*/ln_timing = .true. /" \ cfgs/SHARED/namelist_ref > tmp$$ mv tmp$$ cfgs/SHARED/namelist_ref # change cfgs/SHARED/namelist_ice_ref (add an init file) sed -e "s/nn_iceini_file *=.*/nn_iceini_file = 1 /" \ cfgs/SHARED/namelist_ice_ref > tmp$$ mv tmp$$ cfgs/SHARED/namelist_ice_ref # change cfgs/SHARED/namelist_pisces_ref (as in sette) sed -e "s/ln_varpar *=.*/ln_varpar = .false. /" \ -e "s/ln_pisdmp *=.*/ln_pisdmp = .false. /" \ cfgs/SHARED/namelist_pisces_ref > tmp$$ mv tmp$$ cfgs/SHARED/namelist_pisces_ref }}} == Change ORCA2_ICE_PISCES namelist_*cfg and file_def_nemo-*.xml == {{{#!sh # change namelist_cfg (suppress icebergs!!) ff=cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg sed -e "s/ln_icebergs *=.*/ln_icebergs = .false. /" $ff > tmp$$ mv tmp$$ $ff # change namelist_top_cfg (as in sette) ff=cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_top_cfg sed -e "s/ln_trcdta *=.*/ln_trcdta = .false. /" $ff > tmp$$ mv tmp$$ $ff # change namelist_pisces_cfg (as in sette) ff=cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_pisces_cfg sed -e "s/ln_ironsed *=.*/ln_ironsed = .false. /" \ -e "s/ln_ironice *=.*/ln_ironice = .false. /" \ -e "s/ln_hydrofe *=.*/ln_hydrofe = .false. /" \ $ff > tmp$$ mv tmp$$ $ff # change file_def_nemo-oce.xml (suppress diag) ff=cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-oce.xml sed -e '/file_group id="1m"/,/<\/file_group>/d' $ff > tmp$$ mv tmp$$ $ff # change file_def_nemo-ice.xml (suppress diag) ff=cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-ice.xml sed -e '/name_suffix="_SBC_scalar"/,/<\/file>/d' $ff > tmp$$ mv tmp$$ $ff # change file_def_nemo-pisces.xml (suppress diag) ff=cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-pisces.xml sed -e '/file_group id="1y"/,/<\/file_group>/d' $ff > tmp$$ mv tmp$$ $ff }}} == Compile the configurations code == I propose to start with ORCA2, ORCA2_ICE, ORCA2_ICE_PISCES. [[BR]] In each case, we do one run with XIOS attached (XIOSAT) an one run without XIOS (NOXIOS) {{{#!sh machine=... # for example X64_IRENE, X64_JEANZAY # ORCA2_ICE_PISCES ./makenemo -m $machine -n ORCA2_ICE_PISCES_XIOSAT -r ORCA2_ICE_PISCES -j 8 ./makenemo -m $machine -n ORCA2_ICE_PISCES_NOXIOS -r ORCA2_ICE_PISCES -j 8 del_key "key_iomput" # ORCA2_ICE ./makenemo -m $machine -n ORCA2_ICE_XIOSAT -r ORCA2_ICE_PISCES -j 8 del_key "key_top" ./makenemo -m $machine -n ORCA2_ICE_NOXIOS -r ORCA2_ICE_PISCES -j 8 del_key "key_top key_iomput" # ORCA2 ./makenemo -m $machine -n ORCA2_XIOSAT -r ORCA2_ICE_PISCES -j 8 del_key "key_top key_si3" ./makenemo -m $machine -n ORCA2_NOXIOS -r ORCA2_ICE_PISCES -j 8 del_key "key_top key_si3 key_iomput" }}} == Cleaning of 2 context_nemo.xml files == {{{#!sh ff=cfgs/ORCA2_ICE_XIOSAT/EXP00/context_nemo.xml sed -e '/pisces/d' $ff > tmp$$ mv tmp$$ $ff ff=cfgs/ORCA2_XIOSAT/EXP00/context_nemo.xml sed -e '/_pisces/d' -e '/_ice/d' $ff > tmp$$ mv tmp$$ $ff }}} == link the input files files == {{{#!sh # define path to ORCA2_ICE_v4.x directory. For example: #dirdata=/ccc/scratch/cont005/ra0542/massons/input_nemo_v4.0/ORCA2_ICE_v4.x #dirdata=/gpfsscratch/rech/fqx/reee217/input_nemo_v4.0/ORCA2_ICE_v4.x dirdata=... # add the new Ice_initialization file to this directory mv Ice_initialization.nc $dirdata # link the input files for dd in cfgs/ORCA2_*/EXP00 do cd $dd ln -sf $dirdata/* . cd - done }}} == Run! == {{{#!sh for dd in cfgs/ORCA2_*/EXP00 do cp jobaps.sh $dd/. # get jobaps.sh from the attached files cd $dd qs jobaps.sh # define as alias is not already done... cd - done }}} == Check the runs did 5840 time steps == {{{#!sh for ff in cfgs/ORCA2_*/EXP00/time.step do echo "$ff: $( cat $ff)" done }}} == Create aps reports == {{{#!sh for dd in cfgs/ORCA2_*/EXP00 do cd $dd aps-report aps_result_$( date +%Y%m%d ) cd - done }}}