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.
ncremapsupports new options
--ps_nm=ps_nm. The argument to
--vrt_inis 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_inoption, there is now a
--vrt_outoption to explicitly identify the file containing the output vertical grid. The best practice is now to use
-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 gridshttp://nco.sf.net/nco.html#ncremap
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 convenient
ps_nmoption. Moreover, if the argument of
--ps_nmincludes 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.nchttp://nco.sf.net/nco.html#ncremap
ncclimoand 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
ncremapto do two actions automatically: (1) Permute the horizontal dimensions to be most rapidly varying by generating the option
--pdq_opt=ilev,lev,dim2,colprior to horizontal regridding. (2) Search for surface pressure under the name
PSprior 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 automagicallyhttp://nco.sf.net/nco.html#ncremap
ncremaphas 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_grdwhen regridding. Instead, it is necessary to specify
--stg_grdwhen the staggered grid (including variables
slon) 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 behaviorhttp://nco.sf.net/nco.html#stg_grd
ncremapvertical interpolation routines now recognize variables with names
VerticalLayerMidpointas 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.
ncz2psxnow has a man page. Full documentation for
ncz2psxis expected to become available once NCO fully supports the Amazon S3 scheme for NCZarr in 2023.
Additional details are available in the ChangeLog.