From 39e618e65a220e3bc7f71acab176a74c4eb7f3e9 Mon Sep 17 00:00:00 2001 From: Guillaume S <gsamson@mercator-ocean.fr> Date: Mon, 27 Nov 2023 11:50:36 +0100 Subject: [PATCH] further simplification --- subjob_ablhpg.sh | 18 ++++++++---------- subjob_ablvint.sh | 18 ++++++++---------- subjob_cdogrid.sh | 21 +++++++++++---------- subjob_cdomiss.sh | 16 ++++++++-------- subjob_cdosplit.sh | 14 ++++++++------ subjob_mars.sh | 13 +++++++------ 6 files changed, 50 insertions(+), 50 deletions(-) diff --git a/subjob_ablhpg.sh b/subjob_ablhpg.sh index 93fb378..1345b84 100755 --- a/subjob_ablhpg.sh +++ b/subjob_ablhpg.sh @@ -22,19 +22,17 @@ if [ ! -s ${d2D}/${fhpg} ]; then if [[ -s ${p2D} && -s ${p3D} ]]; then sed -e "s/fsurf2D/${f2D}/g; s/finst3D/${f3D}/g; s/fmask/${fmsk}/g; s/fhpg/${fhpg}/g; s~fdir~${d2D}~g" < /home/ar0s/SRC/NEMO/main/tools/ABL_TOOLS/namelist_abl_tools.base > /home/ar0s/PROD_ERA5_ABL/JOBS/namelist_abl_tools.hpg.$date - while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done - - if [ ${date} -eq ${date_end} ]; then echo "waiting..."; w="--wait"; fi - - sbatch ${w} --job-name=ablhpg_${date} /home/ar0s/PROD_ERA5_ABL/job_ablhpg.sbatch /home/ar0s/PROD_ERA5_ABL/JOBS/namelist_abl_tools.hpg.$date - - if [ -n "${w}" ]; then - file_nb=$( eval "ls ${d2D}/${fhpg/${date}/${ym}??} 2>/dev/null" | wc -l ) - if [ ${day_nb} -eq ${file_nb} ]; then exit 0; else echo "ERROR"; exit 1; fi - fi + sbatch --job-name=ablhpg_${date} /home/ar0s/PROD_ERA5_ABL/job_ablhpg.sbatch /home/ar0s/PROD_ERA5_ABL/JOBS/namelist_abl_tools.hpg.$date else echo "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 ablhpg_${ym} | wc -l) -gt 0 ]]; do echo "sleeping..."; sleep 10; done + +if [ ${date} -eq ${date_end} ]; then + file_nb=$( eval "ls ${d2D}/${fhpg/${date}/${ym}??} 2>/dev/null" | wc -l ) + if [ ${day_nb} -eq ${file_nb} ]; then exit 0; else echo "ERROR"; exit 1; fi +fi diff --git a/subjob_ablvint.sh b/subjob_ablvint.sh index 3af2d24..332eac8 100755 --- a/subjob_ablvint.sh +++ b/subjob_ablvint.sh @@ -24,19 +24,17 @@ if [ ! -s ${d2D}/${fabl} ]; then if [[ -s ${p2D} && -s ${p3D} && -s ${d2D}/${fhpg} ]]; then sed -e "s/fsurf2D/${f2D}/g; s/finst3D/${f3D}/g; s/fmask/${fmsk}/g; s/fhpg/${fhpg}/g; s/fabl/${fabl}/g; s~fdir~${d2D}~g" < /home/ar0s/SRC/NEMO/main/tools/ABL_TOOLS/namelist_abl_tools.base > /home/ar0s/PROD_ERA5_ABL/JOBS/namelist_abl_tools.vint.$date sed -i "s/ln_read_mask = .false./ln_read_mask = .true./g" /home/ar0s/PROD_ERA5_ABL/JOBS/namelist_abl_tools.vint.$date - while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done - - if [ ${date} -eq ${date_end} ]; then echo "waiting..."; w="--wait"; fi - - sbatch ${w} --job-name=ablvint_${date} /home/ar0s/PROD_ERA5_ABL/job_ablvint.sbatch /home/ar0s/PROD_ERA5_ABL/JOBS/namelist_abl_tools.vint.$date - - if [ -n "${w}" ]; then - file_nb=$( eval "ls ${d2D}/${fabl/${date}/${ym}??} 2>/dev/null" | wc -l ) - if [ ${day_nb} -eq ${file_nb} ]; then exit 0; else echo "ERROR"; exit 1; fi - fi + sbatch --job-name=ablvint_${date} /home/ar0s/PROD_ERA5_ABL/job_ablvint.sbatch /home/ar0s/PROD_ERA5_ABL/JOBS/namelist_abl_tools.vint.$date else echo "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 ablvint_${ym} | wc -l) -gt 0 ]]; do echo "sleeping..."; sleep 10; done + +if [ ${date} -eq ${date_end} ]; then + file_nb=$( eval "ls ${d2D}/${fabl/${date}/${ym}??} 2>/dev/null" | wc -l ) + if [ ${day_nb} -eq ${file_nb} ]; then exit 0; else echo "ERROR"; exit 1; fi +fi diff --git a/subjob_cdogrid.sh b/subjob_cdogrid.sh index 262f801..db938b9 100755 --- a/subjob_cdogrid.sh +++ b/subjob_cdogrid.sh @@ -20,8 +20,7 @@ if [ ! -s ${dout}/${f2D} ]; then if [ -s ${p2D} ]; then while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done - if [ ${date} -eq ${date_end} ]; then echo "waiting..."; w="--wait"; fi - sbatch ${w} --job-name=cdogrid2D_${date} /home/ar0s/PROD_ERA5_ABL/job_cdogrid.sbatch ${p2D} ${dout}/${f2D} + sbatch --job-name=cdogrid2D_${date} /home/ar0s/PROD_ERA5_ABL/job_cdogrid.sbatch ${p2D} ${dout}/${f2D} else echo "ERROR: input files not found"; exit 1 fi @@ -32,16 +31,18 @@ if [ ! -s ${dout}/${f3D} ]; then if [ -s ${p3D} ]; then while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done - if [ ${date} -eq ${date_end} ]; then echo "waiting..."; 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 3D"; exit 1; fi - fi + sbatch --job-name=cdogrid3D_${date} /home/ar0s/PROD_ERA5_ABL/job_cdogrid.sbatch ${p3D} ${dout}/${f3D} else echo "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}/${ym}??} 2>/dev/null" | wc -l ) + if [ ${day_nb} -eq ${file_nb} ]; then echo "2D 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 "3D OK"; exit 0; else echo "ERROR 3D"; exit 1; fi +fi diff --git a/subjob_cdomiss.sh b/subjob_cdomiss.sh index eb19c77..65e5a6f 100755 --- a/subjob_cdomiss.sh +++ b/subjob_cdomiss.sh @@ -18,19 +18,19 @@ for v in ${var_list[@]}; do fout=${finp%.nc}_misstodis.nc if [ ! -s ${d}/${fout} ]; then - if [ -s ${d}/${finp} ]; then while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done - if [[ ${date} -eq ${date_end} && ${v} == "humi" ]]; then echo "waiting..."; w="--wait"; fi - 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_list[@]})) -eq ${file_nb} ]; then echo "OK"; exit 0; else echo "ERROR"; exit 1; fi - fi + sbatch --job-name=cdomiss_${date} /home/ar0s/PROD_ERA5_ABL/job_cdomiss.sbatch ${d}/${finp} ${d}/${fout} else echo "ERROR: input files not found"; exit 1 fi - fi done + +while [[ ${date} -eq ${date_end} && $(squeue -u $USER -h -t pending,running -r -o '%20j' | grep cdomiss_${ym} | wc -l) -gt 0 ]]; do echo "sleeping..."; sleep 10; done + +if [ ${date} -eq ${date_end} ]; then + file_nb=$( eval "ls ${d}/{$(tr ' ' ',' <<< ${var_list[*]})}_${fabl/${date}/${ym}??} 2>/dev/null" | wc -l ) + if [ $((day_nb*${#var_list[@]})) -eq ${file_nb} ]; then echo "OK"; exit 0; else echo "ERROR"; exit 1; fi +fi diff --git a/subjob_cdosplit.sh b/subjob_cdosplit.sh index 64ad84c..10667dd 100755 --- a/subjob_cdosplit.sh +++ b/subjob_cdosplit.sh @@ -26,14 +26,16 @@ if [ ${file_nb} -lt ${var_nb} ]; then if [ -s ${pabl} ]; then while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done - if [ ${date} -eq ${date_end} ]; then echo "waiting..."; w="--wait"; fi - sbatch ${w} --job-name=cdosplit_${date} /home/ar0s/PROD_ERA5_ABL/job_cdosplit.sbatch $pabl - if [ -n "${w}" ]; then - file_nb=$( eval "ls ${dabl}/{$(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 - fi + sbatch --job-name=cdosplit_${date} /home/ar0s/PROD_ERA5_ABL/job_cdosplit.sbatch $pabl else echo "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 cdosplit_${ym} | wc -l) -gt 0 ]]; do echo "sleeping..."; sleep 10; done + +if [ ${date} -eq ${date_end} ]; then + file_nb=$( eval "ls ${dabl}/{$(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 +fi diff --git a/subjob_mars.sh b/subjob_mars.sh index ae9c540..c912585 100755 --- a/subjob_mars.sh +++ b/subjob_mars.sh @@ -27,9 +27,8 @@ if [ ! -s ${dir_out}/${file_out} ]; then # SUBMIT MARS REQUEST while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done - if [ ${date} -eq ${date_end} ]; then echo "waiting..."; w="--wait"; fi - sbatch ${w} --job-name=mars_${req_type}_${date} <<EOF + sbatch --job-name=mars_${req_type}_${date} <<EOF #!/bin/bash #SBATCH --job-name=marsreq #SBATCH --output=JOBS/%x-%j.out @@ -44,9 +43,11 @@ exit 0 EOF - if [ -n "${w}" ]; then - file_nb=$( eval "ls ${dir_out}/${file_out/${date}/${ym}??} 2>/dev/null" | wc -l ) - if [ ${day_nb} -eq ${file_nb} ]; then echo "OK"; exit 0; else echo "ERROR"; exit 1; fi - fi +fi + +while [[ ${date} -eq ${date_end} && $(squeue -u $USER -h -t pending,running -r -o '%20j' | grep mars_${req_type}_${ym} | wc -l) -gt 0 ]]; do echo "sleeping..."; sleep 10; done +if [ ${date} -eq ${date_end} ]; then + file_nb=$( eval "ls ${dir_out}/${file_out/${date}/${ym}??} 2>/dev/null" | wc -l ) + if [ ${day_nb} -eq ${file_nb} ]; then echo "OK"; exit 0; else echo "ERROR"; exit 1; fi fi -- GitLab