Reformatting files to AeroCom/HTAP standards

Note: these commands cover the elder phase 3 naming scheme, but should nevertheless still usefull

The AeroCom standard is described in the section “submitting to the AeroCom database”.
https://wiki.met.no/aerocom/data_submission

Below simple nco commands are listed which can be of help to reformat.

A public set of format correction tools is under development and can be accessed here:
https://github.com/metno/aerocom-data-correction-tools

How to remind me of nco commands

Just type the command without arguments on a command line

How to rename variables

 ncrename -v oldvar,newvar in.nc

How to add an attribute

 ncatted -a experiment,newvar,a,c,"BASE" in.nc

Split files per variable

 cdo splitname in.nc

rename dimension

 ncrename -O -d LATITUDE,y       temp.nc       

sums

 ncap2 -O -s "LOAD_BCPOM[time,x,y]=LOAD_BC+LOAD_POM" ${file} ${file} 

compute vertical integrals

 rm dummy.nc
 ncwa -O -v AERH2O3D_AER   -a z -y ttl     ${file} dummy.nc  
 ncrename -O -v AERH2O3D_AER,AERH2O_AER       dummy.nc 
 ncks -F -A -v AERH2O_AER dummy.nc ${file} 

add variable to file

 ncks -F -A -v AIRE temp.nc ${file}

make the time dimension unlimited

 ncecat -O $file $file
 ncpdq -O -a time,record $file $file
 ncwa -O -a record $file $file
 ncpdq -O -a time,y,x $file $file

turn z

 ncpdq -O -a -z $file $file

create yearly mean file

from 12 months in one file

 orgfile=MM_${model}.an${an}.mALLYEAR_an.nc 
 ncwa -F -O -a time ${file} ${orgfile}

calculate yearly average

fom 12 files each containing 1 month

 ncra -F -O  modis_2000??.nc ${yearfile}

create record dimension

 ncecat -O $file $file 

delete useless record dimension

 ncwa -O -a record $file $file 

turn lat to have right order

with interpolated files

 ncpdq -O -a "-y" $file $file 

Shift left and right hemispheres

 file1=aire_1.nc
 ncks -h -F -O -d x,1,180 $file $file1
 file2=aire_2.nc
 ncks -h -F -O -d x,181,360 $file $file2
 ncap -O -s "x[x]=x-360" $file2 $file2
 ncrcat -O $file2 $file1 $file
\rm  $file1 $file2

Similar reorder of longitude

ncecat -O $file $file 
ncpdq -O -a x,record $file $file 
ncwa -O -a record $file $file 
file1=DD_${model}.an${AN}.mALLYEAR_1.nc
ncks -F -O -d x,1,180 $file $file1
file2=DD_${model}.an${AN}.mALLYEAR_2.nc
ncks -F -O -d x,181,360 $file $file2
ncap -O -s "x[x]=x-360" $file2 $file2

ncrcat -O $file2 $file1 $file
\rm  $file1 $file2	
ncpdq -O -a time,y,x $file $file 

missing values

ncatted -O -a missing_value,$var,o,f,0 ${file} 
ncatted -O -a missing_value,$var,o,f,-9999 ${file} 

actually better use attribute _FillValue (see http://nco.sourceforge.net)

compute monthly mean files

  for IMTH in ${MTH[*]} ; do 
file=DD_${model}.an${AN}.m${IMTH}.nc
filemean=DD_${model}.an${AN}.m${IMTH}_m.nc 
ncra -F -O  ${file} ${filemean}
  done

delete attributes

  ncatted -O -a ,,d,, interdummy.nc
  ncatted -h -a ,global,d,, interdummy.nc
  ncatted -h -a missing_value,,d,, interdummy.nc