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

Last change on this file since 3579 was 3579, checked in by jbclement, 2 weeks 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
RevLine 
[3349]1#!/bin/bash
[3351]2#SBATCH --job-name=jobPEM1
[3349]3#SBATCH --account=cin0391
4### GENOA nodes accommodate 96 cores
5#SBATCH --constraint=GENOA
6### Number of Nodes to use
[3417]7#SBATCH --nodes=1
[3416]8#SBATCH --ntasks=1
[3417]9#SBATCH --cpus-per-task=1
[3349]10###SBATCH --exclusive
[3403]11#SBATCH --output=jobPEM_%j.out
[3351]12#SBATCH --time=24:00:00
[3416]13#SBATCH --mem=29000M
[3349]14
[3579]15########################################################################
16# Modify here the parameters depending on your setup
17####################################################
[3351]18# A few parameters that might need to be changed depending on your setup
19# Path to the arch.env to source:
[3349]20source ../trunk/LMDZ.COMMON/arch.env
21
[3351]22# Name of executable for the PEM:
23exePEM="pem_64x48x32_phymars_seq.e"
[3349]24
[3351]25# Name of executable for reshaping PCM data with XIOS:
26exeReshape="reshape_XIOS_output_64x48x32_phymars_seq.e"
[3495]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"
[3349]30########################################################################
31
[3351]32
[3403]33ulimit -s unlimited
34
[3354]35# Reshaping PCM data with XIOS
[3351]36echo "Reshaping PCM data with XIOS is starting."
37./$exeReshape
[3349]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
[3351]42
[3354]43# Running the PEM
[3416]44read i_myear n_myear convert_years iPCM iPEM nPCM nPCM_ini < info_PEM.txt
[3349]45echo "Run PEM $iPEM is starting."
[3351]46cp run_PEM.def run.def
[3495]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
[3349]49    echo "Error: the run PEM $iPEM crashed!"
50    exit 1
51fi
[3354]52
[3349]53# Copy data files and prepare the next run
54mv out_runPEM${iPEM} out_PEM/run${iPEM}
[3386]55if [ -f "diagpem.nc" ]; then
56    mv diagpem.nc diags/diagpem${iPEM}.nc
57fi
[3349]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
[3363]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.