New features:
- Changed type of date from 32 to 64-bit integer to support years > 214748
- remapycon: optimized by changing cell search method
- expr: added support for zon<STAT> functions
- expr: added function sellevelrange() and sellevidxrange()
- gridfile: added extension ":N" to select grid number N from data file
New operators:
- dhour<stat> - Multi-day hourly statistics
Fixed bugs:
- seldate: segmentation fault (bug introduce in 1.9.4) [Bug #8499]
- select: wrong timestamp when combining select with selyear (bug introduce in 1.8.1) [Bug #8576]
- gradsdes: bug fix for rotated lon/lat grids
- silent option produces newlines [Bug #8538]
- remapnn/remapdis: wrong result with regular 2D source grids if nlat > nlon [Bug #8498]
New features:
- Large data support: changed type of gridsize from 32 to 64-bit integer
- remapbil, remapbic, remapnn, remapdis: optimized by changing point search method
- Fldstat, Vertstat: added option weight=false to disable weighting
Fixed bugs:
- option -r doesn't work [Bug #8334]
- enspctl: changed parameter type from int to float [Bug #8386]
- segfault with chained operators on timeseries data [Bug #8230]
- setattribute: added support for \n in text attributes
- expr: removed character [LlDd] from definition of float constants
New features:
- expr: added time coordinate function cdate(), ctime(), cdeltat(), ctimestep() ...
New operators:
- not - logical NOT (1, if x equal 0; else 0)
Fixed bugs:
- uvDestag: target grid undefined in output
- runpctl: fails since release 1.8.0
- read of reduced Gaussian grid description file failed [Bug #8146]
- read error on grid description file [Bug #8099]
Fixed bugs:
- sign of grid size increment changes [Bug #7974]
- compilation fails on OpenBSD [Bug #7961]
- expr: nesting of ternary operator lost in cdo-1.9.1 [Bug #7992]
- rotuvb changed behavior in different versions [Bug #8084]
- select with start=end range aborts with 'Invalid character' [Bug #7976]
New features:
- Added support for NC_FORMAT_CDF5
- Extend option --reduce_dim to all dimension for all operators
New operators:
- tee - Duplicate a data stream
Changes operators:
- eof, eof3d: set default value of environment variable CDO_WEIGHT_MODE to off
- sinfo: Added time type
- ap2pl: added support for input data on half levels
Fixed bugs:
- selindexbox: breaks uvRelativeToGrid flag [Bug #7901]
- expr: AND fall through OR
- --cmor option doesn't work for lon/lat bounds (introduced in 1.9.0)
- eof3d: weight array was allocated for only one level
New features:
- Code changed from ANSI C99 to ISO C++11
- Added configure option for ecCodes --with-eccodes=<yes|no|directory>
- Added range operator to all statistic modules (e.g. yearrange, zonrange)
Fixed bugs:
- expr: improve ternary operator, no brackets needed anymore.
- expr: added support for clev in ternary operator.
- remapcon/remapycon produces wrong results for some grid combinations (introduced in 1.8.0) [Bug #7821]
- mergetime: wrong time information if first input file does not contain the first time step (bug introduced in 1.8.1) [Bug #7760]
- percentile: fix wrong result with method numpy (linear interpolation) and nist [Bug #7798]
Fixed bugs:
- setpartab: variable name does not change [Bug #7681]
- cmorlite: skipped empty key values [Bug #7681]
- setcalendar, settaxis memory error (bug introduce in 1.8.1) [Bug #7691]
New features:
- selindexbox: added support for LCC grid
New operators:
- selgridcell - Select grid cells
- delgridcell - Delete grid cells
New operators (KMNI contribution):
- selmulti - Select multiple fields
- delmulti - Delete multiple fields
- changemulti - Change identication of multiple fields
- samplegrid - Resample grid
- uvDestag - Destaggering of wind components
- rotuvNorth - Rotate u/v wind to North pole
- projuvLatLon - Cylindrical Equidistant projection
Fixed bugs:
- collgrid: combination of nx and names does not work
- Remapping bug for non global grids [Bug #7625]
- remapdis and remapcon produces wrong results for some grid combinations [Bug #7626] (introduced in last revision)
New features:
- NetCDF: Improved support for horizontal and vertical grids
- Changed default of option -f nc to netCDF2
- masklonlatbox: added support for unstructured grids
- setpartabn: added support for user defined attributes
- Reverse: adjust date/time by -1 second (introduced in last revision)
New operators:
- setattribute: Set attributes
- cmorlite: Apply variable_entry of cmor tables
- timcumsum: Cumulative sum over time.
- shiftx/shifty: Shift fields on rectilinear/curvilinear grids in x/y direction
Fixed bugs:
- Cond: bug fix for ntsteps1 == 1 && ntsteps2 != 1
- ml2pl: interpolation failed for data on hybrid half levels [Bug #7225]
New operators:
- smooth: Smooth grid points
- ap2hl: Air pressure to height level interpolation
- ngrids: Show number of grids
- ngridpoints: Show number of gridpoints per variable
- reducegrid: Select gridpoints wrt. given mask
- settbounds: Set time bounds
Changed operators:
- input: added optional zaxis parameter
- setpartab: renamed to setcodetab
- pardes: renamed to codetab
Fixed bugs:
- Error reading Gaussian reduced GRIB files [Bug #6780 #6819]
- Installation error with OpenMP [Bug #6523]
- mul: wrong result for missval*0 (bug was introduced in 1.7.1)
- nint: wrong result (replaced round() by lround())
- shaded, contour, grfill: set NAN missvals to -9e33 [Bug: #6677]