#!/bin/bash

#set -x

# README
# This script submits pbs jobs to perform qc for each variable.
# That is one job for each freq/variable, e.g., 1hr/CAPE.
# The job script are the qc_job_<freq>.sh
# where freq is 15min, 1hr, 6hr, day or mon.
# Before running this script, edit
# datadir - to point to the directory containing the Level 1 data
# sets - which set of data. It can be the whole lot "15min 1hr 6hr day mon" but this 
#       launches too many jobs. So I generally run "1hr 6hr" first, then "day mon 15min"
# outdir - to point to the directory containing the qc output
#

#========================
# Start - Edit ME!
#### CCAM ERA5 historical data
#datadir=/g/data/xv83/CORDEX-CMIP6/DD/AUS-20i/CSIRO/ERA5/evaluation/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_era5_evaluation_aus-20i_22km
#### CCAM ACCESS-CM2 Hist
#datadir=/g/data/xv83/CORDEX-CMIP6/DD/AUS-20i/CSIRO/ACCESS-CM2/historical/r4i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_access-cm2_historical_aus-20i_22km
#### CCAM ACCESS-CM2 SSP126
#datadir=/g/data/xv83/CORDEX-CMIP6/DD/AUS-20i/CSIRO/ACCESS-CM2/ssp126/r4i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_access-cm2_ssp126_aus-20i_22km
#### CCAM ACCESS-CM2 SSP370
#datadir=/g/data/xv83/CORDEX-CMIP6/DD/AUS-20i/CSIRO/ACCESS-CM2/ssp370/r4i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_access-cm2_ssp370_aus-20i_22km
#### CCAM ACCESS-CM2 SSP585
#datadir=/g/data/xv83/CORDEX-CMIP6/DD/AUS-20i/CSIRO/ACCESS-CM2/ssp585/r4i1p1f1/CCAMoc-v2203-SN/v1-r1/
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_access-cm2_ssp585_aus-20i_22km
#### CCAM ACCESS-ESM1-5 Hist
datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/ACCESS-ESM1-5/historical/r6i1p1f1/CCAMoc-v2203-SN/v1-r1
outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_access-esm1-5_historical_aus-20i_22km
#### CCAM ACCESS-ESM1-5 SSP126
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/ACCESS-ESM1-5/ssp126/r6i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_access-esm1-5_ssp126_aus-20i_22km
#### CCAM ACCESS-ESM1-5 SSP370
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/ACCESS-ESM1-5/ssp370/r6i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_access-esm1-5_ssp370_aus-20i_22km
#### CCAM CMCC-ESM2 Hist
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/CMCC-ESM2/historical/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_cmcc-esm2_historical_aus-20i_22km
#### CCAM CMCC-ESM2 SSP126
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/CMCC-ESM2/ssp126/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_cmcc-esm2_ssp126_aus-20i_22km
#### CCAM CMCC-ESM2 SSP370
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/CMCC-ESM2/ssp370/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_cmcc-esm2_ssp370_aus-20i_22km
#### CCAM CNRM-ESM2-1 Hist
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/CNRM-ESM2-1/historical/r1i1p1f2/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_cnrm-esm2-1_historical_aus-20i_22km
#### CCAM CNRM-ESM2-1 SSP126
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/CNRM-ESM2-1/ssp126/r1i1p1f2/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_cnrm-esm2-1_ssp126_aus-20i_22km
#### CCAM CNRM-ESM2-1 SSP370
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/CNRM-ESM2-1/ssp370/r1i1p1f2/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_cnrm-esm2-1_ssp370_aus-20i_22km
#### CCAM EC-Earth3 Hist
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/EC-Earth3/historical/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_ec-earth3_historical_aus-20i_22km
#### CCAM EC-Earth3 SSP126
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/EC-Earth3/ssp126/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_ec-earth3_ssp126_aus-20i_22km
#### CCAM EC-Earth3 SSP370
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/EC-Earth3/ssp370/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_ec-earth3_ssp370_aus-20i_22km
#### CCAM NCAR CESM2 Hist
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/CESM2/historical/r11i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_ncar-cesm2_historical_aus-20i_22km
#### CCAM NCAR CESM2 SSP126
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/CESM2/ssp126/r11i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_ncar-cesm2_ssp126_aus-20i_22km
#### CCAM NCAR CESM2 SSP370
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/CESM2/ssp370/r11i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_ncar-cesm2_ssp370_aus-20i_22km
#### CCAM NorESM2 Hist
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/NorESM2-MM/historical/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_noresm2-mm_historical_aus-20i_22km
#### CCAM NorESM2 SSP126
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/NorESM2-MM/ssp126/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_noresm2-mm_ssp126_aus-20i_22km
#### CCAM NorESM2 SSP370
#datadir=/scratch/e53/bxn599/axiom_20i_2026-05-25/CORDEX-CMIP6/DD/AUS-20i/CSIRO/NorESM2-MM/ssp370/r1i1p1f1/CCAMoc-v2203-SN/v1-r1
#outdir=/g/data/xv83/users/bxn599/qc_20i/ccam_noresm2-mm_ssp370_aus-20i_22km

#sets="15min 1hr 6hr day mon"
sets="1hr 6hr day mon"
#sets="6hr"
#sets="1hr 6hr"
#sets="day mon"
#sets="1hr day"
#sets="mon day"
#sets="mon"
#sets="15min"
#sets="mon"
#sets="1hr"
#version='v20231206'
version='v20240920'
# End - Edit ME!
#=========================

for aset in $sets; do
	ncdir_list=`ls -d $datadir/$aset/*`
	for ncdir in $ncdir_list; do
		export indir=$ncdir/$version
		export variable=`basename $ncdir`
		export aset=$aset
		export outdir=$outdir
		jobname=qc.${aset}_${variable}
		echo "Submit $jobname"
		qsub -N $jobname -v indir,variable,aset,outdir qc_job_${aset}.sh
	done
done
