New features:
- Add option --shuffle: Specify shuffling of variable data bytes before compression (NetCDF)
- packed NetCDF arrays are stored unpacked for all operators which modify the data
- DCW regions: add support for states (e.g. dcw:USAK for Alaska)
- expr: added function gridindex() (grid cell indices)
- expr: add function cdoy() (day of year) and cdpy() (days per year)
New operators:
- gridcellindex: Get grid cell index from lon/lat point
- timfillmiss: Temporal filling of missing values
- vertfillmiss: Vertical filling of missing values
- Add module Ymoncomp - Multi-year monthly comparison (operators: ymoneq ymonne ymonle ymonlt ymonge ymongt)
Changed operators:
- remapscon: obsolete operator, use remapcon instead
- remapcon2: rename to remapscon2
- gencon2: rename to genscon2
Fixed bugs:
- expr: internal functions with two constant arguments failed in release 2.2.1
Fixed bugs:
- remapping failed in release 2.2.0, if the data contains different masks
- Module Ymonarith: failed with more than one variable in release 2.2.0
- median: add support for missing values
- Ymonstat: set default timestat date to LAST
New features:
- Add predefined healpix grid hpz<zoom> to create a healpix with nested index ordering via the zoom level
- remapbil: add healpix support
- selregion: add healpix support
- sellonlatbox: add healpix support
- masklonlatbox: add healpix support
- gh2hl: add support for NextGems3 healpix/zarr data
- gendis: add support for neighbors parameter
Fixed bugs:
- Reading of older remap weight files failed in release 2.2.0
- Module splittime failed in release 2.2.0
New features:
- Add support for NumPy percentile methods: midpoint, inverted_cdf, averaged_inverted_cdf, closest_observation, interpolated_inverted_cdf, hazen, weibull, median_unbiased, normal_unbiased
- Add predefined healpix grid hp<nside>[_<order>]
- Add healpix grid support to Zonstat module (zonmean, ...)
- Add compression support for NetCDF4 remap weights file (-f nc4 -z <...>)
- Add support for NetCDF4/HDF5 compression method Zstandard (cdo option -z zstd)
- Add support for NetCDF4/HDF filter (cdo option --filter <filterId,params>)
- Improved read performance of spatial and temporal chunked NetCDF4 data
New operators:
- hpdegrade: Degrade the resolution of a healpix grid
- hpupgrade: Upgrade the resolution of a healpix grid
- splitdate: Splits a file into dates
- fldcount: Number of non-missing values of the field
- unpack: Unpack packed data
Changed operators:
- sethalo: extend user interface (new parameter east/west/south/north and value)
Fixed bugs:
- select: Error prone evaluation of timestepmask
- timpctl: returns missing values when input data is constant in time
- ml2hl: Change level type to ZAXIS_ALTITUDE
- sp2sp: Specification of the parameter fails
- Option -t failed in release 2.1.1
- Yseasstat: vDateTimes not initialized
- intlevel3d: use level indices from target coordinate [Bug #11307]
- Vertstat: wrong result for non monotonic levels in GRIB format [Bug #11323]
Fixed bugs:
- expr: Variable names with a dot followed by digits are not recognized
- Use NetCDF4 data type NC_UINT64 for gridsize > INT_MAX
- fldcor/fldcovar: missval=NaN not supported
New features:
- Option --chunksize: Set the chunk size of the horizonal grid
- Option --nsb: Set number of significant bits, used for bit-rounding with NetCDF 4.9.0
- Added support for NCZarr
- zonmean: added support for data on unstructured grids
- expr: replace template _ALL_ for all variable names
- expr: renamed coordinate function cdeltaz(x) to cthickness(x)
- expr: added function clevidx(x)
- expr: added function sinh(x), cosh(x), tanh(x), asinh(x), acosh(x), atanh(x)
- expr: added function mod(x,y), min(x,y), max(x,y), pow(x,y), hypot(x,y), atan2(x,y)
- expr: added function fldrange, fldskew, fldkurt, fldmedian
- expr: added function zonrange, zonskew, zonkurt, zonmedian
- selindexbox: added support for negative indexing to start from the end
New operators:
- remap<stat> - maps source points to target cells by calculating a statistical value from the source points
- bitrounding: Bit rounding
- selregion: Select horizontal regions
- Dayarith (dayadd, daysub, daymul, daydiv): Daily arithmetic
Fixed bugs:
- cdo 2.0.6 fails to compile with >clang12
New features:
- Changed to C++17
- Automatic download of ICON grid files has been disabled, CDO_DOWNLOAD_PATH must be set
Fixed bugs:
- remabil: fix rounding errors on single precision float data [Bug #10809]
- remapeta fails with cdo version 2.0.5 [Bug #10663]
- Magplot: RGB parameter doesn't work
- setcindexbox: failed for rotated_latitude_longitude grids [Bug #10639]
- setgrid Segmentation fault [Bug #10632]
Fixed bugs:
- yseasmean calculates seasonal sum for data with missing values since release 2.0.0 [Bug #10615]
- setattribute: delete attribute failed since release 2.0.0 [Bug #10612]
- atan2: wrong result since release 2.0.0
- Arith: Filling up stream2 by copying the first variable failed since release 2.0.0
Fixed bugs:
- collgrid: process coordinates of generic grids
- read grid description file with x/y bounds failed for GRID_PROJECTION
Fixed bugs:
- after: change computation of geopotential height from half to full levels
- gheight: change computation of geopotential height from half to full levels
- muldpm/divdpm: wrong result since release 2.0.0