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.
Changeset 5589 for trunk/NEMOGCM – NEMO

Changeset 5589 for trunk/NEMOGCM


Ignore:
Timestamp:
2015-07-10T17:34:26+02:00 (9 years ago)
Author:
jchanut
Message:

Add AGRIF optional SETTE tests, #1569

Location:
trunk/NEMOGCM/SETTE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/SETTE/sette.sh

    r5561 r5589  
    140140# SAS             :11 & 12 
    141141# ISOMIP          :13 & 14 
    142 # ORCA2_LIM_OBS:   15 
    143 # ORCA2_AGRIF_LIM :16 
     142# ORCA2_LIM_OBS   :15 
     143# ORCA2_AGRIF_LIM :16 & 17  
     144#                  18 & 19  
    144145for config in  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
    145146 
     
    12371238    set_namelist namelist_cfg jpnj 2 
    12381239    set_namelist namelist_cfg jpnij 2 
     1240# 
    12391241    set_namelist 1_namelist_cfg nn_it000 1 
    12401242    set_namelist 1_namelist_cfg nn_itend 150 
    12411243    set_namelist 1_namelist_cfg ln_ctl .false. 
    12421244    set_namelist 1_namelist_cfg ln_clobber .true. 
     1245 
    12431246    if [ ${USING_MPMD} == "yes" ] ; then 
    12441247       set_xio_using_server iodef.xml true 
     
    12521255fi 
    12531256 
     1257# test code corruption with AGRIF 
     1258# Compile and run with or without AGRIF ORCA2_LIM 
     1259if [ ${config} -eq 17 ] ;  then 
     1260    # First run same as 16 but without zoom 
     1261    export TEST_NAME="SHORT_NOZOOM" 
     1262    cd ${CONFIG_DIR} 
     1263    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_2_2 -r ORCA2_LIM -j 8 add_key "key_mpp_rep key_agrif" del_key "key_zdftmx" del_key ${DEL_KEYS} 
     1264    cd ${SETTE_DIR} 
     1265    . ./param.cfg 
     1266    . ./all_functions.sh 
     1267    . ./prepare_exe_dir.sh 
     1268    JOB_FILE=${EXE_DIR}/run_job.sh 
     1269    NPROC=4 
     1270    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     1271    cd ${EXE_DIR} 
     1272    set_namelist namelist_cfg nn_it000 1 
     1273    set_namelist namelist_cfg nn_itend 75 
     1274    set_namelist namelist_cfg ln_ctl .false. 
     1275    set_namelist namelist_cfg ln_clobber .true. 
     1276    set_namelist namelist_cfg nn_fwb 0 
     1277    set_namelist namelist_cfg jpni 2 
     1278    set_namelist namelist_cfg jpnj 2 
     1279    set_namelist namelist_cfg jpnij 4 
     1280#  
     1281#   Set the number of fine grids to zero:     
     1282    sed -i "1s/.*/0/" ${EXE_DIR}/AGRIF_FixedGrids.in 
     1283 
     1284    if [ ${USING_MPMD} == "yes" ] ; then 
     1285       set_xio_using_server iodef.xml true 
     1286    else 
     1287       set_xio_using_server iodef.xml false 
     1288    fi 
     1289    cd ${SETTE_DIR} 
     1290    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
     1291    cd ${SETTE_DIR} 
     1292    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     1293 
     1294    export TEST_NAME="SHORT_NOAGRIF" 
     1295    cd ${CONFIG_DIR} 
     1296    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_2_2_NAG -r ORCA2_LIM -j 8 add_key "key_mpp_rep" del_key "key_zdftmx" del_key ${DEL_KEYS} 
     1297    cd ${SETTE_DIR} 
     1298    . ./param.cfg 
     1299    . ./all_functions.sh 
     1300    . ./prepare_exe_dir.sh 
     1301    JOB_FILE=${EXE_DIR}/run_job.sh 
     1302    NPROC=4 
     1303    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     1304    cd ${EXE_DIR} 
     1305    set_namelist namelist_cfg nn_it000 1 
     1306    set_namelist namelist_cfg nn_itend 75 
     1307    set_namelist namelist_cfg ln_ctl .false. 
     1308    set_namelist namelist_cfg ln_clobber .true. 
     1309    set_namelist namelist_cfg nn_fwb 0 
     1310    set_namelist namelist_cfg jpni 2 
     1311    set_namelist namelist_cfg jpnj 2 
     1312    set_namelist namelist_cfg jpnij 4 
     1313# 
     1314    if [ ${USING_MPMD} == "yes" ] ; then 
     1315       set_xio_using_server iodef.xml true 
     1316    else 
     1317       set_xio_using_server iodef.xml false 
     1318    fi 
     1319    cd ${SETTE_DIR} 
     1320    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
     1321    cd ${SETTE_DIR} 
     1322    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     1323 
     1324fi 
     1325 
     1326## Restartability tests for ORCA2_LIM_AGRIF  
     1327if [ ${config} -eq 18 ] ;  then 
     1328    export TEST_NAME="LONG" 
     1329    cd ${CONFIG_DIR} 
     1330    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_LONG -r ORCA2_LIM -j 8 add_key "key_mpp_rep key_agrif" del_key "key_zdftmx" del_key ${DEL_KEYS} 
     1331    cd ${SETTE_DIR} 
     1332    . ./param.cfg 
     1333    . ./all_functions.sh 
     1334    . ./prepare_exe_dir.sh 
     1335    JOB_FILE=${EXE_DIR}/run_job.sh 
     1336    NPROC=4 
     1337    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     1338    cd ${EXE_DIR} 
     1339    set_namelist namelist_cfg cn_exp \"O2LP_LONG\" 
     1340    set_namelist namelist_cfg nn_it000 1 
     1341    set_namelist namelist_cfg nn_itend 150 
     1342    set_namelist namelist_cfg nn_stock 75 
     1343    set_namelist namelist_cfg ln_clobber .true. 
     1344    set_namelist namelist_cfg nn_fwb 0 
     1345    set_namelist namelist_cfg jpni 2 
     1346    set_namelist namelist_cfg jpnj 2 
     1347    set_namelist namelist_cfg jpnij 4 
     1348    set_namelist namelist_cfg nn_solv 2 
     1349# 
     1350    set_namelist 1_namelist_cfg cn_exp \"O2LP_LONG\" 
     1351    set_namelist 1_namelist_cfg nn_it000 1 
     1352    set_namelist 1_namelist_cfg nn_itend 300 
     1353    set_namelist 1_namelist_cfg nn_stock 150 
     1354    set_namelist 1_namelist_cfg ln_ctl .false. 
     1355    set_namelist 1_namelist_cfg ln_clobber .true. 
     1356# 
     1357    if [ ${USING_MPMD} == "yes" ] ; then 
     1358       set_xio_using_server iodef.xml true 
     1359    else 
     1360       set_xio_using_server iodef.xml false 
     1361    fi 
     1362    cd ${SETTE_DIR} 
     1363    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
     1364     
     1365    cd ${SETTE_DIR} 
     1366    export TEST_NAME="SHORT" 
     1367    . ./prepare_exe_dir.sh 
     1368    cd ${EXE_DIR} 
     1369    set_namelist namelist_cfg cn_exp \"O2LP_SHORT\" 
     1370    set_namelist namelist_cfg nn_it000 76 
     1371    set_namelist namelist_cfg nn_itend 150 
     1372    set_namelist namelist_cfg nn_stock 75 
     1373    set_namelist namelist_cfg ln_rstart .true. 
     1374    set_namelist namelist_cfg nn_rstctl 2 
     1375    set_namelist namelist_cfg ln_clobber .true. 
     1376    set_namelist namelist_cfg nn_fwb 0 
     1377    set_namelist namelist_cfg jpni 2 
     1378    set_namelist namelist_cfg jpnj 2 
     1379 
     1380    set_namelist namelist_cfg jpnij 4 
     1381    set_namelist namelist_cfg nn_solv 2 
     1382    set_namelist 1_namelist_cfg cn_exp \"O2LP_SHORT\" 
     1383    set_namelist 1_namelist_cfg nn_it000 151 
     1384    set_namelist 1_namelist_cfg nn_itend 300 
     1385    set_namelist 1_namelist_cfg nn_stock 150 
     1386    set_namelist 1_namelist_cfg ln_rstart .true. 
     1387    set_namelist 1_namelist_cfg nn_rstctl 2 
     1388    set_namelist 1_namelist_cfg ln_clobber .true. 
     1389    set_namelist namelist_cfg cn_ocerst_in \"O2LP_LONG_00000075_restart\" 
     1390    set_namelist namelist_ice_cfg cn_icerst_in \"O2LP_LONG_00000075_restart_ice\" 
     1391 
     1392    set_namelist 1_namelist_cfg cn_ocerst_in \"O2LP_LONG_00000150_restart\" 
     1393 
     1394    for (( i=1; i<=$NPROC; i++)) ; do 
     1395        L_NPROC=$(( $i - 1 )) 
     1396        L_NPROC=`printf "%04d\n" ${L_NPROC}` 
     1397        ln -sf ../LONG/O2LP_LONG_00000075_restart_${L_NPROC}.nc . 
     1398        ln -sf ../LONG/O2LP_LONG_00000075_restart_ice_${L_NPROC}.nc . 
     1399        ln -sf ../LONG/1_O2LP_LONG_00000150_restart_${L_NPROC}.nc . 
     1400    done 
     1401    if [ ${USING_MPMD} == "yes" ] ; then 
     1402       set_xio_using_server iodef.xml true 
     1403    else 
     1404       set_xio_using_server iodef.xml false 
     1405    fi 
     1406    cd ${SETTE_DIR} 
     1407    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
     1408    cd ${SETTE_DIR} 
     1409    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     1410fi 
     1411 
     1412## Reproducibility tests for ORCA2_LIM_AGRIF 
     1413if [ ${config} -eq 19 ] ;  then 
     1414    export TEST_NAME="REPRO_4_4" 
     1415    cd ${CONFIG_DIR} 
     1416    . ./makenemo -m ${CMP_NAM} -n ORCA2AGUL_16 -r ORCA2_LIM -j 8 add_key "key_mpp_rep key_agrif" del_key "key_zdftmx" del_key ${DEL_KEYS} 
     1417    cd ${SETTE_DIR} 
     1418    . ./param.cfg 
     1419    . ./all_functions.sh 
     1420    . ./prepare_exe_dir.sh 
     1421    JOB_FILE=${EXE_DIR}/run_job.sh 
     1422    NPROC=16 
     1423    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     1424    cd ${EXE_DIR} 
     1425    set_namelist namelist_cfg nn_it000 1 
     1426    set_namelist namelist_cfg nn_itend 75 
     1427    set_namelist namelist_cfg ln_ctl .false. 
     1428    set_namelist namelist_cfg ln_clobber .true. 
     1429    set_namelist namelist_cfg nn_fwb 0 
     1430    set_namelist namelist_cfg jpni 4 
     1431    set_namelist namelist_cfg jpnj 4 
     1432    set_namelist namelist_cfg jpnij 16 
     1433    set_namelist namelist_cfg nn_solv 2 
     1434# 
     1435    set_namelist 1_namelist_cfg nn_it000 1 
     1436    set_namelist 1_namelist_cfg nn_itend 150 
     1437    set_namelist 1_namelist_cfg ln_ctl .false. 
     1438    set_namelist 1_namelist_cfg ln_clobber .true. 
     1439 
     1440    if [ ${USING_MPMD} == "yes" ] ; then 
     1441       set_xio_using_server iodef.xml true 
     1442    else 
     1443       set_xio_using_server iodef.xml false 
     1444    fi 
     1445    cd ${SETTE_DIR} 
     1446    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
     1447    cd ${SETTE_DIR} 
     1448    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     1449 
     1450    cd ${SETTE_DIR} 
     1451    export TEST_NAME="REPRO_2_8" 
     1452    . ./prepare_exe_dir.sh 
     1453    JOB_FILE=${EXE_DIR}/run_job.sh 
     1454    NPROC=16 
     1455    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     1456    cd ${EXE_DIR} 
     1457    set_namelist namelist_cfg nn_it000 1 
     1458    set_namelist namelist_cfg nn_itend 75 
     1459    set_namelist namelist_cfg ln_ctl .false. 
     1460    set_namelist namelist_cfg ln_clobber .true. 
     1461    set_namelist namelist_cfg nn_fwb 0 
     1462    set_namelist namelist_cfg jpni 2 
     1463    set_namelist namelist_cfg jpnj 8 
     1464    set_namelist namelist_cfg jpnij 16 
     1465    set_namelist namelist_cfg nn_solv 2 
     1466# 
     1467    set_namelist 1_namelist_cfg nn_it000 1 
     1468    set_namelist 1_namelist_cfg nn_itend 150 
     1469    set_namelist 1_namelist_cfg ln_ctl .false. 
     1470    set_namelist 1_namelist_cfg ln_clobber .true. 
     1471 
     1472    if [ ${USING_MPMD} == "yes" ] ; then 
     1473       set_xio_using_server iodef.xml true 
     1474    else 
     1475       set_xio_using_server iodef.xml false 
     1476    fi 
     1477    cd ${SETTE_DIR} 
     1478    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
     1479    cd ${SETTE_DIR} 
     1480    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     1481fi 
     1482 
    12541483done 
  • trunk/NEMOGCM/SETTE/sette_rpt

    r4991 r5589  
    440440  endif 
    441441 
     442 
     443  if ( -d ./WORCA2AGUL_LONG ) then 
     444    set dorv = `ls -1rtd ./WORCA2AGUL_LONG/{$mach}/* | tail -1l ` 
     445    set dorv = $dorv:t 
     446    set f1o = ./WORCA2AGUL_LONG/{$mach}/{$dorv}/LONG/ocean.output 
     447    set f1s = ./WORCA2AGUL_LONG/{$mach}/{$dorv}/LONG/solver.stat 
     448    set f2o = ./WORCA2AGUL_LONG/{$mach}/{$dorv}/SHORT/ocean.output 
     449    set f2s = ./WORCA2AGUL_LONG/{$mach}/{$dorv}/SHORT/solver.stat 
     450   
     451    set nl = `wc -l $f2s` 
     452    tail -$nl[1] $f1s > f1.tmp$$ 
     453    cmp -s f1.tmp$$ $f2s 
     454    if ( $status == 0 ) then 
     455      echo "ORCA2_LIM_AGRIF restartability  passed" 
     456    else 
     457      echo "ORCA2_LIM_AGRIF restartability  FAILED" 
     458      if ( $pass == 1 ) then 
     459        echo "<return> to view solver.stat differences" 
     460        set y = $< 
     461        sdiff f1.tmp$$ $f2s 
     462        echo "<return> to view ocean.output differences" 
     463        set y = $< 
     464        sdiff $f1o $f2o | grep "|" 
     465        echo "<return> to continue" 
     466        set y = $< 
     467      endif 
     468    endif 
     469    rm f1.tmp$$ 
     470  endif 
     471 
     472  if ( -d ./WORCA2AGUL_16 ) then 
     473    set dorv = `ls -1rtd ./WORCA2AGUL_16/{$mach}/* | tail -1l ` 
     474    set dorv = $dorv:t 
     475    set f1o = ./WORCA2AGUL_16/{$mach}/{$dorv}/REPRO_2_8/ocean.output 
     476    set f1s = ./WORCA2AGUL_16/{$mach}/{$dorv}/REPRO_2_8/solver.stat 
     477    set f2o = ./WORCA2AGUL_16/{$mach}/{$dorv}/REPRO_4_4/ocean.output 
     478    set f2s = ./WORCA2AGUL_16/{$mach}/{$dorv}/REPRO_4_4/solver.stat 
     479   
     480    cmp -s $f1s $f2s 
     481    if ( $status == 0 ) then 
     482      echo "ORCA2_LIM_AGRIF reproducibility passed" 
     483    else 
     484      echo "ORCA2_LIM_AGRIF reproducibility FAILED" 
     485      if ( $pass == 1 ) then 
     486        echo "<return> to view solver.stat differences" 
     487        set y = $< 
     488        sdiff $f1s $f2s 
     489        echo "<return> to view ocean.output differences" 
     490        set y = $< 
     491        sdiff $f1o $f2o | grep "|" 
     492        echo "<return> to continue" 
     493        set y = $< 
     494      endif 
     495    endif 
     496  endif 
     497 
     498  if ( -d ./WORCA2AGUL_2_2_NAG ) then 
     499    set dorv = `ls -1rtd ./WORCA2AGUL_2_2_NAG/{$mach}/* | tail -1l ` 
     500    set dorv = $dorv:t 
     501    set f1o = ./WORCA2AGUL_2_2_NAG/{$mach}/{$dorv}/SHORT_NOAGRIF/ocean.output 
     502    set f1s = ./WORCA2AGUL_2_2_NAG/{$mach}/{$dorv}/SHORT_NOAGRIF/solver.stat 
     503    set dorv = `ls -1rtd ./WORCA2AGUL_2_2/{$mach}/* | tail -1l ` 
     504    set dorv = $dorv:t 
     505    set f2o = ./WORCA2AGUL_2_2/{$mach}/{$dorv}/SHORT_NOZOOM/ocean.output 
     506    set f2s = ./WORCA2AGUL_2_2/{$mach}/{$dorv}/SHORT_NOZOOM/solver.stat 
     507   
     508    cmp -s $f1s $f2s 
     509    if ( $status == 0 ) then 
     510      echo "ORCA2_LIM_AGRIF code corruption test passed" 
     511    else 
     512      echo "ORCA2_LIM_AGRIF code corruption test FAILED" 
     513      if ( $pass == 1 ) then 
     514        echo "<return> to view solver.stat differences" 
     515        set y = $< 
     516        sdiff $f1s $f2s 
     517        echo "<return> to view ocean.output differences" 
     518        set y = $< 
     519        sdiff $f1o $f2o | grep "|" 
     520        echo "<return> to continue" 
     521        set y = $< 
     522      endif 
     523    endif 
     524  endif 
     525 
    442526  echo "<return> for second (more detailed) pass (y/n)" 
    443527  set y = $< 
Note: See TracChangeset for help on using the changeset viewer.