Changelog2 4 2
This is the changelog for MeteoIO release 2.4.2
-
API changes
- more logical parameter copy syntax: TA2::COPY = TA
- IOManager: add a clear_cache() call, force clear_cache() when successfully pushing meteo data
- IOManager: new constructor directly taking an ini file name
- more flexibility in 2D grids resampling (it is possible to change the aspect ratio) and more safety checks
- properly buffer DEMs as DEMs (instead of simple 2D grids)
- new Config::findKey implementation that can perform the matching anywhere in the string
- new constructors for GridObjects
- new constructor for Array2D directly extracting a given layer out of an Array3D, new method to insert into an Array3D a layer provided as Array2D
- two new methods for data binning have been added to libinterpol1D: by equal width or by equal number of points
- the interpolated gris are now buffered
- added an hillshade method in DEMObject
-
Plugins
- new PSQLIO plugin to connect to a "generic" PostgreSQL database
- new COSMO plugin to read XML files produces by FieldExtract
- new NetCDF plugin
- SMET: fixed bug with OpenMP
- GSNIO: print curl error messages so it is easier to diagnose connection errors
- IMISIO: fixed a bug that used to mix up parameters
- support for reading non-square cells and then rescaling them added to GribIO similarly to NetcdfIO
-
Spatial interpolations
- new "NONE" spatial interpolation algorithm
- new spatial interpolation algorithm: Winstral, 2002
- new spatial interpolation algorithm: Ryan, 1977
- rewrote the Liston & Elder wind interpolation algorithm. It now works quite well and has been renamed as LISTON_WIND
- it is now possible to provide a fallback constant for the CST spatial interpolation algorithm
- optimizations for spatial interpolations: cases leading to filing a grid with a constant value (no precipitation, only one station, etc) are handled separately
- the krigging can build the variogram from past time series of variances. Unfortunatelly, this makes no difference with the previously implemented empirical variogram. Therefore the simpler version is still active
-
Filters and generators
- split the parametrized long wave into a AllSky_LW and Clear_Sky_LW generators with multiple parametrizations to chose from
- the AllSky_LW parametrization can interpolate the cloudiness over the night (for each station)
- introduced the concept of data creators to create new parameters from parametrizations (currently called just before the data generators)
- new data generator for relative humidity
- The Add and Mult filters can now take more arguments: it is possible to provide an hourly/daily/monthly correction to add/multiply in an external file (either absolute or relative path)
- new options and new arguments for the Unventillated_T filter. The syntax is now different!
-
Documentation and messages
- fixed some information messages issues on Mac
- fixed formating bug in Date
- improved the exception messages to make them clearer and less intimidating
- IMISIO: better documentation
- better documentation about krigging
- new drawing into the documentation
- better introduction to the documentation
- documentation: adding missing pictures
- documentation fixes and overall small touch up
- documentation: updating the examples
- add new filters templates (to make it easier to develop new filters)
- better documentation for the Sun class
-
Bugfixes and code cleanup
- bug fix in PNGIO (segfault)
- fixed a numerical bug in Sun that lead to an arithmetic exception
- bug fix in GribIO: memory leak
- fixed small bug in nearest neighbour 2D resampling
- code cleanup: using grid(i,j)
- small optimizations in Sun and MathOptim
- code cleanup in GridObjects
- code cleanup in CMake files
- low level file handling removed from IOUtils and moved into FileUtils (but still in the same namespace)
- implemented a workaround for MinGW bug 2152
- turning off "long long" warnings (since we have no choice, we need "long long" and it seems that all modern compilers suport it anyway)
- the buffering code when reading grids has been cleaned up
- code cleanup and restructuring in IOManager
- fixed a warning when using cmake >= 3.0
-
Build system
- add new compilation target to make it easier for packagers ("cxxflags")
- all plateform pre-processor variables have been replaced by standard ones