Version 4.7.9 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:
Producing data for submission to CMIP6 has led to many improvemnts to
the two workflow tools ncclimo
and ncremap
. Dozens of changes
have
made both tools more robust, clearer, and better documented. Notable
changes include include improved sub-gridscale remapping, adding depth
coordinates, CDL updates for hidden attributes, and support for GCC9
and OpenMP 5.0.0.
New Features
-
ncremap
now names the SGS map as per the-m map_fl
option. Previously there was no way to name SGS maps for archival. This capability eases the generation of SGS maps for CMIP6, since models (like ELM, CTSM) with time-invariant land units can regrid all variables with the same SGS map.
http://nco.sf.net/nco.html#sgs -
ncremap
andncclimo
support MPAS files with a 'depth' dimension, and also adding a depth coordinate to raw MPAS output files. Both add 'depth' to MPAS files with the new option--dpt_fl
:ncremap -P mpas --dpt_fl=refBottomDepth_60lyr.nc ... ncremap -m mpaso --dpt_fl=refBottomDepth_60lyr.nc ...
To work, the Python codeadd_depth.py
must be on the$PATH
, anddpt_fl
must contain the MPAS-Ocean fieldrefBottomDepth
. Thanks to Xylar Asay-Davis of LANL for creating a robustadd_depth.py
.
http://nco.sf.net/nco.html#dpt
http://nco.sf.net/nco.html#dpt_fl -
The regridder utilizes the
lat_dmn_nm
andlon_dmn_nm
options, when specified, to name the dimensions for regridded logically rectangular files. Previously these options were only used to specify horizontal dimension names in input file. Consistent with this,lat_nm_out
andlon_nm_out
now specify only the horizontal variable names, not the dimension names as before. The indepdendent configurability of dimension and variable names allowsncremap
to regrid files with map projections as expected by Panoply and other software. Thanks to Xylar Asay-Davis of LANL for suggesting this feature.ncremap --rgr_opt='--rgr lat_dmn_nm=x#lon_dmn_nm=y'
We realize this API is ugly and will create more aesthetic options likencremap --lat_dmn=x --lon_dmn=y
if enough users lovingly petition our representatives now standing-by at call centers.
http://nco.sf.net/nco.html#rgr_opt -
ncclimo
writes more explicit information about parallelism, includingjob_nbr
,var_nbr
, andnd_nbr
. This will help users tune throughput for large climatology and splitting jobs.
http://nco.sf.net/nco.html#ncclimo -
The splitter in
ncclimo
now outputs progress more clearly, and shows the elapsed time to split each timeseries.
http://nco.sf.net/nco.html#split -
ncra/ncrcat
now perform time-rebasing inrec_apn
mode using calendar units from the destination not the source file. This makes more sense when you think about it. Thanks to Ian McHugh of Monash University for prompting this.
http://nco.sf.net/nco.html#rbs -
NCO now writes more intelligible error messages with HINTS for
likely causes of and responses to NC_EHDFERR and NC_EBADCHUNK
errors.
http://nco.sf.net/nco.html#hdf
http://nco.sf.net/nco.html#cnk -
ncks
emulatesncdump
more closely and prints hidden attribute_NoFill
(not_NOFILL
) values as "true" or "false" not 1 or 0.ncks --hidden -m in.nc
http://nco.sf.net/nco.html#cdl -
ncks
prints CDL for hidden_Filters
attribute, if any, with all filter values.ncks --hidden -m in.nc
http://nco.sf.net/nco.html#cdl -
ncks
prints hidden_Endianness
attribute for floating point types not just multi-byte integers as before.ncks --hidden -m in.nc
http://nco.sf.net/nco.html#cdl
Additional details are available in the ChangeLog.