source: trunk/LMDZ.COMMON/libf/evolution/deftank/PCMrun.job @ 3495

Last change on this file since 3495 was 3495, checked in by jbclement, 2 weeks ago

PEM:
Modifications related to the launching script:

  • There is actually no launching difference between the 1D and 3D models. It is more about how and where you want to execute. So now, the user can choose between two launching modes with the parameter "mode" (0 = "processing scripts"; any other values = "submitting jobs"). The former option is usually used to process the script on a local machine while the latter is used to submit jobs on supercomputer;
  • The execution command line in the job scripts that should be modified by the user according to the set-up is now given as an argument at the beginning to be more identifiable and adaptable;
  • Making the job scripts more robust to detect a successful end.

JBC

  • Property svn:executable set to *
File size: 2.4 KB
Line 
1#!/bin/bash
2#SBATCH --job-name=jobPCM0
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-per-node=24
9#SBATCH --cpus-per-task=4
10#SBATCH --threads-per-core=1 # --hint=nomultithread
11###SBATCH --exclusive
12#SBATCH --output=jobPCM_%j.out
13#SBATCH --time=10: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# Number of threads to use (must be the same as "#SBATCH --cpus-per-task=" above)
20export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
21export OMP_STACKSIZE=400M
22
23# Name of executable for the PCM:
24exePCM="gcm_64x48x32_phymars_para.e"
25
26# Execution command:
27exe_cmd="srun --cpu-bind=threads --label -c${OMP_NUM_THREADS:=1}"
28########################################################################
29
30
31ulimit -s unlimited
32
33# Running the PCM
34echo "Run PCM $iPCM is starting."
35read i_myear n_myear convert_years iPCM iPEM nPCM nPCM_ini < info_PEM.txt
36cp run_PCM.def run.def
37eval "$exe_cmd $exePCM > out_runPCM${iPCM} 2>&1"
38if [ ! -f "restartfi.nc" ] || ! (tail -n 100 out_runPCM${iPCM} | grep -iq "everything is cool!"); then # Check if it ended abnormally
39    echo "Error: the run PCM $iPCM crashed!"
40    echo "Be careful: there may be dependent jobs remaining in the SLURM queue with status 'DependencyNeverSatisfied'! You can cancel them by executing the script \"kill_launchPEM.sh\"."
41    exit 1
42fi
43
44# Copy data files and prepare the next run
45mv out_runPCM${iPCM} out_PCM/run${iPCM}
46if [ -f "diagfi.nc" ]; then
47    mv diagfi.nc diags/diagfi${iPCM}.nc
48fi
49if [ -f "diagsoil.nc" ]; then
50    mv diagsoil.nc diags/diagsoil${iPCM}.nc
51fi
52if [ -f "stats.nc" ]; then
53    mv stats.nc diags/stats${iPCM}.nc
54fi
55k=0
56if [ $(echo "$k < 1" | bc -l) -eq 1 ]; then # Only the last 2 years are taken for the PEM
57    mv Xdiurnalave.nc diags/data2reshape${iPCM}.nc
58else
59    cp Xdiurnalave.nc diags/data2reshape${iPCM}.nc
60    mv Xdiurnalave.nc data2reshape_Y${k}.nc
61fi
62cp restartfi.nc starts/restartfi${iPCM}.nc
63mv restartfi.nc startfi.nc
64if [ -f "restart.nc" ]; then
65    cp restart.nc starts/restart${iPCM}.nc
66    mv restart.nc start.nc
67elif [ -f "restart1D.txt" ]; then
68    cp restart1D.txt starts/restart1D${iPCM}.txt
69    mv restart1D.txt start1D.txt
70fi
71((iPCM++))
72((i_myear++))
73sed -i "1s/.*/$i_myear $n_myear $convert_years $iPCM $iPEM $nPCM $nPCM_ini/" info_PEM.txt
Note: See TracBrowser for help on using the repository browser.