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 5034 for branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/SETTE/sette_beginner.sh – NEMO

Ignore:
Timestamp:
2015-01-15T14:48:42+01:00 (9 years ago)
Author:
andrewryan
Message:

merge with trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/SETTE/sette_beginner.sh

    r4147 r5034  
    44# Contact : sflod@locean-ipsl.upmc.fr 
    55# 
    6 # sette.sh   : principal script of SET TEsts for NEMO (SETTE) 
     6# sette_beginner.sh   : example of script of SET TEsts for NEMO (SETTE) 
    77# ---------------------------------------------------------------------- 
    88# NEMO/SETTE , NEMO Consortium (2010) 
     
    2121# =================== 
    2222# 
    23 # ---------------------------------------------- 
    24 # Set of tests for NEMO for beginners 
    25 # ---------------------------------------------- 
     23# COMPILER          : name of compiler as defined in NEMOGCM/ARCH directory  
     24# BATCH_COMMAND_PAR :  name of the command for submitting parallel batch jobs 
     25# BATCH_COMMAND_SEQ :  name of the command for submitting sequential batch jobs   
     26# INTERACT_FLAG     : flag to run in interactive mode "yes" 
     27#                           to run in batch mode "no" 
     28# MPIRUN_FLAG       : flag to run in parallel (MPI) "yes" 
     29#                           to run in sequential mode (NB_PROC = 1) "no" 
     30# USING_XIOS        : flag to control the activation of key_iomput 
     31#                      "yes" to compile using key_iomput and link to the external XIOS library 
     32#                      "no"  to compile without key_iomput and link to the old IOIPSL library 
     33# USING_MPMD        : flag to control the use of stand-alone IO servers 
     34#                     requires USING_XIOS="yes" 
     35#                      "yes" to run in MPMD (detached) mode with stand-alone IO servers 
     36#                      "no"  to run in SPMD (attached) mode without separate IO servers  
     37# NUM_XIOSERVERS    : number of stand-alone IO servers to employ 
     38#                     set to zero if USING_MPMD="no" 
    2639# 
    27 # SYNOPSIS 
    28 # ======== 
     40# Principal script is sette.sh, that calls  
    2941# 
    30 # :: 
     42#  makenemo  : to create successive exectuables in ${CONFIG_NAME}/BLD/bin/nemo.exe  
     43#              and links to opa in ${CONFIG_NAME}/EXP00) 
    3144# 
    32 $ ./sette_beginner.sh 
     45param.cfg : sets and loads following directories: 
    3346# 
    34 # DESCRIPTION 
    35 # =========== 
    36 # First simple example of how to use SETTE: create GYRE_SHORT configuration, compile it with 1 proc, and test it for a SHORT test: 5days 
    37 #- 
     47#   FORCING_DIR         : is the directory for forcing files (tarfile) 
     48#   INPUT_DIR           : is the directory for input files storing  
     49#   TMPDIR              : is the temporary directory (if needed) 
     50#   NEMO_VALIDATION_DIR : is the validation directory 
     51# 
     52#   (NOTE: this file is the same for all configrations to be tested with sette) 
     53# 
     54#   all_functions.sh : loads functions used by sette (note: new functions can be added here) 
     55#   set_namelist     : function declared in all_functions that sets namelist parameters  
     56#   post_test_tidyup : creates validation storage directory and copies required output files  
     57#                      (solver.stat and ocean.output) in it after execution of test. 
     58# 
     59#  VALIDATION tree is: 
     60# 
     61#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE) 
     62# 
     63#  prepare_exe_dir.sh : defines and creates directory where the test is executed 
     64#                       execution directory takes name of TEST_NAME defined for every test  
     65#                       in sette.sh. (each test in executed in its own directory) 
     66# 
     67#  prepare_job.sh     : to generate the script run_job.sh 
     68# 
     69#  fcm_job.sh         : run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes") 
     70#                        see sette.sh and BATCH_TEMPLATE directory 
     71# 
     72#  NOTE: jobs requiring initial or forcing data need to have an input_CONFIG.cfg in which  
     73#        can be found paths to the input tar file) 
     74#  NOTE: if job is not launched for any reason you have the executable ready in ${EXE_DIR}  
     75#        directory 
     76#  NOTE: the changed namelists are left in ${EXE_DIR} directory whereas original namelists  
     77#        remain in ${NEW_CONF}/EXP00 
     78#  
     79#  NOTE: a log file, output.sette, is created in ${SETTE_DIR} with the echoes of  
     80#        executed commands 
     81# 
     82#  NOTE: if sette.sh is stopped in output.sette there is written the last command  
     83#        executed by sette.sh 
     84# 
     85# example use: ./sette_beginner.sh  
     86######################################################################################### 
    3887# 
    3988# Compiler among those in NEMOGCM/ARCH 
    40 COMPILER=macport_osx 
     89COMPILER=x3750_ADA 
    4190export BATCH_COMMAND_PAR="llsubmit" 
    4291export BATCH_COMMAND_SEQ=$BATCH_COMMAND_PAR 
    4392export INTERACT_FLAG="yes" 
    4493export MPIRUN_FLAG="yes" 
     94 
     95export DEL_KEYS="key_iomput" 
     96if [ ${USING_XIOS} == "yes" ] 
     97 then  
     98   export DEL_KEYS="" 
     99fi 
     100 
     101# 
     102# Settings which control the use of stand alone servers (only relevant if using xios) 
     103# 
     104export USING_MPMD="no" 
     105export NUM_XIOSERVERS=4 
     106export JOB_PREFIX=batch-mpmd 
     107# 
     108if [ ${USING_MPMD} == "no" ]  
     109 then 
     110   export NUM_XIOSERVERS=0 
     111   export JOB_PREFIX=batch 
     112fi 
     113# 
     114# 
     115if [ ${USING_MPMD} == "yes" ] && [ ${USING_XIOS} == "no"] 
     116 then 
     117   echo "Incompatible choices. MPMD mode requires the XIOS server" 
     118   exit 
     119fi 
     120# 
    45121 
    46122# Directory to run the tests 
     
    54130# Copy job_batch_COMPILER file for specific compiler into job_batch_template 
    55131cd ${SETTE_DIR} 
    56 ##if [ ${INTERACT_FLAG} == no ] ;  then 
    57     cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit 
    58 ##fi  
     132cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit 
    59133 
    60134# Run for GYRE CONFIG 
     
    63137export TEST_NAME="SHORT_TEST" 
    64138cd ${CONFIG_DIR} 
    65 . ./makenemo -m ${CMP_NAM} -n GYRE_SHORT -r GYRE -j 10 add_key "key_mpp_mpi key_nosignedzero" 
     139. ./makenemo -m ${CMP_NAM} -n GYRE_SHORT -r GYRE -j 10 add_key "key_nosignedzero" del_key ${DEL_KEYS} 
    66140cd ${SETTE_DIR} 
    67 . param.cfg  
    68 . all_functions.sh 
     141. ./param.cfg  
     142. ./all_functions.sh 
     143. ./prepare_exe_dir.sh 
    69144# creation of execution directory 
    70 . prepare_exe_dir.sh 
    71145JOB_FILE=${EXE_DIR}/run_job.sh 
     146# setting number of procs used 
    72147NPROC=4 
    73 \rm $JOB_FILE 
     148if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    74149cd ${EXE_DIR} 
    75150# setting namelist parameters 
     
    82157# frequency of creation of a restart file 
    83158set_namelist namelist_cfg nn_stock 60 
    84  
     159if [ ${USING_MPMD} == "yes" ] ; then 
     160      set_xio_using_server iodef.xml true 
     161   else 
     162      set_xio_using_server iodef.xml false 
     163fi 
    85164cd ${SETTE_DIR} 
    86 . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     165. ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    87166# run job, with 4 processors, test named SHORT (= 60 time steps) 
    88167cd ${SETTE_DIR}    
Note: See TracChangeset for help on using the changeset viewer.