- 20 Sep, 2013 2 commits
-
-
Robert Spence authored
Redesigned algorithm for redistribution of solid precip on steep slopes. This is done by pushing precip from the top to the bottom of the slope. Curvature correction has been turned off. Now this redesign will be validated with laser-scanner data.
-
Mathias Bavay authored
The info string for the spatial interpolations was not being cleared between calls, leading to ever increasing content... Otherwise, using an ostringstream instead of stringstream in PNGIO and fixed a typo in the documentation.
-
- 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!)
-
- 01 Sep, 2013 2 commits
-
-
Mathias Bavay authored
-
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!
-
- 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 1 commit
-
-
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...
-
- 15 Jul, 2013 1 commit
-
-
Mathias Bavay authored
-
- 22 May, 2013 1 commit
-
-
Mathias Bavay authored
The graphical message box for exceptions has been turned off by default, because it was interfering with cdash. Packagers are therefore invited to turn it ON for public packages (since this tends to make users read the error messages). A major bug has been found in the potential short wave solar radiation calculation: the beam values were actually already projected to the horizontal, leading to a double projection to horizontal when requesting the horizontal components. The whole potential radiation code has been reviewed, comparing line by line with Iqbal. A few variables have been renamed in order to better match the paper. And more detailed comments added to explain some of the most mysterious parameters. The potential ISWR data generator has been adjusted and checked. it can use a measured ILWR to correct for cloudiness if available.
-
- 22 Mar, 2013 1 commit
-
-
Mathias Bavay authored
-
- 11 Mar, 2013 1 commit
-
-
Mathias Bavay authored
Putting the code into shape for major changes in the spatial interpolations as well as pushing the minor version nunmber up
-
- 05 Mar, 2013 1 commit
-
-
Mathias Bavay authored
fixing some of the warnings found on Hera (sorry for not noticing before). All the size_t / unsigned int stuff will have to be addressed later
-
- 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).
-
- 28 Oct, 2012 1 commit
-
-
Mathias Bavay authored
After compiling with -Weffc++, it appeared that lots of things could be done in initialization lists. Some of it has been done for this commit (but quite a few remain).
-
- 07 Aug, 2012 1 commit
-
-
Mathias Bavay authored
New warnings have been tried to detect variable shadowing (one variable declared with the same name as another one), alignement issues, etc. This produces very verbose output (not all warnings are legitimate) but allowed to fix lots of cases of misalignement and shadowing issues. These options have been left in the CMakeLists but NOT enabled (since these warnings are not so easy to interpret).
-
- 20 Jun, 2012 1 commit
-
-
Mathias Bavay authored
The MeteoData == operator now compares with an epsilon. The chekEpsilonEquality function has been rewritten, according to best practise and inlined. The powN functions have been moved to MathOptim and inlined. This makes the benchmarks 2% faster, that's such a victory...
-
- 03 May, 2012 1 commit
-
-
Mathias Bavay authored
The Passive_T filter has been reworked and renamed as ProcPassiveT. A proper documentation has been written for it. All the cout have been replaced by cerr in order to avoid messing with the end user's application. Some old commented out code has been removed.
-
- 10 Feb, 2012 1 commit
-
-
Thomas Egger authored
IOManager: added another interpolate procedure that takes as arguments a Date, a DEMObject, the parameter to interpolate, a vector of Coords objects and a vector of doubles. The Coords represent different points in the DEM. The interpolation is only performed for these points and for each point one double value is stored in a vector. Furthermore IOManager now has a member variable called interpolater of type Meteo2DInterpolator. A circular inclusion problem has been solved between IOManager and Meteo2DInterpolator. libinterpol2D bugfix: The SimpleDEMWindInterpolate algorithm had a small bug in it, it wasn't interpolating values in the last row or last column of the 2D grid.
-
- 09 Feb, 2012 1 commit
-
-
Mathias Bavay authored
Fixed two small bugs, thanks to some warnings on my laptop: variables set, but not used and a hard coded value used instead (in obviously wrong ways)
-
- 22 Dec, 2011 1 commit
-
-
Mathias Bavay authored
The 2D_interpolations example has been updated to reflect recent changes (see previous commit). Improvements in the legend for PNGIO.
-
- 20 Dec, 2011 1 commit
-
-
Mathias Bavay authored
First version of a PNG plugin. It only writes a grid for now, and nothing is user configurable. In the process, a small bug has been found in the RH spatial interpolation method (not handling nodata correctly)
-
- 10 Nov, 2011 2 commits
-
-
Mathias Bavay authored
The Fit1D class constructor can now read a fit model name as a string. This was necessary for parsing a user input coming from io.ini. The ordinary kriging interpolation algorithm is now active. It is far from perfect (the variogram is computed in a very cheap way that contributes to make it very fragile), but it is time for the first users to start playing with it. The variogram model to use can be provided as an optional argument and in case of fit failure, an appropriate error message is given (but no fallback mechanism exists). The next step will be to compute the variogram on time series, which should produce more reliable data sets for fitting the variogram model on. Some error messages have been improved in the matrix class.
-
Mathias Bavay authored
Oups, types mismatch... and the version numbers have been pushed up in order to prepare for the upcoming release
-
- 31 Oct, 2011 1 commit
-
-
Mathias Bavay authored
Because POPC does not properly support std::cout and requires cout instead, this has been fixed in the code, with the necessary "using namespace" added. Only one std::cout remains (in IOUtils) and will be removed if absolutely necessary later.
-
- 19 Sep, 2011 1 commit
-
-
Thomas Egger authored
Performance boost: Redesign of class MeteoData. The individual public double members like tss, ta, rh have been removed and instead of the rather complicated internal representation with the help of std::map and pointers, the MeteoData object now holds all its important information in one double vector (meteo data) and one string vector (parameter names). Thus the overloaded copy constructor could be slashed radically. This leads to huge performance gains, especially when dealing with huge vectors of MeteoData (which are needed for filtering, resampling, etc). Furthermore the access to the meteo parameters has been simpleified by overloading the operator(), replacing the old .param(size_t index) and .param(string paramname) functions: MeteoData md; double ta = md(MeteoData::TA); OR double ta = md("TA"); These changes were propagated into all of MeteoIO.
-
- 16 Aug, 2011 1 commit
-
-
Mathias Bavay authored
The VW_MAX field was not properly handled in SMETIO. The failure count has been slightly improved in SNIO (to decrease the number of failures when a model could recover: if ILWR is not provided but TSS is, we don't count it as a failure anymore). The implementation of the krigging is moving forward. A bug has been found and fixed in Fit1D, a variogram is now computed (but not using a true covariance, which prevents our krigging from properly working). The #define NOSAFECHECKS have been deleted and replaced by a definition by the CMakeLists when in debug mode. This means that when compiling in debug mode, the code will be quite slower but will properly check and report out of bounds access in tables and matrix.
-
- 17 May, 2011 1 commit
-
-
Mathias Bavay authored
Fixing some unsigned int / size_t conversion issues by using more widely size_t (as it seems to be recommended and done in the STL)
-
- 25 Mar, 2011 1 commit
-
-
Mathias Bavay authored
The emissivity models have been cleaned up: they now take RH, TA, etc but NOT the water vapor pressure (it is internally calculated). Please, update your code! A specific spatial interpolation algorithm has been introduced for ILWR that relies on emissivity (we convert ILWR to emissivity, then interpolate the emissivity, then reconvert to ILWR). As mentionned in issue 156, a better method for interpolations by proxies will have to be designed and implemented...
-
- 23 Mar, 2011 1 commit
-
-
Mathias Bavay authored
The CMakeLists has been adapted so that it properly supports various Visual C++ options. Now, options are set per compiler and per plateform (depending on the scope of the said option). Therefore, choosing a target like "optimized" really produces compilation optimized for speed on g++ as well as Visual C++. Several type casting issues (warnings) have also been addressed.
-
- 22 Mar, 2011 1 commit
-
-
Mathias Bavay authored
Next round of fixes for issue 68 (variable names starting with "_" under Visual C++). Hopefully, this issue should now be fully addressed.
-
- 09 Feb, 2011 1 commit
-
-
Mathias Bavay authored
More meteo laws have been implemented, alongside new constants. An extra check has been added for the USER spatial interpolation algorithm.
-
- 08 Feb, 2011 1 commit
-
-
Mathias Bavay authored
The custom grids spatial interpolations method is now working! The user can force loading his own grids for specific parameters and timesteps.
-
- 26 Jan, 2011 1 commit
-
-
Mathias Bavay authored
A new group of classes has been created, under the meteolaws subdirectory. This contains various general meteorological laws, such as a sun radiation model, standard atmosphere, etc The first implementation (not tested yet) of a non-linear least square fit algorithm has been implemented in the libfit1D. Several documentation issues have been fixed (obsolete code examples, etc) and classes grouped by modules. This should help the user to quickly locate the classes of interest.
-
- 14 Jan, 2011 1 commit
-
-
Thomas Egger authored
Added functionality to the Meteo2DInterpolator: it is now possible to access the iomanager and hence to access historical data points from within any spatial interpolation. The IOManager has been expanded to: 1) cache already filtered data points and 2) provide a getAvgSamplingRate() function that returns the average data points seen per day.
-
- 09 Dec, 2010 1 commit
-
-
Thomas Egger authored
-
- 03 Nov, 2010 1 commit
-
-
Mathias Bavay authored
The SMETIO plugin now supports the "units_multiplier" field. The SMET specification has been brought to 1.0. A forgotten debugging output has been removed in InterpolationAlgorithms
-
- 02 Nov, 2010 1 commit
-
-
Mathias Bavay authored
An error was found: the linear regression returns the regression coefficient r, not r2!! It has been modified so that it returns |r| and prints r2 in the info strings. The HNW_SNOW spatial interpolation algorithm had errors. It was not properly calling its base algorithm (the one computing the initial distribution) and its rating was too low. It has now the same rating as CST_LAPSE for one station when the lapse rate is provided. This could be improved in the future, to make it depend on the rating of the base algorithm...
-