Newer
Older
2015-03-26 Uwe Schulzweida
* merged changes from branches/cdi_fileDrivenInput
2015-03-26 Uwe Schulzweida
2015-02-18 Uwe Schulzweida
* cdiDecodeTimevalue: fix rounding error for negativ timevalue
2015-02-12 Uwe Schulzweida
* scan netcdf time units attribute (bug fix)
2015-02-02 Uwe Schulzweida
* gribapiDefDateTimeRel: forecastTime [Bug #5435]
* cdfCopyRecord: incorrect checksum for freed object [Bug #5461]
2015-01-16 Uwe Schulzweida
* cdiDecodeTimevalue: round seconds for TUNIT_SECOND (bug fix)
Uwe Schulzweida
committed
2015-01-12 Uwe Schulzweida
* cdfCreateRecords: call cdfCreateRecords(streamptr, 1) if not done before (bug fix)
Uwe Schulzweida
committed
2015-01-09 Uwe Schulzweida
* cdi_create_records: the contents of unused records must not be interpreted (bug fix) [patch from Nathanael Huebbe]
2014-12-19 Uwe Schulzweida
* netCDF: renamed coordinate bounds dimension from nv2 to bnds
* netCDF: renamed time bounds dimension from nb2 to bnds
2014-12-11 Uwe Schulzweida
* Version 1.6.7 released
2014-12-10 Uwe Schulzweida
* vlistDefAttXXX: limit length of attribute name to CDI_MAX_NAME
2014-12-05 Uwe Schulzweida
Uwe Schulzweida
committed
* netCDF absolute time axis with units month: change day from 00 to 01
* netCDF absolute time axis with units year: change month/day from 0000 to 0101
2014-12-03 Uwe Schulzweida
* gribapi: time dependent metadata [Feature #4720]
2014-12-01 Uwe Schulzweida
* GRIB_API output does not work (bug fix)
2014-11-27 Uwe Schulzweida
* Version 1.6.6 released
2014-11-20 Uwe Schulzweida
* table::decodeForm1: missing longname results in Abort trap (bug fix)
2014-11-14 Uwe Schulzweida
* cdfCopyRecord: removed limit for datasize
2014-11-12 Uwe Schulzweida
* Version 1.6.5.2 released
2014-11-12 Uwe Schulzweida
* transpose2dArrayXX: wrong result (bug fix)
2014-11-08 Uwe Schulzweida
* cgribexScanTimestep1: set flag to 0 in call to cgribexVarCompare() (bug fix)
2014-11-05 Uwe Schulzweida
* IEG: added support for coordinate scale factor [patch from Kevin Sieck]
2014-10-31 Uwe Schulzweida
* Version 1.6.5.1 released
* netCDF: call set_validrangeDP() in cdfReadVar() (bug fix)
* netCDF: call cdfDoInputDataTransformation() if have missvals (bug fix)
2014-10-24 Uwe Schulzweida
* gridCompare: change limit of difference from 0.001 to 0.0015
2014-10-23 Nathanael Huebbe
* resource_handle: optimize error messages
* Version 1.6.5 released
* using CGRIBEX library version 1.6.5
* vlistDefVarXXXKey: check validity of vlist object [Feature #4720]
2014-10-13 Uwe Schulzweida
* added support for grib_api key typeOfSecondFixedSurface
2014-10-10 Uwe Schulzweida
* netCDF: added support 1D level variables
2014-10-07 Uwe Schulzweida
* read netCDF: cache time variable
2014-08-21 Uwe Schulzweida
* reshGetElem: call show_stackframe() to print a backtrace
2014-08-20 Uwe Schulzweida
* added CDI function gribapiLibraryVersion(major_version, minor_version, revision_version) [Feature #5043]
Uwe Schulzweida
committed
2014-08-15 Uwe Schulzweida
* gridCompare: check position parameter of unstructured grids only if gridnumber > 0
2014-08-13 Uwe Schulzweida
* cgribex: use timerange indicator to identify different variables
* gribapi: use timerange indicator to identify different variables
* listDestroy(): set resHListSize=0 [Bug #5058]
* NetCDF: Reading uuidOfVGrid [Bug #5046]
2014-08-04 Nathanael Huebbe
* NetCDF single precision input
2014-07-31 Uwe Schulzweida
* netCDF4: added support for xtype NC_STRING
2014-07-25 Uwe Schulzweida
* vlistInqAtt: return -1 if attnum is out of range
* vlistInqAttXXX: return -1 if attname not found
Uwe Schulzweida
committed
2014-07-24 Uwe Schulzweida
* gribapiEncode: update additional keys defined with vlistDefVarXXXKey() [Feature #4720]
Uwe Schulzweida
committed
2014-07-22 Uwe Schulzweida
Uwe Schulzweida
committed
* added vlistDefVarProductDefinitionTemplate() to define GRIB2 Product Definition Template Number [Feature #4694]
Uwe Schulzweida
committed
2014-07-21 Uwe Schulzweida
Uwe Schulzweida
committed
* gribapiDefSteptype: changed proDefTempNum to 1/11 for typeOfGeneratingProcess=4
* file write: set default to NONBLOCK if available
2014-07-18 Uwe Schulzweida
* added function streamReadVarF() and streamReadVarSliceF()
* streamWriteVarF, streamWriteVarSliceF: added support for GRIB1 (cgribex)
2014-07-17 Uwe Schulzweida
* grib2: activate jpeg support in combination with masks (missing values)
2014-07-01 Uwe Schulzweida
* netCDF: skip coordinate variables with more than 2 dimension
Uwe Schulzweida
committed
2014-06-16 Uwe Schulzweida
* added support for env var CDI_NETCDF_HDR_PAD (pad netCDF header with nbr bytes)
2014-06-06 Uwe Schulzweida
* Loss of coordinates attribute when merging files [Bug #4880]
2014-06-04 Uwe Schulzweida
* netCDF: do not defined attribute calendar and units for time bounds [report: Stephanie Legutke]
2014-05-19 Uwe Schulzweida
* netCDF: added support for opendap files by https
2014-05-16 Uwe Schulzweida
* netCDF: added write support of lat/lon coordinates without dimension
2014-05-15 Uwe Schulzweida
* cgribexGetGrid: correct last lon when last lon < first lon
2014-05-14 Uwe Schulzweida
* netCDF: skip unsupported dimension (no xyzt)
2014-05-13 Uwe Schulzweida
* netCDF: added read support for lon/lat coordinates without dimension
2014-05-12 Uwe Schulzweida
* gridCreate: removed default stdname and units for GENERIC grids
2014-05-11 Uwe Schulzweida
* added support for GRIB_API key cfName
2014-04-10 Uwe Schulzweida
* varscan::cmpparam: apply patch from Thomas Jahns
Uwe Schulzweida
committed
2014-03-24 Uwe Schulzweida
* configure --with-netCDF: set default=no
Uwe Schulzweida
committed
* gribapiDefDateTimeRel: set vdate to rdate for time invariant fields [Bug #4641]
2014-03-20 Uwe Schulzweida
* netCDF4: changed default file name suffix from nc4 to nc
* GRIB2: changed default file name suffix fromg g2 to grb
2014-03-10 Uwe Schulzweida
Uwe Schulzweida
committed
* netCDF4 classic: existing files are converted to netCDF4 - classic flag is lost (bug fix)
* cgribexDefParam: check validity of parameter number
2014-03-04 Uwe Schulzweida
* zaxisCreate: check number of levels
2014-02-27 Uwe Schulzweida
* added taxisDefFdate() and taxisDefFtime() - Define the forecast reference date
* added taxisInqFdate() and taxisInqFtime() - Get the forecast reference date
* grib_api: debug patch from Florian and Daniel
* grib2: set stepUnits after changing the template [Bug #4500]
* Version 1.6.3 released
* using CGRIBEX library version 1.6.3
* gridInqUUID: changed return value from char* to void
* zaxisInqUUID: changed return value from char* to void
* stream_cdf: added cdfDefZaxisUUID() [patch: Florian Prill]
Uwe Schulzweida
committed
Uwe Schulzweida
committed
* stream_cdf::define_all_grids: bug fix for unstructured grids and an additional undefined dimension [report: Florian Prill]
Uwe Schulzweida
committed
* streamInqGinfo: added support for GRIB files > 2GB
Uwe Schulzweida
committed
* streamOpenA, streamOpen: parameter recordBufIsToBeCreated missing in call to cdiStreamOpenDefaultDelegate() (bug fix)
Uwe Schulzweida
committed
* streamOpenA: removed line "streamptr->record = record"; record is allocated in cdiStreamOpenDefaultDelegate() (bug fix)
Uwe Schulzweida
committed
* Merged branch cdi-pio to trunk cdi
Uwe Schulzweida
committed
* Version 1.6.2 released
* using CGRIBEX library version 1.6.2
Uwe Schulzweida
committed
* Added CDI function zaxisDefNlevRef() and zaxisInqNlevRef() [Feature #4117]
* Merged branch cdi-pio to trunk cdi
* Added support for netCDF CF time attribute: climatology [Feature #4092]
Uwe Schulzweida
committed
* stream_cdf::isLatAxis() and isLonAxis(): added support for stdname latitude and longitude
* added support for GRIB2 key typeOfGeneratingProcess
* added interface function vlistDefVarTypeOfGeneratingProcess() and vlistInqVarTypeOfGeneratingProcess()
* listSizeExtend: initialize ops, val and status (Bug #3994)
* stream_cdf::isLonAxis/isLatAxis: case sensitive units check
* streamCopyRecord: allow mixed netCDF file types
* gribapiDefLevel: Bug fix for ZAXIS_REFERENCE (Bug #3747)
* netCDF: read reference of an unstructured grid
* netCDF: write reference of an unstructured grid
* made gridtype GRID_REFERENCE part of GRID_UNSTRUCTED
* removed gridtype GRID_REFERENCE
Uwe Schulzweida
committed
* GRIB2: added support for level type Lake Bottom (grib level type 162)
* GRIB2: added support for level type Bottom Of Sediment Layer (grib level type 163)
* GRIB2: added support for level type Bottom Of Thermally Active Sediment Layer (grib level type 164)
* GRIB2: added support for level type Bottom Of Sediment Layer Penetrated By Thermal Wave (grib level type 165)
* GRIB2: added support for level type Mixing Layer (grib level type 166)
Uwe Schulzweida
committed
* gribapiGetValidityDateTime: check timeRangeIndicator for editionNumber =1 (bug fix)
* netCDF: added support for zaxis attribute: positive
* Version 1.6.1.1 released (merged branch cdi-pio to trunk cdi)
Uwe Schulzweida
committed
* netCDF: wrong result if type of data and type of attribute valid_range differ [Bug #3727]
Uwe Schulzweida
committed
* gribapiDefLevel::ZAXIS_DEPTH_BELOW_LAND: apply scalefactor to dlevel2 (bug fix) [report: Harald Anlauf]
* streamFilesuffix: changed default filename suffix for FILETYPE_NC2 to nc
Uwe Schulzweida
committed
Uwe Schulzweida
committed
* Version 1.6.1 released
Uwe Schulzweida
committed
* using CGRIBEX library version 1.6.1
Uwe Schulzweida
committed
* file.c: added env. var. FILE_TYPE_WRITE (1:open; 2:fopen)
* GRIB2: added support for snow level (level type 114)
* GRIB2: added support for layers with zaxis type ZAXIS_PRESSURE
* cdfDefVarMissval: changed xtype from NC_BYTE to NC_INT for missvals > 127 (workaround for a netCDF bug)
* use 'number_of_grid_used' only for undefined grid types
Uwe Schulzweida
committed
* added patch from Florian Prill: Lesen von 'number_of_grid_used', GRID_REFERENCE (bug fix)
* netCDF: skip 4D variables without time dimension (bug fix)
* GRIB2: added support for pressure levels with 3 fractional digits
* gribapiGetEndStep: use stepUnits for timeunits2
* grib2GetLevel: set level bounds if 0 < leveltype2 < 255
* netCDF: missing_value attribute removed [Bug #3592]
Uwe Schulzweida
committed
* added CDI function cdiHaveFiletype() to check whether a filetype is available
Uwe Schulzweida
committed
* added patch from Florian Prill: Lesen von "Nicht-Standard" GRIB-Keys (bug fix)
Uwe Schulzweida
committed
* added patch from Florian Prill: Lesen von "Nicht-Standard" GRIB-Keys
* institutInq: check contents of name and longname (bug fix) [Bug #3419]
Uwe Schulzweida
committed
Uwe Schulzweida
committed
* cfortran.h::kill_trailing: wrong result with gcc -O3, use prama for -O2 (bug fix) [report: Luis Kornblueh]
Uwe Schulzweida
committed
* vlistXXXAttTxt: use cdi fortran datatype CBUF (char *) for the last argument (bug fix) [report: Luis Kornblueh]
Uwe Schulzweida
committed
* gridXXXUUID: use cdi fortran datatype CBUF (char *) for the last argument (bug fix) [Bug #3424]
* zaxisXXXUUID: use cdi fortran datatype CBUF (char *) for the last argument (bug fix)
Uwe Schulzweida
committed
* stream_gribapi: replaced function getLevelFactor() [Bug #3446]
* added function vlistDefVarExtra() and vlistInqVarExtra()
Uwe Schulzweida
committed
* vlistDefVarDatatype: changed default missing values of signed integers to -TYPE_MAX
* cdi.h: changed >char*< to >char *< (bug fix for fortran interface)
* make_cdilib: changed position of error.c and error.h (bug fix)
Uwe Schulzweida
committed
* using CGRIBEX library version 1.6.0
* Read arbitrary GRIB keys [Feature #3267]
* GRIB: added support for time step unit: seconds [Bug #3352]
Uwe Schulzweida
committed
* Added support for level type CLOUD_BASE, CLOUD_TOP and ISOTHERM_ZERO [Feature #3247]
Uwe Schulzweida
committed
* stream_gribapi: changed units for level type GRIB2_LTYPE_LANDDEPTH to m (internally mm) [Bug #3287]
Uwe Schulzweida
committed
* gribapiGetGrid: get gridDescriptionFile with grib_get_string() instead of grib_get_bytes() (bug fix)
Uwe Schulzweida
committed
* stream_gribapi: added support for local table shortName.def [Bug #3343]
* vtime2timeval: check validity of month
Uwe Schulzweida
committed
Uwe Schulzweida
committed
* cdfDefGrid: bug fix for generic grids with nx or ny > 0
Uwe Schulzweida
committed
* netCDF: ignore the attribute valid_min/valid_max, if the data type is inconsistent
Uwe Schulzweida
committed
Uwe Schulzweida
committed
* Added function vlistDefVarIntKey() and vlistDefVarDblKey() to set GRIB_API Key/Value pairs
* cgribexGetTsteptype: changed default to TSTEP_INSTANT [Bug #3211]
Uwe Schulzweida
committed
* netCDF: ignore the attribute valid_range, if the data type is inconsistent
* netCDF: added env IGNORE_VALID_RANGE to ignore the attribute valid_range
Uwe Schulzweida
committed
Uwe Schulzweida
committed
* stream_cgribex::cgribexGetGrid: add 360 to lastLon, if lastlon <firstLon [Bug #3189]
Uwe Schulzweida
committed
* netCDF: check position of time dimension
* global netCDF attribute "source" missing (bug fix)
* reshGetValue: added caller function name to error message
* Version 1.5.9 released
* removed unused function streamDefineTaxis()
* fix warning in streamDefTimestep() for stream with constant fields only
* added cdfGridCompress() to compress coordinates
* added vlistDefVarChunkType() and vlistInqVarChunkType()
* vlistCopyFlag: added support for level bounds
* netCDF: added support for time axis name and long_name
Uwe Schulzweida
committed
* stream_cdf::define_all_vars: added txt attributes to vlistDefAttTxt() without trailing 0 [Bug #3004]
* file.c: added support for unbuffered write
Uwe Schulzweida
committed
* cdfReadVarSliceDP: store DATATYPE_FLT32 in a float array and convert it to double (speedup 2x)
* cdfInqTimestep: added check for timevalue = NC_FILL_DOUBLE
* app/cdi: added optional compression level -z zip[_1-9]
* file.c::file_initialize: added support for env GRIB_API_IO_BUFFER_SIZE [request: Florian Prill]
* gridGenXvals/gridGenYvals: removed changes from 1.5.8 (bug fix)
* cgribexGetGrid: bug fix for xinc/yinc recomputation
* grib2: correct endStep if timeunits is not equal stepUnits (bug fix)
* cgribexGetGrid: bug fix for yinc for odd ysize
* Version 1.5.8 released
* using CGRIBEX library version 1.5.5
* stream_cgribex.c: do not check fraction of xinc/yinc" stream_cgribex.c
* gridGenXvals/gridGenYvals: recheck xinc/yinc if (first+(size-1)*inc) > last
Uwe Schulzweida
committed
* stream_gribapi.c::gribapiScanTimestep: changed GRIBAPI_MISSVAL to cdiDefaultMissval
* vlistCopyFlag: copy ensdata (bug fix) [report: Jaison Ambadan]
* grib2: changed packingType from grid_jpeg to grid_simple if nmiss > 0 (bug fix)
* grib2: added stepType support for absolute time axis
* pio.h remove line 'typedef int MPI_Comm;' [Bug #2882]
* vlistInqZaxis: use zaxisGetIndexList() to get global zaxisIDs (bug fix)
* listSizeExtend: init ops, val and status
* listInitialize: set mutex type to PTHREAD_MUTEX_RECURSIVE
Uwe Schulzweida
committed
* cdfInqContents: make ncid local to varid
Uwe Schulzweida
committed
* cdfInqContents: group reading of global attribute to read_global_attributtes()
* cdfInqContents: set ntsteps to 0 if no data variable found
* netCDF: set 1D arrays to coordinate variables if axis attribute is available
Uwe Schulzweida
committed
* unreduced: compute nlon and nvalues from rowlon[] (bug fix)
* cgribexEncode: initialize the first 256 entries of isec1 to zero
* app/cdi: changed output format of option -s (sinfo)
* model.c::modelInq*: check instID != UNDEFID (buf fix)
* institution.c::insitutInq*: check instID != UNDEFID (buf fix)
* Merge of branch cdo-pio into trunk cdi
* using EXSE library version 1.3.1
* Version 1.5.6 released
* using CGRIBEX library version 1.5.3
* added call to cdiInitialize() in all streamOpen functions (bug fix)
* added support for environment variable NC_CHUNKSIZEHINT [Feature #2142]
Uwe Schulzweida
committed
* grib scan timestep: changed Error() to Warning() for inconsistent timesteps
* stream_cdf::define_all_grids: modify check for same x and y varids
* cdfInqContents: set all undefined 1D variables to data variables [request: Florian Prill]
Uwe Schulzweida
committed
* cdf_write_var_data: bug fix for unscaled uint8, int8, int16, int32 (bug introduced in 1.5.5)
Uwe Schulzweida
committed
* grib_api: use key significanceOfReferenceTime only for GRIB2
* added support for grib_api key stepType [request: Drte Liermann]
* changed TIME_CONSTANT and TIME_VARIABLE to TSTEP_CONSTANT and TSTEP_XXX
* renamed vlistInqVarTime() vlistInqVarTsteptype()
* stream_gribapi: added support for level type HYBRID_HALF [request: Drte Liermann]
* stream_cdf::cdfDefUnstructured: fixed memory bug [ICON - Bug #2398]
* Version 1.5.5 released
* using CGRIBEX library version 1.5.2
* cdi.h: added vlistDefVarTime() [request: Florian Prill]
* stream_gribapi: bug fix for validation date and time
* stream_cdf::define_all_grids: changed scale_add() parameter from x to y (bug fix)
* added support for ZAXIS_DEPTH_BELOW_LAND units "mm", "cm", "dm" and "m"
Uwe Schulzweida
committed
* added single precision support: streamWriteVarF, streamWriteVarSliceF
Uwe Schulzweida
committed
* stream_cdf::cdfDefDatatype: bug fix for DATATYPE_UINT8
* stream_cdf::cdfDefCurvilinear: bug fix for CLM s,u,v grids [report: Hans-Jrgen Panitz]
Uwe Schulzweida
committed
* Version 1.5.4 released
Uwe Schulzweida
committed
* added support for GRIB2 packing type grid_ieee
* added suppport for GRIB2 level type 150
* verify_coordinate_vars: bug fix in check for units = "1" [report: Katharina Six]
Uwe Schulzweida
committed
* added support for netCDF attributes scale_factor and add_offset for lon/lat coordinates
* added support for GRIB gaussian grid parameter NumPar on non global grids [Bug #1711]
* added interface functions gridDefNP/gridInqNP (number of parallels between a pole and the equator)
* added support for GRIB1_LTYPE_SIGMA_LAYER
* added support for netcdf attribute valid_min/valid_max [request: Etienne Tourigny]
* cdilib.c::defineAttributes: bug fix atttxt [report: Florian Prill]
* added support for netcdf attribute valid_range [request: Etienne Tourigny]
* using CGRIBEX library version 1.5.1
* zaxisCompare: set epsilon from 0 to 1e-9 [request: Felicia Brisc]
Uwe Schulzweida
committed
* added level type ZAXIS_TOA, ZAXIS_SEA_BOTTOM, ZAXIS_ATMOSPHERE [request: Drte Liermann]
* stream_cdf::cdfInqContents: check units of hybrid levels
* varAddRecord: used max number of bit_per_value for 3D GRIB data
* gribapiDefGrid: added parameter jScansPositively [report: Juan Jose Tasso]
* deflate compression with netCDF4 doesn't work (bug fix) [report: Geert Jan van Oldenborgh]
* correct netCDF dimension order of unstructured grids (bug fix) [report: Ralf Mueller]
* streamFilesuffix: added suffix for filetype NC4C (bug fix)
* scanVarAttributes: check size of axis attribute (bug fix) [report: David Huard]
* Added flexible XYZ dimension ordering for netCDF [request: Andy Aschwanden]
* added interface function vlistDefVarXYZ to set the dimension order
* added interface function zaxisInqVct to read the VCT
* netcdf input: correct wrong formatted time units [request: Harald Anlauf]
* netcdf: added support for GRID_FOURIER (fourier coefficients)
* vlistCopy: allocate and copy varsAllocated elements (bug fix) [report: Ralf Mueller]
* vtime2timeval: do not round result (bug fix for TUNIT_YEAR) [report: Andy Aschwanden]
* CDI: changed compression type from Ztype to CompType
* CDI: changed compression level from Zlevel to CompLevel [report: Thomas Jahns]
* gridGenYvals: changed delta eps to 0.002 for gaussian grids [report: John Lillibridge]
* ruby/python interface: changed GRID_CELL to GRID_UNSTRUCTURED [report: Tim Cera]
* grid::compareXYvals: bug fix for generic grids [report: Felicia Brisc]
* Added attribute standard_name to netCDF time var [request: Karin Meier-Fleischer]
* Added attribute standard_name to netCDF zaxes [request: Karin Meier-Fleischer]
* Added attribute positive to netCDF zaxes [request: Karin Meier-Fleischer]
* Added support for FILETYPE_NC4C (netcdf4 classic)
* netcdf: Skiped time dependent variables if number of time steps is zero
* using CGRIBEX library version 1.5.0
* Version 1.5.0 released
* stream_cdf: added support for GRIB2 parameter identifier
* added netCDF support for level bounds
* added grid type GRID_REFERENCE
* changed grid name GRID_CELL to GRID_UNSTRUCTURED
* added support to encode/decode GRIB1 with GRIB_API
* using CGRIBEX library version 1.4.7
* Version 1.4.7 released
* cdfDefZaxis: changed hybrid level type from int to float
* taxisCopyTimestep: added mutex_lock
* cgribexAddRecord: correct xinc/yinc if necessary [report: Anders Ullerstig]
* cdfDefVCT: remove var mlev and ilev (bug fix) [report: Torsten Weber]
* cdfOpenFile: create netCDF4 files without NC_CLASSIC_MODEL
* cdfOpenFile: switch off checking of netCDF4 format (read)
* cdfDefTime: bug fix for time units 3HOURS, 6HOURS, 12HOURS
* using CGRIBEX library version 1.4.6
* Version 1.4.6 released
* GRIB1: use packing only for non constant fields [request: Luis Kornblueh]
* varDefZtype: bug fix [report: Stephanie Legutke]
* use libtool 2.2.10 for compiling + linking
* create shared + static library with PIC support by default
(positions independant code)
* build CDI configuration file: cdi.settings
* check axis attribute (bug fix) [report: Cui Chen]
* vlistCopyFlag: copy zaxis meta data
* Added support for attribute type int16 and float32 [Request: Don Murray]
* Version 1.4.5.2 released [request: Luis Kornblueh]
* cdfInqContents: fixed out of bounds access to attstring [report: Heiner Widmann]
* cdfInqContents: fix problem of wrong stdname for grid description [report: Michael Boettinger]
* Version 1.4.5.1 released
* GRIB1 decode: Correct ZeroShiftError of simple packed spherical harmonics
* cdfInqContents: use complex packing for spectral data [report: Edi Kirk]
* using CGRIBEX library version 1.4.5.1 (szip bug fix for 24 bit data)
* using CGRIBEX library version 1.4.5
* Version 1.4.5 released
* stream_history: added NC4 support [report: Etienne Tourigny]