Skip to content
Snippets Groups Projects
batch-X64_AA_INTEL_OMPI 2.82 KiB
Newer Older
#!/usr/bin/env bash

#SBATCH -J sette
#SBATCH -o sette.%j.out
#SBATCH -e sette.%j.err
#SBATCH -N 1
#SBATCH --time=0-00:20:00
#SBATCH --account=frtomerc
#SBATCH --partition=par
#SBATCH --qos=np
##SBATCH --ntasks=NPROCS
#SBATCH --ntasks=TOTAL_NPROCS

set -x

# Test specific settings. Do not hand edit these lines; the fcm_job.sh script will set these
# (via sed operating on this template job file). 
#
  echo " ";
  OCORES=NPROCS
  XCORES=NXIOPROCS
  O_PER_NODE=32
  X_PER_NODE=8
  if [ $XCORES -le $X_PER_NODE ]; then X_PER_NODE=$XCORES; fi
  if [ $OCORES -le $O_PER_NODE ]; then O_PER_NODE=$OCORES; fi
  export SETTE_DIR=DEF_SETTE_DIR

###############################################################
#
export MPIRUN="srun"
#
# load sette functions (only post_test_tidyup needed)
#
  . ${SETTE_DIR}/all_functions.sh
###############################################################
#
# modules to load
module purge &> /dev/null
module use /home/ar5/modules
module load prgenv/intel intel/2021.4.0 openmpi/4.1.1.1 hdf5-parallel/1.10.6 netcdf4-parallel/4.7.4 xios/trunk/r2320_intel-ompi
module list

# Don't remove neither change the following line
# BODY
#
# Test specific settings. Do not hand edit these lines; the fcm_job.sh script will set these
# (via sed operating on this template job file). Note that the number of compute nodes required
# is also set by the fcm_job.sh on the PBS select header line above.
#
# These variables are needed by post_test_tidyup function in all_functions.sh
#
  export XIO_HOME=${XIOS_DIR}
  export INPUT_DIR=DEF_INPUT_DIR
  export CONFIG_DIR=DEF_CONFIG_DIR
  export TOOLS_DIR=DEF_TOOLS_DIR
  export NEMO_VALIDATION_DIR=DEF_NEMO_VALIDATION
  export NEW_CONF=DEF_NEW_CONF
  export CMP_NAM=DEF_CMP_NAM
  export TEST_NAME=DEF_TEST_NAME
  export EXE_DIR=DEF_EXE_DIR
  ulimit -a
  ulimit -s unlimited
#
# end of set up
###############################################################
#
# change to the working directory 
#
  cd ${EXE_DIR}
  echo Running on host `hostname`
  echo Time is `date`
  echo Directory is `pwd`
  sed -i "s/one_file/multiple_file/" file_def_nemo-*.xml
# 
#  Run the parallel MPI executable 
#
  echo "Running time ${MPIRUN} ./nemo"
#
  if [ $XCORES -gt 0 ]; then
#
#  Run MPMD case
#
     #XIOS will run on a separate node so will run in parallel queue
     if [ ! -f ./xios_server.exe ] && [ -f ${XIO_HOME}/bin/xios_server.exe ]; then
        cp ${XIO_HOME}/bin/xios_server.exe .
     fi
     if [ ! -f ./xios_server.exe ]; then
        echo "./xios_server.exe not found"
        echo "run aborted"
        exit
     fi
      cat > ./config.file <<-EOF
0-$((OCORES-1)) ./nemo
${OCORES}-$((TOTAL_NPROCS-1)) ./xios_server.exe
EOF
     $MPIRUN --ntasks=TOTAL_NPROCS --multi-prog config.file
  else
#
# Run SPMD case
#
    time ./nemo
  fi
#

#
  post_test_tidyup

# END_BODY
# Don't remove neither change the previous line
  exit