#!/bin/bash

## Just run code in recipes, use it carefully
## example: use cdo to make cache file. Since cdo is quicker than ncl.
#;DIAG_NORCPM; RUNTHESECODES: echo '    no codes run here.'

## ccipc2 env
module purge
module load cdo_gcc-7.5.0/1.9.8
#
outfile=era5_cp_cor_ANN.nc
modfile=ens_PRECC_ano.nc
var=cp
outDJF=${outfile%_ANN.*}_DJF.nc
outMAM=${outfile%_ANN.*}_MAM.nc
outJJA=${outfile%_ANN.*}_JJA.nc
outSON=${outfile%_ANN.*}_SON.nc
test -f ${outfile} && exit 0
## loop for every member
ifiles=$(ls ${d}//projects/NS9039K/shared/ERA5/monthly/cp/cp.{1980..2020}.nc)
cdo -O     -b F64         \
    -select,name=${var} \
    ${ifiles} \
    ERA5_cp_1980-2020.nc
    
## correlation, need regrid
cdo  -O  \
    -ymonsub ERA5_cp_1980-2020.nc -ymonmean ERA5_cp_1980-2020.nc  \
    ERA5_cp_ano_1980-2020.nc
## Somehow remap is easily crash, should be run along
cdo  -O  \
    -remapbic,${modfile} \
    ERA5_cp_ano_1980-2020.nc \
    tmp2.nc
cdo  -O -timcor    \
    -selvar,cp tmp2.nc    \
    -select,name=PRECC ${modfile} \
    ${outfile}
cdo  -O -timcor    \
    -selseason,DJF -selvar,cp tmp2.nc    \
    -selseason,DJF -select,name=PRECC ${modfile} \
    ${outDJF}
cdo  -O -timcor    \
    -selseason,MAM -selvar,cp tmp2.nc    \
    -selseason,MAM -select,name=PRECC ${modfile} \
    ${outMAM}
cdo  -O -timcor    \
    -selseason,JJA -selvar,cp tmp2.nc    \
    -selseason,JJA -select,name=PRECC ${modfile} \
    ${outJJA}
cdo  -O -timcor    \
    -selseason,SON -selvar,cp tmp2.nc    \
    -selseason,SON -select,name=PRECC ${modfile} \
    ${outSON}
rm -f ERA5_cp_ano_1980-2020.nc tmp2.nc


