#!/usr/bin/env bash
# Wenchang Yang (wenchang@princeton.edu)
# Mon Mar  6 11:09:58 EST 2023
##SBATCH --nodes=1                # node count
##SBATCH --ntasks-per-node=1      # number of tasks per node
# 
#SBATCH --ntasks=1               # total number of tasks across all nodes = nodes x ntasks-per-node
#SBATCH --cpus-per-task=1        # cpu-cores per task (>1 if multi-threaded tasks)
#SBATCH --mem-per-cpu=16G         # memory per cpu-core (4G is default)
#SBATCH --time=24:00:00          # total run time limit (HH:MM:SS)
#SBATCH --mail-type=all          # send email when job begins/ends/fails
#SBATCH --mail-user=wenchang@princeton.edu
# 
##SBATCH --array=1-100#%32        # job array with index values 1, 2, ...,; max job # is 32 if specified
##SBATCH --output=slurm-%A.%a.out # stdout file
##SBATCH --error=slurm-%A.%a.err  # stderr file
#set -e #-ve
##env settings
#export PATH=/tigress/wenchang/miniconda3/bin:$PATH
#export PYTHONPATH=/tigress/wenchang/wython
#export PYTHONUNBUFFERED=TRUE # see https://stackoverflow.com/questions/230751/how-to-flush-output-of-print-function
#export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK #for multi-threaded job
#ii_job=$SLURM_ARRAY_TASK_ID #for job array
#model=FLOR
model=AM2.1
#danames="t_surf precip"
#danames=precip
danames=t_surf
#funcnames="trop20mean nino34" #glbmean
#danames=rrvco2
#dsname=atmos_scalar
#funcnames=none
#funcnames=fldmean
#lonlatboxs="106,120,33,40 122,130,40,46 107,122,40,47"
funcnames=seasonmean
season=JJA
#funcnames=annualmean
#expnames=amipLMR2019SST0850_ens_tigercpu_intelmpi_18_30PE
#expnames=amipLMR2018SST0850_ens_tigercpu_intelmpi_18_30PE
#expnames=amipLMR2019SST1551_ens_tigercpu_intelmpi_18_30PE
#expnames=amipLMR2018SST1551_ens_tigercpu_intelmpi_18_30PE
#expnames="amipLMR2019SST0850_ens_tigercpu_intelmpi_18_30PE amipLMR2019SST1551_ens_tigercpu_intelmpi_18_30PE"
expnames="amipLMR2018SST0850_ens_tigercpu_intelmpi_18_30PE amipLMR2018SST1551_ens_tigercpu_intelmpi_18_30PE"
#years="850:1999"
years="1551:1650"
#ens="1:5"
ens="1:1"

for daname in $danames; do
    for expname in $expnames; do
        for funcname in $funcnames; do
            #python -m modelout.getdata daname=$daname model=$model expname=$expname funcname=$funcname lonlatbox=$lonlatbox years=850:1999 ens=1:5
            #lonlatbox="106,120,33,40"
            #nohup python -m modelout.getdata daname=$daname model=$model expname=$expname funcname=$funcname lonlatbox=$lonlatbox years=$years ens=$ens  \
            #    >> nohup.out.${daname}.${model}.${expname}.${funcname}.${lonlatbox}.log &
            #lonlatbox="122,130,40,46"
            #nohup python -m modelout.getdata daname=$daname model=$model expname=$expname funcname=$funcname lonlatbox=$lonlatbox years=$years ens=$ens  \
            #    >> nohup.out.${daname}.${model}.${expname}.${funcname}.${lonlatbox}.log &
            #lonlatbox="107,122,40,47"
            #nohup python -m modelout.getdata daname=$daname model=$model expname=$expname funcname=$funcname lonlatbox=$lonlatbox years=$years ens=$ens  \
            #    >> nohup.out.${daname}.${model}.${expname}.${funcname}.${lonlatbox}.log &
            nohup python -m modelout.getdata daname=$daname model=$model expname=$expname funcname=$funcname season=$season years=$years ens=$ens  \
                >> nohup.out.${daname}.${model}.${expname}.${funcname}.${season}.log &
        done
    done
done
