2025-09-05 09:42:21 +02:00

95 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
#SBATCH -N NODES
#SBATCH --time=00:59:00
#SBATCH -J nemo_sette
module purge
module load shared
module use /home/acc/MyMods
# set programming environment and XIO_HOME
module load nemo-PrgEnv/4.0
#
export OMP_NUM_THREADS=1
export OCORES=NPROCS
export XCORES=NXIOPROCS
export SETTE_DIR=DEF_SETTE_DIR
#
# load sette functions (only post_test_tidyup needed)
#
. ${SETTE_DIR}/all_functions.sh
###############################################################
#
# set up mpp computing environment
#
#
# Local settings. These settings are for a particular machine (the MOBILIS ClusterVision
# system at NOCS) at a particular stage of that machine's evolution. This template file
# is provided for illustration purposes only and will not work on any other machine. There
# should, however, be sufficient similarity with other MPP platforms and batch systems
# for this example to provide a useful guide for experienced users
#
# 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 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
#
# end of set up
###############################################################
#
# change to the working directory
#
cd $EXE_DIR
echo Directory is `pwd`
if [ $XCORES -eq 0 ]; then
#
# Run SPMD case
#
echo time `which mpirun` --report-bindings -x MALLOC_MMAP_MAX_=-1 \
-x MALLOC_TRIM_THRESHOLD_=33554432 -np $OCORES --bynode \
--mca mpi_paffinity_alone 1 ./nemo
time `which mpirun` --report-bindings -x MALLOC_MMAP_MAX_=-1 \
-x MALLOC_TRIM_THRESHOLD_=33554432 -np $OCORES --bynode \
--mca mpi_paffinity_alone 1 ./nemo
else
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
#
# Run MPMD case
#
echo time `which mpirun` --report-bindings -x MALLOC_MMAP_MAX_=-1 \
-x MALLOC_TRIM_THRESHOLD_=33554432 \
-np $XCORES ./xios_server.exe \
: -np $OCORES --bynode --mca mpi_paffinity_alone 1 ./nemo
#
time `which mpirun` --report-bindings -x MALLOC_MMAP_MAX_=-1 \
-x MALLOC_TRIM_THRESHOLD_=33554432 \
-np $XCORES ./xios_server.exe \
: -np $OCORES --bynode --mca mpi_paffinity_alone 1 ./nemo
#
fi
#
post_test_tidyup
# END_BODY
# Don't remove neither change the previous line
exit