LIBRADDIR=$WORK/lib/libRadtran/

DATA=/project/meteo/work/Carolin.Klinger/ECMWF/Data/

function run_ex () {
  CASE=$1
  K=$2
  IDENT=$3

  WDIR=${CASE}.${K}.$IDENT
  if [[ -e $WDIR ]]; then
    echo "Skipping $WDIR because dir exists"
  else
    echo "Executing $WDIR"
    mkdir -p $WDIR

    cat > $WDIR/uvspec.inp << EOF
data_files_path $LIBRADDIR/data/
atmosphere_file $DATA/atmos_${CASE}_${K}_shift.dat
source thermal

albedo 0

rte_solver mystic        # Radiative transfer equation solver
mc_photons 1.e8
mc_minphotons 10000

mol_abs_param FU          # Correlated-k by Fu and Liou [1992/93]
wavelength_index 6 18

output_process sum

#mc_sample_grid 1 1 80 80 # Gitter festlegen

output_user zout edn eup
#output_user zout edn eup heat
#mc_forward_output heating K_per_day
#make_all_layers_3d

zout all_levels

mc_std
mc_bcond mirror

mixing_ratio O2 2095
mixing_ratio CO2 400

mol_file N2O $DATA/mol_n2o_${CASE}_${K}.dat vmr
mol_file O3  $DATA/mol_o3_${CASE}_${K}.dat vmr
mol_file CH4 $DATA/mol_ch4_${CASE}_${K}.dat vmr
quiet
EOF

    if [[ "$IDENT" == *"clearsky"* ]]; then
      echo "Not Adding a cloud"
    else
      echo "Adding cloud"
      cat >> $WDIR/uvspec.inp << EOF
#wc_file 3D $DATA/wcloud3D_${CASE}_3D_${K}_homo_asEcRad2.nc
wc_file 3D $DATA/wcloud3D_${CASE}_3D_${K}.nc
wc_properties hu interpolate
#ic_file 3D $DATA/icloud3D_${CASE}_3D_${K}_homo_asEcRad2.nc
ic_file 3D $DATA/icloud3D_${CASE}_3D_${K}.nc
ic_properties yang2013 interpolate
EOF
    fi

    if [[ "$IDENT" == *"1D"* ]]; then
      echo "Adding mc_ipa"
      echo mc_ipa >> $WDIR/uvspec.inp
    fi

    if [[ "$IDENT" == *"scatter_on"* ]]; then
      echo "Computing with scattering"
    else
      echo "Adding no scattering"
      echo no_scattering >> $WDIR/uvspec.inp
    fi

    if [[ ! -e $WDIR/mc.flx.spc ]]; then
      cd $WDIR

      MEM="2G"
      if [[ "$CASE" == *"dymecs"* ]]; then
        echo "Increasing Job Memory"
        MEM="4G"
      fi

      cat > run.job << EOF
#!/bin/bash
#SBATCH --get-user-env
#SBATCH -o %j.%N.out
#SBATCH -D ./
#SBATCH -J ${CASE}${K}${IDENT}
#SBATCH --mail-type=fail
#SBATCH --mail-user=Fabian.Jakub@physik.uni-muenchen.de
#SBATCH --time=72:00:00
#SBATCH -p met-ws,cluster
#SBATCH -n 1
#SBATCH -c 1
#SBATCH --mem $MEM

      date | tee timing
      $LIBRADDIR/bin/uvspec -f uvspec.inp &> >(tee -a out)
      date | tee -a timing
EOF
      sbatch run.job
      cd -
    fi
  fi
}

run_ex gem_pacific 17 1D
run_ex gem_pacific 17 3D
run_ex gem_pacific 17 1D_scatter_on
run_ex gem_pacific 17 3D_scatter_on

rm -f cloudfiles
for cld in $(ls /project/meteo/work/Carolin.Klinger/ECMWF/Data//wcloud*|egrep -v homo); do
  cf=$(basename $cld .nc)
  K=$(python -c "print(int('$cf'.split('_')[-1]))")
  CASE=$(python -c "s='$cf'.replace('wcloud3D_', ''); case=s[:s.find('_3D')]; print(case)")
  echo $cf $CASE $K ${CASE}.${K} ${CASE}.${K} >> cloudfiles
  run_ex $CASE $K 1D
  run_ex $CASE $K 3D
  run_ex $CASE $K clearsky

  run_ex $CASE $K 1D_scatter_on
  run_ex $CASE $K 3D_scatter_on
  run_ex $CASE $K clearsky_scatter_on
done
