diff --git a/do_by_day.sh b/do_by_day.sh index 8e8db617e8a3fe7ab02e59e8f1a5bb3d49251eb4..338c001979079e71909cbc69b895e4e8ad544cda 100755 --- a/do_by_day.sh +++ b/do_by_day.sh @@ -30,7 +30,7 @@ fi nb_day=$(( ($(date --date="${date_end}H00 + 1 day" +%s) - $(date --date="${date_beg}H00" +%s) ) / (60*60*24) )) echo $date_beg $date_end $nb_day -for (( d=0; d<=$nb_day; d++ )); do +for (( d=0; d<$nb_day; d++ )); do date_day=$(date -d "$date_beg + $d days" +%Y%m%d) echo $script $date_day diff --git a/full_prod.sh b/full_prod.sh index c7e01f221184a89c32669dc3ebf020579521a764..ee7fd6dcfd32f910b3c364e324679851904131b0 100755 --- a/full_prod.sh +++ b/full_prod.sh @@ -5,10 +5,10 @@ set +xv date_beg=$1 date_end=$2 -./do_by_day.sh ${date_beg} ${date_end} ./subjob_cdogrid.sh -./do_by_day.sh ${date_beg} ${date_end} ./subjob_ablhpg.sh -./do_by_day.sh ${date_beg} ${date_end} ./subjob_ablvint.sh -./do_by_day.sh ${date_beg} ${date_end} ./subjob_cdosplit.sh -./do_by_day.sh ${date_beg} ${date_end} ./subjob_cdomiss.sh +time ./do_by_day.sh ${date_beg} ${date_end} ./subjob_cdogrid.sh +time ./do_by_day.sh ${date_beg} ${date_end} ./subjob_ablhpg.sh +time ./do_by_day.sh ${date_beg} ${date_end} ./subjob_ablvint.sh +time ./do_by_day.sh ${date_beg} ${date_end} ./subjob_cdosplit.sh +time ./do_by_day.sh ${date_beg} ${date_end} ./subjob_cdomiss.sh exit 0 diff --git a/job_ablhpg.sbatch b/job_ablhpg.sbatch index 3721a3544803aa4e4e1d0be8365999799c95a430..2a0341dbe49ce57451d48f00651caba17bd2cdae 100755 --- a/job_ablhpg.sbatch +++ b/job_ablhpg.sbatch @@ -14,7 +14,6 @@ set -xv if [ -n "$1" ]; then f2D=$(basename $1); d2D=$(dirname $1); else exit; fi if [ -n "$2" ]; then f3D=$(basename $2); d3D=$(dirname $2); else exit; fi if [ -n "$3" ]; then fmsk=$(basename $3); dmsk=$(dirname $3); else exit; fi -if [ -n "$4" ]; then v=$4; fi fhpg=${f3D/inst3D/hpg} fabl=${f3D/inst3D/abl}; fabl=${fabl/L107-137/L50Z10} diff --git a/job_cdomiss.sbatch b/job_cdomiss.sbatch index 908decd5e6624ff6c2189ca17b98be170c288951..1d563f34f4e3a9ecd2cbef49d074fd57238acb16 100755 --- a/job_cdomiss.sbatch +++ b/job_cdomiss.sbatch @@ -6,19 +6,14 @@ #SBATCH --cpus-per-task=4 -cd /ec/res4/scratch/ar0s/ERA5; pwd - module purge module load cdo/2.2.0 module list set +xv -if [ -n "$1" ]; then f=$(basename $1); d=$(dirname $1); else exit; fi -if [ -n "$2" ]; then dd=$(dirname ${2%/*}/.); fi +if [[ -z "$1" || -z "$2" ]]; then exit 1; fi -if [ ! -s ${dd:-${d}}/${f%.nc}_misstodis.nc ]; then - cdo -v -P 4 -t ecmwf -z zip -k grid -f nc4 -pack -setmisstodis -setctomiss,9.9692e+36 ${d}/${f} ${dd:-${d}}/${f%.nc}_misstodis.nc -fi +cdo -v -P 4 -t ecmwf -z zip -k grid -f nc4 -pack -setmisstodis -setctomiss,9.9692e+36 $1 $2 exit 0 diff --git a/job_cdosplit.sbatch b/job_cdosplit.sbatch index 96424d177a4985156c464aa589f85949c446ffa5..c51dce02a49094ec2f569c3f125925f9b56e557d 100755 --- a/job_cdosplit.sbatch +++ b/job_cdosplit.sbatch @@ -10,17 +10,10 @@ module list set +xv -if [ -n "$1" ]; then f=$(basename $1); d=$(dirname $1); else exit; fi +if [ -n "$1" ]; then f=$(basename $1); d=$(dirname $1); else exit 1; fi cd ${d}; pwd -var_list=( $(cdo showname ${f}) ) -var_list=( ${var_list[*]/"lsm"} ) -var_nb=${#var_list[*]} -file_nb=$( eval "ls {$(tr ' ' ',' <<< ${var_list[*]/"lsm"})}_${f} 2>/dev/null" | wc -l ) - -if [ ${file_nb} -lt ${var_nb} ]; then - cdo -v splitname,swap ${f} _${f%.nc} -fi +cdo -v splitname,swap ${f} _${f%.nc} exit 0 diff --git a/subjob_cdogrid.sh b/subjob_cdogrid.sh index 0e17ff1a5c4556ea5a7021a290c60e95ef101bb1..b775e419f03500c82692fa9b4a1e289ddee2f1dd 100755 --- a/subjob_cdogrid.sh +++ b/subjob_cdogrid.sh @@ -20,10 +20,6 @@ if [ ! -s ${dout}/${f2D} ]; then while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 100 ]; do echo "sleeping..."; sleep 10; done if [ ${date} -eq ${date_end} ]; then echo "wait..."; w="--wait"; fi sbatch ${w} --job-name=cdogrid2D_${date} /home/ar0s/PROD_ERA5_ABL/job_cdogrid.sbatch ${p2D} ${dout}/${f2D} - if [ -n "${w}" ]; then - file_nb=$( eval "ls ${dout}/${f2D/${date}/${ym}??} 2>/dev/null" | wc -l ) - if [ ${day_nb} -eq ${file_nb} ]; then echo "OK"; else echo "ERROR"; exit 1; fi - fi fi if [ ! -s ${dout}/${f3D} ]; then @@ -31,7 +27,9 @@ if [ ! -s ${dout}/${f3D} ]; then if [ ${date} -eq ${date_end} ]; then echo "wait..."; w="--wait"; fi sbatch ${w} --job-name=cdogrid3D_${date} /home/ar0s/PROD_ERA5_ABL/job_cdogrid.sbatch ${p3D} ${dout}/${f3D} if [ -n "${w}" ]; then + file_nb=$( eval "ls ${dout}/${f2D/${date}/${ym}??} 2>/dev/null" | wc -l ) + if [ ${day_nb} -eq ${file_nb} ]; then echo "OK"; else echo "ERROR 2D"; exit 1; fi file_nb=$( eval "ls ${dout}/${f3D/${date}/${ym}??} 2>/dev/null" | wc -l ) - if [ ${day_nb} -eq ${file_nb} ]; then echo "OK"; exit 0; else echo "ERROR"; exit 1; fi + if [ ${day_nb} -eq ${file_nb} ]; then echo "OK"; exit 0; else echo "ERROR 3D"; exit 1; fi fi fi diff --git a/subjob_cdomiss.sh b/subjob_cdomiss.sh index c1c9210651d25220ead3af7f0bd1339a3e295677..795f9c3434f3a675cc6ed80cebdd1160df1abbb7 100755 --- a/subjob_cdomiss.sh +++ b/subjob_cdomiss.sh @@ -20,7 +20,7 @@ for v in ${var_list[@]}; do if [ ! -s ${d}/${fout} ]; then while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 100 ]; do echo "sleeping..."; sleep 10; done if [[ ${date} -eq ${date_end} && ${v} == "humi" ]]; then echo "wait..."; w="--wait"; fi - sbatch ${w} --job-name=cdomiss_${date} /home/ar0s/PROD_ERA5_ABL/job_cdomiss.sbatch ${d}/${f} + sbatch ${w} --job-name=cdomiss_${date} /home/ar0s/PROD_ERA5_ABL/job_cdomiss.sbatch ${d}/${finp} ${d}/${fout} if [ -n "${w}" ]; then file_nb=$( eval "ls ${d}/{$(tr ' ' ',' <<< ${var_list[*]})}_${fabl/${date}/${ym}??} 2>/dev/null" | wc -l ) if [ $((day_nb*var_nb)) -eq ${file_nb} ]; then echo "OK"; exit 0; else echo "ERROR"; exit 1; fi