- 09 Nov, 2016 1 commit
-
-
Mathias Bavay authored
For better consistency, now using the grid's size() method instead of getNx()*getNy(). The debug messages in libinterpol2D have been removed after performing the checks (ie that our implementation of Winstral does conserve mass).
-
- 20 Oct, 2016 1 commit
-
-
Mathias Bavay authored
-
- 22 Sep, 2016 1 commit
-
-
Mathias Bavay authored
The virtual stations numbering was not kept in the virtual stations' names and IDs. This has been fixed. Thanks Sebastian W. for finding this bug!
-
- 09 Mar, 2016 2 commits
-
-
Mathias Bavay authored
-
Mathias Bavay authored
The MOD operator has been added to Date (it takes a number of seconds in argument). This is used by the new VSTATIONS_REFRESH_RATE key to avoid calling the spatial interpolations too often in the virtual stations. More checks have been implemented in the virtual stations and dowscaling for added safety. A major bug has been found when reading 3D grids in ARPS: the indexes when not in the right order.
-
- 01 Mar, 2016 2 commits
-
-
Mathias Bavay authored
-
Mathias Bavay authored
-
- 09 Feb, 2016 1 commit
-
-
Mathias Bavay authored
-
- 13 Jan, 2016 2 commits
-
-
Mathias Bavay authored
When downscaling, the coordinates of the virtual stations are now adjusted back to the chosen grid point (for meaningful use of the downscaled values). Duplicates are automatically detected and removed with a warning.
-
Mathias Bavay authored
Fixed an initialization bug that always tried to setup downscaling... Slightly better documentation about exploring the parameters of a NetCDF file.
-
- 08 Jan, 2016 1 commit
-
-
Mathias Bavay authored
This is the first implementation of a downscaling method: when declaring "downscaling" and providing virtual stations, grids are read and the virtual stations populated with values out of the grids.
-
- 03 Dec, 2015 1 commit
-
-
Mathias Bavay authored
Better handling of the units parsing in IOUtils, fixed documentation glitches in FilterMAD and much improved error reporting in spatial interpolations
-
- 26 Nov, 2015 1 commit
-
-
Mathias Bavay authored
Several exceptions have been renamed in order to be more generic (ex: instead of FileNotFound -> NotFound) and their text has been modified accordingly. The GSN plugin now reports the errors with more relevant details (invalid sensor name, no permissions).
-
- 12 Oct, 2015 1 commit
-
-
Mathias Bavay authored
Code cleanup and fix for IMIS: now the ENET stations receive the number 1 for the automatic stations instead of 0.
-
- 22 Sep, 2015 1 commit
-
-
Mathias Bavay authored
Big cleanup on the Coords: all the coordinate systems support methods have been moved to a new CoordsAlgorithms static class. The "printlatlon()" method has been replaced by toString(Coords::LATLON).
-
- 31 Aug, 2015 1 commit
-
-
Mathias Bavay authored
Finally, a long awaited (and MAJOR) change: HNW is gone, it is now PSUM. This name should be clearer and every occurences of "HNW" (even in temporary variables or algorithms) have been replaced by psum. A check is performed on keys containing "hnw" and an exception is thrown if some are found, urging the user to update the ini file. Please keep in mind that the calling codes have to now refer to MeteoData::PSUM and that some algorithms are now named differently!
-
- 06 Feb, 2015 1 commit
-
-
Mathias Bavay authored
The GridBuffer class has been expanded and is now used by Meteo2Dinterpolator for interpolated grids
-
- 04 Dec, 2014 1 commit
-
-
Mathias Bavay authored
The virtual stations have been re-enabled. A new generator has been implemented to generate ISWR from RSWR or the opposite. Some documentation has been improved. The Black Globe Temperature index should now work.
-
- 30 Oct, 2014 1 commit
-
-
Mathias Bavay authored
In order to make it more modular and allow more advanced processing (virtual stations, downscaling, multiple io sources) the IOManager is now a proper wrapper: the processing is fully delegated to either a GridsManager or a TimeSeriesManager. These can in turn be reused at some other places (like in the Meteo2DInterpolator) to offer full buffering and processing of "local" time series. The buffering is now done by these two new classes (therefore the BufferedIOHandler class has been removed) and it is planned that dataClasses will be implemented for proper ringbuffers (one for time series, one for grids and one for isolated points) and receive the generic buffering code later on. A new fastPow(double, int) has been implemented for positive exponents. The begining of a generic handling of units also appeared in IOUtils. Finally, the ProcessingLevels are now defined in IOUtils instead of IOManager.
-
- 04 Aug, 2014 1 commit
-
-
Mathias Bavay authored
When caching interpolated grids, the info string was not cached, leading to empty info strings when reading from cache. Now the info strings are properly cached.
-
- 31 Jul, 2014 1 commit
-
-
Mathias Bavay authored
-
- 19 Jun, 2014 1 commit
-
-
Mathias Bavay authored
Removing nodata values seemed like a good idea when doing a sort(), but this created some bugs (sometimes it is still valuable to know that y=nodata after sorting). This is now an optional behavior. The interpolated grids are now buffered in Meteo2DInterpolator. The grid buffering code has been cleaned up and backported to BufferedIOHandler. The spatial interpolations specific points (for virtual stations, etc) has been moved to Meteo2DInterpolator in order to make IOManager smaller and more focused on general data flow handling.
-
- 07 Feb, 2014 1 commit
-
-
Mathias Bavay authored
-
- 06 Feb, 2014 1 commit
-
-
Mathias Bavay authored
A new spatial interpolation algorithm has been implemented: "NONE". This just fills the grid with nodata. Otherwise, an unnecessary check has been removed in Meteo2DInterpolator and some comments editing, white spaces...
-
- 05 Oct, 2013 1 commit
-
-
Mathias Bavay authored
Fixing some warnings for Visual C++ and also using ostringstream instead of stringstream when appropriate
-
- 18 Sep, 2013 1 commit
-
-
Mathias Bavay authored
More size_t fixes (ie trying to be consistent) and a bug was found when spatially interpolating using a few specific algorithms that would not reset their internal vectors between two calls (thanks Matteo for helping uncover this bug!)
-
- 13 Sep, 2013 1 commit
-
-
Mathias Bavay authored
-
- 02 Sep, 2013 1 commit
-
-
Mathias Bavay authored
Now the toString() method of Meteo2DInterpolator works with the new structure and is called by IOManager.toString(). Small cleanup (white spaces, etc) in 2D_interpolations and ResamplingAlgorithms.
-
- 01 Sep, 2013 2 commits
-
-
Mathias Bavay authored
Finally, here we are: the spatial interpolation algorithms are constructed only once and remain as long as the Meteo2DInterpolator remains (generally, as long as IOManager remains). This means that an interpolation algorithm can now keep its own copy of whatever data it wants (for example, dem) to tweak it between calls.
-
Mathias Bavay authored
One more step closer to the goal: the dem is now only passed when calling calculate() and the simpleDEMWindInterpolate now computes the curvatures if necessary. Small optimizations in IOHandler.
-
- 30 Aug, 2013 1 commit
-
-
Mathias Bavay authored
Getting closer to the goal of persistent spatial interpolation objects. There are no "initialize" and "getQualityRating" anymore, the initializations are performed by "getQualityRating". The arguments that used to be passed to the constructors are now split between constructor and getQualityRating. A few hacks will have to be removed: we should be able to get rid of some of the callbacks, the plain copy of Date and Dem will have to be avoided (most probably by working with pointers) and the map of objects that has been implemented (but commented out) will be enabled. So, a few hacks remain, but this is already a nice, big step forward!
-
- 29 Aug, 2013 1 commit
-
-
Mathias Bavay authored
The structure of Meteo2DInterpolator has been brought closer to the structure of DataGenerators. More methods are static.
-
- 15 Jul, 2013 1 commit
-
-
Mathias Bavay authored
-
- 17 Apr, 2013 1 commit
-
-
Mathias Bavay authored
In order to implement an efficient and portable object serialization, it has been decided that all serializable objects would be manually serialized to an std::iostream. Then, the parallelization framework (mpi, popc, etc) can take over this stream and move it to another node. Therefore, the operators "<<" and ">>" are now reserved for serialization (as seems to be standard) and the debug outputs are obtained by printing "object.toString()". This means that all debug code has potentially to be fixed, by replacing "std::cout << object" by "std::cout << object.toString()".
-
- 21 Mar, 2013 1 commit
-
-
Mathias Bavay authored
The METEO_TIMSERIES and STATION_TIMESERIES have been renamed in METEO_SET and STATIONS_SET in order to better reflect their content. The concept of data generators is introduced. A new section has been created [Generators] to define how to generate data for each parameter when everything else failed. Soon, you will be able to generate ILWR directly by declaring it in your io.ini!
-
- 11 Mar, 2013 2 commits
-
-
Mathias Bavay authored
-
Mathias Bavay authored
Putting the code into shape for major changes in the spatial interpolations as well as pushing the minor version nunmber up
-
- 21 Feb, 2013 1 commit
-
-
Mathias Bavay authored
My previous commit was terrible... it simply made it impossible to define optional keys. This has now been fixed but required a change in the API. So, don't use Config::nothrow but IOUtils::nothrow instead.
-
- 14 Feb, 2013 1 commit
-
-
Mathias Bavay authored
In order to try to be closer to the spirit of the STL, now the empty strings/vectors/lists are tested with .empty(), the first/last elements of vectors accessed with front()/back(), the empty strings are not contructed with string("") but with string(), etc This makes a benchmark based on meteo_reading ~4% faster and this makes the code suprisingly easier to read. Some extra constification took place as well as some minor code cleanup (optimizing the comparison between two vectors in order to perform less tests, etc). The Date class can now properly generate and parse full ISO timestamps, including time zone information. The full specification is now supported by convertString() with a helper method in the Date class. Ouputing an ISO string with its time zone is done by requesting the ISO_TZ format.
-
- 11 Feb, 2013 1 commit
-
-
Mathias Bavay authored
Lots of small fixes after running cppcheck on Windows: unused variables, use ++i instead of i++ for complex types (ie mostly iterators for us) for more performance, a few variables that could be passed as const&, use vector.empty() instead of vector.size==0 (for clarity and potentially performances).
-