Version 5.1.8 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:
Version 5.1.8 recognizes NC_STRING
as valid alternatives to NC_CHAR
attributes (consistent with CF Conventions), infers MPAS grids stored
in radians when units attributes are not present, and support checks
for adherence to NASA DIWG (and CF) recommendations for valid
identifiers, and for the missing_value
attribute.
Skip this release if these issues are of no import to you.
New Features
-
NCO operators are now much better, though not perfect,
at recognizing
NC_STRING
attributes as equivalent and interchangeable withNC_CHAR
attributes, as permitted by CF Conventions since ~2020. In particular, this prevents annoying WARNINGs when CF attributes like "bounds" are stored asNC_STRING
. -
ncremap
can now infer SCRIP grid-files from MPAS datasets when the coordinates are in radians yet not marked as such in the units attribute. The algorithm simply assumes that if the bounding latitudes and longitudes are within ±2π then the units are radians. Imperfect, yet unlikely to fail in most MPAS meshes.ncremap --dst_fl=AIS_4to20km.nc --grd_dst=ais4to20km_ismip6.nc
-
ncks
supports a new flag,--chk_chr
, that prints any identifiers (dimension,group,variable,attribute names) that do not comply with the CF Conventions. CF-compliant identifiers must match this regular expression: [A-Za-z][A-Za-z0-9_]* This is much more restrictive than the NUG, as it eliminates most special characters.ncks --chk_chr ~/nco/data/in.nc ... ncks: WARNING nco_chk_chr() reports variable att_var_spc_chr attribute name "at_in_name@" is not CF-compliant ncks: WARNING nco_chk_chr() reports variable name "var_nm-dash" is not CF-compliant ncks: WARNING nco_chk_chr() reports variable var_nm-dash attribute name "att_nm-dash" is not CF-compliant ncks: INFO nco_chk_chr() reports total number of identifiers with CF non-compliant names is 26
http://nco.sf.net/nco.htlm/chk_chr -
ncks
supports a new flag,--chk_mss
, that reports which variables (and groups) contain a missing_value attribute. NASA's Dataset Interoperability Working Group (DIWG) notes that the missing_value attribute has been semi-deprecated, and recommends that it should not be used in new Earth Science data products. To check a file for compliance with the DIWG recommendation:ncks --chk_mss ~/nco/data/in.nc ncks: WARNING nco_chk_mss() reports variable fll_val_mss_val contains "missing_value" attribute ncks: WARNING nco_chk_mss() reports variable one_dmn_rec_var_missing_value contains "missing_value" attribute ... ncks: WARNING nco_chk_mss() reports variable rec_var_int_mss_val_flt contains "missing_value" attribute ncks: INFO nco_chk_mss() reports total number of variables and/or groups with "missing_value" attribute is 11
http://nco.sf.net/nco.htlm/chk_mss -
ncremap
andncclimo
now support paths and nodenames on DOE OLCF's Frontier supercomputer.
Additional details are available in the ChangeLog.