[2539] | 1 | #!/bin/bash |
---|
[2500] | 2 | ############################################################# |
---|
| 3 | # Author : Simona Flavoni for NEMO |
---|
| 4 | # Contact : sflod@locean-ipsl.upmc.fr |
---|
[2354] | 5 | # |
---|
[2500] | 6 | # sette.sh : principal script of SET TEsts for NEMO (SETTE) |
---|
[2546] | 7 | # ---------------------------------------------------------------------- |
---|
| 8 | # NEMO/SETTE , NEMO Consortium (2010) |
---|
| 9 | # Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
| 10 | # ---------------------------------------------------------------------- |
---|
| 11 | # |
---|
[2500] | 12 | ############################################################# |
---|
| 13 | #set -x |
---|
| 14 | set -o posix |
---|
| 15 | #set -u |
---|
| 16 | #set -e |
---|
| 17 | #+ |
---|
[2354] | 18 | # |
---|
[2500] | 19 | # ================ |
---|
| 20 | # sette.sh |
---|
| 21 | # ================ |
---|
| 22 | # |
---|
| 23 | # ---------------------------------------------- |
---|
| 24 | # Set of tests for NEMO |
---|
| 25 | # ---------------------------------------------- |
---|
| 26 | # |
---|
| 27 | # SYNOPSIS |
---|
| 28 | # ======== |
---|
| 29 | # |
---|
| 30 | # :: |
---|
| 31 | # |
---|
| 32 | # $ ./sette.sh |
---|
| 33 | # |
---|
| 34 | # DESCRIPTION |
---|
| 35 | # =========== |
---|
| 36 | # |
---|
[3294] | 37 | # Variables to be checked by user: |
---|
[2500] | 38 | # |
---|
[3294] | 39 | # COMPILER : name of compiler as defined in NEMOGCM/ARCH directory |
---|
[2545] | 40 | # |
---|
[3294] | 41 | # BATCH_COMMAND : name of the command for batch submission |
---|
[2545] | 42 | # |
---|
[3294] | 43 | # MPI_INTERACT : |
---|
[2545] | 44 | # |
---|
[3294] | 45 | # for MPP tests, "no" for batch execution, "yes" for interactive execution |
---|
[2545] | 46 | # |
---|
[3294] | 47 | # NOTE: for run with 1 process tests are run always in MPI_INTERACT="yes" |
---|
[2545] | 48 | # |
---|
[3294] | 49 | # Principal script is sette.sh, that calls |
---|
[2545] | 50 | # |
---|
[3294] | 51 | # makenemo |
---|
[2545] | 52 | # |
---|
[3294] | 53 | # creates the exectuable in ${CONFIG_NAME}/BLD/bin/nemo.exe (and its link opa in ${CONFIG_NAME}/EXP00) |
---|
| 54 | # |
---|
| 55 | # param.cfg : sets and loads following directories: |
---|
| 56 | # |
---|
| 57 | # FORCING_DIR : is the directory for forcing files (tarfile) |
---|
| 58 | # |
---|
| 59 | # INPUT_DIR : is the directory for input files storing |
---|
| 60 | # |
---|
| 61 | # TMPDIR : is the temporary directory (if needed) |
---|
[2665] | 62 | # |
---|
[3294] | 63 | # NEMO_VALIDATION_DIR : is the validation directory |
---|
[2545] | 64 | # |
---|
[3294] | 65 | # (NOTE: this file is the same for all configrations to be tested with sette) |
---|
[2545] | 66 | # |
---|
[3294] | 67 | # |
---|
[2665] | 68 | # all_functions.sh : loads functions used by sette (note: new functions can be added here) |
---|
[2545] | 69 | # |
---|
[3294] | 70 | # set_namelist : function declared in all_functions that set namelist parameters for tests |
---|
[2545] | 71 | # |
---|
[3294] | 72 | # post_test_tidyup : creates validation storage directory and copy needed output files (solver.stat and ocean.output) in it after execution of test. |
---|
| 73 | # |
---|
| 74 | # Tree of VALIDATION is: |
---|
| 75 | # |
---|
| 76 | # NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE) |
---|
| 77 | # |
---|
| 78 | # |
---|
| 79 | # prepare_exe_dir.sh : defines and creates directory where the test is executed |
---|
| 80 | # |
---|
| 81 | # execution directory takes name of TEST_NAME defined in every test in sette.sh |
---|
| 82 | # |
---|
| 83 | # ( each test in executed in its own directory ) |
---|
| 84 | # |
---|
| 85 | # |
---|
[3336] | 86 | # prepare_job.sh |
---|
| 87 | # |
---|
| 88 | # to generate the script run_job.sh |
---|
| 89 | # |
---|
[2545] | 90 | # fcm_job.sh |
---|
| 91 | # |
---|
[3294] | 92 | # runs job in interactive or batch mode : all jobs using 1 process are run interactive, and all MPP jobs are |
---|
[2665] | 93 | # |
---|
[3294] | 94 | # run in batch (MPI_INTERACT="no") or interactive (MPI_INTERACT="yes") see sette.sh and BATCH_TEMPLATE directory |
---|
[2665] | 95 | # |
---|
| 96 | # (note this job needs to have an input_CONFIG.cfg in which can be found input tar file) |
---|
[2545] | 97 | # |
---|
[3294] | 98 | # NOTE: if job is not launched for some problems you have executable ready in ${EXE_DIR} directory |
---|
[2545] | 99 | # |
---|
[3294] | 100 | # NOTE: the changed namelists are leaved in ${EXE_DIR} directory whereas original namelist remains in ${NEW_CONF}/EXP00 |
---|
[2545] | 101 | # |
---|
[3294] | 102 | # in ${SETTE_DIR} is created output.sette with the echo of executed commands |
---|
[2545] | 103 | # |
---|
| 104 | # if sette.sh is stopped in output.sette there is written the last command executed by sette.sh |
---|
| 105 | # |
---|
| 106 | # if you run: ./sette.sh 2>&1 | tee out.sette |
---|
| 107 | # |
---|
| 108 | # in ${SETTE_DIR} out.sette is redirected standard error & standard output |
---|
| 109 | # |
---|
| 110 | # |
---|
[2500] | 111 | # EXAMPLES |
---|
| 112 | # ======== |
---|
| 113 | # |
---|
| 114 | # :: |
---|
| 115 | # |
---|
| 116 | # $ ./sette.sh |
---|
| 117 | # |
---|
| 118 | # |
---|
[2354] | 119 | # TODO |
---|
| 120 | # ==== |
---|
| 121 | # |
---|
| 122 | # option debug |
---|
| 123 | # |
---|
| 124 | # EVOLUTIONS |
---|
| 125 | # ========== |
---|
| 126 | # |
---|
[2500] | 127 | # $Id$ |
---|
[2354] | 128 | # |
---|
| 129 | # * creation |
---|
[2500] | 130 | # |
---|
[2354] | 131 | #- |
---|
| 132 | # |
---|
[2716] | 133 | #- |
---|
| 134 | # Compiler among those in NEMOGCM/ARCH |
---|
[3422] | 135 | COMPILER=ifort_MERCATOR_CLUSTER |
---|
| 136 | export BATCH_COMMAND_PAR="qsub" |
---|
[3294] | 137 | export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR |
---|
[3336] | 138 | export INTERACT_FLAG="no" |
---|
| 139 | export MPIRUN_FLAG="yes" |
---|
[2675] | 140 | |
---|
[3294] | 141 | |
---|
[2716] | 142 | # Directory to run the tests |
---|
| 143 | SETTE_DIR=$(cd $(dirname "$0"); pwd) |
---|
| 144 | MAIN_DIR=${SETTE_DIR%/SETTE} |
---|
| 145 | CONFIG_DIR=${MAIN_DIR}/CONFIG |
---|
| 146 | TOOLS_DIR=${MAIN_DIR}/TOOLS |
---|
| 147 | COMPIL_DIR=${TOOLS_DIR}/COMPILE |
---|
[2494] | 148 | |
---|
[2725] | 149 | CMP_NAM=${1:-$COMPILER} |
---|
[3294] | 150 | # Copy job_batch_COMPILER file for specific compiler into job_batch_template |
---|
| 151 | cd ${SETTE_DIR} |
---|
| 152 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[2354] | 153 | |
---|
[3422] | 154 | for config in 1 2 3 4 5 6 7 8 |
---|
[2675] | 155 | do |
---|
[2354] | 156 | |
---|
[3294] | 157 | # TESTS FOR GYRE_LOBSTER CONFIGURATION |
---|
[2675] | 158 | if [ ${config} -eq 1 ] ; then |
---|
[3294] | 159 | ## Restartability tests for GYRE_LOBSTER |
---|
| 160 | export TEST_NAME="LONG" |
---|
[2675] | 161 | cd ${SETTE_DIR} |
---|
[3294] | 162 | . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRELOB_LONG -r GYRE_LOBSTER -j 8 |
---|
[2675] | 163 | cd ${SETTE_DIR} |
---|
| 164 | . param.cfg |
---|
| 165 | . all_functions.sh |
---|
[3294] | 166 | . prepare_exe_dir.sh |
---|
| 167 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 168 | NPROC=1 |
---|
[3336] | 169 | \rm $JOB_FILE |
---|
[3294] | 170 | cd ${EXE_DIR} |
---|
[2675] | 171 | set_namelist namelist cn_exp \"GYRELOB_LONG\" |
---|
| 172 | set_namelist namelist nn_it000 1 |
---|
| 173 | set_namelist namelist nn_itend 120 |
---|
| 174 | set_namelist namelist nn_stock 60 |
---|
[2716] | 175 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 176 | set_namelist namelist nn_solv 2 |
---|
| 177 | set_namelist namelist_top ln_diatrc .false. |
---|
[2675] | 178 | cd ${SETTE_DIR} |
---|
[3336] | 179 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 180 | . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
[3336] | 181 | cd ${SETTE_DIR} |
---|
| 182 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[3294] | 183 | |
---|
[2754] | 184 | cd ${SETTE_DIR} |
---|
[3294] | 185 | export TEST_NAME="SHORT" |
---|
| 186 | . prepare_exe_dir.sh |
---|
| 187 | cd ${EXE_DIR} |
---|
[2675] | 188 | set_namelist namelist cn_exp \"GYRELOB_SHORT\" |
---|
| 189 | set_namelist namelist nn_it000 61 |
---|
| 190 | set_namelist namelist nn_itend 120 |
---|
| 191 | set_namelist namelist nn_stock 60 |
---|
| 192 | set_namelist namelist ln_rstart .true. |
---|
| 193 | set_namelist namelist nn_rstctl 2 |
---|
[2716] | 194 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 195 | set_namelist namelist nn_solv 2 |
---|
| 196 | ln -s -f ..\/LONG\/GYRELOB_LONG_00000060_restart.nc |
---|
| 197 | ln -s -f ..\/LONG\/GYRELOB_LONG_00000060_restart_trc.nc |
---|
| 198 | set_namelist namelist cn_ocerst_in \"GYRELOB_LONG_00000060_restart\" |
---|
| 199 | set_namelist namelist_top ln_diatrc .false. |
---|
[2675] | 200 | set_namelist namelist_top ln_rsttr .true. |
---|
| 201 | set_namelist namelist_top nn_rsttr 2 |
---|
| 202 | set_namelist namelist_top cn_trcrst_in \"GYRELOB_LONG_00000060_restart_trc\" |
---|
| 203 | cd ${SETTE_DIR} |
---|
[3336] | 204 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 205 | . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 206 | cd ${SETTE_DIR} |
---|
[3336] | 207 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[2675] | 208 | fi |
---|
| 209 | |
---|
| 210 | if [ ${config} -eq 2 ] ; then |
---|
[3294] | 211 | ## Reproducibility tests for GYRE_LOBSTER |
---|
| 212 | export TEST_NAME="REPRO_1_4" |
---|
[2675] | 213 | cd ${SETTE_DIR} |
---|
[3294] | 214 | . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRELOB_4 -r GYRE_LOBSTER -j 8 add_key "key_mpp_rep key_mpp_mpi" |
---|
[2675] | 215 | cd ${SETTE_DIR} |
---|
| 216 | . param.cfg |
---|
| 217 | . all_functions.sh |
---|
[3294] | 218 | . prepare_exe_dir.sh |
---|
| 219 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 220 | NPROC=4 |
---|
[3336] | 221 | \rm $JOB_FILE |
---|
[3294] | 222 | cd ${EXE_DIR} |
---|
| 223 | set_namelist namelist cn_exp \"GYRELOB_14\" |
---|
| 224 | set_namelist namelist nn_it000 1 |
---|
| 225 | set_namelist namelist nn_itend 60 |
---|
| 226 | set_namelist namelist nn_fwb 0 |
---|
| 227 | set_namelist namelist nn_bench 0 |
---|
| 228 | set_namelist namelist ln_ctl .false. |
---|
| 229 | set_namelist namelist ln_clobber .true. |
---|
| 230 | set_namelist namelist nn_solv 2 |
---|
| 231 | set_namelist namelist_top ln_diatrc .false. |
---|
| 232 | set_namelist namelist_top ln_trcdta .false. |
---|
| 233 | set_namelist namelist jpni 1 |
---|
| 234 | set_namelist namelist jpnj 4 |
---|
| 235 | set_namelist namelist jpnij 4 |
---|
| 236 | cd ${SETTE_DIR} |
---|
[3336] | 237 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 238 | . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 239 | cd ${SETTE_DIR} |
---|
[3336] | 240 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[3294] | 241 | |
---|
| 242 | cd ${SETTE_DIR} |
---|
| 243 | export TEST_NAME="REPRO_2_2" |
---|
| 244 | . prepare_exe_dir.sh |
---|
| 245 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 246 | NPROC=4 |
---|
[3336] | 247 | \rm $JOB_FILE |
---|
[3294] | 248 | cd ${EXE_DIR} |
---|
| 249 | set_namelist namelist cn_exp \"GYRELOB_22\" |
---|
| 250 | set_namelist namelist nn_it000 1 |
---|
| 251 | set_namelist namelist nn_itend 60 |
---|
| 252 | set_namelist namelist nn_fwb 0 |
---|
| 253 | set_namelist namelist ln_ctl .false. |
---|
| 254 | set_namelist namelist ln_clobber .true. |
---|
| 255 | set_namelist namelist nn_solv 2 |
---|
| 256 | set_namelist namelist_top ln_diatrc .false. |
---|
| 257 | set_namelist namelist_top ln_trcdta .false. |
---|
| 258 | set_namelist namelist jpni 2 |
---|
| 259 | set_namelist namelist jpnj 2 |
---|
| 260 | set_namelist namelist jpnij 4 |
---|
| 261 | cd ${SETTE_DIR} |
---|
[3336] | 262 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 263 | . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 264 | cd ${SETTE_DIR} |
---|
[3336] | 265 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[3294] | 266 | fi |
---|
| 267 | |
---|
| 268 | # TESTS FOR ORCA2_LIM_PISCES CONFIGURATION |
---|
| 269 | if [ ${config} -eq 3 ] ; then |
---|
| 270 | ## Restartability tests for ORCA2_LIM_PISCES |
---|
| 271 | export TEST_NAME="LONG" |
---|
| 272 | cd ${SETTE_DIR} |
---|
| 273 | . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8 |
---|
| 274 | cd ${SETTE_DIR} |
---|
| 275 | . param.cfg |
---|
| 276 | . all_functions.sh |
---|
| 277 | . prepare_exe_dir.sh |
---|
| 278 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 279 | NPROC=1 |
---|
[3336] | 280 | \rm $JOB_FILE |
---|
[3294] | 281 | cd ${EXE_DIR} |
---|
[2675] | 282 | set_namelist namelist cn_exp \"O2LP_LONG\" |
---|
| 283 | set_namelist namelist nn_it000 1 |
---|
| 284 | set_namelist namelist nn_itend 150 |
---|
| 285 | set_namelist namelist nn_stock 75 |
---|
[2716] | 286 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 287 | set_namelist namelist nn_solv 2 |
---|
| 288 | set_namelist namelist_top ln_trcdta .false. |
---|
| 289 | set_namelist namelist_top ln_diatrc .false. |
---|
| 290 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
[2675] | 291 | # if not you need input files, and for tests is not necessary |
---|
[3294] | 292 | set_namelist namelist_pisces ln_ironsed .false. |
---|
[2675] | 293 | set_namelist namelist_pisces ln_river .false. |
---|
| 294 | set_namelist namelist_pisces ln_ndepo .false. |
---|
[3294] | 295 | set_namelist namelist_pisces ln_dust .false. |
---|
| 296 | set_namelist namelist_pisces ln_presatm .false. |
---|
[2675] | 297 | cd ${SETTE_DIR} |
---|
[3336] | 298 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
| 299 | . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
[2675] | 300 | cd ${SETTE_DIR} |
---|
[3336] | 301 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
| 302 | # |
---|
[3294] | 303 | export TEST_NAME="SHORT" |
---|
[3336] | 304 | cd ${SETTE_DIR} |
---|
[3294] | 305 | . prepare_exe_dir.sh |
---|
| 306 | cd ${EXE_DIR} |
---|
[2675] | 307 | set_namelist namelist cn_exp \"O2LP_SHORT\" |
---|
| 308 | set_namelist namelist nn_it000 76 |
---|
| 309 | set_namelist namelist nn_itend 150 |
---|
| 310 | set_namelist namelist nn_stock 75 |
---|
| 311 | set_namelist namelist ln_rstart .true. |
---|
| 312 | set_namelist namelist nn_rstctl 2 |
---|
[2716] | 313 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 314 | set_namelist namelist nn_solv 2 |
---|
| 315 | ln -s -f ../LONG/O2LP_LONG_00000075_restart.nc |
---|
| 316 | ln -s -f ../LONG/O2LP_LONG_00000075_restart_ice.nc |
---|
| 317 | ln -s -f ../LONG/O2LP_LONG_00000075_restart_trc.nc |
---|
| 318 | set_namelist namelist cn_ocerst_in \"O2LP_LONG_00000075_restart\" |
---|
| 319 | set_namelist namelist_ice cn_icerst_in \"O2LP_LONG_00000075_restart_ice\" |
---|
| 320 | set_namelist namelist_top ln_diatrc .false. |
---|
[2675] | 321 | set_namelist namelist_top ln_rsttr .true. |
---|
| 322 | set_namelist namelist_top nn_rsttr 2 |
---|
| 323 | set_namelist namelist_top cn_trcrst_in \"O2LP_LONG_00000075_restart_trc\" |
---|
[3294] | 324 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust |
---|
[2675] | 325 | # if not you need input files, and for tests is not necessary |
---|
[3294] | 326 | set_namelist namelist_pisces ln_ironsed .false. |
---|
[2675] | 327 | set_namelist namelist_pisces ln_river .false. |
---|
| 328 | set_namelist namelist_pisces ln_ndepo .false. |
---|
[3294] | 329 | set_namelist namelist_pisces ln_dust .false. |
---|
| 330 | set_namelist namelist_pisces ln_presatm .false. |
---|
[2675] | 331 | cd ${SETTE_DIR} |
---|
[3336] | 332 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 333 | . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 334 | cd ${SETTE_DIR} |
---|
[3336] | 335 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[2675] | 336 | fi |
---|
| 337 | |
---|
[3294] | 338 | if [ ${config} -eq 4 ] ; then |
---|
| 339 | ## Reproducibility tests for ORCA2_LIM_PISCES |
---|
| 340 | export TEST_NAME="REPRO_4_4" |
---|
[2675] | 341 | cd ${SETTE_DIR} |
---|
[3294] | 342 | . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_16 -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_rep key_mpp_mpi" |
---|
[2675] | 343 | cd ${SETTE_DIR} |
---|
| 344 | . param.cfg |
---|
| 345 | . all_functions.sh |
---|
[3294] | 346 | . prepare_exe_dir.sh |
---|
| 347 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 348 | NPROC=16 |
---|
[3336] | 349 | \rm $JOB_FILE |
---|
[3294] | 350 | cd ${EXE_DIR} |
---|
[2675] | 351 | set_namelist namelist nn_it000 1 |
---|
[3294] | 352 | set_namelist namelist nn_itend 75 |
---|
| 353 | set_namelist namelist nn_fwb 0 |
---|
[2716] | 354 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 355 | set_namelist namelist jpni 4 |
---|
| 356 | set_namelist namelist jpnj 4 |
---|
| 357 | set_namelist namelist jpnij 16 |
---|
| 358 | set_namelist namelist nn_solv 2 |
---|
| 359 | set_namelist namelist_top ln_trcdta .false. |
---|
| 360 | set_namelist namelist_top ln_diatrc .false. |
---|
| 361 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
| 362 | # if not you need input files, and for tests is not necessary |
---|
| 363 | set_namelist namelist_pisces ln_ironsed .false. |
---|
| 364 | set_namelist namelist_pisces ln_river .false. |
---|
| 365 | set_namelist namelist_pisces ln_ndepo .false. |
---|
| 366 | set_namelist namelist_pisces ln_dust .false. |
---|
| 367 | set_namelist namelist_pisces ln_presatm .false. |
---|
[2675] | 368 | cd ${SETTE_DIR} |
---|
[3336] | 369 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 370 | . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
[2675] | 371 | cd ${SETTE_DIR} |
---|
[3336] | 372 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[3294] | 373 | |
---|
| 374 | cd ${SETTE_DIR} |
---|
| 375 | export TEST_NAME="REPRO_2_8" |
---|
| 376 | . prepare_exe_dir.sh |
---|
| 377 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 378 | NPROC=16 |
---|
[3336] | 379 | \rm $JOB_FILE |
---|
[3294] | 380 | cd ${EXE_DIR} |
---|
| 381 | set_namelist namelist nn_it000 1 |
---|
| 382 | set_namelist namelist nn_itend 75 |
---|
| 383 | set_namelist namelist nn_fwb 0 |
---|
[2716] | 384 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 385 | set_namelist namelist jpni 2 |
---|
| 386 | set_namelist namelist jpnj 8 |
---|
| 387 | set_namelist namelist jpnij 16 |
---|
| 388 | set_namelist namelist nn_solv 2 |
---|
| 389 | set_namelist namelist_top ln_trcdta .false. |
---|
| 390 | set_namelist namelist_top ln_diatrc .false. |
---|
| 391 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
| 392 | # if not you need input files, and for tests is not necessary |
---|
| 393 | set_namelist namelist_pisces ln_ironsed .false. |
---|
| 394 | set_namelist namelist_pisces ln_river .false. |
---|
| 395 | set_namelist namelist_pisces ln_ndepo .false. |
---|
| 396 | set_namelist namelist_pisces ln_dust .false. |
---|
| 397 | set_namelist namelist_pisces ln_presatm .false. |
---|
[2675] | 398 | cd ${SETTE_DIR} |
---|
[3336] | 399 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 400 | . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 401 | cd ${SETTE_DIR} |
---|
[3336] | 402 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[2675] | 403 | fi |
---|
| 404 | |
---|
[3294] | 405 | # TESTS FOR ORCA2_OFF_PISCES CONFIGURATION |
---|
| 406 | if [ ${config} -eq 5 ] ; then |
---|
| 407 | ## Restartability tests for ORCA2_OFF_PISCES |
---|
| 408 | export TEST_NAME="LONG" |
---|
[2675] | 409 | cd ${SETTE_DIR} |
---|
[3294] | 410 | . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8 |
---|
[2675] | 411 | cd ${SETTE_DIR} |
---|
| 412 | . param.cfg |
---|
| 413 | . all_functions.sh |
---|
[3294] | 414 | . prepare_exe_dir.sh |
---|
| 415 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 416 | NPROC=1 |
---|
[3336] | 417 | \rm $JOB_FILE |
---|
[3294] | 418 | cd ${EXE_DIR} |
---|
| 419 | set_namelist namelist cn_exp \"OFFP_LONG\" |
---|
[2675] | 420 | set_namelist namelist nn_it000 1 |
---|
[3294] | 421 | set_namelist namelist nn_itend 40 |
---|
| 422 | set_namelist namelist nn_stock 20 |
---|
[2716] | 423 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 424 | set_namelist namelist_top ln_trcdta .false. |
---|
| 425 | set_namelist namelist_top ln_diatrc .false. |
---|
| 426 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
| 427 | # if not you need input files, and for tests is not necessary |
---|
| 428 | set_namelist namelist_pisces ln_ironsed .false. |
---|
| 429 | set_namelist namelist_pisces ln_river .false. |
---|
| 430 | set_namelist namelist_pisces ln_ndepo .false. |
---|
| 431 | set_namelist namelist_pisces ln_dust .false. |
---|
| 432 | set_namelist namelist_pisces ln_presatm .false. |
---|
[2675] | 433 | cd ${SETTE_DIR} |
---|
[3336] | 434 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 435 | . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
[2675] | 436 | |
---|
| 437 | cd ${SETTE_DIR} |
---|
[3294] | 438 | export TEST_NAME="SHORT" |
---|
| 439 | . prepare_exe_dir.sh |
---|
| 440 | cd ${EXE_DIR} |
---|
| 441 | set_namelist namelist cn_exp \"OFFP_SHORT\" |
---|
| 442 | set_namelist namelist nn_it000 21 |
---|
| 443 | set_namelist namelist nn_itend 40 |
---|
| 444 | set_namelist namelist nn_stock 20 |
---|
[2716] | 445 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 446 | ln -s ../LONG/OFFP_LONG_00000020_restart_trc.nc . |
---|
| 447 | set_namelist namelist_top ln_diatrc .false. |
---|
| 448 | set_namelist namelist_top ln_rsttr .true. |
---|
| 449 | set_namelist namelist_top nn_rsttr 2 |
---|
| 450 | set_namelist namelist_top cn_trcrst_in \"OFFP_LONG_00000020_restart_trc\" |
---|
| 451 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust |
---|
| 452 | # if not you need input files, and for tests is not necessary |
---|
| 453 | set_namelist namelist_pisces ln_ironsed .false. |
---|
| 454 | set_namelist namelist_pisces ln_river .false. |
---|
| 455 | set_namelist namelist_pisces ln_ndepo .false. |
---|
| 456 | set_namelist namelist_pisces ln_dust .false. |
---|
| 457 | set_namelist namelist_pisces ln_presatm .false. |
---|
[2675] | 458 | cd ${SETTE_DIR} |
---|
[3336] | 459 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 460 | . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 461 | cd ${SETTE_DIR} |
---|
[3336] | 462 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[2675] | 463 | fi |
---|
| 464 | |
---|
[3294] | 465 | if [ ${config} -eq 6 ] ; then |
---|
| 466 | ## Reproducibility tests for ORCA2_OFF_PISCES |
---|
| 467 | export TEST_NAME="REPRO_4_4" |
---|
[2675] | 468 | cd ${SETTE_DIR} |
---|
[3294] | 469 | . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_16 -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_rep key_mpp_mpi" |
---|
[2675] | 470 | cd ${SETTE_DIR} |
---|
| 471 | . param.cfg |
---|
| 472 | . all_functions.sh |
---|
[3294] | 473 | . prepare_exe_dir.sh |
---|
| 474 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 475 | NPROC=16 |
---|
[3336] | 476 | \rm $JOB_FILE |
---|
[3294] | 477 | cd ${EXE_DIR} |
---|
[2675] | 478 | set_namelist namelist nn_it000 1 |
---|
[3294] | 479 | set_namelist namelist nn_itend 40 |
---|
[2716] | 480 | set_namelist namelist ln_clobber .true. |
---|
| 481 | set_namelist namelist jpni 4 |
---|
| 482 | set_namelist namelist jpnj 4 |
---|
[3294] | 483 | set_namelist namelist jpnij 16 |
---|
| 484 | set_namelist namelist_top ln_trcdta .false. |
---|
| 485 | set_namelist namelist_top ln_diatrc .false. |
---|
| 486 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
[2675] | 487 | # if not you need input files, and for tests is not necessary |
---|
[3294] | 488 | set_namelist namelist_pisces ln_ironsed .false. |
---|
[2675] | 489 | set_namelist namelist_pisces ln_river .false. |
---|
| 490 | set_namelist namelist_pisces ln_ndepo .false. |
---|
[3294] | 491 | set_namelist namelist_pisces ln_dust .false. |
---|
| 492 | set_namelist namelist_pisces ln_presatm .false. |
---|
[2675] | 493 | cd ${SETTE_DIR} |
---|
[3336] | 494 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 495 | . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
[2675] | 496 | cd ${SETTE_DIR} |
---|
[3336] | 497 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[3294] | 498 | |
---|
| 499 | cd ${SETTE_DIR} |
---|
| 500 | export TEST_NAME="REPRO_2_8" |
---|
| 501 | . prepare_exe_dir.sh |
---|
| 502 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 503 | NPROC=16 |
---|
[3336] | 504 | \rm $JOB_FILE |
---|
[3294] | 505 | cd ${EXE_DIR} |
---|
[2675] | 506 | set_namelist namelist nn_it000 1 |
---|
[3294] | 507 | set_namelist namelist nn_itend 40 |
---|
[2716] | 508 | set_namelist namelist ln_clobber .true. |
---|
| 509 | set_namelist namelist jpni 2 |
---|
| 510 | set_namelist namelist jpnj 8 |
---|
| 511 | set_namelist namelist jpnij 16 |
---|
[3294] | 512 | set_namelist namelist_top ln_trcdta .false. |
---|
| 513 | set_namelist namelist_top ln_diatrc .false. |
---|
| 514 | # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false |
---|
[2675] | 515 | # if not you need input files, and for tests is not necessary |
---|
[3294] | 516 | set_namelist namelist_pisces ln_ironsed .false. |
---|
[2675] | 517 | set_namelist namelist_pisces ln_river .false. |
---|
| 518 | set_namelist namelist_pisces ln_ndepo .false. |
---|
[3294] | 519 | set_namelist namelist_pisces ln_dust .false. |
---|
| 520 | set_namelist namelist_pisces ln_presatm .false. |
---|
[2675] | 521 | cd ${SETTE_DIR} |
---|
[3336] | 522 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 523 | . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 524 | cd ${SETTE_DIR} |
---|
[3336] | 525 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[2675] | 526 | fi |
---|
| 527 | |
---|
[3294] | 528 | # TESTS FOR AMM12 CONFIGURATION |
---|
| 529 | if [ ${config} -eq 7 ] ; then |
---|
| 530 | ## Reproducibility tests for AMM12 |
---|
| 531 | export TEST_NAME="REPRO_8_4" |
---|
[2675] | 532 | cd ${SETTE_DIR} |
---|
[3294] | 533 | . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 -j 8 add_key "key_mpp_rep" |
---|
[2675] | 534 | cd ${SETTE_DIR} |
---|
| 535 | . param.cfg |
---|
| 536 | . all_functions.sh |
---|
[3294] | 537 | . prepare_exe_dir.sh |
---|
| 538 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 539 | NPROC=32 |
---|
[3336] | 540 | \rm $JOB_FILE |
---|
[3294] | 541 | cd ${EXE_DIR} |
---|
[2675] | 542 | set_namelist namelist nn_it000 1 |
---|
[3294] | 543 | set_namelist namelist nn_itend 576 |
---|
[2675] | 544 | set_namelist namelist nn_fwb 0 |
---|
| 545 | set_namelist namelist ln_ctl .false. |
---|
[2716] | 546 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 547 | set_namelist namelist nn_dyn2d 2 |
---|
| 548 | set_namelist namelist nn_tra_dta 0 |
---|
| 549 | set_namelist namelist jpni 8 |
---|
[2716] | 550 | set_namelist namelist jpnj 4 |
---|
[3294] | 551 | set_namelist namelist jpnij 32 |
---|
[2675] | 552 | cd ${SETTE_DIR} |
---|
[3336] | 553 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 554 | . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
[2675] | 555 | cd ${SETTE_DIR} |
---|
[3336] | 556 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[3294] | 557 | |
---|
| 558 | cd ${SETTE_DIR} |
---|
| 559 | export TEST_NAME="REPRO_4_8" |
---|
| 560 | . prepare_exe_dir.sh |
---|
| 561 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 562 | NPROC=32 |
---|
[3336] | 563 | \rm $JOB_FILE |
---|
[3294] | 564 | cd ${EXE_DIR} |
---|
[2675] | 565 | set_namelist namelist nn_it000 1 |
---|
[3294] | 566 | set_namelist namelist nn_itend 576 |
---|
[2675] | 567 | set_namelist namelist nn_fwb 0 |
---|
| 568 | set_namelist namelist ln_ctl .false. |
---|
[3294] | 569 | set_namelist namelist nn_dyn2d 2 |
---|
| 570 | set_namelist namelist nn_tra_dta 0 |
---|
[2716] | 571 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 572 | set_namelist namelist jpni 4 |
---|
| 573 | set_namelist namelist jpnj 8 |
---|
| 574 | set_namelist namelist jpnij 32 |
---|
[2675] | 575 | cd ${SETTE_DIR} |
---|
[3336] | 576 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 577 | . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 578 | cd ${SETTE_DIR} |
---|
[3336] | 579 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[2675] | 580 | fi |
---|
| 581 | |
---|
[3294] | 582 | if [ ${config} -eq 8 ] ; then |
---|
| 583 | ## Restartability tests for AMM12 |
---|
| 584 | export TEST_NAME="LONG" |
---|
[2732] | 585 | cd ${SETTE_DIR} |
---|
[3294] | 586 | . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12 -j 8 add_key "key_mpp_rep" |
---|
[2732] | 587 | cd ${SETTE_DIR} |
---|
| 588 | . param.cfg |
---|
| 589 | . all_functions.sh |
---|
[3294] | 590 | . prepare_exe_dir.sh |
---|
| 591 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 592 | NPROC=32 |
---|
[3336] | 593 | \rm $JOB_FILE |
---|
[3294] | 594 | cd ${EXE_DIR} |
---|
[2732] | 595 | set_namelist namelist nn_it000 1 |
---|
[3294] | 596 | set_namelist namelist nn_itend 12 |
---|
| 597 | set_namelist namelist nn_stock 6 |
---|
| 598 | set_namelist namelist nn_fwb 0 |
---|
[2732] | 599 | set_namelist namelist ln_ctl .false. |
---|
| 600 | set_namelist namelist ln_clobber .true. |
---|
[3294] | 601 | set_namelist namelist nn_dyn2d 2 |
---|
| 602 | set_namelist namelist nn_tra_dta 0 |
---|
| 603 | set_namelist namelist jpni 8 |
---|
| 604 | set_namelist namelist jpnj 4 |
---|
| 605 | set_namelist namelist jpnij 32 |
---|
[2732] | 606 | cd ${SETTE_DIR} |
---|
[3336] | 607 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 608 | . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
[3336] | 609 | cd ${SETTE_DIR} |
---|
| 610 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[3294] | 611 | |
---|
| 612 | cd ${SETTE_DIR} |
---|
| 613 | export TEST_NAME="SHORT" |
---|
| 614 | . prepare_exe_dir.sh |
---|
| 615 | cd ${EXE_DIR} |
---|
| 616 | set_namelist namelist nn_it000 7 |
---|
| 617 | set_namelist namelist nn_itend 12 |
---|
| 618 | set_namelist namelist nn_fwb 0 |
---|
| 619 | set_namelist namelist ln_ctl .false. |
---|
| 620 | set_namelist namelist ln_clobber .true. |
---|
| 621 | set_namelist namelist nn_dyn2d 2 |
---|
| 622 | set_namelist namelist nn_tra_dta 0 |
---|
| 623 | set_namelist namelist jpni 8 |
---|
| 624 | set_namelist namelist jpnj 4 |
---|
| 625 | set_namelist namelist jpnij 32 |
---|
| 626 | set_namelist namelist ln_rstart .true. |
---|
| 627 | set_namelist namelist nn_rstctl 2 |
---|
| 628 | set_namelist namelist cn_ocerst_in \"../LONG/AMM12_00000006_restart\" |
---|
| 629 | cd ${SETTE_DIR} |
---|
[3336] | 630 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 631 | . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 632 | cd ${SETTE_DIR} |
---|
[3336] | 633 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[2732] | 634 | fi |
---|
| 635 | |
---|
[3294] | 636 | # TEST FOR ORCA2_LIM_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests) |
---|
| 637 | if [ ${config} -eq 9 ] ; then |
---|
[2732] | 638 | ## ORCA2_LIM with Agulhas AGRIF zoom in MPI |
---|
[3294] | 639 | export TEST_NAME="SHORT" |
---|
[2732] | 640 | cd ${SETTE_DIR} |
---|
[3294] | 641 | . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2AGUL_1_2 -r ORCA2_LIM -j 8 add_key "key_mpp_rep key_mpp_mpi key_agrif" del_key "key_zdftmx" |
---|
[2732] | 642 | cd ${SETTE_DIR} |
---|
| 643 | . param.cfg |
---|
| 644 | . all_functions.sh |
---|
[3294] | 645 | . prepare_exe_dir.sh |
---|
| 646 | JOB_FILE=${EXE_DIR}/run_job.sh |
---|
| 647 | NPROC=2 |
---|
[3336] | 648 | \rm $JOB_FILE |
---|
[3294] | 649 | cd ${EXE_DIR} |
---|
[2732] | 650 | set_namelist namelist nn_it000 1 |
---|
| 651 | set_namelist namelist nn_itend 75 |
---|
| 652 | set_namelist namelist ln_ctl .false. |
---|
| 653 | set_namelist namelist ln_clobber .true. |
---|
| 654 | set_namelist namelist jpni 1 |
---|
| 655 | set_namelist namelist jpnj 2 |
---|
[3294] | 656 | set_namelist namelist jpnij 2 |
---|
[2732] | 657 | set_namelist 1_namelist nn_it000 1 |
---|
| 658 | set_namelist 1_namelist nn_itend 150 |
---|
| 659 | set_namelist 1_namelist ln_ctl .false. |
---|
| 660 | set_namelist 1_namelist ln_clobber .true. |
---|
| 661 | cd ${SETTE_DIR} |
---|
[3336] | 662 | cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit |
---|
[3294] | 663 | . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} $MPIRUN_FLAG $JOB_FILE |
---|
| 664 | cd ${SETTE_DIR} |
---|
[3336] | 665 | . ./fcm_job.sh $NPROC $JOB_FILE $INTERACT_FLAG $MPIRUN_FLAG |
---|
[2732] | 666 | fi |
---|
| 667 | |
---|
[2675] | 668 | done |
---|