source: trunk/LMDZ.COMMON/libf/evolution/deftank/PEMrun.job @ 3579

Last change on this file since 3579 was 3579, checked in by jbclement, 3 days ago

PEM:
Improvement of the Bash script tools in the deftank with an automatic error detection which ends the script with a message.
JBC

  • Property svn:executable set to *
File size: 2.6 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=1
8#SBATCH --ntasks=1
9#SBATCH --cpus-per-task=1
10###SBATCH --exclusive
11#SBATCH --output=jobPEM_%j.out
12#SBATCH --time=24:00:00
13#SBATCH --mem=29000M
14
15########################################################################
16# Modify here the parameters depending on your setup
17####################################################
18# A few parameters that might need to be changed depending on your setup
19# Path to the arch.env to source:
20source ../trunk/LMDZ.COMMON/arch.env
21
22# Name of executable for the PEM:
23exePEM="pem_64x48x32_phymars_seq.e"
24
25# Name of executable for reshaping PCM data with XIOS:
26exeReshape="reshape_XIOS_output_64x48x32_phymars_seq.e"
27
28# Argument for the PEM execution (for SLURM: "$SLURM_JOB_ID" | for PBD/TORQUE: "$PBS_JOBID" | "" when the script is not run as a job):
29arg_pem="$SLURM_JOB_ID"
30########################################################################
31
32
33ulimit -s unlimited
34
35# Reshaping PCM data with XIOS
36echo "Reshaping PCM data with XIOS is starting."
37./$exeReshape
38if [ ! -f "data_PCM_Y1.nc" ] || [ ! -f "data_PCM_Y2.nc" ]; then # Check if it ended abnormally
39    echo "Error: the reshaping executable crashed!"
40    exit 1
41fi
42
43# Running the PEM
44read i_myear n_myear convert_years iPCM iPEM nPCM nPCM_ini < info_PEM.txt
45echo "Run PEM $iPEM is starting."
46cp run_PEM.def run.def
47eval "./$exePEM $arg_pem > out_runPEM${iPEM} 2>&1"
48if [ ! -f "restartfi.nc" ] || ! (tail -n 100 out_runPEM${iPEM} | grep -iq "so far, so good!"); then # Check if it ended abnormally
49    echo "Error: the run PEM $iPEM crashed!"
50    exit 1
51fi
52
53# Copy data files and prepare the next run
54mv out_runPEM${iPEM} out_PEM/run${iPEM}
55if [ -f "diagpem.nc" ]; then
56    mv diagpem.nc diags/diagpem${iPEM}.nc
57fi
58if [ -f "diagsoilpem.nc" ]; then
59    mv diagsoilpem.nc diags/diagsoilpem${iPEM}.nc
60fi
61cp restartpem.nc starts/restartpem${iPEM}.nc
62mv restartpem.nc startpem.nc
63cp restartfi.nc starts/restartfi_postPEM${iPEM}.nc
64mv restartfi.nc startfi.nc
65if [ -f "restart.nc" ]; then
66    cp restart.nc starts/restart_postPEM${iPEM}.nc
67    mv restart.nc start.nc
68elif [ -f "restart1D.txt" ]; then
69    cp restart1D.txt starts/restart1D_postPEM${iPEM}.txt
70    mv restart1D.txt start1D.txt
71fi
72
73# Launch the next cycle
74#if [ "$(awk 'END{print $NF}' info_PEM.txt)" -eq 7 ]; then
75#    read i_myear n_myear convert_years iPCM iPEM nPCM nPCM_ini < info_PEM.txt
76#    ./launchPEM.sh cont # Continue the PEM run if it stopped because of job time limit
77#else
78    ./launchPEM.sh new
79#fi
Note: See TracBrowser for help on using the repository browser.