source: trunk/LMDZ.COMMON/libf/evolution/deftank/jobPEM.slurm @ 3385

Last change on this file since 3385 was 3363, checked in by jbclement, 20 months ago

PEM:

  • The PEM can now stop itself cleanly before the SLURM time limit for the job is reached and it continues the simulation with a new cycle.
  • Update of "jobPEM.slurm" in the deftank to guarantee enough memory space to run the job.
  • Few minor cleanings.

JBC

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1#!/bin/bash
2#SBATCH --job-name=jobPEM1
3#SBATCH --account=cin0391
4### GENOA nodes accommodate 96 cores
5#SBATCH --constraint=GENOA
6### Number of Nodes to use
7#SBATCH --nodes=4 # to run with enough memory
8#SBATCH --ntasks-per-node=1
9#SBATCH --cpus-per-task=1
10#SBATCH --threads-per-core=1 # --hint=nomultithread
11###SBATCH --exclusive
12#SBATCH --output=jobPEM_%A.out
13#SBATCH --time=24:00:00
14
15# A few parameters that might need to be changed depending on your setup
16# Path to the arch.env to source:
17source ../trunk/LMDZ.COMMON/arch.env
18
19# Name of executable for the PEM:
20exePEM="pem_64x48x32_phymars_seq.e"
21
22# Name of executable for reshaping PCM data with XIOS:
23exeReshape="reshape_XIOS_output_64x48x32_phymars_seq.e"
24########################################################################
25
26
27# Reshaping PCM data with XIOS
28echo "Reshaping PCM data with XIOS is starting."
29./$exeReshape
30if [ ! -f "data_PCM_Y1.nc" ] || [ ! -f "data_PCM_Y2.nc" ]; then # Check if it ended abnormally
31    echo "Error: the reshaping executable crashed!"
32    exit 1
33fi
34
35# Running the PEM
36echo "Run PEM $iPEM is starting."
37read i_myear n_myear convert_years iPCM iPEM nPCM nPCM_ini < info_PEM.txt
38cp run_PEM.def run.def
39./$exePEM > out_runPEM${iPEM} 2>&1
40if [ ! -f "restartfi.nc" ] || [ ! tail -n 1 out_runPEM${iPEM} | grep -iq "so far, so good!" ]; then # Check if it ended abnormally
41    echo "Error: the run PEM $iPEM crashed!"
42    exit 1
43fi
44
45# Copy data files and prepare the next run
46mv out_runPEM${iPEM} out_PEM/run${iPEM}
47mv diagpem.nc diags/diagpem${iPEM}.nc
48if [ -f "diagsoilpem.nc" ]; then
49    mv diagsoilpem.nc diags/diagsoilpem${iPEM}.nc
50fi
51cp restartpem.nc starts/restartpem${iPEM}.nc
52mv restartpem.nc startpem.nc
53cp restartfi.nc starts/restartfi_postPEM${iPEM}.nc
54mv restartfi.nc startfi.nc
55if [ -f "restart.nc" ]; then
56    cp restart.nc starts/restart_postPEM${iPEM}.nc
57    mv restart.nc start.nc
58elif [ -f "restart1D.txt" ]; then
59    cp restart1D.txt starts/restart1D_postPEM${iPEM}.txt
60    mv restart1D.txt start1D.txt
61fi
62
63# Launch the next cycle
64#if [ "$(awk 'END{print $NF}' info_PEM.txt)" -eq 7 ]; then
65#    read i_myear n_myear convert_years iPCM iPEM nPCM nPCM_ini < info_PEM.txt
66#    ./launchPEM.sh cont # Continue the PEM run if it stopped because of job time limit
67#else
68    ./launchPEM.sh new
69#fi
Note: See TracBrowser for help on using the repository browser.