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.
batch-X64_MOBILIS in NEMO/branches/2019/fix_sette_ticket2239/BATCH_TEMPLATE – NEMO

source: NEMO/branches/2019/fix_sette_ticket2239/BATCH_TEMPLATE/batch-X64_MOBILIS @ 10698

Last change on this file since 10698 was 10698, checked in by mathiot, 5 years ago

check exit code from NEMO (do not copy anything if it failed on exit code other than 0/123456/999) + rename run.stat/tracer.stat/ocean.output to *_old in the current validation dir (ticket #2239)

File size: 3.5 KB
Line 
1#!/bin/bash
2#SBATCH -N NODES
3#SBATCH --time=00:59:00
4
5module purge
6module load shared
7module use /home/acc/MyMods
8# set programming environment and XIO_HOME
9module load nemo-PrgEnv/4.0
10
11#
12  export OMP_NUM_THREADS=1
13  export OCORES=NPROCS
14  export XCORES=NXIOPROCS
15  export SETTE_DIR=DEF_SETTE_DIR
16#
17# load sette functions (only post_test_tidyup needed)
18#
19  . ${SETTE_DIR}/all_functions.sh
20###############################################################
21#
22# set up mpp computing environment
23#
24#
25# Local settings. These settings are for a particular machine (the MOBILIS ClusterVision
26# system at NOCS) at a particular stage of that machine's evolution. This template file
27# is provided for illustration purposes only and will not work on any other machine. There
28# should, however, be sufficient similarity with other MPP platforms and batch systems
29# for this example to provide a useful guide for experienced users
30#
31# Don't remove neither change the following line
32# BODY
33#
34# Test specific settings. Do not hand edit these lines; the fcm_job.sh script will set these
35# (via sed operating on this template job file). Note that the number of compute nodes required
36# is also set by the fcm_job.sh on the PBS select header line above.
37#
38# These variables are needed by post_test_tidyup function in all_functions.sh
39#
40  export INPUT_DIR=DEF_INPUT_DIR
41  export CONFIG_DIR=DEF_CONFIG_DIR
42  export TOOLS_DIR=DEF_TOOLS_DIR
43  export NEMO_VALIDATION_DIR=DEF_NEMO_VALIDATION
44  export NEW_CONF=DEF_NEW_CONF
45  export CMP_NAM=DEF_CMP_NAM
46  export TEST_NAME=DEF_TEST_NAME
47  export EXE_DIR=DEF_EXE_DIR
48#
49# end of set up
50###############################################################
51#
52# change to the working directory
53#
54  cd $EXE_DIR
55  echo Directory is `pwd`
56  if [ $XCORES -eq 0 ]; then
57#
58# Run SPMD case
59#
60       echo time `which mpirun` --report-bindings -x MALLOC_MMAP_MAX_=-1                 \
61                                -x MALLOC_TRIM_THRESHOLD_=33554432 -np $OCORES --bynode  \
62                                --mca mpi_paffinity_alone 1 ./nemo
63            time `which mpirun` --report-bindings -x MALLOC_MMAP_MAX_=-1                 \
64                                -x MALLOC_TRIM_THRESHOLD_=33554432 -np $OCORES --bynode  \
65                                --mca mpi_paffinity_alone 1 ./nemo
66  else
67       if [ ! -f ./xios_server.exe ] && [ -f ${XIO_HOME}/bin/xios_server.exe ]; then
68          cp ${XIO_HOME}/bin/xios_server.exe .
69       fi
70       if [ ! -f ./xios_server.exe ]; then
71          echo "./xios_server.exe not found"
72          echo "run aborted"
73          exit
74       fi
75#
76#  Run MPMD case
77#
78       echo time `which mpirun` --report-bindings -x MALLOC_MMAP_MAX_=-1 \
79                                -x MALLOC_TRIM_THRESHOLD_=33554432       \
80                                -np $XCORES ./xios_server.exe            \
81                              : -np $OCORES --bynode  --mca mpi_paffinity_alone 1 ./nemo
82#
83            time `which mpirun` --report-bindings -x MALLOC_MMAP_MAX_=-1 \
84                                -x MALLOC_TRIM_THRESHOLD_=33554432       \
85                                -np $XCORES ./xios_server.exe            \
86                              : -np $OCORES --bynode  --mca mpi_paffinity_alone 1 ./nemo
87#
88  fi
89#
90#
91# run post processing of sette only is run normally or expected error
92  NEMOEXIT=$?
93  case $NEMOEXIT in
94      0|123456|999) echo " NEMO finished with exit code $NEMOEXIT " ; post_test_tidyup ;;
95      *) echo " NEMO abort on an unexpected error (segmentation fault or whatever) $NEMOEXIT "
96  esac
97
98# END_BODY
99# Don't remove neither change the previous line
100  exit
Note: See TracBrowser for help on using the repository browser.