[3520] | 1 | #!/bin/bash |
---|
[3708] | 2 | ############################################################ |
---|
[3520] | 3 | # Author : Simona Flavoni for NEMO |
---|
[4245] | 4 | # Contact: sflod@locean-ipsl.upmc.fr |
---|
| 5 | # 2013 : A.C. Coward added options for testing with XIOS in dettached mode |
---|
[3520] | 6 | # |
---|
| 7 | # sette.sh : principal script of SET TEsts for NEMO (SETTE) |
---|
| 8 | # ---------------------------------------------------------------------- |
---|
| 9 | # NEMO/SETTE , NEMO Consortium (2010) |
---|
| 10 | # Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
| 11 | # ---------------------------------------------------------------------- |
---|
| 12 | # |
---|
| 13 | ############################################################# |
---|
[3532] | 14 | #set -x |
---|
[3520] | 15 | set -o posix |
---|
| 16 | #set -u |
---|
| 17 | #set -e |
---|
[4245] | 18 | # =========== |
---|
[3520] | 19 | # DESCRIPTION |
---|
| 20 | # =========== |
---|
| 21 | # |
---|
| 22 | # Variables to be checked by user: |
---|
| 23 | # |
---|
[4245] | 24 | # COMPILER : name of compiler as defined in NEMOGCM/ARCH directory |
---|
| 25 | # BATCH_COMMAND_PAR : name of the command for submitting parallel batch jobs |
---|
| 26 | # BATCH_COMMAND_SEQ : name of the command for submitting sequential batch jobs |
---|
| 27 | # INTERACT_FLAG : flag to run in interactive mode "yes" |
---|
| 28 | # to run in batch mode "no" |
---|
| 29 | # MPIRUN_FLAG : flag to run in parallel (MPI) "yes" |
---|
| 30 | # to run in sequential mode (NB_PROC = 1) "no" |
---|
| 31 | # USING_XIOS : flag to control the activation of key_iomput |
---|
| 32 | # "yes" to compile using key_iomput and link to the external XIOS library |
---|
| 33 | # "no" to compile without key_iomput and link to the old IOIPSL library |
---|
| 34 | # USING_MPMD : flag to control the use of stand-alone IO servers |
---|
| 35 | # requires USING_XIOS="yes" |
---|
| 36 | # "yes" to run in MPMD (detached) mode with stand-alone IO servers |
---|
| 37 | # "no" to run in SPMD (attached) mode without separate IO servers |
---|
| 38 | # NUM_XIOSERVERS : number of stand-alone IO servers to employ |
---|
| 39 | # set to zero if USING_MPMD="no" |
---|
[3520] | 40 | # |
---|
| 41 | # Principal script is sette.sh, that calls |
---|
| 42 | # |
---|
[4245] | 43 | # makenemo : to create successive exectuables in ${CONFIG_NAME}/BLD/bin/nemo.exe |
---|
| 44 | # and links to opa in ${CONFIG_NAME}/EXP00) |
---|
[3520] | 45 | # |
---|
| 46 | # param.cfg : sets and loads following directories: |
---|
| 47 | # |
---|
[4245] | 48 | # FORCING_DIR : is the directory for forcing files (tarfile) |
---|
| 49 | # INPUT_DIR : is the directory for input files storing |
---|
| 50 | # TMPDIR : is the temporary directory (if needed) |
---|
[3520] | 51 | # NEMO_VALIDATION_DIR : is the validation directory |
---|
| 52 | # |
---|
| 53 | # (NOTE: this file is the same for all configrations to be tested with sette) |
---|
| 54 | # |
---|
[4245] | 55 | # all_functions.sh : loads functions used by sette (note: new functions can be added here) |
---|
| 56 | # set_namelist : function declared in all_functions that sets namelist parameters |
---|
| 57 | # post_test_tidyup : creates validation storage directory and copies required output files |
---|
| 58 | # (solver.stat and ocean.output) in it after execution of test. |
---|
[3520] | 59 | # |
---|
[4245] | 60 | # VALIDATION tree is: |
---|
[3520] | 61 | # |
---|
| 62 | # NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE) |
---|
| 63 | # |
---|
| 64 | # prepare_exe_dir.sh : defines and creates directory where the test is executed |
---|
[4245] | 65 | # execution directory takes name of TEST_NAME defined for every test |
---|
| 66 | # in sette.sh. (each test in executed in its own directory) |
---|
[3520] | 67 | # |
---|
[4245] | 68 | # prepare_job.sh : to generate the script run_job.sh |
---|
[3520] | 69 | # |
---|
[4245] | 70 | # fcm_job.sh : run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes") |
---|
| 71 | # see sette.sh and BATCH_TEMPLATE directory |
---|
[3520] | 72 | # |
---|
[4245] | 73 | # NOTE: jobs requiring initial or forcing data need to have an input_CONFIG.cfg in which |
---|
| 74 | # can be found paths to the input tar file) |
---|
| 75 | # NOTE: if job is not launched for any reason you have the executable ready in ${EXE_DIR} |
---|
| 76 | # directory |
---|
| 77 | # NOTE: the changed namelists are left in ${EXE_DIR} directory whereas original namelists |
---|
| 78 | # remain in ${NEW_CONF}/EXP00 |
---|
[3520] | 79 | # |
---|
[4245] | 80 | # NOTE: a log file, output.sette, is created in ${SETTE_DIR} with the echoes of |
---|
| 81 | # executed commands |
---|
[3520] | 82 | # |
---|
[4245] | 83 | # NOTE: if sette.sh is stopped in output.sette there is written the last command |
---|
| 84 | # executed by sette.sh |
---|
[3520] | 85 | # |
---|
[4245] | 86 | # example use: ./sette.sh |
---|
| 87 | ######################################################################################### |
---|
[3520] | 88 | # |
---|
[4245] | 89 | # Compiler among those in NEMOGCM/ARCH |
---|
[4316] | 90 | COMPILER=tobedefined |
---|
[4245] | 91 | export BATCH_COMMAND_PAR="llsubmit" |
---|
| 92 | export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR |
---|
[4316] | 93 | export INTERACT_FLAG="yes" |
---|
[4245] | 94 | export MPIRUN_FLAG="yes" |
---|
| 95 | export USING_XIOS="yes" |
---|
[3520] | 96 | # |
---|
[4245] | 97 | export DEL_KEYS="key_iomput" |
---|
| 98 | if [ ${USING_XIOS} == "yes" ] |
---|
| 99 | then |
---|
| 100 | export DEL_KEYS="" |
---|
| 101 | fi |
---|
[3520] | 102 | # |
---|
[4245] | 103 | # Settings which control the use of stand alone servers (only relevant if using xios) |
---|
[3520] | 104 | # |
---|
[4245] | 105 | export USING_MPMD="no" |
---|
| 106 | export NUM_XIOSERVERS=4 |
---|
| 107 | export JOB_PREFIX=batch-mpmd |
---|
[3520] | 108 | # |
---|
[4245] | 109 | if [ ${USING_MPMD} == "no" ] |
---|
| 110 | then |
---|
| 111 | export NUM_XIOSERVERS=0 |
---|
| 112 | export JOB_PREFIX=batch |
---|
| 113 | fi |
---|
[3520] | 114 | # |
---|
| 115 | # |
---|
[4245] | 116 | if [ ${USING_MPMD} == "yes" ] && [ ${USING_XIOS} == "no"] |
---|
| 117 | then |
---|
| 118 | echo "Incompatible choices. MPMD mode requires the XIOS server" |
---|
| 119 | exit |
---|
| 120 | fi |
---|
[3520] | 121 | # |
---|
| 122 | |
---|
| 123 | # Directory to run the tests |
---|
| 124 | SETTE_DIR=$(cd $(dirname "$0"); pwd) |
---|
| 125 | MAIN_DIR=${SETTE_DIR%/SETTE} |
---|
| 126 | CONFIG_DIR=${MAIN_DIR}/CONFIG |
---|
| 127 | TOOLS_DIR=${MAIN_DIR}/TOOLS |
---|
| 128 | COMPIL_DIR=${TOOLS_DIR}/COMPILE |
---|
| 129 | |
---|
| 130 | CMP_NAM=${1:-$COMPILER} |
---|
| 131 | # Copy job_batch_COMPILER file for specific compiler into job_batch_template |
---|
| 132 | cd ${SETTE_DIR} |
---|
[4245] | 133 | cp BATCH_TEMPLATE/${JOB_PREFIX}-${COMPILER} job_batch_template || exit |
---|
[4316] | 134 | # Description of configuration tested: |
---|
| 135 | # GYRE : 1 & 2 |
---|
| 136 | # ORCA2_LIM_PISCES: 3 & 4 |
---|
| 137 | # ORCA2_OFF_PISCES: 5 & 6 |
---|
| 138 | # AMM12 : 7 & 8 |
---|
| 139 | # SAS : 9 & 10 |
---|
[4751] | 140 | # ORCA2_LIM_OBS: 11 |
---|
| 141 | # ORCA2_AGRIF_LIM: 12 |
---|
[4781] | 142 | for config in 1 2 3 4 5 6 7 8 9 10 11 12 |
---|
[4147] | 143 | |
---|
[3520] | 144 | do |
---|
| 145 | |
---|
[3680] | 146 | # TESTS FOR GYRE CONFIGURATION |
---|
[3520] | 147 | if [ ${config} -eq 1 ] ; then |
---|
[3680] | 148 | ## Restartability tests for GYRE |
---|
[3520] | 149 | export TEST_NAME="LONG" |
---|
[4147] | 150 | cd ${CONFIG_DIR} |
---|
[4245] | 151 | . ./makenemo -m ${CMP_NAM} -n GYRE_LONG -r GYRE -j 8 del_key ${DEL_KEYS} |
---|
[3520] | 152 | cd ${SETTE_DIR} |
---|
[4252] | 153 | . ./param.cfg |
---|
| 154 | . ./all_functions.sh |
---|
| 155 | . ./prepare_exe_dir.sh |
---|
[3520] | 156 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
[3532] | 157 | NPROC=4 |
---|
[4245] | 158 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[4147] | 159 | cd ${EXE_DIR} |
---|
| 160 | set_namelist namelist_cfg cn_exp \"GYRE_LONG\" |
---|
| 161 | set_namelist namelist_cfg nn_it000 1 |
---|
| 162 | set_namelist namelist_cfg nn_itend 120 |
---|
| 163 | set_namelist namelist_cfg nn_stock 60 |
---|
| 164 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4318] | 165 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4147] | 166 | set_namelist namelist_cfg nn_solv 2 |
---|
| 167 | set_namelist namelist_cfg jpni 2 |
---|
| 168 | set_namelist namelist_cfg jpnj 2 |
---|
| 169 | set_namelist namelist_cfg jpnij 4 |
---|
[4245] | 170 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 171 | set_xio_using_server iodef.xml true |
---|
| 172 | else |
---|
| 173 | set_xio_using_server iodef.xml false |
---|
| 174 | fi |
---|
| 175 | cd ${SETTE_DIR} |
---|
| 176 | . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 177 | |
---|
| 178 | cd ${SETTE_DIR} |
---|
| 179 | export TEST_NAME="SHORT" |
---|
[4252] | 180 | . ./prepare_exe_dir.sh |
---|
[3520] | 181 | cd ${EXE_DIR} |
---|
[4147] | 182 | set_namelist namelist_cfg cn_exp \"GYRE_SHORT\" |
---|
| 183 | set_namelist namelist_cfg nn_it000 61 |
---|
| 184 | set_namelist namelist_cfg nn_itend 120 |
---|
| 185 | set_namelist namelist_cfg nn_stock 60 |
---|
| 186 | set_namelist namelist_cfg ln_rstart .true. |
---|
| 187 | set_namelist namelist_cfg nn_rstctl 2 |
---|
| 188 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4316] | 189 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4147] | 190 | set_namelist namelist_cfg nn_solv 2 |
---|
| 191 | set_namelist namelist_cfg jpni 2 |
---|
| 192 | set_namelist namelist_cfg jpnj 2 |
---|
| 193 | set_namelist namelist_cfg jpnij 4 |
---|
| 194 | set_namelist namelist_cfg cn_ocerst_in \"GYRE_LONG_00000060_restart\" |
---|
[4245] | 195 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 196 | set_xio_using_server iodef.xml true |
---|
| 197 | else |
---|
| 198 | set_xio_using_server iodef.xml false |
---|
| 199 | fi |
---|
[3537] | 200 | for (( i=1; i<=$NPROC; i++)) ; do |
---|
| 201 | L_NPROC=$(( $i - 1 )) |
---|
| 202 | L_NPROC=`printf "%04d\n" ${L_NPROC}` |
---|
[3680] | 203 | ln -sf ../LONG/GYRE_LONG_00000060_restart_${L_NPROC}.nc . |
---|
[3537] | 204 | done |
---|
[4245] | 205 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 206 | set_xio_using_server iodef.xml true |
---|
| 207 | else |
---|
| 208 | set_xio_using_server iodef.xml false |
---|
| 209 | fi |
---|
[3520] | 210 | cd ${SETTE_DIR} |
---|
[4245] | 211 | . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 212 | cd ${SETTE_DIR} |
---|
[3532] | 213 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
[3520] | 214 | fi |
---|
| 215 | |
---|
| 216 | if [ ${config} -eq 2 ] ; then |
---|
[3680] | 217 | ## Reproducibility tests for GYRE |
---|
[3520] | 218 | export TEST_NAME="REPRO_1_4" |
---|
[4147] | 219 | cd ${CONFIG_DIR} |
---|
[4245] | 220 | . ./makenemo -m ${CMP_NAM} -n GYRE_4 -r GYRE -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS} |
---|
[3520] | 221 | cd ${SETTE_DIR} |
---|
[4252] | 222 | . ./param.cfg |
---|
| 223 | . ./all_functions.sh |
---|
| 224 | . ./prepare_exe_dir.sh |
---|
[3520] | 225 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 226 | NPROC=4 |
---|
[4245] | 227 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 228 | cd ${EXE_DIR} |
---|
[4147] | 229 | set_namelist namelist_cfg cn_exp \"GYRE_14\" |
---|
| 230 | set_namelist namelist_cfg nn_it000 1 |
---|
| 231 | set_namelist namelist_cfg nn_itend 60 |
---|
| 232 | set_namelist namelist_cfg nn_fwb 0 |
---|
| 233 | set_namelist namelist_cfg nn_bench 0 |
---|
| 234 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 235 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 236 | set_namelist namelist_cfg nn_solv 2 |
---|
| 237 | set_namelist namelist_cfg jpni 1 |
---|
| 238 | set_namelist namelist_cfg jpnj 4 |
---|
| 239 | set_namelist namelist_cfg jpnij 4 |
---|
[4245] | 240 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 241 | set_xio_using_server iodef.xml true |
---|
| 242 | else |
---|
| 243 | set_xio_using_server iodef.xml false |
---|
| 244 | fi |
---|
[3520] | 245 | cd ${SETTE_DIR} |
---|
[4245] | 246 | . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 247 | cd ${SETTE_DIR} |
---|
| 248 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 249 | |
---|
| 250 | cd ${SETTE_DIR} |
---|
| 251 | export TEST_NAME="REPRO_2_2" |
---|
[4252] | 252 | . ./prepare_exe_dir.sh |
---|
[3680] | 253 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 254 | NPROC=4 |
---|
[4245] | 255 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 256 | cd ${EXE_DIR} |
---|
[4147] | 257 | set_namelist namelist_cfg cn_exp \"GYRE_22\" |
---|
| 258 | set_namelist namelist_cfg nn_it000 1 |
---|
| 259 | set_namelist namelist_cfg nn_itend 60 |
---|
| 260 | set_namelist namelist_cfg nn_fwb 0 |
---|
| 261 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 262 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 263 | set_namelist namelist_cfg nn_solv 2 |
---|
| 264 | set_namelist namelist_cfg jpni 2 |
---|
| 265 | set_namelist namelist_cfg jpnj 2 |
---|
| 266 | set_namelist namelist_cfg jpnij 4 |
---|
[4245] | 267 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 268 | set_xio_using_server iodef.xml true |
---|
| 269 | else |
---|
| 270 | set_xio_using_server iodef.xml false |
---|
| 271 | fi |
---|
[3520] | 272 | cd ${SETTE_DIR} |
---|
[4245] | 273 | . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 274 | cd ${SETTE_DIR} |
---|
| 275 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
[3532] | 276 | |
---|
[3520] | 277 | fi |
---|
| 278 | |
---|
| 279 | # TESTS FOR ORCA2_LIM_PISCES CONFIGURATION |
---|
| 280 | if [ ${config} -eq 3 ] ; then |
---|
| 281 | ## Restartability tests for ORCA2_LIM_PISCES |
---|
| 282 | export TEST_NAME="LONG" |
---|
[4147] | 283 | cd ${CONFIG_DIR} |
---|
[4245] | 284 | . ./makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8 del_key ${DEL_KEYS} |
---|
[3520] | 285 | cd ${SETTE_DIR} |
---|
[4252] | 286 | . ./param.cfg |
---|
| 287 | . ./all_functions.sh |
---|
| 288 | . ./prepare_exe_dir.sh |
---|
[3520] | 289 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
[3532] | 290 | NPROC=4 |
---|
[4245] | 291 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 292 | cd ${EXE_DIR} |
---|
[4147] | 293 | set_namelist namelist_cfg cn_exp \"O2LP_LONG\" |
---|
| 294 | set_namelist namelist_cfg nn_it000 1 |
---|
| 295 | set_namelist namelist_cfg nn_itend 150 |
---|
| 296 | set_namelist namelist_cfg nn_stock 75 |
---|
| 297 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4316] | 298 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4147] | 299 | set_namelist namelist_cfg jpni 2 |
---|
| 300 | set_namelist namelist_cfg jpnj 2 |
---|
| 301 | set_namelist namelist_cfg jpnij 4 |
---|
| 302 | set_namelist namelist_cfg nn_solv 2 |
---|
| 303 | set_namelist namelist_top_cfg ln_trcdta .false. |
---|
| 304 | set_namelist namelist_top_cfg ln_diatrc .false. |
---|
[3520] | 305 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
| 306 | # if not you need input files, and for tests is not necessary |
---|
[4147] | 307 | set_namelist namelist_pisces_cfg ln_presatm .false. |
---|
| 308 | set_namelist namelist_pisces_cfg ln_varpar .false. |
---|
| 309 | set_namelist namelist_pisces_cfg ln_dust .false. |
---|
| 310 | set_namelist namelist_pisces_cfg ln_solub .false. |
---|
| 311 | set_namelist namelist_pisces_cfg ln_river .false. |
---|
| 312 | set_namelist namelist_pisces_cfg ln_ndepo .false. |
---|
| 313 | set_namelist namelist_pisces_cfg ln_ironsed .false. |
---|
| 314 | set_namelist namelist_pisces_cfg ln_hydrofe .false. |
---|
[4245] | 315 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 316 | set_xio_using_server iodef.xml true |
---|
| 317 | else |
---|
| 318 | set_xio_using_server iodef.xml false |
---|
| 319 | fi |
---|
[3520] | 320 | cd ${SETTE_DIR} |
---|
[4245] | 321 | . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3532] | 322 | |
---|
| 323 | cd ${SETTE_DIR} |
---|
[3520] | 324 | export TEST_NAME="SHORT" |
---|
[4252] | 325 | . ./prepare_exe_dir.sh |
---|
[3520] | 326 | cd ${EXE_DIR} |
---|
[4147] | 327 | set_namelist namelist_cfg cn_exp \"O2LP_SHORT\" |
---|
| 328 | set_namelist namelist_cfg nn_it000 76 |
---|
| 329 | set_namelist namelist_cfg nn_itend 150 |
---|
| 330 | set_namelist namelist_cfg nn_stock 75 |
---|
| 331 | set_namelist namelist_cfg ln_rstart .true. |
---|
| 332 | set_namelist namelist_cfg nn_rstctl 2 |
---|
| 333 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4316] | 334 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4147] | 335 | set_namelist namelist_cfg jpni 2 |
---|
| 336 | set_namelist namelist_cfg jpnj 2 |
---|
| 337 | set_namelist namelist_cfg jpnij 4 |
---|
| 338 | set_namelist namelist_cfg nn_solv 2 |
---|
| 339 | set_namelist namelist_top_cfg ln_diatrc .false. |
---|
| 340 | set_namelist namelist_top_cfg ln_rsttr .true. |
---|
| 341 | set_namelist namelist_top_cfg nn_rsttr 2 |
---|
| 342 | set_namelist namelist_cfg cn_ocerst_in \"O2LP_LONG_00000075_restart\" |
---|
| 343 | set_namelist namelist_ice_cfg cn_icerst_in \"O2LP_LONG_00000075_restart_ice\" |
---|
| 344 | set_namelist namelist_top_cfg cn_trcrst_in \"O2LP_LONG_00000075_restart_trc\" |
---|
[3520] | 345 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust |
---|
| 346 | # if not you need input files, and for tests is not necessary |
---|
[4147] | 347 | set_namelist namelist_pisces_cfg ln_presatm .false. |
---|
| 348 | set_namelist namelist_pisces_cfg ln_varpar .false. |
---|
| 349 | set_namelist namelist_pisces_cfg ln_dust .false. |
---|
| 350 | set_namelist namelist_pisces_cfg ln_solub .false. |
---|
| 351 | set_namelist namelist_pisces_cfg ln_river .false. |
---|
| 352 | set_namelist namelist_pisces_cfg ln_ndepo .false. |
---|
| 353 | set_namelist namelist_pisces_cfg ln_ironsed .false. |
---|
| 354 | set_namelist namelist_pisces_cfg ln_hydrofe .false. |
---|
[3680] | 355 | # put ln_pisdmp to false : no restoring to global mean value |
---|
[4147] | 356 | set_namelist namelist_pisces_cfg ln_pisdmp .false. |
---|
[3537] | 357 | for (( i=1; i<=$NPROC; i++)) ; do |
---|
| 358 | L_NPROC=$(( $i - 1 )) |
---|
| 359 | L_NPROC=`printf "%04d\n" ${L_NPROC}` |
---|
[3555] | 360 | ln -sf ../LONG/O2LP_LONG_00000075_restart_${L_NPROC}.nc . |
---|
| 361 | ln -sf ../LONG/O2LP_LONG_00000075_restart_trc_${L_NPROC}.nc . |
---|
| 362 | ln -sf ../LONG/O2LP_LONG_00000075_restart_ice_${L_NPROC}.nc . |
---|
[3537] | 363 | done |
---|
[4245] | 364 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 365 | set_xio_using_server iodef.xml true |
---|
| 366 | else |
---|
| 367 | set_xio_using_server iodef.xml false |
---|
| 368 | fi |
---|
[3520] | 369 | cd ${SETTE_DIR} |
---|
[4245] | 370 | . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 371 | cd ${SETTE_DIR} |
---|
[3532] | 372 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
[3520] | 373 | fi |
---|
| 374 | |
---|
| 375 | if [ ${config} -eq 4 ] ; then |
---|
[3680] | 376 | ## Reproducibility tests for ORCA2_LIM_PISCES |
---|
[3520] | 377 | export TEST_NAME="REPRO_4_4" |
---|
[4147] | 378 | cd ${CONFIG_DIR} |
---|
[4245] | 379 | . ./makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_16 -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS} |
---|
[3520] | 380 | cd ${SETTE_DIR} |
---|
[4252] | 381 | . ./param.cfg |
---|
| 382 | . ./all_functions.sh |
---|
| 383 | . ./prepare_exe_dir.sh |
---|
[3520] | 384 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 385 | NPROC=16 |
---|
[4245] | 386 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 387 | cd ${EXE_DIR} |
---|
[4147] | 388 | set_namelist namelist_cfg nn_it000 1 |
---|
| 389 | set_namelist namelist_cfg nn_itend 75 |
---|
| 390 | set_namelist namelist_cfg nn_fwb 0 |
---|
| 391 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 392 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 393 | set_namelist namelist_cfg jpni 4 |
---|
| 394 | set_namelist namelist_cfg jpnj 4 |
---|
| 395 | set_namelist namelist_cfg jpnij 16 |
---|
| 396 | set_namelist namelist_cfg nn_solv 2 |
---|
| 397 | set_namelist namelist_top_cfg ln_trcdta .false. |
---|
| 398 | set_namelist namelist_top_cfg ln_diatrc .false. |
---|
[3520] | 399 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
| 400 | # if not you need input files, and for tests is not necessary |
---|
[4147] | 401 | set_namelist namelist_pisces_cfg ln_presatm .false. |
---|
| 402 | set_namelist namelist_pisces_cfg ln_varpar .false. |
---|
| 403 | set_namelist namelist_pisces_cfg ln_dust .false. |
---|
| 404 | set_namelist namelist_pisces_cfg ln_solub .false. |
---|
| 405 | set_namelist namelist_pisces_cfg ln_river .false. |
---|
| 406 | set_namelist namelist_pisces_cfg ln_ndepo .false. |
---|
| 407 | set_namelist namelist_pisces_cfg ln_ironsed .false. |
---|
| 408 | set_namelist namelist_pisces_cfg ln_hydrofe .false. |
---|
[3680] | 409 | # put ln_pisdmp to false : no restoring to global mean value |
---|
[4147] | 410 | set_namelist namelist_pisces_cfg ln_pisdmp .false. |
---|
[4245] | 411 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 412 | set_xio_using_server iodef.xml true |
---|
| 413 | else |
---|
| 414 | set_xio_using_server iodef.xml false |
---|
| 415 | fi |
---|
[3520] | 416 | cd ${SETTE_DIR} |
---|
[4245] | 417 | . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 418 | cd ${SETTE_DIR} |
---|
[3532] | 419 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
[3520] | 420 | |
---|
| 421 | cd ${SETTE_DIR} |
---|
| 422 | export TEST_NAME="REPRO_2_8" |
---|
[4252] | 423 | . ./prepare_exe_dir.sh |
---|
[3680] | 424 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 425 | NPROC=16 |
---|
[4245] | 426 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 427 | cd ${EXE_DIR} |
---|
[4147] | 428 | set_namelist namelist_cfg nn_it000 1 |
---|
| 429 | set_namelist namelist_cfg nn_itend 75 |
---|
| 430 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4316] | 431 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4147] | 432 | set_namelist namelist_cfg jpni 2 |
---|
| 433 | set_namelist namelist_cfg jpnj 8 |
---|
| 434 | set_namelist namelist_cfg jpnij 16 |
---|
| 435 | set_namelist namelist_cfg nn_solv 2 |
---|
| 436 | set_namelist namelist_top_cfg ln_trcdta .false. |
---|
| 437 | set_namelist namelist_top_cfg ln_diatrc .false. |
---|
[3520] | 438 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
| 439 | # if not you need input files, and for tests is not necessary |
---|
[4147] | 440 | set_namelist namelist_pisces_cfg ln_presatm .false. |
---|
| 441 | set_namelist namelist_pisces_cfg ln_varpar .false. |
---|
| 442 | set_namelist namelist_pisces_cfg ln_dust .false. |
---|
| 443 | set_namelist namelist_pisces_cfg ln_solub .false. |
---|
| 444 | set_namelist namelist_pisces_cfg ln_river .false. |
---|
| 445 | set_namelist namelist_pisces_cfg ln_ndepo .false. |
---|
| 446 | set_namelist namelist_pisces_cfg ln_ironsed .false. |
---|
| 447 | set_namelist namelist_pisces_cfg ln_hydrofe .false. |
---|
[3680] | 448 | # put ln_pisdmp to false : no restoring to global mean value |
---|
[4147] | 449 | set_namelist namelist_pisces_cfg ln_pisdmp .false. |
---|
[4245] | 450 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 451 | set_xio_using_server iodef.xml true |
---|
| 452 | else |
---|
| 453 | set_xio_using_server iodef.xml false |
---|
| 454 | fi |
---|
[3520] | 455 | cd ${SETTE_DIR} |
---|
[4245] | 456 | . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 457 | cd ${SETTE_DIR} |
---|
| 458 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 459 | fi |
---|
| 460 | |
---|
| 461 | # TESTS FOR ORCA2_OFF_PISCES CONFIGURATION |
---|
| 462 | if [ ${config} -eq 5 ] ; then |
---|
| 463 | ## Restartability tests for ORCA2_OFF_PISCES |
---|
| 464 | export TEST_NAME="LONG" |
---|
[4147] | 465 | cd ${CONFIG_DIR} |
---|
[4245] | 466 | . ./makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS} |
---|
[3520] | 467 | cd ${SETTE_DIR} |
---|
[4252] | 468 | . ./param.cfg |
---|
| 469 | . ./all_functions.sh |
---|
| 470 | . ./prepare_exe_dir.sh |
---|
[3520] | 471 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
[3532] | 472 | NPROC=4 |
---|
[4245] | 473 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 474 | cd ${EXE_DIR} |
---|
[4147] | 475 | set_namelist namelist_cfg cn_exp \"OFFP_LONG\" |
---|
| 476 | set_namelist namelist_cfg nn_it000 1 |
---|
| 477 | set_namelist namelist_cfg nn_itend 40 |
---|
| 478 | set_namelist namelist_cfg nn_stock 20 |
---|
| 479 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 480 | set_namelist namelist_cfg jpni 2 |
---|
| 481 | set_namelist namelist_cfg jpnj 2 |
---|
| 482 | set_namelist namelist_cfg jpnij 4 |
---|
| 483 | set_namelist namelist_top_cfg ln_trcdta .false. |
---|
| 484 | set_namelist namelist_top_cfg ln_diatrc .false. |
---|
[3520] | 485 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
| 486 | # if not you need input files, and for tests is not necessary |
---|
[4147] | 487 | set_namelist namelist_pisces_cfg ln_presatm .false. |
---|
| 488 | set_namelist namelist_pisces_cfg ln_varpar .false. |
---|
| 489 | set_namelist namelist_pisces_cfg ln_dust .false. |
---|
| 490 | set_namelist namelist_pisces_cfg ln_solub .false. |
---|
| 491 | set_namelist namelist_pisces_cfg ln_river .false. |
---|
| 492 | set_namelist namelist_pisces_cfg ln_ndepo .false. |
---|
| 493 | set_namelist namelist_pisces_cfg ln_ironsed .false. |
---|
| 494 | set_namelist namelist_pisces_cfg ln_hydrofe .false. |
---|
[3680] | 495 | # put ln_pisdmp to false : no restoring to global mean value |
---|
[4147] | 496 | set_namelist namelist_pisces_cfg ln_pisdmp .false. |
---|
[4245] | 497 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 498 | set_xio_using_server iodef.xml true |
---|
| 499 | else |
---|
| 500 | set_xio_using_server iodef.xml false |
---|
| 501 | fi |
---|
[3520] | 502 | cd ${SETTE_DIR} |
---|
[4245] | 503 | . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 504 | |
---|
| 505 | cd ${SETTE_DIR} |
---|
| 506 | export TEST_NAME="SHORT" |
---|
[4252] | 507 | . ./prepare_exe_dir.sh |
---|
[3520] | 508 | cd ${EXE_DIR} |
---|
[4147] | 509 | set_namelist namelist_cfg cn_exp \"OFFP_SHORT\" |
---|
| 510 | set_namelist namelist_cfg nn_it000 21 |
---|
| 511 | set_namelist namelist_cfg nn_itend 40 |
---|
| 512 | set_namelist namelist_cfg nn_stock 20 |
---|
| 513 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 514 | set_namelist namelist_cfg jpni 2 |
---|
| 515 | set_namelist namelist_cfg jpnj 2 |
---|
| 516 | set_namelist namelist_cfg jpnij 4 |
---|
| 517 | set_namelist namelist_top_cfg ln_diatrc .false. |
---|
| 518 | set_namelist namelist_top_cfg ln_rsttr .true. |
---|
| 519 | set_namelist namelist_top_cfg nn_rsttr 2 |
---|
| 520 | set_namelist namelist_top_cfg cn_trcrst_in \"OFFP_LONG_00000020_restart_trc\" |
---|
[3537] | 521 | for (( i=1; i<=$NPROC; i++)) ; do |
---|
| 522 | L_NPROC=$(( $i - 1 )) |
---|
| 523 | L_NPROC=`printf "%04d\n" ${L_NPROC}` |
---|
[3555] | 524 | ln -sf ../LONG/OFFP_LONG_00000020_restart_trc_${L_NPROC}.nc . |
---|
[3537] | 525 | done |
---|
[3520] | 526 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust |
---|
| 527 | # if not you need input files, and for tests is not necessary |
---|
[4147] | 528 | set_namelist namelist_pisces_cfg ln_presatm .false. |
---|
| 529 | set_namelist namelist_pisces_cfg ln_varpar .false. |
---|
| 530 | set_namelist namelist_pisces_cfg ln_dust .false. |
---|
| 531 | set_namelist namelist_pisces_cfg ln_solub .false. |
---|
| 532 | set_namelist namelist_pisces_cfg ln_river .false. |
---|
| 533 | set_namelist namelist_pisces_cfg ln_ndepo .false. |
---|
| 534 | set_namelist namelist_pisces_cfg ln_ironsed .false. |
---|
| 535 | set_namelist namelist_pisces_cfg ln_hydrofe .false. |
---|
[3680] | 536 | # put ln_pisdmp to false : no restoring to global mean value |
---|
[4147] | 537 | set_namelist namelist_pisces_cfg ln_pisdmp .false. |
---|
[4245] | 538 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 539 | set_xio_using_server iodef.xml true |
---|
| 540 | else |
---|
| 541 | set_xio_using_server iodef.xml false |
---|
| 542 | fi |
---|
[3520] | 543 | cd ${SETTE_DIR} |
---|
[4245] | 544 | . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 545 | cd ${SETTE_DIR} |
---|
| 546 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 547 | fi |
---|
| 548 | |
---|
| 549 | if [ ${config} -eq 6 ] ; then |
---|
[3680] | 550 | ## Reproducibility tests for ORCA2_OFF_PISCES |
---|
[3520] | 551 | export TEST_NAME="REPRO_4_4" |
---|
[4147] | 552 | cd ${CONFIG_DIR} |
---|
[4245] | 553 | . ./makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_16 -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS} |
---|
[3520] | 554 | cd ${SETTE_DIR} |
---|
[4252] | 555 | . ./param.cfg |
---|
| 556 | . ./all_functions.sh |
---|
| 557 | . ./prepare_exe_dir.sh |
---|
[3520] | 558 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 559 | NPROC=16 |
---|
[4245] | 560 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 561 | cd ${EXE_DIR} |
---|
[4147] | 562 | set_namelist namelist_cfg nn_it000 1 |
---|
| 563 | set_namelist namelist_cfg nn_itend 40 |
---|
| 564 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 565 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 566 | set_namelist namelist_cfg jpni 4 |
---|
| 567 | set_namelist namelist_cfg jpnj 4 |
---|
| 568 | set_namelist namelist_cfg jpnij 16 |
---|
| 569 | set_namelist namelist_top_cfg ln_trcdta .false. |
---|
| 570 | set_namelist namelist_top_cfg ln_diatrc .false. |
---|
[3520] | 571 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
| 572 | # if not you need input files, and for tests is not necessary |
---|
[4147] | 573 | set_namelist namelist_pisces_cfg ln_presatm .false. |
---|
| 574 | set_namelist namelist_pisces_cfg ln_varpar .false. |
---|
| 575 | set_namelist namelist_pisces_cfg ln_dust .false. |
---|
| 576 | set_namelist namelist_pisces_cfg ln_solub .false. |
---|
| 577 | set_namelist namelist_pisces_cfg ln_river .false. |
---|
| 578 | set_namelist namelist_pisces_cfg ln_ndepo .false. |
---|
| 579 | set_namelist namelist_pisces_cfg ln_ironsed .false. |
---|
| 580 | set_namelist namelist_pisces_cfg ln_hydrofe .false. |
---|
[3680] | 581 | # put ln_pisdmp to false : no restoring to global mean value |
---|
[4147] | 582 | set_namelist namelist_pisces_cfg ln_pisdmp .false. |
---|
[4245] | 583 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 584 | set_xio_using_server iodef.xml true |
---|
| 585 | else |
---|
| 586 | set_xio_using_server iodef.xml false |
---|
| 587 | fi |
---|
[3520] | 588 | cd ${SETTE_DIR} |
---|
[4245] | 589 | . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 590 | cd ${SETTE_DIR} |
---|
[3532] | 591 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
[3520] | 592 | |
---|
| 593 | cd ${SETTE_DIR} |
---|
| 594 | export TEST_NAME="REPRO_2_8" |
---|
[4252] | 595 | . ./prepare_exe_dir.sh |
---|
[3680] | 596 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 597 | NPROC=16 |
---|
[4245] | 598 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 599 | cd ${EXE_DIR} |
---|
[4147] | 600 | set_namelist namelist_cfg nn_it000 1 |
---|
| 601 | set_namelist namelist_cfg nn_itend 40 |
---|
| 602 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 603 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 604 | set_namelist namelist_cfg jpni 2 |
---|
| 605 | set_namelist namelist_cfg jpnj 8 |
---|
| 606 | set_namelist namelist_cfg jpnij 16 |
---|
| 607 | set_namelist namelist_top_cfg ln_trcdta .false. |
---|
| 608 | set_namelist namelist_top_cfg ln_diatrc .false. |
---|
[3520] | 609 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
| 610 | # if not you need input files, and for tests is not necessary |
---|
[4147] | 611 | set_namelist namelist_pisces_cfg ln_presatm .false. |
---|
| 612 | set_namelist namelist_pisces_cfg ln_varpar .false. |
---|
| 613 | set_namelist namelist_pisces_cfg ln_dust .false. |
---|
| 614 | set_namelist namelist_pisces_cfg ln_solub .false. |
---|
| 615 | set_namelist namelist_pisces_cfg ln_river .false. |
---|
| 616 | set_namelist namelist_pisces_cfg ln_ndepo .false. |
---|
| 617 | set_namelist namelist_pisces_cfg ln_ironsed .false. |
---|
| 618 | set_namelist namelist_pisces_cfg ln_hydrofe .false. |
---|
[3680] | 619 | # put ln_pisdmp to false : no restoring to global mean value |
---|
[4147] | 620 | set_namelist namelist_pisces_cfg ln_pisdmp .false. |
---|
[4245] | 621 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 622 | set_xio_using_server iodef.xml true |
---|
| 623 | else |
---|
| 624 | set_xio_using_server iodef.xml false |
---|
| 625 | fi |
---|
[3520] | 626 | cd ${SETTE_DIR} |
---|
[4245] | 627 | . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 628 | cd ${SETTE_DIR} |
---|
| 629 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 630 | fi |
---|
| 631 | |
---|
[3680] | 632 | # TESTS FOR AMM12 CONFIGURATION |
---|
[3520] | 633 | if [ ${config} -eq 7 ] ; then |
---|
[3532] | 634 | ## Restartability tests for AMM12 |
---|
| 635 | export TEST_NAME="LONG" |
---|
[4147] | 636 | cd ${CONFIG_DIR} |
---|
[4245] | 637 | . ./makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12 -j 8 add_key "key_tide" del_key ${DEL_KEYS} |
---|
[3520] | 638 | cd ${SETTE_DIR} |
---|
[4252] | 639 | . ./param.cfg |
---|
| 640 | . ./all_functions.sh |
---|
| 641 | . ./prepare_exe_dir.sh |
---|
[3520] | 642 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 643 | NPROC=32 |
---|
[4245] | 644 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 645 | cd ${EXE_DIR} |
---|
[4147] | 646 | set_namelist namelist_cfg nn_it000 1 |
---|
[4252] | 647 | set_namelist namelist_cfg nn_itend 576 |
---|
| 648 | set_namelist namelist_cfg nn_stock 288 |
---|
[4147] | 649 | set_namelist namelist_cfg nn_fwb 0 |
---|
| 650 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 651 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 652 | set_namelist namelist_cfg jpni 8 |
---|
| 653 | set_namelist namelist_cfg jpnj 4 |
---|
| 654 | set_namelist namelist_cfg jpnij 32 |
---|
[4245] | 655 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 656 | set_xio_using_server iodef.xml true |
---|
| 657 | else |
---|
| 658 | set_xio_using_server iodef.xml false |
---|
| 659 | fi |
---|
[3520] | 660 | cd ${SETTE_DIR} |
---|
[4245] | 661 | . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 662 | |
---|
| 663 | cd ${SETTE_DIR} |
---|
[3532] | 664 | export TEST_NAME="SHORT" |
---|
[4379] | 665 | . ./prepare_exe_dir.sh |
---|
[3520] | 666 | cd ${EXE_DIR} |
---|
[4252] | 667 | set_namelist namelist_cfg nn_it000 289 |
---|
| 668 | set_namelist namelist_cfg nn_itend 576 |
---|
[4147] | 669 | set_namelist namelist_cfg nn_fwb 0 |
---|
| 670 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 671 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 672 | set_namelist namelist_cfg jpni 8 |
---|
| 673 | set_namelist namelist_cfg jpnj 4 |
---|
| 674 | set_namelist namelist_cfg jpnij 32 |
---|
| 675 | set_namelist namelist_cfg ln_rstart .true. |
---|
| 676 | set_namelist namelist_cfg nn_rstctl 2 |
---|
[4252] | 677 | set_namelist namelist_cfg cn_ocerst_in \"AMM12_00000288_restart_oce_out\" |
---|
| 678 | set_namelist namelist_cfg nn_date0 20120102 |
---|
[3537] | 679 | for (( i=1; i<=$NPROC; i++)) ; do |
---|
| 680 | L_NPROC=$(( $i - 1 )) |
---|
| 681 | L_NPROC=`printf "%04d\n" ${L_NPROC}` |
---|
[4252] | 682 | ln -sf ../LONG/AMM12_00000288_restart_oce_out_${L_NPROC}.nc . |
---|
[3537] | 683 | done |
---|
[4245] | 684 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 685 | set_xio_using_server iodef.xml true |
---|
| 686 | else |
---|
| 687 | set_xio_using_server iodef.xml false |
---|
| 688 | fi |
---|
[3520] | 689 | cd ${SETTE_DIR} |
---|
[4245] | 690 | . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 691 | cd ${SETTE_DIR} |
---|
[3532] | 692 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
[3520] | 693 | fi |
---|
| 694 | |
---|
| 695 | if [ ${config} -eq 8 ] ; then |
---|
[3680] | 696 | ## Reproducibility tests for AMM12 |
---|
| 697 | export TEST_NAME="REPRO_8_4" |
---|
[4147] | 698 | cd ${CONFIG_DIR} |
---|
[4245] | 699 | . ./makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 -j 8 add_key "key_mpp_rep key_tide" del_key ${DEL_KEYS} |
---|
[3520] | 700 | cd ${SETTE_DIR} |
---|
[4252] | 701 | . ./param.cfg |
---|
| 702 | . ./all_functions.sh |
---|
| 703 | . ./prepare_exe_dir.sh |
---|
[3520] | 704 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 705 | NPROC=32 |
---|
[4245] | 706 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
[3520] | 707 | cd ${EXE_DIR} |
---|
[4147] | 708 | set_namelist namelist_cfg nn_it000 1 |
---|
| 709 | set_namelist namelist_cfg nn_itend 576 |
---|
| 710 | set_namelist namelist_cfg nn_fwb 0 |
---|
| 711 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 712 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 713 | set_namelist namelist_cfg jpni 8 |
---|
| 714 | set_namelist namelist_cfg jpnj 4 |
---|
| 715 | set_namelist namelist_cfg jpnij 32 |
---|
[4245] | 716 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 717 | set_xio_using_server iodef.xml true |
---|
| 718 | else |
---|
| 719 | set_xio_using_server iodef.xml false |
---|
| 720 | fi |
---|
[3520] | 721 | cd ${SETTE_DIR} |
---|
[4245] | 722 | . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 723 | cd ${SETTE_DIR} |
---|
| 724 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 725 | |
---|
| 726 | cd ${SETTE_DIR} |
---|
[3680] | 727 | export TEST_NAME="REPRO_4_8" |
---|
[4252] | 728 | . ./prepare_exe_dir.sh |
---|
[3520] | 729 | cd ${EXE_DIR} |
---|
[4147] | 730 | set_namelist namelist_cfg nn_it000 1 |
---|
| 731 | set_namelist namelist_cfg nn_itend 576 |
---|
| 732 | set_namelist namelist_cfg nn_fwb 0 |
---|
| 733 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 734 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 735 | set_namelist namelist_cfg jpni 4 |
---|
| 736 | set_namelist namelist_cfg jpnj 8 |
---|
| 737 | set_namelist namelist_cfg jpnij 32 |
---|
[4245] | 738 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 739 | set_xio_using_server iodef.xml true |
---|
| 740 | else |
---|
| 741 | set_xio_using_server iodef.xml false |
---|
| 742 | fi |
---|
[3520] | 743 | cd ${SETTE_DIR} |
---|
[4245] | 744 | . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[3520] | 745 | cd ${SETTE_DIR} |
---|
[3532] | 746 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
[3520] | 747 | fi |
---|
| 748 | |
---|
| 749 | |
---|
[4147] | 750 | # TESTS FOR ORCA2_SAS_LIM CONFIGURATION |
---|
[4245] | 751 | if [ ${config} -eq 9 ] ; then |
---|
[4147] | 752 | ## Restartability tests for SAS |
---|
| 753 | export TEST_NAME="LONG" |
---|
| 754 | cd ${CONFIG_DIR} |
---|
[4260] | 755 | . ./makenemo -m ${CMP_NAM} -n SAS_LONG -r ORCA2_SAS_LIM -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS} |
---|
[4147] | 756 | cd ${SETTE_DIR} |
---|
[4252] | 757 | . ./param.cfg |
---|
| 758 | . ./all_functions.sh |
---|
| 759 | . ./prepare_exe_dir.sh |
---|
[4147] | 760 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 761 | NPROC=32 |
---|
| 762 | \rm $JOB_FILE |
---|
| 763 | cd ${EXE_DIR} |
---|
| 764 | set_namelist namelist_cfg cn_exp \"SAS\" |
---|
| 765 | set_namelist namelist_cfg nn_it000 1 |
---|
| 766 | set_namelist namelist_cfg nn_itend 100 |
---|
| 767 | set_namelist namelist_cfg nn_stock 50 |
---|
| 768 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 769 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4316] | 770 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4147] | 771 | set_namelist namelist_cfg jpni 8 |
---|
| 772 | set_namelist namelist_cfg jpnj 4 |
---|
| 773 | set_namelist namelist_cfg jpnij 32 |
---|
[4245] | 774 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 775 | set_xio_using_server iodef.xml true |
---|
| 776 | else |
---|
| 777 | set_xio_using_server iodef.xml false |
---|
| 778 | fi |
---|
[4147] | 779 | cd ${SETTE_DIR} |
---|
[4245] | 780 | . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[4147] | 781 | |
---|
| 782 | cd ${SETTE_DIR} |
---|
| 783 | export TEST_NAME="SHORT" |
---|
[4252] | 784 | . ./prepare_exe_dir.sh |
---|
[4147] | 785 | cd ${EXE_DIR} |
---|
| 786 | set_namelist namelist_cfg cn_exp \"SAS\" |
---|
| 787 | set_namelist namelist_cfg nn_it000 51 |
---|
| 788 | set_namelist namelist_cfg nn_itend 100 |
---|
| 789 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 790 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4316] | 791 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4147] | 792 | set_namelist namelist_cfg jpni 8 |
---|
| 793 | set_namelist namelist_cfg jpnj 4 |
---|
| 794 | set_namelist namelist_cfg jpnij 32 |
---|
| 795 | set_namelist namelist_cfg nn_rstctl 2 |
---|
| 796 | set_namelist namelist_cfg cn_ocerst_in \"SAS_00000050_restart\" |
---|
| 797 | for (( i=1; i<=$NPROC; i++)) ; do |
---|
| 798 | L_NPROC=$(( $i - 1 )) |
---|
| 799 | L_NPROC=`printf "%04d\n" ${L_NPROC}` |
---|
| 800 | ln -sf ../LONG/SAS_00000050_restart_${L_NPROC}.nc . |
---|
| 801 | done |
---|
[4245] | 802 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 803 | set_xio_using_server iodef.xml true |
---|
| 804 | else |
---|
| 805 | set_xio_using_server iodef.xml false |
---|
| 806 | fi |
---|
[4147] | 807 | cd ${SETTE_DIR} |
---|
[4245] | 808 | . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[4147] | 809 | cd ${SETTE_DIR} |
---|
| 810 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 811 | fi |
---|
| 812 | |
---|
[4245] | 813 | if [ ${config} -eq 10 ] ; then |
---|
[4147] | 814 | ## Reproducibility tests for ORCA2_SAS_LIM |
---|
| 815 | export TEST_NAME="REPRO_8_4" |
---|
| 816 | cd ${CONFIG_DIR} |
---|
[4245] | 817 | . ./makenemo -m ${CMP_NAM} -n SAS_32 -r ORCA2_SAS_LIM -j 8 add_key "key_mpp_rep" del_key ${DEL_KEYS} |
---|
[4147] | 818 | cd ${SETTE_DIR} |
---|
[4252] | 819 | . ./param.cfg |
---|
| 820 | . ./all_functions.sh |
---|
| 821 | . ./prepare_exe_dir.sh |
---|
[4147] | 822 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 823 | NPROC=32 |
---|
| 824 | \rm ${JOB_FILE} |
---|
| 825 | cd ${EXE_DIR} |
---|
| 826 | set_namelist namelist_cfg cn_exp \"SAS\" |
---|
| 827 | set_namelist namelist_cfg nn_it000 51 |
---|
| 828 | set_namelist namelist_cfg nn_itend 100 |
---|
| 829 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 830 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4316] | 831 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4147] | 832 | set_namelist namelist_cfg jpni 8 |
---|
| 833 | set_namelist namelist_cfg jpnj 4 |
---|
| 834 | set_namelist namelist_cfg jpnij 32 |
---|
[4245] | 835 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 836 | set_xio_using_server iodef.xml true |
---|
| 837 | else |
---|
| 838 | set_xio_using_server iodef.xml false |
---|
| 839 | fi |
---|
[4147] | 840 | cd ${SETTE_DIR} |
---|
[4245] | 841 | . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[4147] | 842 | cd ${SETTE_DIR} |
---|
| 843 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 844 | cd ${SETTE_DIR} |
---|
| 845 | export TEST_NAME="REPRO_4_8" |
---|
[4252] | 846 | . ./prepare_exe_dir.sh |
---|
[4147] | 847 | cd ${EXE_DIR} |
---|
| 848 | set_namelist namelist_cfg cn_exp \"SAS\" |
---|
| 849 | set_namelist namelist_cfg nn_it000 51 |
---|
| 850 | set_namelist namelist_cfg nn_itend 100 |
---|
| 851 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 852 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4316] | 853 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4147] | 854 | set_namelist namelist_cfg jpni 4 |
---|
| 855 | set_namelist namelist_cfg jpnj 8 |
---|
| 856 | set_namelist namelist_cfg jpnij 32 |
---|
[4245] | 857 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 858 | set_xio_using_server iodef.xml true |
---|
| 859 | else |
---|
| 860 | set_xio_using_server iodef.xml false |
---|
| 861 | fi |
---|
[4147] | 862 | cd ${SETTE_DIR} |
---|
[4245] | 863 | . ./prepare_job.sh input_SAS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
[4147] | 864 | cd ${SETTE_DIR} |
---|
| 865 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 866 | fi |
---|
| 867 | |
---|
[4751] | 868 | if [ ${config} -eq 11 ] ; then |
---|
| 869 | ## Reproducibility tests for ORCA2_LIM_OBS |
---|
| 870 | export TEST_NAME="REPRO_4_4" |
---|
| 871 | cd ${CONFIG_DIR} |
---|
| 872 | . ./makenemo -m ${CMP_NAM} -n ORCA2_LIM_OBS -r ORCA2_LIM_OBS -j 8 del_key ${DEL_KEYS} |
---|
| 873 | cd ${SETTE_DIR} |
---|
| 874 | . ./param.cfg |
---|
| 875 | . ./all_functions.sh |
---|
| 876 | . ./prepare_exe_dir.sh |
---|
| 877 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 878 | NPROC=16 |
---|
| 879 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
| 880 | cd ${EXE_DIR} |
---|
| 881 | set_namelist namelist_cfg nn_it000 1 |
---|
| 882 | set_namelist namelist_cfg nn_itend 75 |
---|
| 883 | set_namelist namelist_cfg nn_fwb 0 |
---|
| 884 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 885 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 886 | set_namelist namelist_cfg jpni 4 |
---|
| 887 | set_namelist namelist_cfg jpnj 4 |
---|
| 888 | set_namelist namelist_cfg jpnij 16 |
---|
| 889 | set_namelist namelist_cfg nn_solv 2 |
---|
[4753] | 890 | # DJL perhaps put the below in the namelist_cfg |
---|
[4751] | 891 | set_namelist namelist_cfg ln_t3d .true. |
---|
| 892 | set_namelist namelist_cfg ln_s3d .true. |
---|
| 893 | set_namelist namelist_cfg ln_profb .true. |
---|
[4753] | 894 | set_namelist namelist_cfg ln_sst .true. |
---|
| 895 | set_namelist namelist_cfg ln_sstfb .true. |
---|
| 896 | set_namelist namelist_cfg ln_sla .true. |
---|
| 897 | set_namelist namelist_cfg ln_slafb .true. |
---|
| 898 | set_namelist namelist_cfg ln_seaice .false. |
---|
[4751] | 899 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 900 | set_xio_using_server iodef.xml true |
---|
| 901 | else |
---|
| 902 | set_xio_using_server iodef.xml false |
---|
| 903 | fi |
---|
| 904 | cd ${SETTE_DIR} |
---|
| 905 | . ./prepare_job.sh input_ORCA2_LIM_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
| 906 | cd ${SETTE_DIR} |
---|
| 907 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 908 | |
---|
| 909 | cd ${SETTE_DIR} |
---|
| 910 | export TEST_NAME="REPRO_2_8" |
---|
| 911 | . ./prepare_exe_dir.sh |
---|
| 912 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 913 | NPROC=16 |
---|
| 914 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
| 915 | cd ${EXE_DIR} |
---|
| 916 | set_namelist namelist_cfg nn_it000 1 |
---|
| 917 | set_namelist namelist_cfg nn_itend 75 |
---|
| 918 | set_namelist namelist_cfg ln_clobber .true. |
---|
| 919 | set_namelist namelist_cfg nn_fwb 0 |
---|
| 920 | set_namelist namelist_cfg jpni 2 |
---|
| 921 | set_namelist namelist_cfg jpnj 8 |
---|
| 922 | set_namelist namelist_cfg jpnij 16 |
---|
| 923 | set_namelist namelist_cfg nn_solv 2 |
---|
| 924 | set_namelist namelist_cfg ln_t3d .true. |
---|
| 925 | set_namelist namelist_cfg ln_s3d .true. |
---|
| 926 | set_namelist namelist_cfg ln_profb .true. |
---|
[4753] | 927 | set_namelist namelist_cfg ln_sst .true. |
---|
| 928 | set_namelist namelist_cfg ln_sstfb .true. |
---|
| 929 | set_namelist namelist_cfg ln_sla .true. |
---|
| 930 | set_namelist namelist_cfg ln_slafb .true. |
---|
| 931 | set_namelist namelist_cfg ln_seaice .false. |
---|
[4751] | 932 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 933 | set_xio_using_server iodef.xml true |
---|
| 934 | else |
---|
| 935 | set_xio_using_server iodef.xml false |
---|
| 936 | fi |
---|
| 937 | cd ${SETTE_DIR} |
---|
| 938 | . ./prepare_job.sh input_ORCA2_LIM_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
| 939 | cd ${SETTE_DIR} |
---|
| 940 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 941 | fi |
---|
| 942 | |
---|
[4245] | 943 | # TEST FOR ORCA2_LIM_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests) |
---|
[4751] | 944 | if [ ${config} -eq 12 ] ; then |
---|
[4245] | 945 | ## ORCA2_LIM with Agulhas AGRIF zoom in MPI |
---|
| 946 | export TEST_NAME="SHORT" |
---|
| 947 | cd ${CONFIG_DIR} |
---|
| 948 | . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_1_2 -r ORCA2_LIM -j 8 add_key "key_mpp_rep key_agrif" del_key "key_zdftmx" del_key ${DEL_KEYS} |
---|
| 949 | cd ${SETTE_DIR} |
---|
[4252] | 950 | . ./param.cfg |
---|
| 951 | . ./all_functions.sh |
---|
| 952 | . ./prepare_exe_dir.sh |
---|
[4245] | 953 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 954 | NPROC=2 |
---|
| 955 | if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi |
---|
| 956 | cd ${EXE_DIR} |
---|
| 957 | set_namelist namelist_cfg nn_it000 1 |
---|
| 958 | set_namelist namelist_cfg nn_itend 75 |
---|
| 959 | set_namelist namelist_cfg ln_ctl .false. |
---|
| 960 | set_namelist namelist_cfg ln_clobber .true. |
---|
[4316] | 961 | set_namelist namelist_cfg nn_fwb 0 |
---|
[4245] | 962 | set_namelist namelist_cfg jpni 1 |
---|
| 963 | set_namelist namelist_cfg jpnj 2 |
---|
| 964 | set_namelist namelist_cfg jpnij 2 |
---|
| 965 | set_namelist 1_namelist_cfg nn_it000 1 |
---|
| 966 | set_namelist 1_namelist_cfg nn_itend 150 |
---|
| 967 | set_namelist 1_namelist_cfg ln_ctl .false. |
---|
| 968 | set_namelist 1_namelist_cfg ln_clobber .true. |
---|
| 969 | if [ ${USING_MPMD} == "yes" ] ; then |
---|
| 970 | set_xio_using_server iodef.xml true |
---|
| 971 | else |
---|
| 972 | set_xio_using_server iodef.xml false |
---|
| 973 | fi |
---|
| 974 | cd ${SETTE_DIR} |
---|
| 975 | . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} |
---|
| 976 | cd ${SETTE_DIR} |
---|
| 977 | . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} |
---|
| 978 | fi |
---|
| 979 | |
---|
[3520] | 980 | done |
---|