2010-01-07 Uwe Schulzweida 2010-01-07 Uwe Schulzweida * using CGRIBEX library version 1.4.2 (large record support) 2010-01-13 Oliver Fuhrer * added support for cosmo GRIB parameter tables * added missing value support for cosmo GRIB files 2009-12-29 Uwe Schulzweida * using EXSE library version 1.2.0 2009-12-15 Uwe Schulzweida * fileRead: check result of fread * binReadF77Block: check result of fileRead * Version 1.4.1 released 2009-12-11 Uwe Schulzweida * streamSync: check that vlist has variables to sync [report: Martin Schultz] 2009-12-09 Uwe Schulzweida * cdfDefVar: define attribute _FillValue if missval was defined (speed up) 2009-12-08 Uwe Schulzweida * allocate gribHandle for every grid/zaxis combination (speed up for writing GRIB2) 2009-11-30 Uwe Schulzweida * cdfInqContents: bug fix for GRID_CELL with levels [report: Stephan Lorenz] 2009-11-25 Uwe Schulzweida * using GRIB library version 1.4.1 check max limit of binary scale value (bug fix) 2009-11-22 Uwe Schulzweida * change code/tabnum to param 2009-11-20 Uwe Schulzweida * added function vlistDefVarParam/vlistInqVarParam 2009-11-17 Ralf Mueller * Added ruby and python interfaces --enable-ruby --enable-python 2009-11-13 Uwe Schulzweida * cdi.h: added '_vec' to all int and double vector arguments 2009-11-12 Uwe Schulzweida * set units to "Pa" if changing zaxis to "pressure" (bug fix) [report: Chao Li] 2009-11-12 Ralf Mueller * Added Fortran Interface via iso_c_bindings facility of F2003 --enable-iso-c-interface 2009-11-01 Uwe Schulzweida * added support for GRIB2 JPEG compression 2009-10-28 Uwe Schulzweida * grbWriteVar: bug fix * Version 1.4.0.2 released 2009-10-23 Uwe Schulzweida * cdfDefXaxis: bug fix for multi generic grids [report: Uwe Mikolajewicz] * streamCopyRecord: check byteorder (bug fix) [report: Claas Teichmann] 2009-10-15 Uwe Schulzweida * using GRIB library version 1.4.0.1 * IEG format: bug fix for lonlat grids [report: Philip Lorenz] * Version 1.4.0.1 released 2009-10-06 Uwe Schulzweida * cdtInqContents: check attribute type * cdtInqContents: set default time units to DAYS 2009-10-05 Uwe Schulzweida * using GRIB library version 1.4.0 * added GRIB2 support (testversion) via grib_api(1.8.0) * changed C compiler to ANSI C99 * changed time format from hhmm to hhmmss * changed encode/decode_time to seconds * ieg: added support for Gaussian grids [request: Ralf Podzun] * cdfDefLonLat2D: added attributes for Panoply * added support for netCDF timeseries without grid * added support for netCDF timeseries with only one grid axis * gribDefLevel: bug fix for pressure level units millibar * julday_add_seconds: bug fix for adjusting negative seconds * stream_cdf:cdfReadVarSliceDP: bug fix for swapxy * Version 1.4.0 released 2009-06-15 Uwe Schulzweida * netCDF: reduced number of nc_enddef * added env CDI_SORTNAME to sort netCDF names * added support for rotated grids on south pole [request: Beate Geyer] * timeval2vtime: bug fix for timeunit TUNIT_MONTH * streamSync: extent to non netCDF files * Version 1.3.2 released 2009-04-16 Uwe Schulzweida * using GRIB library version 1.3.0 * added support for NaN in DBL_IS_EQUAL * added support for GRID type LCC2 (LCC PROJ.4 version) * added support for TUNIT_QUARTER (15 minutes) * use env GRIB_INVENTORY_MODE=timestep to skip double entries * grbDefTime: define tunit also for absolute time [report: Pruek Pongprueksa] * set default calendar with env CDI_DEFAULT_CALENDAR * change default calendar to CALENDAR_PROLEPTIC * gridInqXinc: bug fix * grid_check_cyclic: support for curvilinear grids without bounds * cdfInqContents: check dimension of curvilinear grids * streamOpenAppen: set ncmode to 2 (bug fix) * replaced strncpy/strncmp by memcpy/memcmp * Version 1.3.1 released 2009-01-15 Uwe Schulzweida * add support for GRID type SINUSOIDAL * add support for GRID type LAEA * add support of GRIB level type MEANSEA * gridCreate: CF stdname and units for curvilinear grids [report: Stephanie Legutke] * cdf_create: don't set chunksizehint (bug fix) [report: Luis Kornblueh] * change vlistFlagVar to vlistMergedVar * set default missval of INT8/16/32 to SCHAR_MIN/SHRT_MIN/INT_MIN * move grid_lcc, grid_gme, grid_rot code to CDO * move gridToCurvilinear and gridToCell code to CDO * cdf_inq_contents: check zaxis type "depth_blow_sea/land" (bug fix) * Version 1.3.0 released 2008-11-13 Uwe Schulzweida * add new function: streamSync * add new taxis functions: taxisXXXVdateBounds and taxisXXXVtimeBounds * cdfReadVarSliceDP: add swapxy support * stream_cdf: check var and axis names * cdfInqContents: support of grid stdname 'longitude' and 'latitude' * lambert grid: support of projection flag (bug fix) [report: Andrew Digby] * streamFilesuffix: bug fix for IEG [report: Class Teichmann] * gridCompare: bug fix for lonlat grids and type = 1 (cdfInqContents) * netcdf: support of timeunit 'year' * Version 1.2.1 released 2008-08-13 Uwe Schulzweida * using GRIB library version 1.2.0 * add support for netCDF4 classic with deflate option * add datatype UINT8 * streamClose: use taxisDestroy to release memory * cdfInqContents: skip time variable with type = NC_CHAR * grbDefGrid: add warning for curvilinear grids * grbDefGrid: set increment for zonal means [request: Helmut P. Frank] * ptaxisCopy: don't overwrite item 'self' (bug fix) * add function vlistXXXVarTimaccu * DBL_IS_EQUAL: check NaN with isnan * Version 1.2.0 released 2008-04-08 Uwe Schulzweida * using GRIB library version 1.1.1 * configure: --with-szlib= * configure: check stat.st_blksize [report: Klaus Wyser] * update: echam5 code table * fileOpen: add O_BINARY if available [report: Klaus Wyser] * file.c: _WIN32 support * taxis.c: add support for non integer timevalues (TUNIT_MONTH/CALENDAR_360DAYS) * stream_cdf: add ICON grid support * stream_srv: add support for GRID_CELL (bug fix) * cdfInqContents: support of lon/lat units radian * cdfInqContents: bug fix for gridtype cell * cdfInqContents: bug fix for inconsistent curvilinear grid [report: Holger Goettel] * cdfInqContents: bug fix for unsupported grids (dims > 2) [report: Wolfgang Langhans] * cdfInqContents: check type of _FillValue * gridCompare: compare grid.yinc only if set * vlist_att.find_att: allocate attribute only if size > 0 * grid_gme.c: add function areas to compute grid cell areas [Luis Kornblueh] * grid_check_cyclic: bug fix * Version 1.1.1 released 2008-01-24 Uwe Schulzweida * using GRIB library version 1.1.0 * using FILE library version 1.6.0 * new attribute routines: vlistInqNatts, vlistDefAttr and vlistInqAttr for Int, Flt and Txt * Add support for Lambert grids [request: Patrick Samuelsson] * Change cdiDefCompress to streamDefZtype/streamDefZlevel * decode_timevalue: bug fix for rounding error [report: Veronika Gayler] * grbDefTime: add support for century < 0 * Version 1.1.0 released 2007-10-22 Uwe Schulzweida * using GRIB library version 1.0.6 * stream_grb:grbDefGrid use ISEC2_ScanFlag [request: Alex Kann] * replace calendar module by a new one because of date/time problems with years < 0 [report: Veronika Gayler] * add module timebase * taxis: add support for years less than zero * use always decode_date and encode_date to decode/encode date * Version 1.0.8 released 2007-06-15 Uwe Schulzweida * using EXSE library version 1.0.2 * new ECHAM5 code table [Renate Brokopf] * stream_ieg: bug fix memory leak [report: Philip Lorenz] * add function gridIsCyclic * zaxisDuplicate: bug fix * varscan: add full vct support * cdfInqContents: print warning if cell_measures is missing * cdfInqContents: check also x/yvarid to compare curvilinear grids * Version 1.0.7 released 2007-03-06 Uwe Schulzweida * using GRIB library version 1.0.5 * use GRIB ltype to define GENERIC zaxis * taxisCopyTimestep: copy rdate and rtime [report: Harald Anlauf] * grbDefGrid: write absolute value of y-inc [report: Paul Dando] * grbDefTime: change to absolute time axis if value < 0 [report: Frank Toussaint] * grbDefGrid: change generic grid to lonlat grid * grbScanTimestep: bug fix for unsorted codes * LOCK/UNLOCK around _init_pointer * Version 1.0.6 released 2006-12-14 Uwe Schulzweida * stream: mt safe version * zaxis: mt safe version * taxis: mt safe version * model: mt safe version * remove H5 test version * stream_srv/ext/ieg: bug fix for codes > 999 [report: Simon Blessing] * cdi_limits: define MAX_STREAMS, MAX_VLISTS, MAX_GRIDS, MAX_ZAXIS * Version 1.0.5 released 2006-11-30 Uwe Schulzweida * using GRIB library version 1.0.4 * cdfInqContents: use grid_mapping not for curvilinear grids * add env IGNORE_ATT_COORDINATES to ignore attribute coordinates * splitBasetime: convert timeunit string to lower case * usvs_to_uv: update for zbeta [from: Klaus Wyser] * new function: vlistInqVarSzip * new function: streamNvals * Version 1.0.4 released 2006-11-03 Uwe Schulzweida * using GRIB library version 1.0.3 * using EXSE library version 1.0.1 * add SIGMA level support * gridPrint: extented * Version 1.0.3 released 2006-09-18 Uwe Schulzweida * using GRIB library version 1.0.2 * grbCopyRecord: add SZIP support * vlistChangeVarGrid: bug fix * cdfDefVar: set default datatype for addoffset and scalefactor to double * cdfWriteVar*: round integer fields with NINT [report: Etienne Tourigny] * Version 1.0.2 released 2006-08-01 Uwe Schulzweida * using GRIB library version 1.0.1 * add test version of SZIP for GRIB data * add DATATYPE PACK1 to PACK32 * change DATATYPE from byte to bit * split GRIB level type 105 with env var SPLIT_LTYPE_105 * file.c: remove declaration of getpagesize [report: Mark Hadfield] * tableWrite: bug fix for undefined strings * Version 1.0.1 released 2006-06-15 Uwe Schulzweida * using GRIB library version 1.0.0 * rename *New functions to *Create * stream_grb: update level type ISENTROPIC (report: Ag Stephens) * stream_ieg: multiply pressure levels with 100 (report: Holger Goettel) * gridPrint: GME support * cdi_error: change return type to char* * move byte order types to cdi.h * add dummy functions gridDestroy, zaxisDestroy, taxisDestroy * Version 1.0.0 released 2006-05-04 Uwe Schulzweida * using GRIB library version 0.6.6 * cdfInqContents: check attlen for attname "axis" * cdfInqContents: use coord vars from attr coordinates (bug report: Alberto Maurizi) * gridPrint: print xfirst and xinc if xinc is constant * gridGenYvals: try to calculate non global gaussian latitides * add global int attr support * streamOpenRead: fix bug if open failed * add function tableInqParCode * Version 0.9.7 released 2006-03-08 Uwe Schulzweida * using GRIB library version 0.6.5 * vlist_var: Add function vlistChangeVarGrid * program cdi: add option -s for short info * cdfInqContents: improve GRID_CELL support * cdfDefTime: attr text bounds for time axis (bug report: Veronika) * gridToZonal: add support for GRID_GENERIC if ny > 1 * Version 0.9.6 released 2006-02-01 Uwe Schulzweida * using GRIB library version 0.6.4 * update ECHAM5 parameter table * taxis: new function taxisCopyTimestep * stream_grb: check status of grib encoding * stream_cdf: use addoffset and scalefactor for all datatypes * stream_cdf: set "height above the surface" to ZAXIS_HEIGHT * grid.c: GME grid support * add support of time bounds * Version 0.9.5 released 2006-01-20 Luis Kornblueh * grid_gme.c: compute boundaries of GME grid 2005-12-14 Uwe Schulzweida * using GRIB library version 0.6.3 * using EXSE library version 0.9.3 * stream_srv: changes for new EXSE version * stream_ext: changes for new EXSE version * add IEG support * bug fix for GRIB files with unusable VCT * Version 0.9.4 released 2005-11-21 Uwe Schulzweida * using GRIB library version 0.6.2 * using FILE library version 1.5.1 * gribCopyRecord: round recsize to 8 * grbDefGrid: safe curvilinear as lonlat grid * grbInqTimestep: bug fix for constant fields * timeval2vtime: bug fix for time unit MONTH and YEAR * Version 0.9.3 released 2005-10-23 Uwe Schulzweida * OPeNDAP support for netCDF (nc_dap) use configure option --enable-dap 2005-10-18 Uwe Schulzweida * cdfInqContents: support of CLM grid * grbDefTime: prevent overflow of forcast timesteps * cdfDefPole: check var name * use standard name for variables * zaxis: define bounds * grid.c: mt safe * vlist.c: mt safe * stream_cdf: bug fix curvilinear grid * cdfCopyRecord: buf fix for constant fields * cdfCreateRecords: Bug fix (allocation of 0 bytes) * grbScanTimestep: Bug fix (check all records) * Version 0.9.2 released 2005-07-17 Uwe Schulzweida * New function: vlistChangeVarZaxis * grbDefGrid: change NINT to INT * gridGenYvals: check gaussian grids * gridCompare: check gaussian grids * stream_grb: correct xinc if necessary * Version 0.9.1 released 2005-05-17 Uwe Schulzweida * griblib: version 0.6.1 * exselib: version 0.9.2 * stream_cdf: change cdf_get_att_* to cdfGetAtt* * cdfReadVarSliceDP: implementation of swapyz * zaxis: new zaxis type ZAXIS_ALTITUDE * cdiGenVars: set only generic zaxis with 1 level on 0.0 to surface * codeNewEntry: bug fix for code 0 * Version 0.9.0 released 2005-04-03 Uwe Schulzweida * griblib: version 0.6.0 * add function zaxisDuplicate * grbScanTimestep1: check level1 and level2 * stream_grb: bug fix in grbInqTimestep to return after error * stream_grb: support for rotated grids * stream_cdf: support for rotated grids * vtime2timeval: bug fix for TUNIT_MONTH and TUNIT_YEAR * Program cdi: change level from int to double * Version 0.8.9 released 2005-02-11 Uwe Schulzweida * griblib: version 0.5.7 * gridDuplicate: update * cdfInqContents: check gaussian grid S->N * rename zaxisInqLevelDP to zaxisInqLevel * Version 0.8.8 released 2005-01-03 Uwe Schulzweida * implementation of 360, 365 and 366 days calendar * gridGenXvals: bug fix (xfirst == xlast) * Version 0.8.7 released 2004-12-17 Uwe Schulzweida * define ECHAM5.3 table * add missing value support for 4 Byte SRV and EXT data * gridGenXvals: bug fix (set xinc > 0) * Version 0.8.6 released 2004-11-17 Uwe Schulzweida * cdfInqContents: check gaussian grid * gridToCurvilinear: add bounds * gridToCell: add bounds * gridInqXinc: return 0 if increment is not equidistant * gridInqYinc: return 0 if increment is not equidistant * random record structure support (for parallel GRIB output) grbScanTimestep, varscan, stream_var, stream_record * vlist: initialize ntsteps * Version 0.8.5 released 2004-10-12 Uwe Schulzweida * netCDF2 support * cdfDefVars: Bug fix (vlistInqNgrids) * stream_grb: check also leveltype to find different variables * Version 0.8.4 released 2004-09-08 Uwe Schulzweida * griblib: version 0.5.6 * grid: use bounds for gaussian and lonlat grids * cdf_create: set initialsz to 0 * vlistChangeZaxis and vlistChangeZaxisIndex extent levinfo * new function cdiInqMissval * timeval2vtime: set an offset of 1 second in the call to InvCalendar to prevent rounding errors * Version 0.8.3 released 2004-07-04 Uwe Schulzweida * cdiInqContents: read all global text attributes * cdf_create and cdf_open: set min chunksize to 128k * cdfDefTime: set 0 before month and day if less than 10 * new function in vlist.c: vlistChangeZaxisIndex, vlistChangeZaxis * Version 0.8.2 released 2004-05-21 Uwe Schulzweida * griblib: version 0.5.4 * file.c: set min I/O buffersize to 128k * grib, service, extra: bug fix for variables with TIME_CONSTANT * grb, srv, extCopyRecord: bug fix for variables with TIME_CONSTANT * Error handling for streamOpen* * New function cdiStringError for error handling * change FILETYPE_CDF to FILETYPE_NC * c++ compatible * vlistDefVarName: overwrite old name if exist * set size of dummy longname and units from 128 to 256 * splitBasetime: bug fix * Version 0.8.1 released 2004-04-12 Uwe Schulzweida * stream_cdf: replace cdfDefLon and cdfDefLonRot by cdfDefXaxis replace cdfDefLat and cdfDefLatRot by cdfDefYaxis * stream_cdf: new function cdfDefVars * cdfInqContents: support for attribute associate * new function: grid*name, grid*longname, grid*units * new function: gridDefPrec, gridInqPrec * new function: zaxisDefPrec, zaxisInqPrec * remove: gridDefXfirst, gridDefYfirst, gridDefXlast, gridDefYlast gridDefXinc, gridDefYinc * Version 0.8.0 released 2004-03-14 Uwe Schulzweida * new GRID type: CURVILINEAR * add MPIOM1 table * stream_grb.c: check var with table number * srvReadRecord: bug fix * cdfInqContents: set main coordinate variables to isvar=FALSE * grid.c: add gridGenZonal, gridGenMeridional * zaxis.c: add zaxisDefName, zaxisDefLongname, zaxisDefUnits zaxisInqName, zaxisInqLongname, zaxisInqUnits * grbDefLevel: change pressure level packing * cdfInqContent: change pressure level handling * Version 0.7.9 released 2004-01-05 Uwe Schulzweida * New function: cdiOpenAppend * zaxisDefLevels: move allocation of levels to zaxisNew * cdfDefZaxis: bug fix zaxisID -> zaxisindex * Version 0.7.8 released 2003-12-8 Uwe Schulzweida * griblib: version 0.5.3 * dtypes.h: redefinition of INT64 * stream_cdf: use attribute missing_value warning if bounds var not found * Version 0.7.7 released 2003-11-5 Uwe Schulzweida * dmemory: create memory list only if MEMORY_DEBUG is set * memTotal: get total memory size from mallinfo * tstepsNewEntry: change to add tsteps only (speedup) * Version 0.7.6 released 2003-10-31 Uwe Schulzweida * redesign of the internal record stucture * implementation of TUNIT_MONTH and TUNIT_YEAR * cdf read and write var with nmiss for addoffset and scalefactor * grbDefLevel: check that vct size is less than 256 * Version 0.7.5 released 2003-10-12 Uwe Schulzweida * environment variable CD_MISSVAL * missing values for SERVICE and EXTRA * griblib: version 0.5.2 * tableRead: update * Version 0.7.4 released 2003-10-5 Uwe Schulzweida * streamInqVlist: return vlist * replace streamVar to vlist * remove streamVar * change *funcID to *func * Version 0.7.3 released 2003-10-3 Uwe Schulzweida * change configuration for netCDF and HDF5 library to --with * HDF5 test interface * Version 0.7.2 released 2003-09-22 Uwe Schulzweida * missing values for cdiReadVar*, cdiWriteVar* * Version 0.7.1 released 2003-09-10 Uwe Schulzweida * rename library to CDI (Climate Date Interface) * fortran interface * cdfInqContents: new implementation * redesign with vlist * implementation of cell grid * cdfWriteVar*: bug fix for non regular grid * Version 0.7.0 released 2003-07-28 Uwe Schulzweida * handle missing values * Version 0.6.0 released 2003-06-25 Uwe Schulzweida * implementation of trajectory grid * Version 0.5.11 released 2003-06-23 Uwe Schulzweida * gdi_cdf: update for mozart initial files * Version 0.5.10 released 2003-06-17 Uwe Schulzweida * gdi_cdf: skip bound vars 2003-06-17 Uwe Schulzweida * Version 0.5.9 released 2003-06-11 Uwe Schulzweida * reimplementation of time axis * timesteps accesssable with timeID 2003-05-20 Uwe Schulzweida * configuration with automake * Version 0.5.8 released