The netCDF Operators NCO version 4.7.4 have hatched.
http://nco.sf.net (Homepage, Mailing lists, Help)
http://github.com/nco (Source Code, Issues, Releases, Developers)
What's new?
Version 4.7.4 updates handling of the netCDF CDF5 bug, improves
filename sanitization, supports ESMF 7.1.0r regridding features,
handles non-atomic types more gracefully, and implements absolute
and relative paths for CF2-Group compliance.
Work on NCO 4.7.5 has commenced. Goals include printing some user
defined types, parallel weight generation by ncremap, and possibly
workarounds for using quotation marks with ncap2 in Windows.
Enjoy,
Charlie
NEW FEATURES (full details always in ChangeLog):
A. netCDF 4.6.1 fixes the CDF5 bug. Yay!
We STRONGLY recommend that CDF5 users upgrade to netCDF 4.6.1.
NCO error messages and HINTs have been updated to better describe
the best practices to identify and avoid this nasty bug.
http://nco.sf.net#bug_cdf5
B. NCO supports absolute and relative paths to out-of-group (OOG)
variables in CF attributes as per CF2-Group draft specification:
https://docs.google.com/document/d/1KK6IZ2ZmpaUTVgrw-GlFd6almppjvGz6D7nxVTO3BtI/edit
This feature completes NCO support for the CF2-Group extension.
Sentinel-5P TROPOMI datasets, for example, require this feature.
ncks -O -v aerosol_index_340_380 ~/S5P.nc
Thanks to ESA, NILU, and KNMI folks, especially Maarten Schmidt,
for reporting this issue.
C. ncremap supports three new features of ESMF 7.1.0r: a second-order
conservative regridding algorithm, extrapolation methods for
unmapped gridcells, and degenerate source gridcells.
Each of these new features is documented in the manual.
Their invocation forms are as expected, e.g.:
ncremap -a conserve2nd -d dst.nc in.nc out.nc
ncremap --xtr_mth=idavg -d dst.nc in.nc out.nc
These two options _require_ ESMF 7.1.0r or later.
ncremap does not set the ESMF_RegridWeightGen --ignore_degenerate
option by default, since it is new and would break workflows on
installations that upgraded NCO but not ESMF (this is common).
However, ERWG 7.1.0r requires --ignore_degenerate to successfully
regrid some datasets (e.g., CICE) that previous ERWG versions
handle fine. Hence ncremap 4.7.4 may error on such datasets.
The workaround (with ESMF 7.1.0r) is to explicitly pass the base
ERWG options with ncremap's --esmf_opt option:
ncremap --esmf_opt='--ignore_unmapped --ignore_degenerate' ...
http://nco.sf.net/nco.html#ncremap
D. ncremap guesses the unstructured dimension is first dimension with
size n_a in input map file src_grid_dims[0]. Previously ncremap
required that the unstructured dimension, if any, be pre-stored in
an internal database of common dimension names, or be specified on
the command line. Now, if neither of these is done, ncremap tries
the first dimension in the input data file with the same size that
the supplied input mapping file, if any, expects.
ncremap -m map.nc unstructured.nc out.nc
http://nco.sf.net/nco.html#ncremap
Thanks to Philip Cameron-Smith for suggesting this feature.
E. Add "gridcell" to ncremap database of unstructured dimensions.
This can help when regridding some CMIP6 boundary datasets.
This is a less elegant solution than, though comlementary to,
PJCS's suggestion above.
F. ncap2 where() terminates if the LHS variable in the assignment
statement is a hyperslab. Previously where() ignored LHS
hyperslabs and the results confused users. The manual now clarifies
how to use where() with hyperslabs:
http://nco.sf.net/nco.html#where
G. Add "elm" and "ctsm" as prc_typ synonyms to "alm" and "clm" in
processing type options passed to ncremap -P.
H. Add "mpasseaice" as mdl_nm synonym to "mpascice" in model name
option passed to ncclimo -m.
BUG FIXES:
A. Skip-over rather than fail when printing user-defined types.
Sentinel-5P TROPOMI datasets, for example, require this feature.
Full release statement at http://nco.sf.net/ANNOUNCE
--
Charlie Zender, Earth System Sci. & Computer Sci.
University of California, Irvine 949-891-2429 )'(