- 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.
-
- 28 Mar, 2013 1 commit
-
-
Mathias Bavay authored
Removing some unnecessary pointers (for things like "const double a = vecM[ii](param)") and replacing a vector push_back by a proper allocation in constructor followed by assignments
-
- 10 Mar, 2013 1 commit
-
-
Mathias Bavay authored
Lots of vectors copies were made using push_back(). This is definitely not efficient! This has been replaced by vec_o = vec_i, we will see which impact it has on performances...
-
- 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
-
- 23 May, 2012 2 commits
-
-
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.
-
Mathias Bavay authored
All the filters using windows have been modified so they use the window specifications (start, end) instead of a vector of pointers. The FilterWindAvg was not properly handling nodata, this has been fixed. By the way, when using a reasonnably large buffer size, the new filter window management is actually slightly faster than the old one (1%). The handling of "soft" is now different: soft ONLY applies to the window specifications. Before, a soft filter would leave values that could not get a window untouched while non-soft would force them to nodata. Now, all values that can not get a window are left unchanged, while the window centering can change according to "soft".
-
- 07 Feb, 2012 1 commit
-
-
Mathias Bavay authored
Another fix/enhancement for POPC: the libraries now ends with "popc" in the popc version, as the autotools build was doing. Windchill and heat index have been implemented in Atmosphere. Some cleanup in the filters, some code moved to ProcessingBlock, so that elements that are not filters can inherit ProcessingBlock and get all that it needs. A processing element has been implemented to multiply by a given constant, another one to add a given offset and another one to correct precipitation for undercatch. Some invalid doxygen comments have been fixed in MathOptim.
-
- 03 Nov, 2011 1 commit
-
-
Mathias Bavay authored
The "soft" argument was not properly handled by the Min and Max filters, this has been fixed. All filters now properly reserve the vector size that they need, which reduces the number of instruction fetch misses and should (slightly) improved performances. Please try to use vector.reserve() whenever possible!
-
- 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.
-
- 24 Aug, 2011 2 commits
-
-
Mathias Bavay authored
Removed some unecessary variables in exceptions catching (this should remove VC++ (rightful) warnings).
-
Mathias Bavay authored
Some Visual C++ warnings have been turned off (namely, that it can not generate a copy constructor) in MeteoIO.h, so each application using MeteoIO would benefit from it (and avoid being polluted by unecessary warnings). Exception catching is now done by const reference, as recommended in our coding style.
-
- 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)
-
- 20 Apr, 2011 1 commit
-
-
Mathias Bavay authored
A bug has been found in the processing of the variance: we were using a naive formula that is ill-fitted to signals showing small variations around a large mean. This lead to catastrophic cancellation and negative values... This has been replaced by a (slower) compensated formula (that works in two passes). The standard deviation filter has been fixed. The Tukey filter has been brought back into the new infrastructure and should now be usable. However it is not suitable to snow heights: in such a case, the standard deviation is too small (or even zero) and the signal might show some sudden variations (like in the case of a snow fall) that would therefore be falsely rejected. This filter seems much better suited to wind speeds that exhibit some constant background noise, thus a non-null standard deviation. The rate filter can now take 2 arguments: in such a case, the first one is the minimum rate and the second the maximum rate. This would allow to define a descent rate different from the climb rate. Several error messages have been improved in A3DIO and general plugin loading. Finally, two small tools for working with smet files have been contributed, one allowing transparent loading of smet files in xmgrace (smet2agr). And the example io.ini has been fixed (it had been broken and was not working with the examples anymore)
-
- 08 Feb, 2011 1 commit
-
-
Mathias Bavay authored
The Standard Deviation filter has been moved to the new structure. Some optimizations for windowed_filters will have to be implemented at some point... (see issue 132 for some ideas)
-
- 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).
-
- 31 Jan, 2011 1 commit
-
-
Mathias Bavay authored
The (advanced) configuration of the BufferedIOHandler through io.ini (General section) has been added. It currently introduces two keywords (BUFF_CHUNKS_SIZE and BUFF_CHUNKS) to drive how much data to read at once and how much data to buffer. Currently, their product is directly used in the read, thus not reading anything by chunks smaller than a full buffer. Fixed some << outputs, two compilation warnings found on Hera as well as introduced.
-
- 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
-
- 24 Jan, 2011 1 commit
-
-
Thomas Egger authored
New filter system rolled out with currently two filters up and running: min_max and mean_avg (without the soft option, only left or right centering). The new filter system is built upon processing blocks that take a vector<MeteoData> as input and return a processed vector<MeteoData>. The individual filters are stacked in a ProcessingStack where they are invoked sequentially.
-