Skip to content
Snippets Groups Projects
subjob_ablvint.sh 1.69 KiB
Newer Older
Guillaume S's avatar
Guillaume S committed
#!/bin/bash

set +xv

# 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}/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"
  f2D=$(basename $p2D)   ; d2D=$(dirname $p2D)
  f3D=$(basename $p3D)   ; d3D=$(dirname $p3D)
  fmsk=$(basename $pmsk) ; dmsk=$(dirname $pmsk)
  fhpg=${f3D/inst3D/hpg}
  fabl=${f3D/inst3D/abl} ; fabl=${fabl/L107-137/L50Z10}

  if [ ! -s ${d2D}/${fabl} ]; then
  
    if [[ -s ${p2D} && -s ${p3D} && -s ${d2D}/${fhpg} ]]; then
      while [ $(squeue -u $USER -h -t pending,running -r | wc -l) -eq 90 ]; do echo "sleeping..."; sleep 10; done
      sbatch --job-name=ablvint_${date} --export=SCRATCH_DIR=${SCRATCH_DIR} /home/ar0s/PROD_ERA5_ABL/job_ablvint.sbatch ${date}
    else
      echo "ABL_VINT 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}.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"
    else 
      echo "ABL_VINT ERROR"
      exit 1
    fi
  fi