#!/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=/nird/datalake/NS9039K/users/pgchiu/sst_nudge/pre_coex/norcpm1_tro10Atl5m_ng2l1dA_19800101
outfile=OUTFILE
var=sst
latrng=10

memdirs=$(ls -d ${dir}/*mem?? | sort)
i=0
for d in $memdirs; do
    mkdir -p extract
    i=$(($i+1))
    o1=${var}_$(printf "%2.2d" $i).nc
    test -f "$o1" && continue
    t0=$(date +%s)
    echo "making ${o1}..."

    ifiles=$(ls ${d}/ocn/hist/*.micom.hm.{1980..2020}-??.nc 2> /dev/null || true)
    if [ -z "$ifiles" ] ;then
        continue
    fi
    tmp1m=''
    ## unpack files
    for f in $ifiles; do 
        of=$(basename $f)
        ncpdq -O -U -v${var} "$f" -o "extract/${var}_${of}"
        tmp1m="$tmp1m extract/${var}_${of}"
    done
    ## concate
    ncrcat $tmp1m "${o1}_tmp1.nc"
    ## remove some att...
    ncatted -a coordinates,${var},d,, -a valid_range,${var},d,, "${o1}_tmp1.nc" "${o1}"
    ## clean up files
    rm -rf extract "${o1}_tmp1.nc"
done


