Version 5.1.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:
Version 5.1.2 improves support for horizontal regridding, vertical interpolation, or both, on ultra high-resolution model output. Users of such functionality may benefit from upgrading, otherwise this release can be skipped.
New Features
-
ncremap
supports new options--vrt_in=vrt.nc
and--ps_nm=ps_nm
. The argument to--vrt_in
is a vertical coordinate file that contains the pure or hybrid pressure information for the input data to be vertically interpolated. Previously, this information was required to be present in the input data file. However, SCREAM/EAMxx and other ultra-high resolution models may choose to output the grid information in separate files from the geophysical fields. This can save considerable space, especially for hybrid sigma-pressure coordinates with time-varying surface pressure. To complement the--vrt_in
option, there is now a--vrt_out
option to explicitly identify the file containing the output vertical grid. The best practice is now to use--vrt_out
(instead of--vrt
or --vrt_fl
, which still work) to specify the output vertical grid and clearly distinguish it from the input vertical grid, if any.ncremap --vrt_out=vrt2.nc # Output vertical grid option new name ncremap --vrt_in=vrt1.nc --vrt_out=vrt2.nc ... # Specify both grids
http://nco.sf.net/nco.html#ncremap
http://nco.sf.net/nco.html#vrt_in
http://nco.sf.net/nco.html#vrt_out -
Previously the vertical interpolation feature required that the
surface pressure field for hybrid coordinates be named
PS
. Now the name of the surface pressure field can be changed using the convenientps_nm
option. Moreover, if the argument of--ps_nm
includes a filepath separator (slash or backslash), then the portion preceding the final separator will be treated as a filename path, and the final portion will be treated as the surface pressure variable name:ncremap --ps_nm=ps ... # Surface pressure is ps not PS ncremap --ps_nm=/path/to/vrt.nc/ps ... # Use ps from vrt.nc
http://nco.sf.net/nco.html#ncremap
http://nco.sf.net/nco.html#ps_nm -
ncclimo
and ncremap support a new procedure type option,-P eamxx
. This option automatically generates ncremap flags useful for E3SM EAMxx datasets. In addition to their typically ginormous size, these datasets have different dimension and variable names than EAM/CAM. Current-P eamxx
causesncremap
to do two actions automatically: (1) Permute the horizontal dimensions to be most rapidly varying by generating the option--pdq_opt=ilev,lev,dim2,col
prior to horizontal regridding. (2) Search for surface pressure under the nameps
instead ofPS
prior to vertical interpolation of hybrid-pressure grids.ncremap --pdq_opt=ilev,lev,dim2,col # Manual dimension permutation ncremap --ps_nm=ps # Manual surface pressure renaming from PS to ps ncremap -P eamxx # Both options automagically
http://nco.sf.net/nco.html#ncremap
http://nco.sf.net/nco.html#prc_typ -
ncremap
has changed the default behavior of outputting the staggered grid to finite volume (FV) destination grids from opt-out to opt-in. This means that it is no longer necessary to specify--no_stg_grd
when regridding. Instead, it is necessary to specify--stg_grd
when the staggered grid (including variablesslat
andslon
) is desired as additional information in the regridded file.ncremap --no_stg_grd ... # Old method of opting out ncremap ... # New default behavior ncremap --stg_grd ... # Recovers old default behavior
http://nco.sf.net/nco.html#stg_grd -
ncremap
vertical interpolation routines now recognize variables with namesT_mid
andVerticalLayerMidpoint
as containing temperature and geopotential height, respectively. These variable names are used in SCREAM/EAMxx. The default extrapolation for these variables now behaves the same as T and Z3 for EAM/CAM datasets.
http://nco.sf.net/nco.html#vrt_ntp
http://nco.sf.net/nco.html#vrt_xtr -
ncz2psx
now has a man page. Full documentation forncz2psx
is expected to become available once NCO fully supports the Amazon S3 scheme for NCZarr in 2023.
http://nco.sf.net/nco.html#ncz2psx
Additional details are available in the ChangeLog.