diff --git a/subjob_ablhpg.sh b/subjob_ablhpg.sh
index 93fb3782579e6158c78ad62ad1c27e393496e798..1345b8403ce1bc4dbd5925f52dae762350d3ff6c 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 3af2d24b797bb9a4abd09170223c0998acbfc6cb..332eac84c64f8aead1d8157fc8ecc147ffcfc116 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 262f801cab09952d7c8de26f876aaa3a1b2af159..db938b9f52b7bd07ba1873d1cc3bb037554c7e4c 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 eb19c77bd145ae8994a864dfa4deb227c3f57301..65e5a6f32d75a82842f6c73b9912f7fa38eb7b24 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 64ad84c9a7ddafd0c48a5a19e70c49473e160f2d..10667ddde4898ca284b25d59a2ec80233e01d5f8 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 ae9c540eb900ee5e254044bb1b5e79ad2be1255e..c9125855a74934521b5c2edd0dc1b863d8ae7f0b 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