Version 4.9.2 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:
We have re-licensed NCO source code from GPL3 to 3-Clause BSD starting with Version 4.9.2. Why? To encourage wider adoption and support. Without institutional (i.e., federal agency) support, NCO development would crawl to a standstill. We are acceding to the preferences of our occasional sponsors (DOE, NASA, NSF) for permissive OpenSource licenses.
Version 4.9.2 contains many regridding fixes and features:
Improved adoption has made the NCO weight-generator more robust.
Its signature strengths are speed and ultra-high resolution support.
It can create ~3 km global maps from in under an hour to and from
some (not all) grids including FV physics grids (ne1024pg2), MPAS
grids, and RLL grids. Problems remain, though ncremap
also supports
ESMF and TempestRemap so take your pick. Moreover the map checker,
ncks --chk_map
, produces improved metrics with fewer false alarms.
New Features
-
ncremap
now supports vertical interpolation of pure-pressure files to hybrid grids when the surface PS is included in the pure-pressure data-file rather than the vertical grid-file. Moreover, the PS may be time-varying. This feature permits full decoupling of PS from the vertical grid-file which allows for more elegant manipulation of vertical grid-files.ncremap --vrt=vrt.nc ncep.nc hybrid.nc
http://nco.sf.net/nco.html#vrt -
ncks --chk_map
checks for and reports NaN weights. Previouslychk_map
generally ignored NaNs in the weight array. The format of the analysis report has also been improved, and gives the locations of extrema, i.e., max/min for weights and errors. The checker takes better account of masks and regional grids and so now reports fewer false-positive map errors.ncks --chk_map map.nc ncks -D 2 --chk_map map.nc # Increased verbosity
http://nco.sf.net/nco.html#chk_map -
ncremap
andncclimo
both now exportHDF5_USE_FILE_LOCKING='FALSE'
unless that environment variable already exists. This proves useful at preventing mysterious crashes, especially in batch mode. Let us know if this setting causes problems for your workflow.
http://nco.sf.net/nco.html#HDF5_USE_FILE_LOCKING -
NCO's weight generator can now read unstructured SCRIP gridfiles
created by TempestRemap utilities that do not include the
(supposedly standard)
"grid_dims"
dimension when converting Exodus files to SCRIP. The unstructured dimension size is used instead of the contents of the"grid_dims"
variable. -
ncremap --devnull
option controls whether internal (and sometimes noisy) output from NCO weight-generator is sent to terminal or to/dev/null
. The default is to send internal messages to/dev/null
. This only works with the NCO weight-generator (--alg_typ=nco
).ncremap --devnull=Yes ... # Send internal messages to /dev/null ncremap --devnull=No ... # Send internal messages to terminal
http://nco.sf.net/nco.html#devnull
http://nco.sf.net/nco.html#ncremap -
ncpdq -U
now always unpacks all variables, including packed grid variables (like"lat"
). Previously it would not unpack variables with specially reserved grid names ("lat"
,"lon"
, etc.). Thanks to Susan Rennie for reporting this issue. This fixes a bug introduced in NCO 4.7.7. Solution is to use earlier versions of NCO or to upgrade.
http://nco.sf.net/nco.html#ncpdq
Additional details are available in the ChangeLog.