#!/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
## ensemble
dir=/trd-project4/NS9039K/shared/pgchiu/archive/norcpm_ana_f09_tn14/
outfile=npac_ts.nc
var=sss
lonlatbox=120,200,10,30
test -f ${outfile} && exit 0
## loop for every member
memdirs=$(ls -d ${dir}/*mem??)
i=0
for d in $memdirs; do
ifiles=$(ls ${d}/ocn/hist/*.blom.hm.{1982..2020}-??.nc)
i=$(($i+1))
o1ts=ts_npac_$(printf "%2.2d" $i).nc
test -f "$o1ts" && continue
## TaiESM (POP2)
    #cdo -s           \
    #    -yearmonmean \
    #    -shifttime,-15days \
    #    -fldmean  \
    #    -sellonlatbox,${lonlatbox}  \
    #    -select,name=${var},level=${level} \
    #    ${ifiles} \
    #    ${o1ts}
## NorESM (BLOM/MICOM)
cdo -s           \
    -yearmonmean \
    -fldmean  \
    -sellonlatbox,${lonlatbox}  \
    -setgrid,griddes.txt \
    -select,name=${var} \
    ${ifiles} \
    ${o1ts}
done
## ensemble variables
cdo -O -chname,${var},avg -ensavg ts_npac_*.nc avg_ts.nc
cdo -O -chname,${var},std -ensstd ts_npac_*.nc std_ts.nc
cdo -O -chname,${var},min -ensmin ts_npac_*.nc min_ts.nc
cdo -O -chname,${var},max -ensmax ts_npac_*.nc max_ts.nc
rm -f ts_npac_*.nc
## cat to 1 file
cdo --reduce_dim -O -merge avg_ts.nc std_ts.nc min_ts.nc max_ts.nc ${outfile}
rm -f  avg_ts.nc std_ts.nc min_ts.nc max_ts.nc


