diff --git a/check_if_done.sh b/check_if_done.sh
index e463dd09100ffd7d154b4a2a9820908757b26bb5..69ab2f1c01c62bbb84ed46b1ae920b849a60773f 100755
--- a/check_if_done.sh
+++ b/check_if_done.sh
@@ -27,4 +27,4 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
 
 done
 
-if [ $((nbday*${#var_list[@]})) -eq ${tot_nb} ]; then echo "CHECK_IF_DONE OK"; exit 0; else echo "CHECK_IF_DONE ERROR"; exit 1; fi
+if [ $((nbday*${#var_list[@]})) -eq ${tot_nb} ]; then echo "-CHECK_IF_DONE: OK"; exit 0; else echo "-CHECK_IF_DONE: NO"; exit 1; fi
diff --git a/full_prod.sh b/full_prod.sh
index 1577029b66fd8ad2fa6ad5c632036ad890e13259..4629841912b65dd107a73c4399f5e53153adfa14 100755
--- a/full_prod.sh
+++ b/full_prod.sh
@@ -25,25 +25,35 @@ if [[ ${#date_beg} -eq 6 || ${#date_end} -eq 6 ]]; then
   date_end=$(date -d "${date_beg} + 1 month - 1 day" +"%C%y%m%d" )
 fi
 
-echo "${var_name:+"${var_name}: "}${date_beg}->${date_end}"
+if [[ ${#date_beg} -eq 4 || ${#date_end} -eq 4 ]]; then
+  date_beg=${date_beg:0:6}0101
+  date_end=$(date -d "${date_beg} + 1 year - 1 day" +"%C%y%m%d" )
+fi
+
+echo -e "\n${var_name:+"-${var_name}: "}${date_beg}->${date_end}\n"
 
 
 # directories
 export DIR_SRC="/home/ar0s/PROD_ERA5_ABL"
-export DIR_SAVE="/ec/res5/project/mercator/ATMO_FORCINGS/ERA5_ABL50_F320_v1/daily/1h"
+export DIR_SAVE="/ec/res5/project/mercator/ATMO_FORCINGS/ERA5_ABL50_F320_v1/daily/1h/TPOTL1"
+export DIR_NEMO="/home/ar0s/SRC/NEMO/main/tools/ABL_TOOLS"
 export SCRATCH_DIR=${SCRATCHDIR}
+export VLEVEL="L107-137"   # L107-137
+export GRID=$(sed -rn "s/^ +grid += +([[:graph:]]+),.*/\1/p" ${DIR_SRC}/mars_inst3D_ana.req.base)
+export BASE_NAME="ERA5_GLO_TLAUTO_IGNONE_G${GRID/N/F}_ana01h"
+echo "-SCRATCH_DIR: ${SCRATCHDIR}"
 
 
 # scripts
 ./check_if_done.sh   ${date_beg} ${date_end} ${var_name}; [ $? -eq 0 ] && exit 0
-./subjob_mars.sh     ${date_beg} ${date_end}; [ $? -eq 1 ] && exit 1
-./subjob_cdogrid.sh  ${date_beg} ${date_end}; [ $? -eq 1 ] && exit 1
+./subjob_mars.sh     ${date_beg} ${date_end}            ; [ $? -eq 1 ] && exit 1
+./subjob_cdogrid.sh  ${date_beg} ${date_end}            ; [ $? -eq 1 ] && exit 1
 if [[ -z "${var_name}" || ${var_name} =~ "hpg" ]]; then
-  ./subjob_ablhpg.sh   ${date_beg} ${date_end}; [ $? -eq 1 ] && exit 1
+  ./subjob_ablhpg.sh ${date_beg} ${date_end}            ; [ $? -eq 1 ] && exit 1
 fi
 ./subjob_ablvint.sh  ${date_beg} ${date_end} ${var_name}; [ $? -eq 1 ] && exit 1
 if [ -z "${var_name}" ]; then
-  ./subjob_cdosplit.sh ${date_beg} ${date_end}; [ $? -eq 1 ] && exit 1
+  ./subjob_cdosplit.sh ${date_beg} ${date_end}          ; [ $? -eq 1 ] && exit 1
 fi
 ./subjob_cdomiss.sh  ${date_beg} ${date_end} ${var_name}; [ $? -eq 1 ] && exit 1
 ./subjob_ncochunk.sh ${date_beg} ${date_end} ${var_name}; [ $? -eq 1 ] && exit 1
diff --git a/job_ablhpg.sbatch b/job_ablhpg.sbatch
index b2f345c4ce7af757475e287e4560a0f507fe7a10..fc2cb00331895fe37a993857af83fd5b95e2b720 100755
--- a/job_ablhpg.sbatch
+++ b/job_ablhpg.sbatch
@@ -13,20 +13,20 @@ set +xv
 
 if [ -n "$1" ]; then date=$1; else exit 1; fi
 
-p2D="${SCRATCH_DIR}/NC_F320/${date:0:6}/surf2D_ERA5_L1_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
-p3D="${SCRATCH_DIR}/NC_F320/${date:0:6}/inst3D_ERA5_L107-137_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
-pmsk="/ec/res5/project/mercator/ATMO_FORCINGS/ERA5_ABL50_F320_v1/mask0_ERA5_GLO_TLAUTO_IGNONE_GF320_NNint_20120101.nc"
+p2D="${SCRATCH_DIR}/NC_${GRID/N/F}/${date:0:6}/surf2D_L1_${BASE_NAME}_${date}.nc"
+p3D="${SCRATCH_DIR}/NC_${GRID/N/F}/${date:0:6}/inst3D_L107-137_${BASE_NAME}_${date}.nc"
+pmsk="/ec/res5/project/mercator/ATMO_FORCINGS/ERA5_ABL50_F320_v1/mask0_${BASE_NAME%_ana*}_NNint_20120101.nc"
 
-cp -av ${p2D} ${p3D} ${pmsk} $TMPDIR/.
-cp -v /home/ar0s/SRC/NEMO/main/tools/ABL_TOOLS/main_uvg_hpg.exe $TMPDIR/.
+time cp -av ${p2D} ${p3D} ${pmsk} $TMPDIR/.
+cp -v ${DIR_NEMO}/main_uvg_hpg.exe $TMPDIR/.
 
-sed -e "s/fsurf2D/$(basename ${p2D})/g; s/finst3D/$(basename ${p3D})/g; s/fmask/$(basename ${pmsk})/g; s/fhpg/$(basename ${p3D/inst3D/hpg})/g; s~fdir~$TMPDIR~g" < /home/ar0s/SRC/NEMO/main/tools/ABL_TOOLS/namelist_abl_tools.base > $TMPDIR/namelist_abl_tools.hpg.$date
+sed -e "s/fsurf2D/$(basename ${p2D})/g; s/finst3D/$(basename ${p3D})/g; s/fmask/$(basename ${pmsk})/g; s/fhpg/$(basename ${p3D/inst3D/hpg})/g; s~fdir~$TMPDIR~g" < ${DIR_NEMO}/namelist_abl_tools.base > $TMPDIR/namelist_abl_tools.hpg.$date
 
 ls -l $TMPDIR
 cat $TMPDIR/namelist_abl_tools.hpg.$date
 
 $TMPDIR/main_uvg_hpg.exe $TMPDIR/namelist_abl_tools.hpg.$date
 
-mv -v $TMPDIR/$(basename ${p3D/inst3D/hpg}) $(dirname ${p3D})/.
+time mv -v $TMPDIR/$(basename ${p3D/inst3D/hpg}) $(dirname ${p3D})/.
 
 exit 0
diff --git a/job_ablvint.sbatch b/job_ablvint.sbatch
index f6ed723e074a35aed2f3000c0ffbb66b0c97caf3..51f515914f5f575ce40b06f2c9c9873d7d463c00 100755
--- a/job_ablvint.sbatch
+++ b/job_ablvint.sbatch
@@ -15,16 +15,16 @@ set +xv
 if [ -n "$1" ]; then date=$1; else exit 1; fi
 if [ -n "$2" ]; then var_name=$2; fi
 
-p2D="${SCRATCH_DIR}/NC_F320/${date:0:6}/surf2D_ERA5_L1_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
-p3D="${SCRATCH_DIR}/NC_F320/${date:0:6}/inst3D_ERA5_L107-137_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
-pmsk="/ec/res5/project/mercator/ATMO_FORCINGS/ERA5_ABL50_F320_v1/mask0_ERA5_GLO_TLAUTO_IGNONE_GF320_NNint_20120101.nc"
-fabl=$(basename ${p3D/inst3D/abl}) ; fabl=${fabl/L107-137/L50Z10}
+p2D="${SCRATCH_DIR}/NC_${GRID/N/F}/${date:0:6}/surf2D_L1_${BASE_NAME}_${date}.nc"
+p3D="${SCRATCH_DIR}/NC_${GRID/N/F}/${date:0:6}/inst3D_${VLEVEL}_${BASE_NAME}_${date}.nc"
+pmsk="/ec/res5/project/mercator/ATMO_FORCINGS/ERA5_ABL50_F320_v1/mask0_${BASE_NAME%_ana*}_NNint_20120101.nc"
+fabl=$(basename ${p3D/inst3D/abl}) ; fabl=${fabl/${VLEVEL}/L50Z10}
 
-cp -av ${p2D} ${p3D} ${pmsk} $TMPDIR/.
-if [[ -n "${var_name}" && ${var_name} =~ "hpg" ]] || [ -z "${var_name}" ]; then cp -av ${p3D/inst3D/hpg} $TMPDIR/.; fi
-cp -v /home/ar0s/SRC/NEMO/main/tools/ABL_TOOLS/main_vinterp.exe $TMPDIR/.
+time cp -av ${p2D} ${p3D} ${pmsk} $TMPDIR/.
+if [[ -n "${var_name}" && ${var_name} =~ "hpg" ]] || [ -z "${var_name}" ]; then time cp -av ${p3D/inst3D/hpg} $TMPDIR/.; fi
+cp -v ${DIR_NEMO}/main_vinterp.exe $TMPDIR/.
 
-sed -e "s/fsurf2D/$(basename ${p2D})/g; s/finst3D/$(basename ${p3D})/g; s/fmask/$(basename ${pmsk})/g; s/fhpg/$(basename ${p3D/inst3D/hpg})/g; s/fabl/${fabl}/g; s~fdir~$TMPDIR~g" < /home/ar0s/SRC/NEMO/main/tools/ABL_TOOLS/namelist_abl_tools.base > $TMPDIR/namelist_abl_tools.vint.$date
+sed -e "s/fsurf2D/$(basename ${p2D})/g; s/finst3D/$(basename ${p3D})/g; s/fmask/$(basename ${pmsk})/g; s/fhpg/$(basename ${p3D/inst3D/hpg})/g; s/fabl/${fabl}/g; s~fdir~$TMPDIR~g" < ${DIR_NEMO}/namelist_abl_tools.base > $TMPDIR/namelist_abl_tools.vint.$date
 sed -i "s/ln_read_mask    =   .false./ln_read_mask    =    .true./g" $TMPDIR/namelist_abl_tools.vint.$date
 if [ -n "${var_name}" ]; then
   sed -i "s/    var_name  = '',/    var_name  = '${var_name}',/g" $TMPDIR/namelist_abl_tools.vint.$date
@@ -36,6 +36,7 @@ cat $TMPDIR/namelist_abl_tools.vint.$date
 
 $TMPDIR/main_vinterp.exe $TMPDIR/namelist_abl_tools.vint.$date
 
-mv -v $TMPDIR/${var_name:+"${var_name}_"}${fabl} $(dirname ${p3D})/.
+ls -l $TMPDIR
+time mv -v $TMPDIR/${var_name:+"${var_name}_"}${fabl} $(dirname ${p3D})/.
 
 exit 0
diff --git a/job_cdogrid.sbatch b/job_cdogrid.sbatch
index 595d9e74dbe3a1002845593763c3b65244c74ec0..8616f53614a5cc7e8eadb1e4cb7f88b0d8793a9d 100755
--- a/job_cdogrid.sbatch
+++ b/job_cdogrid.sbatch
@@ -15,11 +15,18 @@ if [ -n "$1" ]; then pinp=$1; else exit 1; fi
 if [ -n "$2" ]; then pout=$2; else exit 1; fi
 
 
-cp -av ${pinp} $TMPDIR/.
+time cp -av ${pinp} $TMPDIR/.
 
-cdo -v -t ecmwf -z zip -k grid -f nc4 -setgridtype,regular $TMPDIR/$(basename ${pinp}) $TMPDIR/$(basename ${pout})
+if [[ ${GRID:0:1} == "N" ]]; then
+  cdo -v -t ecmwf -z zip -k grid -f nc4 -setgridtype,regular $TMPDIR/$(basename ${pinp}) $TMPDIR/$(basename ${pout})
+elif [[ ${GRID:0:1} == "F" ]]; then
+  cdo -v -t ecmwf -z zip -k grid -f nc4 copy $TMPDIR/$(basename ${pinp}) $TMPDIR/$(basename ${pout})
+else
+  echo "ERROR: ${GRID} grid unsupported"
+  exit 1
+fi
 
 mkdir -pv $(dirname ${pout})
-mv -v $TMPDIR/$(basename ${pout}) ${pout}
+time mv -v $TMPDIR/$(basename ${pout}) ${pout}
 
 exit 0
diff --git a/job_cdomiss.sbatch b/job_cdomiss.sbatch
index 6ab6eb533c7099e26fa36f64d152743f0d0912a4..a384d0362844ab4f23995502774d6f785c295ec3 100755
--- a/job_cdomiss.sbatch
+++ b/job_cdomiss.sbatch
@@ -16,13 +16,13 @@ set +xv
 if [ -n "$1" ]; then date=$1; else exit 1; fi
 if [ -n "$2" ]; then  var=$2; else exit 1; fi
 
-d="${SCRATCH_DIR}/NC_F320/${date:0:6}"
-f="abl_ERA5_L50Z10_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
+d="${SCRATCH_DIR}/NC_${GRID/N/F}/${date:0:6}"
+f="abl_L50Z10_${BASE_NAME}_${date}.nc"
 
-cp -av ${d}/${var}_${f} $TMPDIR/.
+time cp -av ${d}/${var}_${f} $TMPDIR/.
 
-cdo -v -P 4 -t ecmwf -z zip -k grid -f nc4 -pack -setmisstodis -setctomiss,9.9692e+36 $TMPDIR/${var}_${f} $TMPDIR/${var}_${f%.nc}_misstodis.nc
+cdo -P 4 -t ecmwf -z zip -k grid -f nc4 -pack -setmisstodis -setctomiss,9.9692e+36 $TMPDIR/${var}_${f} $TMPDIR/${var}_${f%.nc}_misstodis.nc
 
-mv -v $TMPDIR/${var}_${f%.nc}_misstodis.nc ${d}/.
+time mv -v $TMPDIR/${var}_${f%.nc}_misstodis.nc ${d}/.
 
 exit 0
diff --git a/job_cdosplit.sbatch b/job_cdosplit.sbatch
index c3489ee94e3c77edc3d893857d8512a67ff8354b..56f189957acc04dd45d5d447f5283d49c73b0273 100755
--- a/job_cdosplit.sbatch
+++ b/job_cdosplit.sbatch
@@ -12,16 +12,16 @@ set +xv
 
 if [ -n "$1" ]; then date=$1; else exit 1; fi
 
-pabl="${SCRATCH_DIR}/NC_F320/${date:0:6}/abl_ERA5_L50Z10_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
+pabl="${SCRATCH_DIR}/NC_F320/${date:0:6}/abl_L50Z10_${BASE_NAME}_${date}.nc"
 var_list=( uwnd vwnd uhpg vhpg tpot humi )
 
-cp -a ${pabl} ${TMPDIR}/.
+time cp -a ${pabl} ${TMPDIR}/.
 
 cd $TMPDIR; pwd
 cdo -v splitname,swap $(basename ${pabl}) _$(basename ${pabl%.nc})
 
 ls -l $TMPDIR
 #mv -v $TMPDIR/{$(tr ' ' ',' <<< ${var_list[*]})}_$(basename ${pabl}) $(dirname ${pabl})/.
-mv -v $TMPDIR/????_$(basename ${pabl}) $(dirname ${pabl})/.
+time mv -v $TMPDIR/????_$(basename ${pabl}) $(dirname ${pabl})/.
 
 exit 0
diff --git a/job_mars.sbatch b/job_mars.sbatch
index cbebab557c23e85e7406208ae6584a3e38147214..df8491436eb215d4697318623eb8228f4f075bab 100755
--- a/job_mars.sbatch
+++ b/job_mars.sbatch
@@ -14,7 +14,7 @@ sed -e "s~date_req~${date}~g; s~dir_out~$TMPDIR~g" < ${file_req} > $TMPDIR/$(bas
 
 mars $TMPDIR/$(basename ${file_req%.req.base}_${date}.req)
 
-mkdir -pv ${SCRATCH_DIR}/GRIB_N320/${date:0:6}
-mv -v $TMPDIR/*_${date}.grib ${SCRATCH_DIR}/GRIB_N320/${date:0:6}
+mkdir -pv ${SCRATCH_DIR}/GRIB_${GRID}/${date:0:6}
+mv -v $TMPDIR/*_${date}.grib ${SCRATCH_DIR}/GRIB_${GRID}/${date:0:6}
 
 exit 0
diff --git a/job_ncochunk.sbatch b/job_ncochunk.sbatch
index 7c47a714b1d52d267ffa097786c07c0620f5b02a..99f7b803f36b1c76e8ebfec1ef35b818ce3d4a74 100755
--- a/job_ncochunk.sbatch
+++ b/job_ncochunk.sbatch
@@ -16,13 +16,13 @@ set +xv
 if [ -n "$1" ]; then date=$1; else exit 1; fi
 if [ -n "$2" ]; then  var=$2; else exit 1; fi
 
-d="${SCRATCH_DIR}/NC_F320/${date:0:6}"
-f="${var}_abl_ERA5_L50Z10_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}_misstodis.nc"
+d="${SCRATCH_DIR}/NC_${GRID/N/F}/${date:0:6}"
+f="${var}_abl_L50Z10_${BASE_NAME}_${date}_misstodis.nc"
 
-cp -av ${d}/${f} $TMPDIR/.
+time cp -av ${d}/${f} $TMPDIR/.
 
 ncks --4 --dfl_lvl 1 --no_abc -v ${var} --cnk_plc=xpl --cnk_dmn lon,64 --cnk_dmn lat,64 --cnk_dmn time,1 --cnk_dmn jpka,1 $TMPDIR/${f} $TMPDIR/${f%.nc}_cnk64.nc
 
-mv -v $TMPDIR/${f%.nc}_cnk64.nc ${d}/.
+time mv -v $TMPDIR/${f%.nc}_cnk64.nc ${d}/.
 
 exit 0
diff --git a/mars_inst3D_ana.req.base b/mars_inst3D_ana.req.base
index 1ace4e3a47d12cf8b919a93c0c2fde757f4445ca..630a662ec8f1af3f03f4c0e3a7d6c4c7af444714 100644
--- a/mars_inst3D_ana.req.base
+++ b/mars_inst3D_ana.req.base
@@ -35,6 +35,7 @@ retrieve,
   #levelist =  44/to/60 ,      # L60 : level 44 correspond to ~3100 m
   #levelist =  71/to/91 ,      # L91 : 2006/02/01 06:00 -> 2013/06/25 00:00
   levelist = 107/to/137,      # L137: 2013/06/25 06:00 -> ongoing + ERA5
+  #levelist = 137,      # L137: 2013/06/25 06:00 -> ongoing + ERA5
 
 
   # TIME
@@ -84,8 +85,10 @@ retrieve,
   #area    = 7.70/262.0/31.0/296.0,
   # NANUK
   #area    = 35./0./90./360.,
-
+  # GULFSTREAM
+  #area    = 50.0/-90.0/20.0/-30.0,
 
   # OUTPUTS
-  target  = "dir_out/inst3D_ERA5_L107-137_GLO_TL[truncation]_IG[intgrid]_G[grid]_ana01h_[date].grib"
+  target  = "dir_out/inst3D_L107-137_ERA5_GLO_TL[truncation]_IG[intgrid]_G[grid]_ana01h_[date].grib"
+  #target  = "dir_out/inst3D_L107-137_ERA5_NANUK_TL[truncation]_IG[intgrid]_G[grid]_ana01h_[date].grib"
 
diff --git a/mars_surf2D_ana.req.base b/mars_surf2D_ana.req.base
index 6ef21304151bd44f56f548ce56dfb125086dd06f..28cc3f74f70f67b48c5aff3cde7cce59e126e55e 100644
--- a/mars_surf2D_ana.req.base
+++ b/mars_surf2D_ana.req.base
@@ -1,4 +1,4 @@
-#
+
 # get ?h-analysis for instantaneous surface 2D fields ( Z, log(SP))
 #
 # GRIB PARAMETERS DATABASE: https://codes.ecmwf.int/grib/param-db/
@@ -13,7 +13,6 @@ retrieve,
 
   # MODEL
   expver  = 0001,
-
   # IFS
   #class   = od,
   # ERAI
@@ -44,10 +43,16 @@ retrieve,
 
 
   # SPECTRAL GRID
-  #truncation = NONE,
+  #truncation = AUTO = NONE = 639,
+  # ERAI
+  #truncation = 255,
+  # ERA5
+  #truncation = 639,
   truncation = AUTO,
-  #resol     = AV,
-  # ERAI (T255)
+
+  # INTERMEDIATE SPATIAL GRID
+  #intgrid    = AUTO = NONE,
+  # ERAI
   #intgrid    = N128,
   # ERA5 (T639)
   #intgrid    = N320,
@@ -78,8 +83,11 @@ retrieve,
   #area    = 7.70/262.0/31.0/296.0,
   # NANUK
   #area    = 35./0./90./360.,
+  # GULFSTREAM
+  #area    = 50.0/-90.0/20.0/-30.0,
 
 
   # OUTPUTS
-  target  = "dir_out/surf2D_ERA5_L1_GLO_TL[truncation]_IG[intgrid]_G[grid]_ana01h_[date].grib"
+  target  = "dir_out/surf2D_L1_ERA5_GLO_TL[truncation]_IG[intgrid]_G[grid]_ana01h_[date].grib"
+  #target  = "dir_out/surf2D_L1_ERA5_NANUK_TL[truncation]_IG[intgrid]_G[grid]_ana01h_[date].grib"
 
diff --git a/move_to_perm.sh b/move_to_perm.sh
index be47c65f8369832cae1563668fbb19f965fda5a5..5ceaebea4f9136000afb488e4d23d314f069660b 100755
--- a/move_to_perm.sh
+++ b/move_to_perm.sh
@@ -20,7 +20,7 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
 
   # DIRECTORIES & FILES
   d="${SCRATCH_DIR}/NC_F320/${ym}"
-  f="abl_ERA5_L50Z10_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}_misstodis_cnk64.nc"
+  f="abl_L50Z10_${BASE_NAME}_${date}_misstodis_cnk64.nc"
 
   for v in ${var_list[@]}; do
   
@@ -32,7 +32,7 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
         mkdir -pv ${DIR_SAVE}/${v^^}
         mv -v ${d}/${finp} ${DIR_SAVE}/${v^^}/${fout}
       else
-        echo "MOVE_TO_PERM ERROR: input files not found"; exit 1
+        echo "-MOVE_TO_PERM: ERROR: input files not found"; exit 1
       fi
     fi
   
@@ -45,13 +45,13 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
       file_nb=$( eval "ls ${DIR_SAVE}/${var_list[*]^^}/ERA5_L50Z10_${var_list[*]^^}_1H_extrap_y${date:0:4}m${date:4:2}d{${date_beg:6:2}..${date_end:6:2}}.nc 2>/dev/null" | wc -l )
     fi
     if [ $((nbday*${#var_list[@]})) -eq ${file_nb} ]; then
-      echo "MOVE_TO_PERM OK"
-      eval "rm -v ${SCRATCH_DIR}/NC_F320/${ym}/*{${date_beg}..${date_end}}*.nc"
-      eval "rm -v ${SCRATCH_DIR}/GRIB_N320/${ym}/*{${date_beg}..${date_end}}*.grib"
-      echo "CLEANING OK"
+      echo "-MOVE_TO_PERM: OK"
+      eval "rm -v ${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}/*{${date_beg}..${date_end}}*.nc"
+      eval "rm -v ${SCRATCH_DIR}/GRIB_${GRID}/${ym}/*{${date_beg}..${date_end}}*.grib"
+      echo "-CLEANING: OK"
       exit 0
     else
-      echo "MOVE_TO_PERM ERROR"
+      echo "-MOVE_TO_PERM: ERROR"
       exit 1
     fi
   fi
diff --git a/namelist_abl_tools.base b/namelist_abl_tools.base
new file mode 100644
index 0000000000000000000000000000000000000000..04002a448368d5cc6d11187c851e94dbf1355ca3
--- /dev/null
+++ b/namelist_abl_tools.base
@@ -0,0 +1,53 @@
+:
+:-----------------------------------------------------------------------------
+: Atmospheric Boundary Layer preprocessing tool 
+:-----------------------------------------------------------------------------
+:
+&nml_dom
+    jpka         =      50,        ! ABL vertical levels number
+    hmax         =   2000.,        ! ABL last level altitude
+    theta_s      =      2.,        ! vertical grid stretching parameters
+    hc           =    100.,        ! 
+    ln_impose_z1 =  .true.,        ! force ABL first level altitude
+    z1           =     10.,        ! ABL firt level imposed altitude [m]
+/
+
+&nml_opt
+    ptemp_method    =        1  ,  ! potential temperature computation method
+    ln_slp_smth     =   .false. ,  ! smooth slp and ghw at high latitudes only
+    ln_drw_smth     =   .false. ,  ! smooth after drowning
+    ln_slp_log      =   .true.  ,  ! read log(slp)
+    ln_read_zsurf   =   .true.  ,  ! read surface geopotential
+    ln_hpg_frc      =   .true.  ,  ! compute horizontal pressure gradient
+    ln_geo_wnd      =   .false. ,  ! compute geostrophic wind
+    ln_c1d          =   .false. ,  ! 1D-case
+    ln_read_mask    =   .false. ,  ! read mask file
+    ln_lsm_land     =   .false. ,  ! inverse land & sea masks
+    ln_perio_latbc  =   .true.  ,  ! periodic lateral boundary conditions
+/
+
+&nml_fld
+    cn_dir      = 'fdir',
+    mask_var    = 'LSM',
+    file_m      = 'fmask',
+    file_u      = 'finst3D',
+    file_v      = 'finst3D',
+    file_t      = 'finst3D',
+    file_q      = 'finst3D',
+    file_p      = 'fsurf2D',
+    file_z      = 'fsurf2D',
+    file_geos   = 'fhpg',
+    file_hpg    = 'fhpg',
+/
+
+&nml_out
+    grd_file  = 'domcfg_abl_L50Z10.nc',
+    abl_file  = 'fabl',
+    drwn_file = '',
+    var_name  = '',
+/
+
+&nml_c1d
+    iloc = 283,
+    jloc =  52,
+/
diff --git a/subjob_ablhpg.sh b/subjob_ablhpg.sh
index ba3dc78610af5bc441213e6e34dd5c6e258c70b9..17ca76c40b9dbd3e92220f3159000cfea55f25b8 100755
--- a/subjob_ablhpg.sh
+++ b/subjob_ablhpg.sh
@@ -15,9 +15,9 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   ym=${date:0:6}
 
   # DIRECTORIES & FILES
-  p2D="${SCRATCH_DIR}/NC_F320/${ym}/surf2D_ERA5_L1_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
-  p3D="${SCRATCH_DIR}/NC_F320/${ym}/inst3D_ERA5_L107-137_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
-  pmsk="${SCRATCH_DIR}/NC_F320/${ym}/mask0_ERA5_GLO_TLAUTO_IGNONE_GF320_NNint_20120101.nc"
+  p2D="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}/surf2D_L1_${BASE_NAME}_${date}.nc"
+  p3D="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}/inst3D_L107-137_${BASE_NAME}_${date}.nc"
+  pmsk="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}/mask0_${BASE_NAME%_ana*}_NNint_20120101.nc"
   f2D=$(basename $p2D)   ; d2D=$(dirname $p2D)
   f3D=$(basename $p3D)   ; d3D=$(dirname $p3D)
   fmsk=$(basename $pmsk) ; dmsk=$(dirname $pmsk)
@@ -27,9 +27,9 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   
     if [[ -s ${p2D} && -s ${p3D} ]]; then
       while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -ge 90 ]; do echo "sleeping..."; sleep 10; done
-      sbatch --job-name=ablhpg_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} /home/ar0s/PROD_ERA5_ABL/job_ablhpg.sbatch ${date}
+      sbatch --job-name=ablhpg_${date} --export=SCRATCH_DIR=${SCRATCH_DIR},BASE_NAME=${BASE_NAME},DIR_NEMO=${DIR_NEMO},GRID=${GRID} ${DIR_SRC}/job_ablhpg.sbatch ${date}
     else
-      echo "ABL_HPG ERROR: input files not found"; exit 1
+      echo "-ABL_HPG: ERROR: input files not found"; exit 1
     fi
   
   fi
@@ -39,9 +39,9 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   if [ ${date} -eq ${date_end} ]; then
     file_nb=$( eval "ls ${d2D}/${fhpg/${date}.nc/${ym}{${date_beg:6:2}..${date_end:6:2}}}.nc 2>/dev/null" | wc -l )
     if [ ${nbday} -eq ${file_nb} ]; then
-      echo "ABL_HPG OK"
+      echo "-ABL_HPG: OK"
     else
-      echo "ABL_HPG ERROR"; exit 1
+      echo "-ABL_HPG: ERROR"; exit 1
     fi
   fi
 
diff --git a/subjob_ablvint.sh b/subjob_ablvint.sh
index 9363d428782ef9750bf7b90fe4950bdfa46f6f05..cb652caf766a4857124a607be3494e4c83aacb23 100755
--- a/subjob_ablvint.sh
+++ b/subjob_ablvint.sh
@@ -9,6 +9,7 @@ date_end=$2
 nbday=$(( ($(date -d "${date_end}H00 + 1 day" +%s) - $(date -d "${date_beg}H00" +"%s") )/(60*60*24) ))
 if [ -n "$3" ]; then var_name=$3; fi
 
+
 for d in $(seq -f "%02g" 0 $((nbday-1))); do
 
   # TIME
@@ -16,20 +17,20 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   ym=${date:0:6}
 
   # DIRECTORIES & FILES
-  p2D="${SCRATCH_DIR}/NC_F320/${ym}/surf2D_ERA5_L1_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
-  p3D="${SCRATCH_DIR}/NC_F320/${ym}/inst3D_ERA5_L107-137_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
-  pmsk="${SCRATCH_DIR}/NC_F320/${ym}/mask0_ERA5_GLO_TLAUTO_IGNONE_GF320_NNint_20120101.nc"
+  p2D="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}/surf2D_L1_${BASE_NAME}_${date}.nc"
+  p3D="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}/inst3D_${VLEVEL}_${BASE_NAME}_${date}.nc"
+  pmsk="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}/mask0_${BASE_NAME%_ana*}_NNint_20120101.nc"
   f2D=$(basename $p2D)   ; d2D=$(dirname $p2D)
   f3D=$(basename $p3D)   ; d3D=$(dirname $p3D)
   fmsk=$(basename $pmsk) ; dmsk=$(dirname $pmsk)
-  fabl=${f3D/inst3D/abl} ; fabl=${fabl/L107-137/L50Z10}
+  fabl=${f3D/inst3D/abl} ; fabl=${fabl/${VLEVEL}/L50Z10}
   fhpg=${f3D/inst3D/hpg}
 
   if [ ! -s ${d2D}/${var_name:+"${var_name}_"}${fabl} ]; then
   
     if [[ -s ${p2D} && -s ${p3D} ]] && [[ -s ${d2D}/${fhpg} || -n "${var_name}" ]]; then
       while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -ge 90 ]; do echo "sleeping..."; sleep 10; done
-      sbatch --job-name=ablvint${var_name:+"_${var_name}"}_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} /home/ar0s/PROD_ERA5_ABL/job_ablvint.sbatch ${date} ${var_name}
+      sbatch --job-name=ablvint${var_name:+"_${var_name}"}_${date} --export=SCRATCH_DIR=${SCRATCH_DIR},VLEVEL=${VLEVEL},BASE_NAME=${BASE_NAME},DIR_NEMO=${DIR_NEMO},GRID=${GRID} ${DIR_SRC}/job_ablvint.sbatch ${date} ${var_name}
     else
       echo "ABL_VINT ERROR: input files not found"; exit 1
     fi
@@ -41,13 +42,14 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   if [ ${date} -eq ${date_end} ]; then
     file_nb=$( eval "ls ${d2D}/${var_name:+"${var_name}_"}${fabl/${date}.nc/${ym}{${date_beg:6:2}..${date_end:6:2}}}.nc 2>/dev/null" | wc -l )
     if [ ${nbday} -eq ${file_nb} ]; then
-      echo "ABL_VINT OK"
+      echo "-ABL_VINT: OK"
     else 
-      echo "ABL_VINT ERROR"
+      echo "-ABL_VINT: ERROR"
       exit 1
     fi
   fi
 
 done
 
+
 exit 0
diff --git a/subjob_cdogrid.sh b/subjob_cdogrid.sh
index 3473923c5f20db3d5f1ac440299baf6589c89146..64c375545d52fe3809223a1fa7bf6e3c23371ca4 100755
--- a/subjob_cdogrid.sh
+++ b/subjob_cdogrid.sh
@@ -15,11 +15,11 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   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
+  p2D="${SCRATCH_DIR}/GRIB_${GRID}/${ym}/surf2D_L1_${BASE_NAME/_GF/_GN}_${date}.grib"
+  p3D="${SCRATCH_DIR}/GRIB_${GRID}/${ym}/inst3D_${VLEVEL}_${BASE_NAME/_GF/_GN}_${date}.grib"
+  dout="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}" ; mkdir -p ${dout}
+  f2D="surf2D_L1_${BASE_NAME}_${date}.nc"
+  f3D="inst3D_${VLEVEL}_${BASE_NAME}_${date}.nc"
   d2D=$(dirname $p2D) ; d3D=$(dirname $p3D)
 
   if [ ! -s ${dout}/${f2D} ]; then
@@ -28,9 +28,9 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   
     if [ -s ${p2D} ]; then
       while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -ge 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}
+      sbatch --job-name=cdogrid2D_${date} --export=SCRATCH_DIR=${SCRATCH_DIR},GRID=${GRID} ${DIR_SRC}/job_cdogrid.sbatch ${p2D} ${dout}/${f2D}
     else
-      echo "CDO_GRID2D ERROR: input files not found"; exit 1
+      echo "-CDO_GRID2D: ERROR: input files not found"; exit 1
     fi
   
   fi
@@ -38,12 +38,12 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   if [ ! -s ${dout}/${f3D} ]; then
   
     mkdir -pv ${dout}
-  
+ 
     if [ -s ${p3D} ]; then
       while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -ge 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}
+      sbatch --job-name=cdogrid3D_${date} --export=SCRATCH_DIR=${SCRATCH_DIR},GRID=${GRID} ${DIR_SRC}/job_cdogrid.sbatch ${p3D} ${dout}/${f3D}
     else
-      echo "CDO_GRID3D ERROR: input files not found"; exit 1
+      echo "-CDO_GRID3D: ERROR: input files not found"; exit 1
     fi
   
   fi
@@ -53,15 +53,15 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   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"
+      echo "-CDO_GRID2D: OK"
     else
-      echo "ERROR CDO_GRID 2D"; exit 1
+      echo "-CDO_GRID2D: ERROR"; 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"
+      echo "-CDO_GRID3D: OK"
     else
-      echo "ERROR CDO_GRID 3D"; exit 1
+      echo "-CDO_GRID3D: ERROR"; exit 1
     fi
   fi
 
diff --git a/subjob_cdomiss.sh b/subjob_cdomiss.sh
index a74506c6f7dbc0a2db7a6ef63bd9a2cd493e50c5..18ec82f45b5024013979a5e2cf185b226be3d723 100755
--- a/subjob_cdomiss.sh
+++ b/subjob_cdomiss.sh
@@ -20,8 +20,8 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   ym=${date:0:6}
 
   # DIRECTORIES & FILES
-  d="${SCRATCH_DIR}/NC_F320/${ym}"
-  f="abl_ERA5_L50Z10_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
+  d="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}"
+  f="abl_L50Z10_${BASE_NAME}_${date}.nc"
 
   for v in ${var_list[@]}; do
   
@@ -31,9 +31,9 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
     if [ ! -s ${d}/${fout} ]; then
       if [ -s ${d}/${finp} ]; then
         while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -ge 90 ]; do echo "sleeping..."; sleep 10; done
-        sbatch --job-name=cdomiss_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} ${DIR_SRC}/job_cdomiss.sbatch ${date} ${v}
+        sbatch --job-name=cdomiss_${date} --export=SCRATCH_DIR=${SCRATCH_DIR},BASE_NAME=${BASE_NAME},GRID=${GRID} ${DIR_SRC}/job_cdomiss.sbatch ${date} ${v}
       else
-        echo "CDO_MISS ERROR: input files not found"; exit 1
+        echo "-CDO_MISS: ERROR: input files not found"; exit 1
       fi
     fi
   
@@ -48,9 +48,9 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
       file_nb=$( eval "ls ${d}/${var_list[*]}_${f/${date}.nc/${ym}{${date_beg:6:2}..${date_end:6:2}}}_misstodis.nc 2>/dev/null" | wc -l )
     fi
     if [ $((nbday*${#var_list[@]})) -eq ${file_nb} ]; then
-      echo "CDO_MISS OK"
+      echo "-CDO_MISS: OK"
     else
-      echo "CDO_MISS ERROR"
+      echo "-CDO_MISS: ERROR"
       exit 1
     fi
   fi
diff --git a/subjob_cdosplit.sh b/subjob_cdosplit.sh
index ab50bc8694f4b14d5321e87d03e706be0a7f13f4..feea2a9b8c0bccb9671ece2a02bdddd0216c92ae 100755
--- a/subjob_cdosplit.sh
+++ b/subjob_cdosplit.sh
@@ -23,7 +23,7 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   ym=${date:0:6}
 
   # DIRECTORIES & FILES
-  pabl="${SCRATCH_DIR}/NC_F320/${ym}/abl_ERA5_L50Z10_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
+  pabl="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}/abl_L50Z10_${BASE_NAME}_${date}.nc"
   fabl=$(basename $pabl)
   dabl=$(dirname $pabl)
 
@@ -33,9 +33,9 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   
     if [ -s ${pabl} ]; then
       while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -ge 90 ]; do echo "sleeping..."; sleep 10; done
-      sbatch --job-name=cdosplit_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} ${DIR_SRC}/job_cdosplit.sbatch ${date}
+      sbatch --job-name=cdosplit_${date} --export=SCRATCH_DIR=${SCRATCH_DIR},BASE_NAME=${BASE_NAME} ${DIR_SRC}/job_cdosplit.sbatch ${date}
     else
-      echo "CDO_SPLIT ERROR: input files not found"; exit 1
+      echo "-CDO_SPLIT: ERROR: input files not found"; exit 1
     fi
   
   fi
@@ -45,9 +45,9 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   if [ ${date} -eq ${date_end} ]; then
     file_nb=$( eval "ls ${dabl}/{$(tr ' ' ',' <<< ${var_list[*]})}_${fabl/${date}.nc/${ym}{${date_beg:6:2}..${date_end:6:2}}}.nc 2>/dev/null" | wc -l )
     if [ $((nbday*var_nb)) -eq ${file_nb} ]; then
-      echo "CDO_SPLIT OK"
+      echo "-CDO_SPLIT: OK"
     else
-      echo "CDO_SPLIT ERROR"
+      echo "-CDO_SPLIT: ERROR"
       exit 1
     fi
   fi
diff --git a/subjob_mars.sh b/subjob_mars.sh
index 528510fce2279a5dc8802358c75968b17b0c67f6..78cbd93371986a534cd5d4153d803bee5270884a 100755
--- a/subjob_mars.sh
+++ b/subjob_mars.sh
@@ -15,22 +15,22 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   ym=${date:0:6}
 
   # DIRECTORIES & FILES
-  dout="${SCRATCH_DIR}/GRIB_N320/${ym}"
-  dreg="${SCRATCH_DIR}/NC_F320/${ym}"
-  f3D="inst3D_ERA5_L*_GLO_TLAUTO_IGNONE_GN320_ana01h_${date}.grib"
-  f2D="surf2D_ERA5_L*_GLO_TLAUTO_IGNONE_GN320_ana01h_${date}.grib"
-  n3D="inst3D_ERA5_L*_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
-  n2D="surf2D_ERA5_L*_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}.nc"
+  dout="${SCRATCH_DIR}/GRIB_${GRID}/${ym}"
+  dreg="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}"
+  f3D="inst3D_${VLEVEL}_${BASE_NAME/_GF/_GN}_${date}.grib"
+  f2D="surf2D_L1_${BASE_NAME/_GF/_GN}_${date}.grib"
+  n3D="inst3D_${VLEVEL}_${BASE_NAME}_${date}.nc"
+  n2D="surf2D_L1_${BASE_NAME}_${date}.nc"
 
   # SUBMIT JOB
   if [ ! -s ${dout}/${f3D} ] && [ ! -s ${dreg}/${n3D} ]; then
     while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -ge 90 ]; do echo "sleeping..."; sleep 10; done
-    sbatch --job-name=mars_inst3D_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} ${DIR_SRC}/job_mars.sbatch ${DIR_SRC}/mars_inst3D_ana.req.base ${date}
+    sbatch --job-name=mars_inst3D_${date} --export=SCRATCH_DIR=${SCRATCH_DIR},GRID=${GRID} ${DIR_SRC}/job_mars.sbatch ${DIR_SRC}/mars_inst3D_ana.req.base ${date}
   fi
 
   if [ ! -s ${dout}/${f2D} ] && [ ! -s ${dreg}/${n2D} ]; then
     while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -ge 90 ]; do echo "sleeping..."; sleep 10; done
-    sbatch --job-name=mars_surf2D_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} ${DIR_SRC}/job_mars.sbatch ${DIR_SRC}/mars_surf2D_ana.req.base ${date}
+    sbatch --job-name=mars_surf2D_${date} --export=SCRATCH_DIR=${SCRATCH_DIR},GRID=${GRID} ${DIR_SRC}/job_mars.sbatch ${DIR_SRC}/mars_surf2D_ana.req.base ${date}
   fi
 
   # WAIT FOR THE LAST DATE TO FINISH
@@ -41,11 +41,11 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
     
     fnb=$( eval "ls ${dout}/${f3D/${date}.grib/${ym}{${date_beg:6:2}..${date_end:6:2}}}.grib 2>/dev/null" | wc -l )
     nnb=$( eval "ls ${dreg}/${n3D/${date}.nc/${ym}{${date_beg:6:2}..${date_end:6:2}}}.nc 2>/dev/null" | wc -l )
-    if [[ ${nbday} -eq ${fnb} || ${nbday} -eq ${nnb} ]]; then echo "MARS INST3D OK"; else echo "MARS INST3D ERROR"; exit 1; fi
+    if [[ ${nbday} -eq ${fnb} || ${nbday} -eq ${nnb} ]]; then echo "-MARS_INST3D: OK"; else echo "-MARS_INST3D: ERROR"; exit 1; fi
 
     fnb=$( eval "ls ${dout}/${f2D/${date}.grib/${ym}{${date_beg:6:2}..${date_end:6:2}}}.grib 2>/dev/null" | wc -l )
     nnb=$( eval "ls ${dreg}/${n2D/${date}.nc/${ym}{${date_beg:6:2}..${date_end:6:2}}}.nc 2>/dev/null" | wc -l )
-    if [[ ${nbday} -eq ${fnb} || ${nbday} -eq ${nnb} ]]; then echo "MARS SURF2D OK"; else echo "MARS SURF2D ERROR"; exit 1; fi
+    if [[ ${nbday} -eq ${fnb} || ${nbday} -eq ${nnb} ]]; then echo "-MARS_SURF2D: OK"; else echo "-MARS_SURF2D: ERROR"; exit 1; fi
 
   fi
 
diff --git a/subjob_ncochunk.sh b/subjob_ncochunk.sh
index b5c199e2b29145c1467772f6815554b82be3c121..4f81fd771d92bf2996afad4aadcdeceafbb2e6bd 100755
--- a/subjob_ncochunk.sh
+++ b/subjob_ncochunk.sh
@@ -20,8 +20,8 @@ for d in $(seq -f "%02g" 0 $((nbday-1))); do
   ym=${date:0:6}
 
   # DIRECTORIES & FILES
-  d="${SCRATCH_DIR}/NC_F320/${ym}"
-  f="abl_ERA5_L50Z10_GLO_TLAUTO_IGNONE_GF320reg_ana01h_${date}_misstodis.nc"
+  d="${SCRATCH_DIR}/NC_${GRID/N/F}/${ym}"
+  f="abl_L50Z10_${BASE_NAME}_${date}_misstodis.nc"
 
 for v in ${var_list[@]}; do
 
@@ -31,9 +31,9 @@ for v in ${var_list[@]}; do
   if [ ! -s ${d}/${fout} ]; then
     if [ -s ${d}/${finp} ]; then
       while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -ge 90 ]; do echo "sleeping..."; sleep 10; done
-      sbatch --job-name=ncochunk_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} /home/ar0s/PROD_ERA5_ABL/job_ncochunk.sbatch ${date} ${v}
+      sbatch --job-name=ncochunk_${date} --export=SCRATCH_DIR=${SCRATCH_DIR},BASE_NAME=${BASE_NAME},GRID=${GRID} ${DIR_SRC}/job_ncochunk.sbatch ${date} ${v}
     else
-      echo "NCO_CHUNK ERROR: input files not found"; exit 1
+      echo "-NCO_CHUNK: ERROR: input files not found"; exit 1
     fi
   fi
 
@@ -49,9 +49,9 @@ if [ ${date} -eq ${date_end} ]; then
     file_nb=$( eval "ls ${d}/${var_list[*]}_${fall} 2>/dev/null" | wc -l )
   fi
   if [ $((nbday*${#var_list[@]})) -eq ${file_nb} ]; then
-    echo "NCO_CHUNK OK"
+    echo "-NCO_CHUNK: OK"
   else
-    echo "NCO_CHUNK ERROR"
+    echo "-NCO_CHUNK: ERROR"
     exit 1
   fi
 fi