- 01 Sep, 2013 3 commits
-
-
Mathias Bavay authored
-
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 3 commits
-
-
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!
-
Mathias Bavay authored
The median calculation bug had been impacting some other things as well... Some other values were also wrong, and it has been so for a while!
-
Mathias Bavay authored
The median computations were relying on std::nth_element and wrongly assuming that the output would be sorted. This is non-standard behavior and is not the case with more recent versions of the STL. This has been fixed. The ProcessingStack constructor has been optimized by using new methods of Config to remove some now redundant code.
-
- 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.
-
- 26 Aug, 2013 1 commit
-
-
Mathias Bavay authored
The Config class now has a method getValues() to retrieve in a vector of type T all values whose keys match a given pattern. This makes it possible to retrieve in one call all the Input::STATIONx values even in the case of discontinuous numbering (issue 341) as well as easily get the number of stations declared in io.ini (issue 220). This number of stations is not guaranteed to work (since some plugins don't list the input stations in io.ini) but should guide memory allocation in user code anyway. A reference has been fixed in Suntrajectory, redundant errort checking has been removed from GeneratorAlgorithms.
-
- 13 Aug, 2013 1 commit
-
-
Mathias Bavay authored
A low pass Butterworth filter has been implemented as a tentative answer to issue 308. Unfortunately, this filter has a non-null phase (ie the signal is shifted in time), meaning that for our applications, it is mostly worthless...
-
- 09 Aug, 2013 1 commit
-
-
Mathias Bavay authored
A stupid bug has been fixed in SMETIO: the OSWR was not renamed as RSWR anymore. Otherwise, small documentation fixes.
-
- 05 Aug, 2013 1 commit
-
-
Mathias Bavay authored
The error message when the units_multiplier and/or units_offset count don't match with the number of fields was not right (wrong count given) and has been fixed. Some variables that could be const are now const in SmetIO
-
- 31 Jul, 2013 1 commit
-
-
Mathias Bavay authored
The method to clear the buffers in BufferedIOHandler was not doing everything it should. Some methods in BufferedIOHandler and IOManager have been made const. The issues 117 and 272 have been adressed: the IOHandler now checks that timestamps are unique and in increasing order. This check has therefore been removed from SMETIO.
-
- 26 Jul, 2013 1 commit
-
-
Mathias Bavay authored
The Krigging is now working. The current limitations are: 1)there is no maximum range, so each available station would take part to the variogram fit. 2)the covariance is currently NOT computed on past time series, limiting the relevance of the variogram. Practically, the variogram fit that always ends up being used is LINVARIO. All matrix and fit methods that used to return void but could also throw exceptions now return a boolean to indicate if things went well (ie a matrix could be inverted, etc). They still throw exceptions for logic errors (incompatible dimensions, etc).
-
- 25 Jul, 2013 1 commit
-
-
Mathias Bavay authored
Following the latest changes, this is a general code cleanup in all the classes involved in spatial interpolations. The LIDW method has been commented out since this works very poorly and would need to be properly redone.
-
- 24 Jul, 2013 5 commits
-
-
Mathias Bavay authored
And now the code that uses the previously upgraded infrastructure in order to compute spatial interpolations using a trend/residuals approach. The tests work, all results should remain identical to what it was before. Lots of now unnecessary code will be removed from the libinterpol2D in the next few days...
-
Mathias Bavay authored
Moving forward with the trend/residuals approach for the spatial interpolations: here are the necessary changes in the supporting infrastructure: basically, better handling of forced lapse rates and fractional lapse rates, proper toString() methods for the fit1D object and components
-
Mathias Bavay authored
A broken link has been fixed in GRIBIO, the use of inishell is now properly encouraged in the "how to set up your io.ini" section and some indenting in Array1D
-
Mathias Bavay authored
-
Mathias Bavay authored
Big cleanup of the tests: now all ini files are based on io.ini in the root folder of the test (relying on IMPORT) and all use the same copy of forcing data and dem. When meteo_reading fails, it now properly write which fields failed (it was always writing "P").
-
- 23 Jul, 2013 1 commit
-
-
Mathias Bavay authored
-
- 19 Jul, 2013 2 commits
-
-
Mathias Bavay authored
Preparing the way for the new spatial interpolation architecture: the 1D regressions should now offer the necessary features (but this is a first shot at it, it will need to be redone in a more generic way later).
-
Mathias Bavay authored
-
- 17 Jul, 2013 1 commit
-
-
Mathias Bavay authored
Fixed the license file (issue 309), updated the documentation to include the SIN generator and fixed a wrong commit of the example io.ini
-
- 15 Jul, 2013 1 commit
-
-
Mathias Bavay authored
-
- 05 Jul, 2013 2 commits
-
-
Mathias Bavay authored
-
Mathias Bavay authored
-
- 28 Jun, 2013 1 commit
-
-
Mathias Bavay authored
Adding a link in the documentation, moving libsmet to the plugins subdirectory and small fixes in GRIBIO
-
- 27 Jun, 2013 1 commit
-
-
Mathias Bavay authored
The IMPORT feature in Config now works properly on Windows. It is also now possible to call IMPORT_BEFORE from within a section (but it still needs to be the first key in a file).
-
- 19 Jun, 2013 1 commit
-
-
Mathias Bavay authored
In order to properly import config files while supporting relative paths, it is necessary to internally expand the paths (as well as the symlinks) to check for multiple inclusions, to properly look for a file located relative to another one (instead of related to the execution directory). The IOUtils::cleanPath function has been expanded to support this kind of processing (with a flag to turn it on of off) and a few functions added (getPath, getFilename). The code for Windows has been written but not tested yet. The Posix implementation should also be tested on osx.
-
- 14 Jun, 2013 2 commits
-
-
Mathias Bavay authored
A description of the data format (not the SNOWPACK requirements, only the data format) has been added to the SNIO documentation
-
Mathias Bavay authored
The default ilwr model in Atmosphere as been changed to Unsworth. The fixed snow albedo has been set to 0.85 for all filters/generators using it. The Config class can now import an ini file from another ini file, this could greatly simplify the management of operational deployments (a station that has a special configuration now can simply import a standard config file and redefine what it needs). This is either done with IMPORT_BEFORE or IMPORT_AFTER in order to choose who has precedence. Multiple (ie recursive) inclusions are supported with some enforced limitations to prevent circular dependencies.
-
- 05 Jun, 2013 1 commit
-
-
Mathias Bavay authored
The exceptions were not printed with a line return anymore, messing up the display. A function to extract the integral and the fractional part of a double has been added. The julian day number calculation (ie how many days since the begining of the year) was numericaly instable (leading to wrong values in an unpredictable way). A data generator that can generate sinusoidal values (for daily or yearly periods) has been added. The potential radiation generator can now handle missing TA and/or RH (of course, reverting to a very simplistic clear sky model, assuming an average reduced precipitable water).
-
- 31 May, 2013 2 commits
-
-
Mathias Bavay authored
-
Mathias Bavay authored
-
- 27 May, 2013 3 commits
-
-
Mathias Bavay authored
Renaming once more the nearest neighbor algorithm: it is now "nearest". That should be both quick and easy.
-
Mathias Bavay authored
-
Mathias Bavay authored
This adresses issue 173: now the window_size can be defined per meteo parameter and per resampling algorithm. The Interpolations1D section's syntax has been changed in order to accomodate the change and enable specifying multiple resampling algorithms in the future. An exception is thrown when using the old syntax (until we would consider that everybody should have migrated). The nearest_neighbour algorithm key has been renamed to n_neighbor. Overall, this commits breaks compatibility with previous ini file but the calculated results remain the same after migrating the config files.
-
- 25 May, 2013 1 commit
-
-
Mathias Bavay authored
-
- 24 May, 2013 1 commit
-
-
Mathias Bavay authored
In order to avoid re-parsing the resampling parameters for every point, the resampling algorithms have been restructured as classes inheriting from an interface class alongside an object factory. This should slightly increase the performances of resampling and clears the way (90% of the work being done) for a per-parameter window size (issue 173). A useful link has been added to the comments of Sun and some comments improved in DataGenerators
-
- 23 May, 2013 1 commit
-
-
Mathias Bavay authored
The Unsworth parametrization for ILWR has been fixed and now works as data generator. Some comments have been added to Sun.cc.
-