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

## ensemble
dir=/projects/NS9039K/shared/norcpm/cases/NorCPM/norcpm-cmip6_pacemaker_18500115
avgfile=ens_TREFHT_avg.nc
anofile=ens_TREFHT_ano.nc
trendfile=ens_TREFHT_trend.nc
var=TREFHT
test -f ${avgfile} && test -f ${anofile} && test -f ${trendfile} && exit 0
## loop for every member
memdirs=$(ls -d ${dir}/*mem??)
i=0
for d in $memdirs; do
    ifiles=$(ls ${d}/atm/hist/*.cam*.h0.{1981..2020}-??.nc)
    i=$(($i+1))
    ii=$(printf "%2.2d" $i)
    o1ts=TREFHT_${ii}.nc
    test -f "$o1ts" && continue
    ncrcat -O -h -v ${var} ${ifiles} ${o1ts}
done
for i in TREFHT_??.nc; do
    ## cal trend and avg
    avgf=$(echo $i | sed 's/TREFHT/TREFHT_avg/')
    trendf=$(echo $i | sed 's/TREFHT/TREFHT_trend/')
    cdo -s -O -trend ${i} $avgf $trendf
done
## ensemble variables
cdo -O -ensavg TREFHT_??.nc ${avgfile}
cdo -O -ymonsub ${avgfile} -ymonmean ${avgfile} ${anofile}
cdo -O -ensavg TREFHT_trend_??.nc ${trendfile}
## cat to 1 file
#cdo --reduce_dim -O -merge avg_ts.nc std_ts.nc min_ts.nc max_ts.nc ${outfile}


