#!/bin/bash
#SBATCH --job-name=roms2clima
#SBATCH --account=nn5002k
#SBATCH --partition=bigmem
#SBATCH --time=200:00:00
#SBATCH --ntasks=1
#SBATCH --mem-per-cpu=32G
#SBATCH --output=logg_roms2clima.out

module list             # List loaded modules, for easier debugging

# Compile roms2roms_horverinterp and bry_from_clim and insert executables in $rundir
# module load netCDF-Fortran/4.4.4-intel-2018a-HDF5-1.8.19
# cd roms2roms_horverinterp; make; cd -
# cd bry_from_clim; make; cd -

# Set paths
rundir=/cluster/work/users/jonal/run_Kongsfjorden-160m
ROMSpath=/cluster/shared/imr/jonal/Svalbard-500m/his

cd ${rundir}

# Set output grid definitions
gridfile=${rundir}/kongsfjorden_160m_grid_present_with_Jerlov_types.nc
Vtransform=2; Vstretching=2; Nvert=35; theta_s=8.0; theta_b=0.1; Tcline=20.;

# Split clima and bry files into yearly files

for year in 2019 2020 2021 2022; do

  # Store name of all files the actual year(s)
  cd ${ROMSpath}
  climfiler=`ls svalbard_500m_his.nc4_${year}*`

  cd ${rundir}
  if [ -s ${rundir}/filelist.txt ]; then rm ${rundir}/filelist.txt; fi
  if [ -s ${rundir}/filelist.tmp ]; then rm ${rundir}/filelist.tmp; fi
  n=0  # Counter for input files
  for climfile in ${climfiler}; do
    echo ${climfile} >> ${rundir}/filelist.tmp
    n=`expr ${n} + 1`
    lastfile=${climfile}
  done
  if [ ${n} -gt 0 ]; then
    echo ${n} >> ${rundir}/filelist.txt
    cat ${rundir}/filelist.tmp >> ${rundir}/filelist.txt
    rm ${rundir}/filelist.tmp
  else
    echo
    echo "********** ERROR MESSAGE **********"
    echo "Error, no climate-input files exist in directory ${ROMSpath} for ${year}"
    echo "Script stops."
    exit
  fi

  echo "${rundir}/roms2roms_horverinterp/roms2roms_horverinterp is executed:"
  srun --nodes=1 ${rundir}/roms2roms_horverinterp/roms2roms_horverinterp << EOF
${ROMSpath}/${lastfile}
${rundir}/filelist.txt
${ROMSpath}/
${gridfile}
${Nvert} ${theta_s} ${theta_b} ${Tcline}
${Vtransform} ${Vstretching}
./
kongsfjorden_160m
EOF

  rm ${rundir}/filelist.txt

  # bry_from_clim
  srun --nodes=1 bry_from_clim/bry_from_clim << EOF
${rundir}/kongsfjorden_160m_clima.nc
${rundir}/kongsfjorden_160m_bry.nc
EOF

  # Make ini-file for the first period
  if [ ${year} -eq 2019 ]; then
    ncks -F -d clim_time,1,1 ${rundir}/kongsfjorden_160m_clima.nc ${rundir}/kongsfjorden_160m_ini.nc
    ncrename -h -O -v clim_time,ocean_time ${rundir}/kongsfjorden_160m_ini.nc
    ncrename -h -O -d clim_time,time ${rundir}/kongsfjorden_160m_ini.nc
    for var in zeta ubar vbar u v salt temp aice hice hsno uice vice tice sfwat ageice sig11 sig22 sig12; do  # Remove clim_time as attribute for every variable
      ncatted -h -O -a time,${var},d,c,"clim_time" ${rundir}/kongsfjorden_160m_ini.nc
    done
    for var in tisrf ti tau_iw chu_iw s0mk t0mk; do
      ncap2 -O -h -s "${var}=zeta*0." ${rundir}/kongsfjorden_160m_ini.nc -o ${rundir}/tmp.nc  # Add sea ice variables to initial file (with 0-values)
      mv ${rundir}/tmp.nc ${rundir}/kongsfjorden_160m_ini.nc
    done
    ncap2 -O -h -s "snow_thick=hsno" ${rundir}/kongsfjorden_160m_ini.nc -o ${rundir}/tmp.nc
    mv ${rundir}/tmp.nc ${rundir}/kongsfjorden_160m_ini.nc
  fi

  # Rename clima and bry files
  mv ${rundir}/kongsfjorden_160m_clima.nc ${rundir}/kongsfjorden_160m_clima_${year}.nc
  mv ${rundir}/kongsfjorden_160m_bry.nc ${rundir}/kongsfjorden_160m_bry_${year}.nc

done  # year

exit
