if [ $# -ne 1 ] ; then
  echo "Usage $0 <input.nc>"
fi
inp=$1

ncks -O -G : -g LES_budgets/Mean/Cartesian/Not_time_averaged/Not_normalized/cart \
  $inp ${inp%.nc}_flat.nc

ncks -A -G : -g LES_budgets/Miscellaneous/Cartesian/Not_time_averaged/Not_normalized/cart \
  $inp ${inp%.nc}_flat.nc

ff=$(realpath $inp)
ncatted -O -a realpath,global,a,c,"$ff" ${inp%.nc}_flat.nc

# optional variables

ncdump -h $inp > dump

LES_budgets_opt() {
  echo LES_budgets_opt $1
  grp=$1
  grep $grp dump > /dev/null 2>&1
  if [ $? -eq 0 ] ; then
  ncks -A -G : -g LES_budgets/$grp/Cartesian/Not_time_averaged/Not_normalized/cart \
    $inp ${inp%.nc}_flat.nc
  fi
}

LES_budgets_opt Subgrid
LES_budgets_opt Surface
LES_budgets_opt Radiation

Budgets_opt() {
  echo Budgets_opt $1
  grp=$1
  grep "group: $grp" dump > /dev/null 2>&1
  if [ $? -eq 0 ] ; then
    ncks -O -G : -g Budgets/$grp $inp toto.nc
    listvars=$(ncdump -h toto.nc |grep "double.*;$"|sed -e "s/double \(.*\)(.*) ;/\1/g")
    for v in $listvars ; do ncrename -v $v,BU_${grp}_${v} toto.nc > /dev/null 2>&1 ; done
    ncks toto.nc -A ${inp%.nc}_flat.nc
    rm toto.nc
  fi
}

Budgets_opt UU
Budgets_opt VV
Budgets_opt TH
Budgets_opt RV
Budgets_opt RC
Budgets_opt RR

rm dump
