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

dir=/datalake/NS9039K/users/pgchiu/sst_nudge/norcpm2a_tro10Atl5m_ng2l1dA
var=U
archpath=atm/hist/*.h0.*.nc ## ex: atm/hist/*.h1.*.nc
latrng=5.
## plevs for interpolate
plev='100000,92500,85000,70000,60000,50000,40000,30000'
plev=$plev',25000,20000,15000,10000'
memdirs=$(ls -d ${dir}/*mem?? | sort)
i=0
for d in $memdirs; do
    i=$(($i+1))
    o1=${var}_$(printf "%2.2d" $i).nc
    test -f "$o1" && continue
    t0=$(date +%s)
    echo "making ${o1}..."
    ifiles=$(ls ${d}/${archpath} 2> /dev/null || true)
    if [ -z "$ifiles" ] ;then
        echo "empty at: ${d}/${archpath}"
        continue
    fi


    ncrcat -d lat,-${latrng},${latrng} -v ${var},ilev $ifiles -o ${o1}_01.nc
    ncatted -a bounds,lev,c,c,"ilev" ${o1}_01.nc -o ${o1}_02.nc
    cdo -meravg -ml2pl,"$plev" ${o1}_02.nc ${o1}
    ncap2 -O -s 'plev=plev/100' ${o1} ${o1}
    ncatted -a units,plev,m,c,"hPa" ${o1}
    rm   ${o1}_01.nc ${o1}_02.nc
done
if [ ! -f ${var}_ensmean.nc ];then
    cdo -O -ensmean ${var}_??.nc ${var}_ensmean.nc
fi


