#!/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.'

## env for cdo
source /projects/NS9039K/shared/python3env/etc/p3env.sh

## ensemble
dir=/trd-project4/NS9039K/shared/norcpm/cases/NorCPM/NorCPM_V1c/ana_19800115_me
outfile=nino34_ts.nc
var=sst
lonlatbox=-150,-90,-5,5
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/*.micom.hm.{1982..2000}-??.nc)
i=$(($i+1))
o1ts=ts_nino34_$(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_nino34_*.nc avg_ts.nc
cdo -O -chname,${var},std -ensstd ts_nino34_*.nc std_ts.nc
cdo -O -chname,${var},min -ensmin ts_nino34_*.nc min_ts.nc
cdo -O -chname,${var},max -ensmax ts_nino34_*.nc max_ts.nc
rm -f ts_nino34_*.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


