New Features and Fixes:
- logging commands to external file or memory (python and ruby examples)
- support for upcoming CDO release 1.7.1
- [ruby] new object oriented interface
- requires ruby-2.x
- is thread safe
- is the new default interface when calling
require 'cdo'
- [ruby] old module interface is still available by using
require 'cdo_lib'
- fix unicode-related bug for python2 (thanks to Sebastian Illing)
New features:
- added support for netCDF Scalar Coordinate Variables
- added support for hybrid sigma pressure coordinates following the CF convention
- added option --percentile to select different percentile methods
Available methods: nrank, nist, numpy, numpy_lower, numpy_higher, numpy_nearest
- distgrid: added support for curvilinear grids
- collgrid: added support for curvilinear grids
New operators:
- remapycon: First order conservative remapping (new implementation of remapcon)
- genycon: Generate 1st order conservative remap weights (new implementation of gencon)
- setmisstonn: Set missing value to nearest neightbor
- setmisstodis: Set missing value to the distance-weighted average of the nearest neighbors
- ap2pl: Interpolate 3D variables on hybrid sigma height coordinates to pressure levels
- vertstd1: Vertical standard deviation [Divisor is (n-1)]
- vertvar1: Vertical variance [Divisor is (n-1)]
- seasvar1: Seasonal variance [Divisor is (n-1)]
- seasstd1: Seasonal standard deviation [Divisor is (n-1)]
- yseasvar1: Multi-year seasonally variance [Divisor is (n-1)]
- yseasstd1: Multi-year seasonally standard deviation [Divisor is (n-1)]
Changed operators:
- remapnn, remapdis: replaced scrip search by kdtree (optimization)
- vertvar, vertstd: changed to weighted var/std if layer bounds are available
Fixed bugs:
- cdo -t table_file does not complain if table_file is a directory [Bug #5891]
- expr: operators return 0 for arithmetics on constants [Bug #5875]
- env. CDO_TIMESTAT_DATE does not work [Bug #5758]
- splityear*: support for constant fields is missing [Bug #5759]
- yseaspctl: check of verification date failed [Bug #5810]
- Converting rotated lat-lon netcdf to/from grib: flip sign of the angle of rotation [Bug #5870]
New features:
- select: added parameter date, startdate, enddate
- expr: added support for operator ?:,&&,||
- option --reduce_dim: reduce dimension (Timstat, Fldstat)
New operators:
- after: ECHAM standard post processor
- aexpr: Evaluate expressions and append results
- aexprf: Evaluate expression script and append results
- selzaxisname: Select z-axes by name
- genlevelbounds: Generate level bounds
Fixed bugs:
- ydrunpctl: does not work in combination with ydrunmin/ydrunmax
- Ensstat: added support for different missing values
- seltimestep: abort if none of the selected timesteps are found
New features:
- select, delete: added wildcard support for parameter name
- expr: added support for logical operators <, >, <=, >=, !=, ==, <=>
New operators:
- splityearmon: Split in years and months
- yseasadd: Add multi-year seasonal time series
- yseassub: Subtract multi-year seasonal time series
- yseasmul: Multiply multi-year seasonal time series
- yseasdiv: Divide multi-year seasonal time series
Changed operators:
- vertmean, vertavg: changed to weighted means if layer bounds are available
- setpartabp, setpartabn: added optional parameter convert to convert the units.
Units are not converted anymore if this parameter is not set!
- TimSTAT, Timpctl, TimselSTAT, Timselpctl, SeasSTAT, Seaspctl:
The output time stamp of all operators from the above modules are changed from the last to the middle contributing timestep.
Use the environment variable CDO_TIMESTAT_DATE=last to set the output time stamp to the last contributing timestep.
- eof, eof3d: use area weights instead of no weights
Use the environment variable CDO_WEIGHT_MODE=off to switch back to the non weighted version
Fixed bugs:
- gradsdes: grib index file is empty (introduced in 1.6.7)
- grib2 output: segfaults when writing grib2 files [Bug #5351]
- remapnn: Segmentation fault for extrapolation of regular 2D source grids [Bug #5448]
New operators:
Fixed bugs:
- option -t table: segmentation fault if parameter table entry longname is missing
- merge: check number of timesteps [Bug #5338]
- seasmean: sets all time_bnds to the same values [Bug #5329]
- histcount: doesn't recognize missing values
- filesdes: doesn't work for GRIB2 files [Bug #5307]
New operators:
- distgrid: distribute horizonal grid
- collgrid: collect horizontal grid
Changed operators:
- cat: added support for option -O (overwrite existing output file)
- remaplaf: changed calculation of weights from SCRIP to YAC
Fixed bugs:
- gridarea: added support for concave grid cells
- gradsdes: added support for option 365_day_calendar
- import_binary: option 365_day_calendar does not work
- select: wrong result when select only one timestep
New features:
- Option --history: Do not append to netCDF "history" global attribute
- Option --netcdf_hdr_pad <nbr>: Pad netCDF output header with nbr bytes
New operators:
- setpartabn: set parameter table by name
- setpartabp: set parameter table by parameter ID
- sealevelpressure: sea level pressure
Changed operators:
- Sinfo: changed format of grid and zaxis section
- Filter: disable zero-padding
- diff: print number of different values
- Ymonstat: sorts output by month of year
Fixed bugs:
- eof3d: set sum of weights to 1
- eofcoeff: remove scaling with grid cell area weights
- eofcoeff3d: remove scaling with grid cell area weights
New features:
- remapbil, remapbic, remapdis, remapnn: performance optimization for regular 2D source grids
- gradsdes: added support for GRIB files >2GB
- eca_csu: added number of csu periods with more than 5days per time period
- eca_cfd: added number of cfd periods with more than 5days per time period
- expr: select variables by name
Changed operators:
- gradsdes: added parameter map_version and removed specific operators gradsdes1 and gradsdes2
Fixed bugs:
- gradsdes: changed LCC to LCCR in PDEF definition [Bug #4344]
- cat: "Segmentation fault" if the output file already exist [Bug #4291]
- delete: parameter level does not work [Bug #4216]
New features:
- select: added support for key >timestep_of_year<
- mastrfu: added missing value support
- splitmon: added optional parameter to set the format string for the month
Fixed bugs:
- selyear: wrong result for negative years [Bug #3836]
- eca_gsl: start date of growing season is wrong if the length of growing season is zero
New features:
- support of blanks in filenames and parameter
Changed operators:
- gradsdes: added support for netCDF files
- Info: add chunking information of netcdf files (only with verbose output) [Feature #3489]
- select: added support for key >hour<
Fixed bugs:
- fldcor: check missing value of 2. input file
- enscrps: wrong result since CDO version 1.5.6 [Bug #3403]
- selmon: month not found for negative years [Bug #3439]
- shifttime: wrong result for negative hours and days [Bug #3440]
- inttime: removes last time step [Bug #3611]