Reformatting files to AeroCom/HTAP standards

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.

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

Format can be checked with a CF checker, eg: http://cf-checker.met.no/upload

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

https://code.zmaw.de/projects/cdo/embedded/1.6.4/cdo.html#x1-880002.2.6

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