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 4921 for branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/SETTE/sette_xios.sh – NEMO

Ignore:
Timestamp:
2014-11-28T14:59:01+01:00 (9 years ago)
Author:
timgraham
Message:

merged with revision 4879 of trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/SETTE/sette_xios.sh

    r4373 r4921  
    11#!/bin/bash 
    22############################################################ 
    3 # Author : Simona Flavoni for NEMO 
    4 # Contact: sflod@locean-ipsl.upmc.fr 
    5 # 2013   : A.C. Coward added options for testing with XIOS in dettached mode 
    6 # 
    7 # sette.sh   : principal script of SET TEsts for NEMO (SETTE) 
     3# Author : Italo Epicoco - CMCC 
     4# Contact: italo.epicoco@unisalento.it 
     5# 2014   : A.C. Coward added new namelist settings for GYRE configuration 
     6# 
     7# sette_xios.sh   : additional script of SET TEsts for XIOS within NEMO 
    88# ---------------------------------------------------------------------- 
    9 # NEMO/SETTE , NEMO Consortium (2010) 
     9# NEMO/SETTE , NEMO Consortium (2014) 
    1010# Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    1111# ---------------------------------------------------------------------- 
     
    2929# MPIRUN_FLAG       : flag to run in parallel (MPI) "yes" 
    3030#                           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 
    3431# 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  
     32#                      "true" to run in MPMD (detached) mode with stand-alone IO servers 
     33#                      "false"  to run in SPMD (attached) mode without separate IO servers  
    3834# NUM_XIOSERVERS    : number of stand-alone IO servers to employ 
    39 #                     set to zero if USING_MPMD="no" 
    40 # 
    41 # Principal script is sette.sh, that calls  
     35#                     set to zero if USING_MPMD="false" 
     36# 
     37# Principal script is sette_xios.sh, that calls  
    4238# 
    4339#  makenemo  : to create successive exectuables in ${CONFIG_NAME}/BLD/bin/nemo.exe  
     
    8177#        executed commands 
    8278# 
    83 #  NOTE: if sette.sh is stopped in output.sette there is written the last command  
    84 #        executed by sette.sh 
    85 # 
    86 # example use: ./sette.sh  
     79#  NOTE: if sette_xios.sh is stopped in output.sette there is written the last command  
     80#        executed by sette_xios.sh 
     81# 
     82# example use: ./sette_xios.sh  
    8783######################################################################################### 
    8884# 
     
    10399 
    104100CMP_NAM=${1:-$COMPILER} 
     101# 
     102#================================================================================= 
    105103# Copy job_batch_COMPILER file for specific compiler into job_batch_template 
     104# Note this batch template needs to be capable of launching both SPMD and MPMD 
     105# tasks with internal selection depending on the value of NUM_XIOSERVERS 
     106# (0=SPMD; >0 = MPMD) 
     107#================================================================================= 
     108# 
    106109cd ${SETTE_DIR} 
    107110cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit 
    108111 
    109 for config in  
     112for config in 1  
    110113 
    111114do 
    112115 
    113 # TESTS FOR GYRE CONFIGURATION 
     116#========================================================== 
     117# TESTS FOR XIOS USING GYRE CONFIGURATION AT LOW RESOLUTION 
     118#========================================================== 
     119 
    114120if [ ${config} -eq 1 ] ;  then 
    115     ## Restartability tests for GYRE 
     121    ## Test of XIOS configured in attached mode with multiple output files (one for each process).  
     122    ## $NPROC processes are used  
    116123 
    117124    NPROC=4 
     125    jp_cfg=1 
     126    jpni=2 
     127    jpnj=2 
    118128    export NUM_XIOSERVERS=0 
    119129    export USING_MPMD="false" 
     
    124134    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_XIOS_LR -r GYRE_XIOS -j 8  
    125135    cd ${SETTE_DIR} 
    126     . param.cfg 
    127     . all_functions.sh 
    128     . prepare_exe_dir.sh 
     136    . ./param.cfg 
     137    . ./all_functions.sh 
     138    . ./prepare_exe_dir.sh 
    129139    JOB_FILE=${EXE_DIR}/run_job.sh 
    130140    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     
    133143    set_namelist namelist_cfg nn_it000 1 
    134144    set_namelist namelist_cfg nn_itend 120 
    135     set_namelist namelist_cfg nn_stock 60 
    136     set_namelist namelist_cfg ln_clobber .true. 
    137     set_namelist namelist_cfg jp_cfg 1 
    138     set_namelist namelist_cfg jpni 2 
    139     set_namelist namelist_cfg jpnj 2 
     145    set_namelist namelist_cfg nn_stock 120 
     146    set_namelist namelist_cfg ln_clobber .true. 
     147    set_namelist namelist_cfg jp_cfg $jp_cfg 
     148    set_namelist namelist_cfg jpidta $(( $jp_cfg * 30 + 2 )) 
     149    set_namelist namelist_cfg jpjdta $(( $jp_cfg * 20 + 2 )) 
     150    set_namelist namelist_cfg jpiglo $(( $jp_cfg * 30 + 2 )) 
     151    set_namelist namelist_cfg jpjglo $(( $jp_cfg * 20 + 2 )) 
     152    set_namelist namelist_cfg jpni $jpni 
     153    set_namelist namelist_cfg jpnj $jpnj 
    140154    set_namelist namelist_cfg jpnij $NPROC 
    141155 
     
    149163    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
    150164 
     165 
     166    ## Test of XIOS configured in attached mode with a single output file.  
    151167 
    152168    export TEST_NAME="ATTACHED_ONE" 
     
    154170    export USING_MPMD="false" 
    155171    cd ${SETTE_DIR}  
    156     . prepare_exe_dir.sh 
     172    . ./prepare_exe_dir.sh 
    157173    JOB_FILE=${EXE_DIR}/run_job.sh 
    158174    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     
    161177    set_namelist namelist_cfg nn_it000 1 
    162178    set_namelist namelist_cfg nn_itend 120 
    163     set_namelist namelist_cfg nn_stock 60 
    164     set_namelist namelist_cfg ln_clobber .true. 
    165     set_namelist namelist_cfg jp_cfg 1 
    166     set_namelist namelist_cfg jpni 2 
    167     set_namelist namelist_cfg jpnj 2 
     179    set_namelist namelist_cfg nn_stock 120 
     180    set_namelist namelist_cfg ln_clobber .true. 
     181    set_namelist namelist_cfg jp_cfg $jp_cfg 
     182    set_namelist namelist_cfg jpidta $(( $jp_cfg * 30 + 2 )) 
     183    set_namelist namelist_cfg jpjdta $(( $jp_cfg * 20 + 2 )) 
     184    set_namelist namelist_cfg jpiglo $(( $jp_cfg * 30 + 2 )) 
     185    set_namelist namelist_cfg jpjglo $(( $jp_cfg * 20 + 2 )) 
     186    set_namelist namelist_cfg jpni $jpni 
     187    set_namelist namelist_cfg jpnj $jpnj 
    168188    set_namelist namelist_cfg jpnij $NPROC 
    169189 
     
    177197    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
    178198 
     199 
     200    ## Test of XIOS configured in detached mode with a single output file.  
     201    ## $NUM_XIOSERVERS IO server are used. 
     202    ## the total number of allocated cores is $NUM_XIOSERVERS + $NPROC  
    179203 
    180204    export TEST_NAME="DETACHED_ONE" 
     
    182206    export USING_MPMD="true" 
    183207    cd ${SETTE_DIR} 
    184     . prepare_exe_dir.sh 
     208# 
     209    . ./prepare_exe_dir.sh 
    185210    JOB_FILE=${EXE_DIR}/run_job.sh 
    186211    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     
    189214    set_namelist namelist_cfg nn_it000 1 
    190215    set_namelist namelist_cfg nn_itend 120 
    191     set_namelist namelist_cfg nn_stock 60 
    192     set_namelist namelist_cfg ln_clobber .true. 
    193     set_namelist namelist_cfg jp_cfg 1 
    194     set_namelist namelist_cfg jpni 2 
    195     set_namelist namelist_cfg jpnj 2 
     216    set_namelist namelist_cfg nn_stock 120 
     217    set_namelist namelist_cfg ln_clobber .true. 
     218    set_namelist namelist_cfg jp_cfg $jp_cfg 
     219    set_namelist namelist_cfg jpidta $(( $jp_cfg * 30 + 2 )) 
     220    set_namelist namelist_cfg jpjdta $(( $jp_cfg * 20 + 2 )) 
     221    set_namelist namelist_cfg jpiglo $(( $jp_cfg * 30 + 2 )) 
     222    set_namelist namelist_cfg jpjglo $(( $jp_cfg * 20 + 2 )) 
     223    set_namelist namelist_cfg jpni $jpni 
     224    set_namelist namelist_cfg jpnj $jpnj 
    196225    set_namelist namelist_cfg jpnij $NPROC 
    197226 
     
    204233    cd ${SETTE_DIR} 
    205234    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     235 
     236    ## Test of XIOS configured in detached mode with multiple output files (one for each IO server).  
     237    ## $NUM_XIOSERVERS IO server are used. 
     238    ## the total number of allocated cores is $NUM_XIOSERVERS + $NPROC  
     239 
    206240 
    207241    export TEST_NAME="DETACHED_MULTIPLE" 
     
    209243    export USING_MPMD="true" 
    210244    cd ${SETTE_DIR} 
    211     . prepare_exe_dir.sh 
     245    . ./prepare_exe_dir.sh 
    212246    JOB_FILE=${EXE_DIR}/run_job.sh 
    213247    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     
    216250    set_namelist namelist_cfg nn_it000 1 
    217251    set_namelist namelist_cfg nn_itend 120 
    218     set_namelist namelist_cfg nn_stock 60 
    219     set_namelist namelist_cfg ln_clobber .true. 
    220     set_namelist namelist_cfg jp_cfg 1 
    221     set_namelist namelist_cfg jpni 2 
    222     set_namelist namelist_cfg jpnj 2 
     252    set_namelist namelist_cfg nn_stock 120 
     253    set_namelist namelist_cfg ln_clobber .true. 
     254    set_namelist namelist_cfg jp_cfg $jp_cfg 
     255    set_namelist namelist_cfg jpidta $(( $jp_cfg * 30 + 2 )) 
     256    set_namelist namelist_cfg jpjdta $(( $jp_cfg * 20 + 2 )) 
     257    set_namelist namelist_cfg jpiglo $(( $jp_cfg * 30 + 2 )) 
     258    set_namelist namelist_cfg jpjglo $(( $jp_cfg * 20 + 2 )) 
     259    set_namelist namelist_cfg jpni $jpni 
     260    set_namelist namelist_cfg jpnj $jpnj 
    223261    set_namelist namelist_cfg jpnij $NPROC 
    224262 
     
    234272fi 
    235273 
     274#========================================================== 
     275# TESTS FOR XIOS USING GYRE CONFIGURATION AT HIGH RESOLUTION 
     276#========================================================== 
     277 
    236278if [ ${config} -eq 2 ] ;  then 
    237     ## Restartability tests for GYRE 
    238  
    239     NPROC=152 
     279    ## Test of XIOS configured in attached mode with multiple output files (one for each process).  
     280    ## $NPROC processes are used  
     281 
     282    NPROC=64 
     283    jp_cfg=30 
     284    jpni=8 
     285    jpnj=8 
    240286    export NUM_XIOSERVERS=0 
    241287    export USING_MPMD="false" 
     
    246292    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_XIOS_HR -r GYRE_XIOS -j 8 
    247293    cd ${SETTE_DIR} 
    248     . param.cfg 
    249     . all_functions.sh 
    250     . prepare_exe_dir.sh 
     294# 
     295    . ./param.cfg 
     296    . ./all_functions.sh 
     297    . ./prepare_exe_dir.sh 
     298# 
    251299    JOB_FILE=${EXE_DIR}/run_job.sh 
    252300    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     
    258306    set_namelist namelist_cfg nn_bench 1 
    259307    set_namelist namelist_cfg ln_clobber .true. 
    260     set_namelist namelist_cfg jp_cfg 144 
    261     set_namelist namelist_cfg jpni 19 
    262     set_namelist namelist_cfg jpnj 8 
     308    set_namelist namelist_cfg jp_cfg $jp_cfg 
     309    set_namelist namelist_cfg jpidta $(( $jp_cfg * 30 + 2 )) 
     310    set_namelist namelist_cfg jpjdta $(( $jp_cfg * 20 + 2 )) 
     311    set_namelist namelist_cfg jpiglo $(( $jp_cfg * 30 + 2 )) 
     312    set_namelist namelist_cfg jpjglo $(( $jp_cfg * 20 + 2 )) 
     313    set_namelist namelist_cfg jpni $jpni 
     314    set_namelist namelist_cfg jpnj $jpnj 
    263315    set_namelist namelist_cfg jpnij $NPROC 
    264316 
     
    273325 
    274326 
     327    ## Test of XIOS configured in attached mode with a single output file.  
    275328 
    276329    export TEST_NAME="ATTACHED_ONE" 
     
    278331    export USING_MPMD="false" 
    279332    cd ${SETTE_DIR} 
    280     . prepare_exe_dir.sh 
     333# 
     334    . ./prepare_exe_dir.sh 
     335# 
    281336    JOB_FILE=${EXE_DIR}/run_job.sh 
    282337    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     
    288343    set_namelist namelist_cfg nn_bench 1 
    289344    set_namelist namelist_cfg ln_clobber .true. 
    290     set_namelist namelist_cfg jp_cfg 144 
    291     set_namelist namelist_cfg jpni 19 
    292     set_namelist namelist_cfg jpnj 8 
     345    set_namelist namelist_cfg jp_cfg $jp_cfg 
     346    set_namelist namelist_cfg jpidta $(( $jp_cfg * 30 + 2 )) 
     347    set_namelist namelist_cfg jpjdta $(( $jp_cfg * 20 + 2 )) 
     348    set_namelist namelist_cfg jpiglo $(( $jp_cfg * 30 + 2 )) 
     349    set_namelist namelist_cfg jpjglo $(( $jp_cfg * 20 + 2 )) 
     350    set_namelist namelist_cfg jpni $jpni 
     351    set_namelist namelist_cfg jpnj $jpnj 
    293352    set_namelist namelist_cfg jpnij $NPROC 
    294353 
     
    301360    cd ${SETTE_DIR} 
    302361    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     362 
     363 
     364    ## Test of XIOS configured in detached mode with a single output file.  
     365    ## $NUM_XIOSERVERS IO server are used. 
     366    ## the total number of allocated cores is $NUM_XIOSERVERS + $NPROC  
    303367 
    304368    export TEST_NAME="DETACHED_ONE" 
     
    306370    export USING_MPMD="true" 
    307371    cd ${SETTE_DIR} 
    308     . prepare_exe_dir.sh 
     372# 
     373    . ./prepare_exe_dir.sh 
     374# 
    309375    JOB_FILE=${EXE_DIR}/run_job.sh 
    310376    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     
    316382    set_namelist namelist_cfg nn_bench 1 
    317383    set_namelist namelist_cfg ln_clobber .true. 
    318     set_namelist namelist_cfg jp_cfg 144 
    319     set_namelist namelist_cfg jpni 19 
    320     set_namelist namelist_cfg jpnj 8 
     384    set_namelist namelist_cfg jp_cfg $jp_cfg 
     385    set_namelist namelist_cfg jpidta $(( $jp_cfg * 30 + 2 )) 
     386    set_namelist namelist_cfg jpjdta $(( $jp_cfg * 20 + 2 )) 
     387    set_namelist namelist_cfg jpiglo $(( $jp_cfg * 30 + 2 )) 
     388    set_namelist namelist_cfg jpjglo $(( $jp_cfg * 20 + 2 )) 
     389    set_namelist namelist_cfg jpni $jpni 
     390    set_namelist namelist_cfg jpnj $jpnj 
    321391    set_namelist namelist_cfg jpnij $NPROC 
    322392 
     
    329399    cd ${SETTE_DIR} 
    330400    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     401 
     402    ## Test of XIOS configured in detached mode with multiple output files (one for each IO server).  
     403    ## $NUM_XIOSERVERS IO server are used. 
     404    ## the total number of allocated cores is $NUM_XIOSERVERS + $NPROC  
    331405 
    332406    export TEST_NAME="DETACHED_MULTIPLE" 
     
    334408    export USING_MPMD="true" 
    335409    cd ${SETTE_DIR} 
    336     . prepare_exe_dir.sh 
     410    . ./prepare_exe_dir.sh 
    337411    JOB_FILE=${EXE_DIR}/run_job.sh 
    338412    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
     
    344418    set_namelist namelist_cfg nn_bench 1 
    345419    set_namelist namelist_cfg ln_clobber .true. 
    346     set_namelist namelist_cfg jp_cfg 144 
    347     set_namelist namelist_cfg jpni 19 
    348     set_namelist namelist_cfg jpnj 8 
     420    set_namelist namelist_cfg jp_cfg $jp_cfg 
     421    set_namelist namelist_cfg jpidta $(( $jp_cfg * 30 + 2 )) 
     422    set_namelist namelist_cfg jpjdta $(( $jp_cfg * 20 + 2 )) 
     423    set_namelist namelist_cfg jpiglo $(( $jp_cfg * 30 + 2 )) 
     424    set_namelist namelist_cfg jpjglo $(( $jp_cfg * 20 + 2 )) 
     425    set_namelist namelist_cfg jpni $jpni 
     426    set_namelist namelist_cfg jpnj $jpnj 
    349427    set_namelist namelist_cfg jpnij $NPROC 
    350428 
Note: See TracChangeset for help on using the changeset viewer.