2024-10-13 Uwe Schulzweida

	* Version 2.3.0 eleased

2024-06-08 Uwe Schulzweida

	* removed dtypes.h

2024-01-13 Uwe Schulzweida

	* Version 2.2.0 eleased

2023-06-12 Uwe Schulzweida

	* Version 2.1.1 released
	* pwr6_minmax_val_double_unrolled6: remove register attribute

2023-04-08 Uwe Schulzweida

	* Version 2.1.0 released
	* replaced CDI timebase by julian_date

2022-10-16 Uwe Schulzweida

	* Version 2.0.2 released

2022-05-19 Uwe Schulzweida

	* replaced CDI timebase by julian_date

2022-03-16 Uwe Schulzweida

	* Version 2.0.1 released

2022-01-26 Uwe Schulzweida

	* store result of CGRIBEX_FPSCALE to double

2022-01-26 Thomas Jahns

	* avx_encode_array_2byte_double: Enforce availability of vectorization in function.

2021-10-19 Uwe Schulzweida

	* Version 2.0.0 released

2021-09-15  Uwe Schulzweida

        * Changed to 3-clause BSD license

2021-07-08 Uwe Schulzweida

	* app/grib.c: fix timer bug

2021-06-30 Uwe Schulzweida

	* gridRead()/gribWrite(): change type of parameter buffer to void*

2020-05-19 Uwe Schulzweida

	* Version 1.9.5 released

2020-04-30 Uwe Schulzweida

	* pbio: removed default buffer size of BUFSIZ, default is now set in fileOpen()
	* pbseek()/fileSetPos(): not initialized correctly (bug fix) [report: Harald Anlauf]

2019-10-29 Uwe Schulzweida

	* Version 1.9.4 released

2019-09-09 Uwe Schulzweida

	* added interface function gribDateTimeX()

2019-06-07 Uwe Schulzweida

	* Version 1.9.3 released

2019-04-15 Uwe Schulzweida

	* encodeBDS: check range of reference value zref

2019-01-29 Uwe Schulzweida

	* Version 1.9.2 released

2018-11-14 Uwe Schulzweida

	* grib_decode: print warning about inconsistent message length only if llarge=false 

2018-07-22 Uwe Schulzweida

	* Version 1.9.1 released

2018-05-11 Uwe Schulzweida

        * changed type of date to int64_t

2018-01-22 Uwe Schulzweida

	* Added include <ppu_intrinsics.h> [patch from Alastair McKinstry]

2018-01-08 Uwe Schulzweida

	* grib2PrintALL: print GRIB2 parameter triplet

2017-09-27 Uwe Schulzweida

	* Version 1.9.0 released

2017-09-18 Uwe Schulzweida

	* gribZip: remove large file support

2017-09-06 Uwe Schulzweida

	* store Decimal scale factor to int16 (bug fix)
	* bug fix for large grib records

2017-08-04 Uwe Schulzweida

	* Added CALENDAR_GREGORIAN

2017-07-27 Uwe Schulzweida

	* Version 1.8.1 released

2017-07-12 Uwe Schulzweida

	* Skip GridDataSection if not available

2017-06-06 Uwe Schulzweida

	* Changed boolean ints to stdbool

2017-04-12 Uwe Schulzweida

	* file_fill_buffer: set offset (bug fix) [patch from Harald Anlauf]

2017-03-15 Uwe Schulzweida

	* Version 1.8.0 released

2017-03-15 Thomas Jahns

	* Fix unreliable rounding

2016-12-20 Uwe Schulzweida

	* Version 1.7.6 released

2016-12-20 Uwe Schulzweida

	* Added support for GRIB level type 210

2016-11-04 Uwe Schulzweida

	* gribReadSize/gribGetSize: changed type of  return value to size_t

2016-08-12 Uwe Schulzweida

	* Removed libaec specific calls

2016-06-03 Uwe Schulzweida

	* Version 1.7.5 released

2016-05-23 Uwe Schulzweida

	* encodeBDS: recalculation of binscale (bug fix) [Klaus Wyser]

2016-02-19 Uwe Schulzweida

	* Version 1.7.4 released

2016-02-03 Uwe Schulzweida

	* encodeBDS: changed if to while in recalculation of binscale (bug fix) [report: Harald Anlauf]

2015-10-30 Uwe Schulzweida

	* grib_decode.tmpl: force nearest neighbor remapping from reduced gaussian grids (lveggy)

2015-10-30 Uwe Schulzweida

	* decode_array_2byte: optimisation using gribSwapByteOrder_uint16()
	* encode_array_2byte: optimisation using gribSwapByteOrder_uint16()

2015-10-08 Uwe Schulzweida

	* Version 1.7.3 released

2015-04-24 Uwe Schulzweida

	* Version 1.7.2 released

2015-04-22 Uwe Schulzweida

	* gribDateTime: set ryear and century to 0 if they are undefined

2015-02-22 Uwe Schulzweida

	* Version 1.7.1 released

2015-02-22 Uwe Schulzweida

	* define grib_encode_array_2byte_double to select optimized simd version

2014-10-01 Uwe Schulzweida

	* Version 1.7.0 released

2014-08-06 Uwe Schulzweida

	* added support for time unit 14 (ISEC1_TABLE4_30MINUTES)

2014-07-16 Uwe Schulzweida and Rahul Sinha

	* decode: added support of single precision floats

2014-07-14 Uwe Schulzweida and Rahul Sinha

	* encode: added support of single precision floats

2014-05-20 Uwe Schulzweida

	* Version 1.6.4 released

2014-02-26 Thomas Jahns

	* encodeBDS: replaced intpow2(nbpv) by (1ULL << nbpv)

2014-02-08 Uwe Schulzweida

	* Version 1.6.3 released

2014-01-08 Uwe Schulzweida

	* gribGinfo: added support for files > 2GB

2013-11-04 Uwe Schulzweida

	* Version 1.6.2 released

2013-10-09 Uwe Schulzweida

	* acinclude.m4: CFINT does not work (bug fix) [report: Harald Anlauf]
	* GRIB1 local extensions for Meteoswiss, COSMO (patch from Harald Anlauf)

2013-07-17 Uwe Schulzweida

	* gribDecode: second order packed grids unsupported

2013-07-10 Uwe Schulzweida

	* minmaxval.c: disable SIMD version, gcc has nearly the same performance; icc is 2x faster (avx)

2013-06-28 Uwe Schulzweida

	* Version 1.6.1 released

2013-06-27 Uwe Schulzweida

	* encode_double_array::sse41_encode_double_array_2byte: bug fix for size%16 != 0

2013-03-08 Uwe Schulzweida

	* Version 1.6.0 released

2013-02-27 Uwe Schulzweida

	* decodeBDS: change type of jlen from int to long. Bug fix for large grib records (>INT_MAX/8).

2013-02-26 Uwe Schulzweida

	* encode_double_array_unrolled: wrong result for spectral data (bug fix)
                                             packStart wasn't take into account for calculation of residual

2013-02-05 Uwe Schulzweida

	* gribZip: use AEC_DATA_3BYTE for 24 bit compression with AEC

2013-01-29 Uwe Schulzweida

	* gribDateTime: bug fix for integer overflow

2013-01-28 Uwe Schulzweida

	* added AEC patch from Mathias Rosenhauer

2013-01-14 Uwe Schulzweida

	* added decode_double_array.c

2012-12-11 Uwe Schulzweida

	* Version 1.5.6 released

2012-12-07 Uwe Schulzweida

	* minmax_val: changed loop counter from long to size_t
	* encode_double_array: changed loop counter from long to size_t

2012-12-07 Luis Kornblueh

	* minmax_val: simd version bug fix
	* encode_double_array:  simd version bug fix

2012-12-04 Uwe Schulzweida

	* encode_double_array_byte: changed unsigned long to uint16_t (speed up)

2012-10-30 Uwe Schulzweida

	* Version 1.5.5 released

2012-09-10 Uwe Schulzweida

	* reduced grids: calculate nlon and nvalues from rowLon array (bug fix)

2012-08-27 Uwe Schulzweida

	* Version 1.5.4 released

2012-07-25 Uwe Schulzweida

	* added changes from Thomas Jahns (cdi-pio/src/cgribex.c)

2012-07-23 Uwe Schulzweida

	* Version 1.5.3 released

2012-06-08 Uwe Schulzweida

	* encode_double_array_unrolled: bug fix for numBits = 8

2012-05-15 Uwe Schulzweida

	* Version 1.5.2 released

2012-05-04 Uwe Schulzweida

	* added minmax_val.c
	* added encode_double_array.c

2012-04-03 Uwe Schulzweida

        * gribZip: removed warning for SZ_OUTBUFF_FULL
	* gribEncode: added  encode_double_array_unrolled (cleanup)

2012-04-02 Luis Kornblueh

	* gribEncode::encode_double_array: speedup loop (numBits=16) for _ARCH_PWR6

2012-02-27 Uwe Schulzweida

	* grib: added option -T (timer)

2012-02-27 Luis Kornblueh

	* gribEncode: added sse_minmaxval() [speedup 2.6]

2011-11-11 Uwe Schulzweida

	* gribDecode: check missval != NaN only if bitmap is present

2011-11-04 Uwe Schulzweida

	* added GRIB1_LTYPE_SIGMA_LAYER 

2011-10-06 Uwe Schulzweida

	* Version 1.5.1 released

2011-10-05 Uwe Schulzweida

	* added GRIB1_LTYPE_TOA, GRIB1_LTYPE_SEA_BOTTOM, GRIB1_LTYPE_ATMOSPHERE

2011-08-27 Uwe Schulzweida

	* gribDecode: recalculate record size for large GRIB records [report: Angelika Heil]

2011-08-25 Uwe Schulzweida

	* gribDecode: Added support for packing factors 26 - 31 [request: Jesper Baasch-Larsen]

2011-08-24 Uwe Schulzweida

	* decode_double_array_common: update (speedup)

2011-03-15 Uwe Schulzweida

	* Version 1.5.0 released

2011-02-15 Uwe Schulzweida

	* added env GRIB_GRIBEX_MODE_ON, enables a GRIBEX compatibility mode
	* renamed GTYPE/LTYPE to GRIB1_GTYPE/GRIB1_LTYPE

2011-01-03 Uwe Schulzweida

	* Version 1.4.7 released

2010-11-11 Uwe Schulzweida

        * update for changed interface of error.h

2010-09-10 Uwe Schulzweida

	* Version 1.4.6 released

2010-09-09 Uwe Schulzweida

	* gribEncode: added switch to pack constant fields on regular grids [request: Luis Kornblueh]

2010-07-19 Uwe Schulzweida

	* change encode_juldaysec/decode_juldaysec to encode_caldaysec/decode_caldaysec

2010-07-06 Uwe Schulzweida

	* Version 1.4.5.1 released
        * added option check1 and repair1

2010-07-05 Edi Kirk

	* gribDecode: Fixed ZeroShiftError of simple packed spherical harmonics

2010-06-30 Uwe Schulzweida

	* gribZip: bug fix for 24 bit data with compression ratio < 1.05 [report: Aiko Voigt]

2010-06-16 Uwe Schulzweida

	* Version 1.4.5 released
	* pbOpen: don't set file buffersize on SX [report: Harald Anlauf]
	* gribEncode: set DWD_extension_253_len to 38 [report: Andreas Rhodin]

2010-06-01 Uwe Schulzweida

	* bug fix for decoding of sziped compressed records with
	  complex packed spectral data [report: Stephanie Legutke]
	
2010-04-29 Uwe Schulzweida

	* Version 1.4.4 released

2010-04-09 Uwe Schulzweida

	* added support time units 3hours, 6hours, 12hours

2010-03-31 Uwe Schulzweida

	* encodePDS: removed special handling of ISEC1_AvgNum

2010-03-24 Uwe Schulzweida

	* encodeBDS: print code number for encoding errors

2010-02-22 Uwe Schulzweida

	* gribEncode: added support for complex packed spectral data
	* added support of SZIP compression for complex packed spectral data
	* Version 1.4.3 released
	
2010-02-09 Uwe Schulzweida

	* decodeBDS: don't convert reference value and scale factor if OPER=J

2010-02-08 Uwe Schulzweida

	* decode_double_array: bug fix for 32 bit decoding (unsigned int) [report: Renate Brokopf]
	* gribDecode: prevent overflow in the calculation of NumValues for large GRIB records
	* disable support for Missval = NaN  (speed up)
	* encodeBMS: use scalar code on non vector machines
	* added support for large GRIB records (ECMWF extension)
	* Version 1.4.2 released

2010-01-13 Oliver Fuhrer

	* added MCH_extension_254_len
	* gribEncode: added support for TimeRange 3 and 5
	
2009-12-15 Uwe Schulzweida

	* encodeBDS: check max limit of binary scale factor [report: Daniel Hernandez Deckers]
	* use cdi decode/encode date/time functions
	* Version 1.4.1 released

2009-10-15 Uwe Schulzweida

	* gribDecode: bug fix for missing values  (scalar code)
	* Version 1.4.0.1 released

2009-10-05 Uwe Schulzweida

	* rename library from grib to cgribex
        * changed C compiler to ANSI C99
	* added grib_api support
	* changed encode/decode_time to seconds
	* gribDecode: speedup for non vector machines
	* gribEncode: speedup for non vector machines
	* encodeBDS: changed fpval to ipval
	* gribReadSize: bug fix for gribsize [report: Reto Stöckli]
	* Version 1.4.0 released

2009-04-16 Uwe Schulzweida

	* replaced strncpy/strncmp by memcpy/memcmp
	* add support for time unit QUARTER (15 minutes)
	* gribencode: set fmin to 0 if fabs(fmin) < FLT_MIN
	* add support for NaN in DBL_IS_EQUAL
	* gridDateTime: add support for time range indicator 2-5
	* grib.c: add select parameter - rec
	* grib: bug fix for orecsize
	* changed timebase
	* namelist.c: update
	* Version 1.3.0 released

2008-11-13 Uwe Schulzweida

        * support of lambert_proj flag (bug fix)
	* Version 1.2.1 released

2008-08-13 Uwe Schulzweida

        * bug fix for decode/encode year/century for grib version 0
	* Version 1.2.0 released

2008-04-08 Uwe Schulzweida

	* configure: --with-szlib=<directory>
	* configure: check stat.st_blksize
	* fileOpen: add O_BINARY if available
	* gribFortran.c: change range of HAVE_CF_INTERFACE (bug fix) [report: Udo Voigt]
	* gribZip: subtract number of unused bits for datasize (bug fix) [report: Udo Voigt]
	* grib.c: add select parameter - ltype [request: Hendrik Reich]
	* Version 1.1.1 released

2008-01-24 Uwe Schulzweida

	* filelib: version 1.6.0
	* gribEx: add oper 'V' [request: Harald Anlauf]
	* gribEncode: add ECMWF local Extension 1 [Harald Anlauf]
	* gribEncode: set increment to 65535 if ResFlag == 0
	* add routine gribCheckSeek
	* add support for century < 0
	* add support for Lambert conformal grids
	* Version 1.1.0 released

2007-12-10 Anlauf Harald

	* add PBSEEK64: LFS version of PBSEEK
	
2007-10-22 Uwe Schulzweida

	* change module calendar to timebase
	* change century to range -128 to 127
	* Version 1.0.6 released

2007-03-05 Uwe Schulzweida

	* gribDecode: add decodePDS_ECMWF_local_Extension_1
	* change IS_GRIB_Len type to UINT3
	* grib.c: add select parameter - fcnum
	* grib.c: remove last ';' in NML_DEF_XXX
	* pbClose: check unit
	* Version 1.0.5 released

2006-11-30 Uwe Schulzweida

	* decodeBDS: bug fix for ISEC4_NumVals for SZIPed records
	* Version 1.0.4 released

2006-11-02 Uwe Schulzweida

	* encodeBDS: Do nothing if NumBits == 0
	* encodeBDS/decodeBDS: Decimal scaling of spectral data (bug fix)
	* use also TimePeriod2 for TimeRange == 10 [report: Günter Meschkat] 
	* Version 1.0.3 released
	
2006-09-18 Uwe Schulzweida

	* gribDecodeBDS: cast lgrib to int for 8, 16 and 24 bits
	* gribGinfo: add decimal scale value [report: Christian Grob]
	* gribDecode: set nlon and nlat also for unsupported grid types
	* use DBL_IS_EQUAL to compare floating point
	* Version 1.0.2 released

2006-08-01 Uwe Schulzweida

	* change GRIBPACK to unsigned
	* gribZip: Add code for 32 bit data
	* gribEncode: Add code for 32 bit packing
	* gribEncode: Add code for 0 < nbits <= 32
	* Version 1.0.1 released

2006-06-15 Uwe Schulzweida

	* gribDecode: change to qu2reg3 and rowina3 for reduced grids
	* gribDecode: init ISEC4_NumNonMissValues (bug fix)
	* Add level type ISENTROPIC
	* Version 1.0.0 released

2006-05-04 Uwe Schulzweida

	* pbgrib: init return value iret with 0 (bug fix)
	* grib: add select parameter - bits
	* Version 0.6.6 released

2006-03-08 Uwe Schulzweida

	* grib: add parameter select
	* Version 0.6.5 released

2006-02-01 Uwe Schulzweida

	* gribEncode: lGrib buffer to small, bitmap missing (bug fix)
	* gribEncode: add call to grsdef /* bug fix */
	* gribEncode: use error status of encodeBDS
	* gribDecode: bug fix if bitmap and data section have the same size
	* gribFile: replace Error by Warning
	* replace _TRI_ by _GME_
	* Version 0.6.4 released

2005-12-14 Uwe Schulzweida

	* filelib: version 1.5.1
	* gribDecode: use bitmap only if bitmapSize != NumValues
	* Version 0.6.3 released

2005-10-30 Uwe Schulzweida
	
	* SZ compression with -szip and -sunzip
	* Version 0.6.2 released

2005-05-17 Uwe Schulzweida

	* decodeGDS: set ReducedGrid to FALSE if jlenl != GDS_NumLat
	* decodeBDS: bug fix (change _pow2tab to intpow2)
	* bitmap: bug fix (for encode and decode bitmap)
	* gribDateTime: use calendar only if rday > 0
	* Version 0.6.1 released

2005-03-29 Uwe Schulzweida

	* program grib: change level handling
	* change the name of some leveltypes
	* bug fix in real*4 fortran interface
	* Version 0.6.0 released

2005-03-15 Uwe Schulzweida

	* add flt2ibm, flt2ibmSP, flt2ibmDP
	* add ibm2flt, ibm2fltSP, ibm2fltDP
	* Version 0.5.9 released

2005-03-12 Uwe Schulzweida

	* gribEncode: support of rotated grids
	* gribDecode: replace IntPower2 and rIntPower2 by _pow2tab
                      replace pow(2.0, (double) jscale) by _pow2tab
	* decfp2: replace pow16m64tab by _pow16tab
	* confp3: replace rpow16m70tab by _pow16tab
	* gribDateTime: set century only if it is gt 0
	* Version 0.5.8 released

2005-02-24 Uwe Schulzweida

 	* gribExSP: convert double precision to single precision

2005-02-10 Uwe Schulzweida

	* gribDecode: set ISEC4_NumNonMissValues for reduced grid with bitmask
	* gribDecode: using decimal scale factor
	* gribEncode: using decimal scale factor
	* gribEncode: compress BDS with zlib or szlib (test version)
	* new function gribGinfo (information for a GrADS index file)
	* Version 0.5.7 released

2004-08-16 Uwe Schulzweida

	* gribEncode: vectorize encoding of BMS
	* gribDecode: vectorize decoding of BMS
	* encodeGDS: reduced grid extention
	* unpackIntXX: Bug fix ( head > bc )
        * file.c: set min I/O buffersize to 128k
	* Version 0.5.6 released

2004-06-28 Uwe Schulzweida

	* gribPrint: Print error message if buffer is to small
	* file.c: Set min I/O buffersize to 128k
	* Version 0.5.5 released

2004-06-24 Luis Kornblueh

        * gridEncode.c, gribDecode.c: added support for DWD extension 254
          and new extension 253 on top of extension 254
        * gribExPrint.c: added print support for DWD extension

2004-05-14 Uwe Schulzweida

	* gridEncode.c, gribDecode.c: allocate buffer lGrib with malloc
	* grib_int.c, confp3.c, decfp2: remove static declaration
		                        of locale variables
	* Version 0.5.4 released

2003-12-06  Uwe Schulzweida

	* gribDecode: vectorize read of VCT
	* Version 0.5.3 released

2003-10-10  Uwe Schulzweida

	* printQuasi: bug fix (set yout size to 64)
	* gribEncode: bug fix for encode BMS
	* file: check lseek status
	* Version 0.5.2 released

2003-08-21  Uwe Schulzweida

	* Fortran subroutine PBSETRAW to set raw flag for DWD GRIB files.
	* Version 0.5.1 released

2003-07-30  Uwe Schulzweida

	* gribDecode: BMS implementation
	* gribEncode: BMS implementation
	* pack.c: used 64 bit version if INT32 is unavailable
	* Version 0.5.0 released

2003-06-11  Uwe Schulzweida

	* gribFileSeek: change buffersize from 1024 to 4096
	* Version 0.4.5 released

2003-06-6  Uwe Schulzweida

	* encode.c: copy result to fpval to prevent integer overflow
	
2003-05-26  Uwe Schulzweida

	* replace gribGetTime and gribGetDate by gribDateTime
          which calculate the date and time also for forcast dates
	
2003-05-23  Uwe Schulzweida

	* pbio.c: implementation of iret = -3

2003-05-17  Uwe Schulzweida

	* file.c: add append mode
	
	* Version 0.4.4 released

2003-04-23  Uwe Schulzweida

	* gribEncode.c: change jpepsln back to 1.0e-12

2003-04-14  Uwe Schulzweida

	* gribDecode.c: expand bds gridlen to gds gridlen

2003-04-11  Uwe Schulzweida

	* gribEncode.c: Check number of bits per value is not exceeded

2003-04-08  Uwe Schulzweida

	* change memory allocation error handling

2003-04-06  Uwe Schulzweida

	* change configure setup for cfortran.h and default options

2003-03-30  Uwe Schulzweida

	* gribEncode.c: change range to fabs(range)
			change jpepsln to DBL_EPSILON
	* Version 0.4.3 released

2003-03-28  Uwe Schulzweida

	* file.c: Large File Support (LFS)

2003-02-28  Uwe Schulzweida

	* file.c: bug fix for MMAP buffer
	* gribDecode.c: bug fix for complex packed data
	* Version 0.4.2 released


2003-02-18  Uwe Schulzweida

	* file.c: remove XBUF, change fp to fd for read,
	 	  optimize buffer handling.
	* gribFile.c: use MMAP only on SUNs
