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

Last change on this file since 3933 was 3869, checked in by jbclement, 6 months ago

PEM:
Bug correction to detect the job time limit with PBS/TORQUE. Making it more robust and automatic for the launching script and the Fortran code.
JBC

  • Property svn:executable set to *
File size: 2.5 KB
RevLine 
[3349]1#!/bin/bash
[3869]2### Partition to use
[3349]3#SBATCH --account=cin0391
4#SBATCH --constraint=GENOA
[3851]5### Number of nodes/cores to use
[3417]6#SBATCH --nodes=1
[3861]7#SBATCH --ntasks-per-node=1
[3417]8#SBATCH --cpus-per-task=1
[3861]9#SBATCH --threads-per-core=1 # --hint=nomultithread
[3869]10### Job information
11#SBATCH --job-name=jobPEM1
[3403]12#SBATCH --output=jobPEM_%j.out
[3351]13#SBATCH --time=24:00:00
[3638]14#SBATCH --mem=64G
[3349]15
[3579]16########################################################################
17# Modify here the parameters depending on your setup
18####################################################
[3351]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
[3869]28# Argument for the PEM execution ("--auto-exit" for SLURM and PBS/TORQUE | "" when the script is not run as a job):
29arg_pem="--auto-exit"
[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
[3634]45echo "Run \"PEM $iPEM\" is starting."
[3351]46cp run_PEM.def run.def
[3861]47eval "./$exePEM $arg_pem > run.log 2>&1"
48if [ ! -f "restartfi.nc" ] || ! (tail -n 100 run.log | grep -iq "so far, so good!"); then # Check if it ended abnormally
[3667]49    echo "Error: the run \"PEM $iPEM\" crashed!"
[3349]50    exit 1
51fi
[3354]52
[3349]53# Copy data files and prepare the next run
[3861]54mv run.log logs/runPEM${iPEM}.log
[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.