ChangeLog 39.5 KB
Newer Older
Uwe Schulzweida's avatar
Uwe Schulzweida committed
1 2 3 4 5
2013-03-??  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Version 1.6.0 released
        * using CGRIBEX library version 1.6.0

6 7 8 9
2013-01-08  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* global netCDF attribute "source" missing (bug fix)

10 11 12 13
2012-12-18  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* reshGetValue: added caller function name to error message

Uwe Schulzweida's avatar
Uwe Schulzweida committed
14
2012-12-17  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
15 16

	* Version 1.5.9 released
Uwe Schulzweida's avatar
Uwe Schulzweida committed
17
        * using CGRIBEX library version 1.5.6
18

19 20 21 22 23
2012-12-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* removed unused function streamDefineTaxis()
	* fix warning in streamDefTimestep() for stream with constant fields only

24 25
2012-12-11  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

26
	* added cdfGridCompress() to compress coordinates
27 28
	* added vlistDefVarChunkType() and vlistInqVarChunkType()

29 30 31 32
2012-12-03  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* vlistCopyFlag: added support for level bounds

33 34 35 36
2012-11-26  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* netCDF: added support for time axis name and long_name

37 38 39 40
2012-11-17  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_cdf::define_all_vars: added txt attributes to vlistDefAttTxt() without trailing 0 [Bug #3004]

41 42 43 44
2012-11-16  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* file.c: added support for unbuffered write

45 46
2012-11-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

47
	* cdfReadVarSliceDP: store DATATYPE_FLT32 in a float array and	convert it to double (speedup 2x)
48 49
	* cdfInqTimestep: added check for timevalue = NC_FILL_DOUBLE

50 51 52 53
2012-11-14  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* app/cdi: added optional compression level -z zip[_1-9]

54 55 56 57
2012-11-09  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* file.c::file_initialize: added support for env GRIB_API_IO_BUFFER_SIZE [request: Florian Prill]

58 59 60 61 62
2012-11-07  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* gridGenXvals/gridGenYvals: removed changes from 1.5.8 (bug fix)
	* cgribexGetGrid: bug fix for xinc/yinc recomputation

63 64
2012-11-05  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

Uwe Schulzweida's avatar
Uwe Schulzweida committed
65
	* grib2: correct endStep if timeunits is not equal stepUnits (bug fix)
66 67
	* cgribexGetGrid: bug fix for yinc for odd ysize

68
2012-10-30  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
69 70 71 72

	* Version 1.5.8 released
	* using CGRIBEX library version 1.5.5

73 74 75
2012-10-29  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_cgribex.c: do not check fraction of xinc/yinc" stream_cgribex.c
Uwe Schulzweida's avatar
Uwe Schulzweida committed
76
	* gridGenXvals/gridGenYvals: recheck xinc/yinc if (first+(size-1)*inc) > last
77

78 79 80 81
2012-10-26  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_gribapi.c::gribapiScanTimestep: changed GRIBAPI_MISSVAL to cdiDefaultMissval

82 83 84 85
2012-10-18  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* vlistCopyFlag: copy ensdata (bug fix) [report: Jaison Ambadan]

86 87
2012-10-16  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

Uwe Schulzweida's avatar
Uwe Schulzweida committed
88
	* grib2: changed packingType from grid_jpeg to grid_simple if nmiss > 0 (bug fix)
89 90 91

2012-10-18  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

92
	* grib2: added stepType support for absolute time axis
93

94 95 96 97
2012-10-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* pio.h remove line 'typedef int MPI_Comm;' [Bug #2882]

98 99 100 101
2012-09-21  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* vlistInqZaxis: use zaxisGetIndexList() to get global zaxisIDs (bug fix)

102 103
2012-09-20  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

104 105 106 107
	* listSizeExtend: init ops, val and status

2012-09-20  Thomas Jahns <jahns@dkrz.de>

108 109
	* listInitialize: set mutex type to PTHREAD_MUTEX_RECURSIVE

110
2012-09-11  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
111

Uwe Schulzweida's avatar
Uwe Schulzweida committed
112
	* cdfInqContents: make ncid local to varid
113
	* cdfInqContents: group reading of global attribute to read_global_attributtes()
114
	* cdfInqContents: set ntsteps to 0 if no data variable found
Uwe Schulzweida's avatar
Uwe Schulzweida committed
115
	* netCDF: set 1D arrays to coordinate variables if axis attribute is available
116

117 118 119 120
2012-09-10  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* unreduced: compute nlon and nvalues from rowlon[] (bug fix)

121 122 123 124
2012-09-05  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cgribexEncode: initialize the first 256 entries of isec1 to zero

125 126 127 128
2012-08-30  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* app/cdi: changed output format of option -s (sinfo)

Uwe Schulzweida's avatar
Uwe Schulzweida committed
129
2012-08-27  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
130 131

	* Version 1.5.7 released
132 133
	* model.c::modelInq*: check instID != UNDEFID (buf fix)
	* institution.c::insitutInq*: check instID != UNDEFID (buf fix)
134
	* Merge of branch cdo-pio into trunk cdi
Uwe Schulzweida's avatar
Uwe Schulzweida committed
135
	* using CGRIBEX library version 1.5.4
136 137
	* using EXSE library version 1.3.1

Uwe Schulzweida's avatar
Uwe Schulzweida committed
138
2012-07-23  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
Uwe Schulzweida's avatar
Uwe Schulzweida committed
139 140 141 142

	* Version 1.5.6 released
	* using CGRIBEX library version 1.5.3

143 144
2012-07-17  Modali Kameswarrao  <modali.kameswarrao@zmaw.de>

Uwe Schulzweida's avatar
Uwe Schulzweida committed
145
	* added vlistDefVarEnsemble() for GRIB1 and netCDF
146

147 148
2012-07-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

149
	* added call to cdiInitialize() in all streamOpen functions (bug fix)
150 151
	* added support for environment variable NC_CHUNKSIZEHINT [Feature #2142]

152 153 154 155
2012-07-04  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* grib scan timestep: changed Error() to Warning() for inconsistent timesteps

156 157
2012-07-04  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

158
	* stream_cdf::define_all_grids: modify check for same x and y varids
159 160
	* cdfInqContents: set all undefined 1D variables to data variables [request: Florian Prill]

161 162
2012-06-20  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

163
	* cdf_write_var_data: bug fix for unscaled uint8, int8, int16, int32 (bug introduced in 1.5.5)
164

165 166 167 168
2012-06-18  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* grib_api: use key significanceOfReferenceTime only for GRIB2

169 170 171
2012-06-06  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added support for grib_api key stepType  [request: Drte Liermann]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
172 173
	* changed TIME_CONSTANT and TIME_VARIABLE to TSTEP_CONSTANT and TSTEP_XXX
	* renamed vlistInqVarTime() vlistInqVarTsteptype()
174

175 176
2012-06-01  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

Uwe Schulzweida's avatar
Uwe Schulzweida committed
177
	* stream_gribapi: added support for level type HYBRID_HALF	[request: Drte Liermann]
178

179 180 181 182
2012-05-18  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_cdf::cdfDefUnstructured: fixed memory bug [ICON - Bug #2398]

Uwe Schulzweida's avatar
Uwe Schulzweida committed
183
2012-05-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
184 185 186 187

	* Version 1.5.5 released
	* using CGRIBEX library version 1.5.2

188 189 190 191
2012-05-02 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdi.h: added vlistDefVarTime() [request: Florian Prill]

192 193 194 195 196 197 198 199
2012-05-02 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_gribapi: bug fix for validation date and time

2012-04-27 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_cdf::define_all_grids: changed scale_add() parameter from x to y (bug fix)

200 201
2012-04-26 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

202
	* added support for ZAXIS_DEPTH_BELOW_LAND units "mm",  "cm", "dm" and "m"
203

204 205
2012-03-24 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

206
	* added single precision support: streamWriteVarF, streamWriteVarSliceF
207

208 209 210 211
2012-02-15 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_cdf::cdfDefDatatype: bug fix for DATATYPE_UINT8

212 213 214 215
2012-02-02 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_cdf::cdfDefCurvilinear: bug fix for CLM s,u,v grids [report: Hans-Jrgen Panitz]

216
2012-01-30 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
217

218 219
	* Version 1.5.4 released

220
2011-12-27 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
221

222
	* added support for GRIB2 packing type grid_ieee
223

Uwe Schulzweida's avatar
Uwe Schulzweida committed
224 225 226 227
2011-12-19 Luis Kornblueh  <Luis.Kornblueh@zmaw.de>

	* added suppport for GRIB2 level type 150

228 229 230 231
2011-12-13 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* verify_coordinate_vars: bug fix in check for units = "1" [report: Katharina Six]

232 233 234 235
2011-11-11 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added support for netCDF attributes scale_factor and add_offset for lon/lat coordinates

236 237 238 239 240
2012-01-06  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* 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)

241 242 243 244
2011-11-04 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added support for GRIB1_LTYPE_SIGMA_LAYER

245 246 247 248
2011-11-01 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added support for netcdf attribute valid_min/valid_max [request: Etienne Tourigny]

249 250 251 252
2011-10-27 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdilib.c::defineAttributes: bug fix atttxt [report: Florian Prill]

253 254 255 256
2011-10-25 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added support for netcdf attribute valid_range [request: Etienne Tourigny]

Uwe Schulzweida's avatar
Uwe Schulzweida committed
257 258 259
2011-10-17  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Version 1.5.3 released
260
	* using CGRIBEX library version 1.5.1
Uwe Schulzweida's avatar
Uwe Schulzweida committed
261

262 263 264
2011-10-11  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

       * zaxisCompare: set epsilon from 0 to 1e-9 [request: Felicia Brisc]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
265

266 267
2011-10-06  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

268
	* added level type ZAXIS_TOA, ZAXIS_SEA_BOTTOM, ZAXIS_ATMOSPHERE [request: Drte Liermann]
269

270 271 272
2011-10-05  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_cdf::cdfInqContents: check units of hybrid levels
273
	* varAddRecord: used max number of bit_per_value for 3D GRIB data
274
	* gribapiDefGrid: added parameter jScansPositively [report: Juan Jose Tasso]
275

276 277 278 279
2011-10-02  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* deflate compression with netCDF4 doesn't work (bug fix) [report: Geert Jan van Oldenborgh]

280 281 282 283
2011-09-21  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* correct netCDF dimension order of unstructured grids (bug fix) [report: Ralf Mueller]

Uwe Schulzweida's avatar
Uwe Schulzweida committed
284 285 286 287
2011-08-22 Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Version 1.5.2 released

288 289 290 291
2011-08-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* streamFilesuffix: added suffix for filetype NC4C (bug fix)

292 293 294 295
2011-08-06  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* scanVarAttributes: check size of axis attribute (bug fix) [report: David Huard]

296 297 298 299
2011-07-29  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Added flexible XYZ dimension ordering for netCDF [request: Andy Aschwanden]

300 301 302 303
2011-07-28  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added interface function vlistDefVarXYZ to set the dimension order

304 305 306 307
2011-07-23  Pier Giuseppe Fogli  <piergiuseppe.fogli@cmcc.it>

	* added interface function zaxisInqVct to read the VCT

308 309 310 311
2011-07-23  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* netcdf input: correct wrong formatted time units [request: Harald Anlauf]

312 313 314
2011-07-14  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* netcdf: added support for GRID_FOURIER (fourier coefficients)
315

Uwe Schulzweida's avatar
Uwe Schulzweida committed
316 317 318 319
2011-07-12  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Version 1.5.1 released

320 321 322 323
2011-07-07  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* vlistCopy: allocate and copy varsAllocated elements (bug fix) [report: Ralf Mueller]

324 325 326 327
2011-06-24  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* vtime2timeval: do not round result (bug fix for TUNIT_YEAR) [report: Andy Aschwanden]

328 329 330
2011-06-01  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* CDI: changed compression type from Ztype to CompType
331
	* CDI: changed compression level from Zlevel to CompLevel [report: Thomas Jahns]
332

333
2011-05-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
334 335

	* gridGenYvals: changed delta eps to 0.002 for gaussian grids [report: John Lillibridge] 
336
	* ruby/python interface: changed GRID_CELL to GRID_UNSTRUCTURED [report: Tim Cera]
337

338 339 340 341
2011-05-12  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* grid::compareXYvals: bug fix for generic grids [report: Felicia Brisc]

342 343
2011-04-28  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

344 345 346
	* 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]
347

348 349
2011-04-27  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

350
	* Added support for FILETYPE_NC4C (netcdf4 classic)
351 352
	* netcdf: Skiped time dependent variables if number of time steps is zero

Uwe Schulzweida's avatar
Uwe Schulzweida committed
353
2011-03-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
Uwe Schulzweida's avatar
Uwe Schulzweida committed
354 355 356 357

	* using CGRIBEX library version 1.5.0
	* Version 1.5.0 released

358 359 360 361
2011-03-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_cdf: added support for GRIB2 parameter identifier

Uwe Schulzweida's avatar
Uwe Schulzweida committed
362 363 364 365
2011-03-08  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Version 1.4.8 released

366 367
2011-02-06  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

368
	* vlistDestroy: fix memory leak
369

370 371 372
2011-01-25  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added netCDF support for level bounds
373

374 375
2011-01-21  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

376
	* added grid type GRID_REFERENCE
377
	* changed grid name GRID_CELL to GRID_UNSTRUCTURED
378

379 380 381
2011-01-19  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added support to encode/decode GRIB1 with GRIB_API
382

Uwe Schulzweida's avatar
Uwe Schulzweida committed
383 384 385 386 387
2011-01-03  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* using CGRIBEX library version 1.4.7
	* Version 1.4.7 released

388 389
2010-11-09  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

Uwe Schulzweida's avatar
Uwe Schulzweida committed
390
	* improved support for netCDF output from WRF model
391

392 393
2010-10-28  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

394
	* cdfDefZaxis: changed hybrid level type from int to float
395 396
	* taxisCopyTimestep: added mutex_lock
	
397 398 399 400
2010-10-26  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cgribexAddRecord: correct xinc/yinc if necessary [report: Anders Ullerstig]
	
401 402 403 404
2010-10-12  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

        * cdfDefVCT: remove var mlev and ilev (bug fix) [report: Torsten Weber]

405 406
2010-10-05  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

407 408
	* cdfOpenFile: create netCDF4 files without NC_CLASSIC_MODEL
	* cdfOpenFile: switch off checking of netCDF4 format (read)
409
	
410 411 412 413
2010-09-27  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

        * cdfDefTime: bug fix for time units 3HOURS, 6HOURS, 12HOURS
	
Uwe Schulzweida's avatar
Uwe Schulzweida committed
414
2010-09-17  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
Uwe Schulzweida's avatar
Uwe Schulzweida committed
415 416 417 418 419 420

	* using CGRIBEX library version 1.4.6
	* Version 1.4.6 released

2010-09-09  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

421
	* GRIB1: use packing only for non constant fields [request: Luis Kornblueh]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
422 423
	* varDefZtype: bug fix [report: Stephanie Legutke]
	
424 425 426
2010-09-07  Ralf Mueller <ralf.mueller@zmaw.de>

	* use libtool 2.2.10 for compiling + linking
Ralf Mueller's avatar
Ralf Mueller committed
427 428
	* create shared + static library with PIC support by default
	  (positions independant code)
429 430
	* build CDI configuration file: cdi.settings

431 432 433 434
2010-09-03  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* check axis attribute (bug fix) [report: Cui Chen]
	
435 436 437 438
2010-08-26  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* vlistCopyFlag: copy zaxis meta data
	
Uwe Schulzweida's avatar
Uwe Schulzweida committed
439 440 441 442 443 444 445 446
2010-08-25  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Added support for attribute type int16 and float32 [Request: Don Murray]
	
2010-08-24  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
	
	* Version 1.4.5.2 released [request: Luis Kornblueh]

Uwe Schulzweida's avatar
Uwe Schulzweida committed
447 448 449 450
2010-08-02  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added grid mask support
	
451 452 453 454
2010-07-26  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added ECHAM6 GRIB1 code table

455 456 457 458
2010-07-23  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdfInqContents: fixed out of bounds access to attstring [report: Heiner Widmann]
	
459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475
2010-07-05  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdfInqContents: fix problem of wrong stdname for grid description [report: Michael Boettinger]
	* Version 1.4.5.1 released

2010-07-05 Edi Kirk <E.Kirk@gmx.de>

	* GRIB1 decode: Correct ZeroShiftError of simple packed spherical harmonics

2010-07-01  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdfInqContents: use complex packing for spectral data [report: Edi Kirk]

2010-06-30  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* using CGRIBEX library version 1.4.5.1 (szip bug fix for 24 bit data)

476
2010-06-16  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
477 478 479 480

	* using CGRIBEX library version 1.4.5
	* Version 1.4.5 released

481 482 483 484
2010-05-16  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_history: added NC4 support [report: Etienne Tourigny]
	
485 486 487 488
2010-05-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdfDefXYaxis: check also dimnames (bug fix) [report: Mikhail Itkin]
	
489 490 491 492
2010-05-12  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* stream_cdf: added support for uppercase attributes [request: Patrick Brockmann]
	
493 494 495 496
2010-05-07  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* gridGenYvals: bug fix for nlat > 4096 [report: Thomas Bergmann]

Uwe Schulzweida's avatar
Uwe Schulzweida committed
497 498 499 500
2010-04-29  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Version 1.4.4 released

Uwe Schulzweida's avatar
Uwe Schulzweida committed
501 502 503 504
2010-04-24  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* gaussgrid: define M_SQRT2 [report: alastair.mckinstry@ichec.ie]

505 506
2010-04-16  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

Uwe Schulzweida's avatar
Uwe Schulzweida committed
507 508 509
	* MAX_STREAMS: changed fixed size of 4096 to dynamic range of 1024 - 65536
	* MAX_VLISTS:  changed fixed size of 4096 to dynamic range of 1024 - 65536
	* MAX_TAXES:   changed fixed size of 4096 to dynamic range of 1024 - 65536
510
	
511 512 513 514
2010-04-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cgribexDefTime: bug fix for GRIB time range 10
	
515 516
2010-04-09  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

Uwe Schulzweida's avatar
Uwe Schulzweida committed
517
	* added support for GRIB time units 3hours and 6hours [request: Jaison-Thomas Ambadan]
518
	
519 520 521 522
2010-04-01  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* vlistMerge: added support to merge levels

523 524
2010-03-31  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

525
        * cgribexDefTime: bug fix for timerange=3 [report: Veronika Gayler]
526 527
	* using CGRIBEX library version 1.4.4

528 529 530 531
2010-03-30  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* vlistCat: correct temporary parameter numbers

532 533 534 535
2010-03-19  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added support for non integer time units MONTH

536 537 538 539
2010-03-12  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* gauaw: bug fix for allocation of zfnlat for odd number of nlat

540 541 542 543
2010-03-04  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdfDefGrid: check whether the variable or dimension name already exist
	
544 545
2010-02-27  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

546
        * grid.c: replace for loops by memcpy (speed up)
547

548 549 550 551
2010-02-25  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* implementation of gridDestroy
	
552 553 554 555
2010-02-22  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Version 1.4.3 released

556 557
2010-02-18  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

558
	* grib1: bug fix for description of gaussian reduced grids [report: Klaus Wyser]
559

560 561 562 563
2010-02-16  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* gauaw: new code to calculate gaussian grid [Luis Kornblueh]
	
564 565
2010-02-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

566
	* rotated grids: correct standard name [report: Michael Boettinger]
567 568
	* cgribexDefTime: bug fix for timerange = -1

569 570
2010-02-10  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

571
	* added support for encoding of complex packed spectral data in GRIB1
572

573 574 575 576
2010-02-09  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added function gridInqComplexPacking/gridDefComplexPacking

Uwe Schulzweida's avatar
Uwe Schulzweida committed
577 578 579 580
2010-02-08  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* Version 1.4.2 released

581 582
2010-01-25  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

583
	* added support for timerange 1,2,3,4,5 (GRIB1)
584

585 586 587 588
2010-01-14  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdfDefVar: define add_offset and scale_factor always together
	
589
2010-01-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
590

591 592 593
	* added optional sorting of parameters

2010-01-13  Oliver Fuhrer <oliver.fuhrer@meteoswiss.ch>
594 595 596 597

	* added support for cosmo GRIB parameter tables
	* added missing value support for cosmo GRIB files

598 599 600 601
2010-01-07  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* using CGRIBEX library version 1.4.2 (large record support)
	
Uwe Schulzweida's avatar
Uwe Schulzweida committed
602 603
2009-12-29  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

604
	* using EXSE library version 1.2.0 (complex numbers with EXTRA)
Uwe Schulzweida's avatar
Uwe Schulzweida committed
605

606 607 608 609 610 611
2009-12-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* fileRead: check result of fread
	* binReadF77Block: check result of fileRead
	* Version 1.4.1 released

Uwe Schulzweida's avatar
Uwe Schulzweida committed
612 613 614 615
2009-12-11  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* streamSync: check that vlist has variables to sync [report: Martin Schultz]
	
616 617 618 619
2009-12-09  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdfDefVar: define attribute _FillValue if missval was defined (speed up)
	
620 621 622 623
2009-12-08  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* allocate gribHandle for every grid/zaxis combination (speed up for writing GRIB2)
	
624 625 626 627
2009-11-30  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdfInqContents: bug fix for GRID_CELL with levels [report: Stephan Lorenz]

628 629 630
2009-11-25  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* using GRIB library version 1.4.1
Uwe Schulzweida's avatar
Uwe Schulzweida committed
631
	  check max limit of binary scale value (bug fix)
632

Uwe Schulzweida's avatar
Uwe Schulzweida committed
633 634 635 636
2009-11-22  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* change code/tabnum to param
	
637 638 639 640
2009-11-20  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added function vlistDefVarParam/vlistInqVarParam

641 642 643
2009-11-17  Ralf Mueller  <Ralf.Mueller@zmaw.de>

	* Added ruby and python interfaces
Uwe Schulzweida's avatar
Uwe Schulzweida committed
644
	  --enable-ruby  --enable-python 
645
	
646 647 648 649
2009-11-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdi.h: added '_vec' to all int and double vector arguments
	
650 651
2009-11-12  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

652
	* set units to "Pa" if changing zaxis to "pressure" (bug fix) [report: Chao Li]
653 654 655 656 657

2009-11-12  Ralf Mueller  <Ralf.Mueller@zmaw.de>

	* Added Fortran Interface via iso_c_bindings facility of F2003
	  --enable-iso-c-interface
658
	
659 660 661 662
2009-11-01  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* added support for GRIB2 JPEG compression

Uwe Schulzweida's avatar
Uwe Schulzweida committed
663 664 665 666 667
2009-10-28  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* grbWriteVar: bug fix
	* Version 1.4.0.2 released

668 669
2009-10-23  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

Uwe Schulzweida's avatar
Uwe Schulzweida committed
670
	* cdfDefXaxis: bug fix for multi generic grids [report: Uwe Mikolajewicz]
671
	* streamCopyRecord: check byteorder (bug fix) [report: Claas Teichmann]
672
	
Uwe Schulzweida's avatar
Uwe Schulzweida committed
673
2009-10-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
674

Uwe Schulzweida's avatar
Uwe Schulzweida committed
675
	* using GRIB library version 1.4.0.1
676
	* IEG format: bug fix for lonlat grids [report: Philip Lorenz]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
677
	* Version 1.4.0.1 released
678

679 680 681
2009-10-06  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* cdtInqContents: check attribute type
Uwe Schulzweida's avatar
Uwe Schulzweida committed
682
	* cdtInqContents: set default time units to DAYS
683
	
Uwe Schulzweida's avatar
Uwe Schulzweida committed
684
2009-10-05  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
685
	
686
	* using GRIB library version 1.4.0
687
	* added GRIB2 support (testversion) via grib_api(1.8.0)
688
	* changed C compiler to ANSI C99
689 690
	* changed time format from hhmm to hhmmss
	* changed encode/decode_time to seconds
691
	* ieg: added support for Gaussian grids [request: Ralf Podzun]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
692
	* cdfDefLonLat2D: added attributes for Panoply
693
	* added support for netCDF timeseries without grid
694
	* added support for netCDF timeseries with only one grid axis
Uwe Schulzweida's avatar
Uwe Schulzweida committed
695
	* gribDefLevel: bug fix for pressure level units millibar
696
	* julday_add_seconds: bug fix for adjusting negative seconds
Uwe Schulzweida's avatar
Uwe Schulzweida committed
697
	* stream_cdf:cdfReadVarSliceDP: bug fix for swapxy
698 699
	* Version 1.4.0 released

700 701 702
2009-06-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>

	* netCDF: reduced number of nc_enddef
703 704 705
	* 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
Uwe Schulzweida's avatar
Uwe Schulzweida committed
706
	* streamSync: extent to non netCDF files
707
	* Version 1.3.2 released
708
	
Uwe Schulzweida's avatar
Uwe Schulzweida committed
709
2009-04-16  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
710

711
	* using GRIB library version 1.3.0
712 713 714
	* 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)
Uwe Schulzweida's avatar
Uwe Schulzweida committed
715
	* use env GRIB_INVENTORY_MODE=timestep to skip double entries
716
	* grbDefTime: define tunit also for absolute time [report: Pruek Pongprueksa]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
717
	* set default calendar with env CDI_DEFAULT_CALENDAR
718
	* change default calendar to CALENDAR_PROLEPTIC
Uwe Schulzweida's avatar
Uwe Schulzweida committed
719
	* gridInqXinc: bug fix
720
	* grid_check_cyclic: support for curvilinear grids without bounds
721
	* cdfInqContents: check dimension of curvilinear grids
722
	* streamOpenAppen: set ncmode to 2 (bug fix)
723
	* replaced strncpy/strncmp by memcpy/memcmp
724
	* Version 1.3.1 released
725

Uwe Schulzweida's avatar
Uwe Schulzweida committed
726
2009-01-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
727

728
	* add support for GRID type SINUSOIDAL
729
	* add support for GRID type LAEA
730
	* add support of GRIB level type MEANSEA
731
	* gridCreate: CF stdname and units for curvilinear grids [report: Stephanie Legutke]
732
	* cdf_create: don't set chunksizehint (bug fix) [report: Luis Kornblueh]
733
	* change vlistFlagVar to vlistMergedVar
734
	* set default missval of INT8/16/32 to SCHAR_MIN/SHRT_MIN/INT_MIN
735 736
	* move grid_lcc, grid_gme, grid_rot code to CDO
	* move gridToCurvilinear and gridToCell code to CDO
737
	* cdf_inq_contents: check zaxis type "depth_blow_sea/land" (bug fix)
738
	* Version 1.3.0 released
739

Uwe Schulzweida's avatar
Uwe Schulzweida committed
740
2008-11-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
Uwe Schulzweida's avatar
Uwe Schulzweida committed
741 742

	* add new function: streamSync
743
	* add new taxis functions: taxisXXXVdateBounds and taxisXXXVtimeBounds
744
	* cdfReadVarSliceDP: add swapxy support
745
	* stream_cdf: check var and axis names
746
	* cdfInqContents: support of grid stdname 'longitude' and 'latitude'
747
	* lambert grid: support of projection flag (bug fix) [report: Andrew Digby]
748
	* streamFilesuffix: bug fix for IEG [report: Class Teichmann]
749
	* gridCompare: bug fix for lonlat grids and type = 1 (cdfInqContents)
750
	* netcdf: support of timeunit 'year'
Uwe Schulzweida's avatar
Uwe Schulzweida committed
751 752
	* Version 1.2.1 released

Uwe Schulzweida's avatar
Uwe Schulzweida committed
753
2008-08-13  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
754

Uwe Schulzweida's avatar
Uwe Schulzweida committed
755
        * using GRIB library version 1.2.0
Uwe Schulzweida's avatar
Uwe Schulzweida committed
756
	* add support for netCDF4 classic with deflate option
Uwe Schulzweida's avatar
Uwe Schulzweida committed
757
	* add datatype UINT8
758 759
	* streamClose: use taxisDestroy to release memory
	* cdfInqContents: skip time variable with type = NC_CHAR
760
	* grbDefGrid: add warning for curvilinear grids
761
	* grbDefGrid: set increment for zonal means [request: Helmut P. Frank]
762
	* ptaxisCopy: don't overwrite item 'self' (bug fix)
763
	* add function vlistXXXVarTimaccu
764
	* DBL_IS_EQUAL: check NaN with isnan
Uwe Schulzweida's avatar
Uwe Schulzweida committed
765
	* Version 1.2.0 released
766
	
Uwe Schulzweida's avatar
Uwe Schulzweida committed
767
2008-04-08  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
Uwe Schulzweida's avatar
Uwe Schulzweida committed
768

769 770
        * using GRIB library version 1.1.1
	* configure: --with-szlib=<directory>
771
	* configure: check stat.st_blksize [report: Klaus Wyser]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
772
	* update: echam5 code table
773
	* fileOpen: add O_BINARY if available [report: Klaus Wyser]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
774
	* file.c: _WIN32 support
775
	* taxis.c: add support for non integer timevalues (TUNIT_MONTH/CALENDAR_360DAYS)
776 777
	* stream_cdf: add ICON grid support
	* stream_srv: add support for GRID_CELL (bug fix)
778
	* cdfInqContents: support of lon/lat units radian
779
	* cdfInqContents: bug fix for gridtype cell
780
	* cdfInqContents: bug fix for inconsistent curvilinear grid [report: Holger Goettel]
781
	* cdfInqContents: bug fix for unsupported grids (dims > 2) [report: Wolfgang Langhans]
782
	* cdfInqContents: check type of _FillValue
783
	* gridCompare: compare grid.yinc only if set
784
	* vlist_att.find_att: allocate attribute only if size > 0
785
	* grid_gme.c: add function areas to compute grid cell areas [Luis Kornblueh]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
786 787 788
	* grid_check_cyclic: bug fix
	* Version 1.1.1 released

Uwe Schulzweida's avatar
Uwe Schulzweida committed
789
2008-01-24  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
790

791 792
        * using GRIB library version 1.1.0
	* using FILE library version 1.6.0
Uwe Schulzweida's avatar
Uwe Schulzweida committed
793 794
	* new attribute routines: vlistInqNatts, vlistDefAttr and vlistInqAttr
	  for Int, Flt and Txt
795
	* Add support for Lambert grids [request: Patrick Samuelsson]
796
	* Change cdiDefCompress to streamDefZtype/streamDefZlevel
797
	* decode_timevalue: bug fix for rounding error [report: Veronika Gayler]
798
	* grbDefTime: add support for century < 0
Uwe Schulzweida's avatar
Uwe Schulzweida committed
799
	* Version 1.1.0 released
800
	
Uwe Schulzweida's avatar
Uwe Schulzweida committed
801
2007-10-22  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
802

803
        * using GRIB library version 1.0.6
804
	* stream_grb:grbDefGrid use ISEC2_ScanFlag [request: Alex Kann]
805 806 807
	* replace calendar module by a new one because of date/time problems
	  with years < 0 [report: Veronika Gayler]
	* add module timebase
808
	* taxis: add support for years less than zero
809 810 811
	* use always decode_date and encode_date to decode/encode date
	* Version 1.0.8 released

Uwe Schulzweida's avatar
Uwe Schulzweida committed
812
2007-06-15  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
813

814
	* using EXSE library version 1.0.2
Uwe Schulzweida's avatar
Uwe Schulzweida committed
815
	* new ECHAM5 code table [Renate Brokopf]
816
	* stream_ieg: bug fix memory leak [report: Philip Lorenz]
Uwe Schulzweida's avatar
Uwe Schulzweida committed
817
	* add function gridIsCyclic
Uwe Schulzweida's avatar
Uwe Schulzweida committed
818
	* zaxisDuplicate: bug fix
819
	* varscan: add full vct support
820
	* cdfInqContents: print warning if cell_measures is missing
821 822 823 824
	* cdfInqContents: check also x/yvarid to compare curvilinear grids
	* Version 1.0.7 released

2007-03-06  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
Uwe Schulzweida's avatar
Uwe Schulzweida committed
825

Uwe Schulzweida's avatar
Uwe Schulzweida committed
826
        * using GRIB library version 1.0.5
827 828
	* use GRIB ltype to define GENERIC zaxis
	* taxisCopyTimestep: copy rdate and rtime [report: Harald Anlauf]
829 830
	* grbDefGrid: write absolute value of y-inc [report: Paul Dando]
	* grbDefTime: change to absolute time axis if value < 0 [report: Frank Toussaint]
831 832
	* grbDefGrid: change generic grid to lonlat grid
	* grbScanTimestep: bug fix for unsorted codes
833
	* LOCK/UNLOCK around _init_pointer
Uwe Schulzweida's avatar
Uwe Schulzweida committed
834 835
	* Version 1.0.6 released

Uwe Schulzweida's avatar
Uwe Schulzweida committed
836
2006-12-14  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
Uwe Schulzweida's avatar
Uwe Schulzweida committed
837

Uwe Schulzweida's avatar
Uwe Schulzweida committed
838 839
	* stream: mt safe version
	* zaxis: mt safe version
Uwe Schulzweida's avatar
Uwe Schulzweida committed
840
	* taxis: mt safe version
Uwe Schulzweida's avatar
Uwe Schulzweida committed
841
	* model: mt safe version
Uwe Schulzweida's avatar
Uwe Schulzweida committed
842
	* remove H5 test version
Uwe Schulzweida's avatar
Uwe Schulzweida committed
843
	* stream_srv/ext/ieg: bug fix for codes > 999 [report: Simon Blessing]
844
	* cdi_limits: define MAX_STREAMS, MAX_VLISTS, MAX_GRIDS, MAX_ZAXIS
Uwe Schulzweida's avatar
Uwe Schulzweida committed
845 846
	* Version 1.0.5 released

Uwe Schulzweida's avatar
Uwe Schulzweida committed
847
2006-11-30  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
Uwe Schulzweida's avatar
Uwe Schulzweida committed
848

849
        * using GRIB library version 1.0.4
850 851
	* cdfInqContents: use grid_mapping not for curvilinear grids
	* add env IGNORE_ATT_COORDINATES to ignore attribute coordinates
852
	* splitBasetime: convert timeunit string to lower case
Uwe Schulzweida's avatar
Uwe Schulzweida committed
853
	* usvs_to_uv: update for zbeta [from: Klaus Wyser]
854
	* new function: vlistInqVarSzip
Uwe Schulzweida's avatar
Uwe Schulzweida committed
855 856 857
	* new function: streamNvals
	* Version 1.0.4 released

Uwe Schulzweida's avatar
Uwe Schulzweida committed
858
2006-11-03  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
Uwe Schulzweida's avatar
Uwe Schulzweida committed
859

Uwe Schulzweida's avatar
Uwe Schulzweida committed
860
        * using GRIB library version 1.0.3
Uwe Schulzweida's avatar
Uwe Schulzweida committed
861
	* using EXSE library version 1.0.1
Uwe Schulzweida's avatar
Uwe Schulzweida committed
862
	* add SIGMA level support
Uwe Schulzweida's avatar
Uwe Schulzweida committed
863
	* gridPrint: extented
Uwe Schulzweida's avatar
Uwe Schulzweida committed
864 865 866
	* Version 1.0.3 released

2006-09-18  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
867

868
	* using GRIB library version 1.0.2
869
	* grbCopyRecord: add SZIP support
Uwe Schulzweida's avatar
Uwe Schulzweida committed
870
	* vlistChangeVarGrid: bug fix
871
	* cdfDefVar: set default datatype for addoffset and scalefactor to double
872
	* cdfWriteVar*: round integer fields with NINT [report: Etienne Tourigny]
873
	* Version 1.0.2 released
874

875
2006-08-01  Uwe Schulzweida  <Uwe.Schulzweida@zmaw.de>
876

877
	* using GRIB library version 1.0.1
878