- 24 Sep, 2013 1 commit
-
-
Mathias Bavay authored
Since Rob has committed his precipitation spatial interpolation, the 2D_interpolation reference result had to be updated. Several members in filter classes could be made const/static/private.
-
- 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).
-
- 29 Oct, 2012 1 commit
-
-
Mathias Bavay authored
-
- 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).
-
- 23 May, 2012 1 commit
-
-
Mathias Bavay authored
The last filters that had not been ported to the new filtering infrastructure have been ported and their documentation updated. All filters now use window specifications (instead of vector of pointers). The misleading filter argument "index" (for parameter type) has been renamed as "param" for all filters. The use of "unsigned int" for looping over vectors has been replaced by "size_t". The old "soft" behavior for the filters has been restored (ie: if not soft, a point that can not be checked by the filter is deleted). A few more "consts" have been added.
-
- 22 May, 2012 2 commits
-
-
Mathias Bavay authored
This is the new implementation of the filters' windowing scheme. Now, specifying 4 points and 6 hours will guarantee that at least 4 points are in the window AND 6 hours, otherwise it returns unsuccessfully. The run time penalty is ~4% compared to the previous implementation. Since it first builds the window specifications (start and end index), it is possible to directly call this window specification, skipping the building of a vector of pointers. For the MeanAvg filter, this makes the run time penalty go down to 3.3% on a 6 hours window (with hourly data).
-
Mathias Bavay authored
First correct implementation of the filtering windows. This is not active yet as it only provides window specifications. But it properly fulfills both the number of points criteria and the time span criteria.
-
- 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.
-
- 02 Nov, 2011 1 commit
-
-
Mathias Bavay authored
A new method, getExtension() has been added to IOUtils in order to return the extension of a given filename. This is used by the SMETIO and SNIO plugins to automatically add the proper extension to input file names if they don't already have one. The Median Average Deviation filter has been ported (and validated) to the new filtering infrastructure. Several error messages have been improved.
-
- 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.
-
- 19 May, 2011 1 commit
-
-
Mathias Bavay authored
-
- 09 Feb, 2011 1 commit
-
-
Mathias Bavay authored
-
- 04 Feb, 2011 1 commit
-
-
Mathias Bavay authored
The full support for timezones has been brought back. This fixes issue 71. The SMET, SMET, IMIS, BORMA plugins have been validated. Geotop should be validtaed if an input data set is available. A new class will have to be implemented to represent time periods. This is currently only a typedef pointing to the Date class, but a specific class would be welcomed. GSN has been fixed for some changes on the web service, but does not retrieve the correct timestamps (is this a GSN issue?). The GSN compilation has been improved: the warnings related to GSOAP have been removed. A new long wave radiaiton model using cloudiness as input has been added (Omstedt, 1990).
-
- 27 Jan, 2011 2 commits
-
-
Thomas Egger authored
-
Thomas Egger authored
Further improvements to the new filtering infrastructure: windowed filters now inherit from the class WindowedFilter, giving them an easy handle on getting the correct window for every data point. FilterMedianAvg and FilterMeanAvg now fully implemented (soft/not soft, left/center/right windowing). Sample io.ini: [Filters] TA::filter1 = mean_avg TA::arg1 = soft right 5 3600 TA::filter2 = min_max TA::arg2 = soft 282 286 280 290 RH::filter1 = median_avg RH::arg1 = center 8 3600
-