Version 4.5.0 of the netCDF Operators (NCO) has been released. NCO is an Open Source package that consists of a dozen standalone, command-line programs that take netCDF files as input, then operate (e.g., derive new data, average, print, hyperslab, manipulate metadata) and output the results to screen or files in text, binary, or netCDF formats.
The NCO project is coordinated by Professor Charlie Zender of the Department of Earth System Science, University of California, Irvine. More information about the project, along with binary and source downloads, are available on the SourceForge project page.
From the release message:
This is the first NCO release that supports regridding datasets, currently limited to global datasets. These features build on infrastructure pioneered by Phil Jones (SCRIP), and the multi-agency Earth System Modeling Framework (ESMF).
New Features
-
Regrid global datasets with ESMF or SCRIP remap files.
Given a map-file that contains source-to-destination grid weights,
ncks will regrid and input file to the destination grid.
Acceptable file formats for map-files are described here:
http://www.earthsystemcog.org/projects/regridweightgen
http://oceans11.lanl.gov/svn/SCRIP/trunk/SCRIP
ncks
supports 1D->1D, 1D->2D, 2D->1D, and 2D->2D regridding for any unstructured 1D grid and any rectangular 2D grid. It has been tested converting among and between Gaussian, equiangular, FV, and unstructured cubed-sphere grids. Support for irregular 2D and regional grids (e.g., swath-like data) is planned.ncks
automatically annotates the output with relevant metadata such as coordinate bounds, axes, and vertices (a la CF). When used with an identity remapping files, this feature can signficantly improve the metadata and usability of the original dataset.
# Regrid entire file, same output format as input: ncks --map=map.nc in.nc out.nc # Deflated netCDF4 output, threading, selected variables: ncks -4 -L 1 -t 8 -v FS.?,T --map=map.nc in.nc out.nc
http://nco.sf.net/nco.html#regrid -
ncdismember
is a one-stop shop for flattening and CF-checking. When specifically requested, or when it cannot find a localcfchecker
command,ncdismember
will now upload each file (or, in the case of netCDF4 hierarchical files, each group) to the NERC CF compliance-checker, print the report summary, and save the full HTML reports for viewing after Orange is the New Black is over. Previously,ncdismember
required a localcfchecker
command to check files, though few users have managed to install acfchecker
. This need is obviated by automatic uploads to the NERC web service. To conserve bandwidth, ncdismember first "smallifies" the data file by hyperslabbing the dataset into a single element of latitude, longitude, and time — only then does it upload. Thanks to Phil Rasch for this idea and sample code.
Using no checker, default (Decker) checker, NERC checker:ncdismember ~/nco/data/mdl_1.nc /tmp ncdismember ~/nco/data/mdl_1.nc /tmp decker ncdismember ~/nco/data/mdl_1.nc /tmp nerc
http://nco.sf.net/nco.html#ncdismember -
NCO introduces a convention to retain the history-attribute
contents of all files that were appended to a file. This convention
stores those contents in the new global attribute called
history_of_appended_files
. This complements the history-attribute to provide a more complete provenance. The optional-h
switch turns-off this behavior.
http://nco.sf.net/nco.html#history -
When copying the variables date_written or time_written to the
output file, NCO now updates their contents the GMT time reported
by the system-supplied
gmtime()
.
http://nco.sf.net/nco.html#cnv_acme
Additional details are available in the ChangeLog.