Newer
Older
# ARGUMENTS
date_beg=$1
date_end=$2
nbday=$(( ($(date -d "${date_end}H00 + 1 day" +%s) - $(date -d "${date_beg}H00" +"%s") )/(60*60*24) ))
for d in $(seq -f "%02g" 0 $((nbday-1))); do
# TIME
date=$(date -d "${date_beg}H00 + ${d} days" +"%C%y%m%d")
ym=${date:0:6}
# DIRECTORIES & FILES
p2D="${SCRATCH_DIR}/GRIB_N320/${ym}/surf2D_ERA5_L1_GLO_TLAUTO_IGNONE_GN320_ana01h_${date}.grib"
p3D="${SCRATCH_DIR}/GRIB_N320/${ym}/inst3D_ERA5_L107-137_GLO_TLAUTO_IGNONE_GN320_ana01h_${date}.grib"
dout="${SCRATCH_DIR}/NC_F320/${ym}" ; mkdir -p ${dout}
f2D=$(basename ${p2D/GN320/GF320reg}) ; f2D=${f2D%.grib}.nc
f3D=$(basename ${p3D/GN320/GF320reg}) ; f3D=${f3D%.grib}.nc
d2D=$(dirname $p2D) ; d3D=$(dirname $p3D)
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
if [ ! -s ${dout}/${f2D} ]; then
mkdir -pv ${dout}
if [ -s ${p2D} ]; then
while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done
sbatch --job-name=cdogrid2D_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} /home/ar0s/PROD_ERA5_ABL/job_cdogrid.sbatch ${p2D} ${dout}/${f2D}
else
echo "CDO_GRID2D ERROR: input files not found"; exit 1
fi
fi
if [ ! -s ${dout}/${f3D} ]; then
mkdir -pv ${dout}
if [ -s ${p3D} ]; then
while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done
sbatch --job-name=cdogrid3D_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} /home/ar0s/PROD_ERA5_ABL/job_cdogrid.sbatch ${p3D} ${dout}/${f3D}
else
echo "CDO_GRID3D ERROR: input files not found"; exit 1
fi
fi
while [[ ${date} -eq ${date_end} && $(squeue -u $USER -h -t pending,running -r -o '%20j' | grep cdogrid.D_${ym} | wc -l) -gt 0 ]]; do echo "sleeping..."; sleep 10; done
if [ ${date} -eq ${date_end} ]; then
file_nb=$( eval "ls ${dout}/${f2D/${date}.nc/${ym}{${date_beg:6:2}..${date_end:6:2}}}.nc 2>/dev/null" | wc -l )
if [ ${nbday} -eq ${file_nb} ]; then
echo "CDO_GRID 2D OK"
else
echo "ERROR CDO_GRID 2D"; exit 1
fi
file_nb=$( eval "ls ${dout}/${f3D/${date}.nc/${ym}{${date_beg:6:2}..${date_end:6:2}}}.nc 2>/dev/null" | wc -l )
if [ ${nbday} -eq ${file_nb} ]; then
echo "CDO_GRID 3D OK"
else
echo "ERROR CDO_GRID 3D"; exit 1
fi
fi