#!/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 -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
danames=precip
#danames=t_surf
#danames="rh_ref t_ref_max wind"
#danames="precip t_ref_max t_ref_min"
#model=FLOR
model=AM2.5C360
#expnames=HistRCP45_tigercpu_intelmpi_18_576PE
expnames=amipHadISSTrcp45_tigercpu_intelmpi_18_1080PE
#ens=1:10
ens=6:8
#years=1860:2100
#years=1981:2020
#years=1871:2100
years=1990:2020
funcname=selregion
#lonlatbox=20,28.5,36,42.5 #Greece/Bulgaria/Turkiye event
#lonlatbox=18,30,35,45 #Greece/Bulgaria/Turkiye event
#lonlatbox=300,312,-35,-25 #60W-48W,35S-25S
lonlatbox=285,320,-40,-15 #40-75 W, 15-40 S
lonlat_name=RioGrandeLarge
#dsname=atmos_daily
dsname=atmos_month

for daname in $danames; do
    for expname in $expnames; do 
        nohup python -m modelout.getdata daname=$daname model=$model expname=$expname funcname=$funcname lonlatbox=$lonlatbox lonlat_name=$lonlat_name\
            ens=$ens  years=$years dsname=$dsname\
            >> nohup.out.${daname}.${model}.${expname}.${funcname}.log &
    done
done
