- 14 May, 2016 2 commits
-
-
Mathias Bavay authored
This is finally a proper version of the Solar resampling: it works for multiple stations and is well optimized.
-
Mathias Bavay authored
The Solar resampling now works with multiple stations, but this canceled out some of the optimization gains...
-
- 13 May, 2016 1 commit
-
-
Mathias Bavay authored
The new Solar resampling algorithm has been re-written for performance. It is now 16% faster when compiled in debug mode. It will still need to be tweaked to handle multiple stations (otherwise, the cached parameters would be reused between stations).
-
- 11 May, 2016 1 commit
-
-
Mathias Bavay authored
This is the first version of a solar radiation resampling algorithm. It seems to work quite well but it is still quite slow (ie it will need to be optimized by caching quite a few things, for each station calling it).
-
- 01 Mar, 2016 1 commit
-
-
Mathias Bavay authored
-
- 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.
-
- 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!
-
- 17 Jun, 2015 1 commit
-
-
Mathias Bavay authored
fixed a bug when computing the amplitude with the "daily_avg" resampling algorithm. Very minor improvement to the MeteoData::merge method.
-
- 16 Jun, 2015 1 commit
-
-
Mathias Bavay authored
A new Date print format has been added (ISO_DAY). The "daily average" resampling now properly works with avg, avg+min or avg+max using the user provided range as a fallback.
-
- 10 Apr, 2015 1 commit
-
-
Mathias Bavay authored
-
- 01 Apr, 2015 2 commits
-
-
Mathias Bavay authored
The warnings have been fixed. The ALPUG plugin now supports metadata (a specific file format has been designed for it), supports duplicates in the data files (since this seems to happen quite often) with either no reporting (for limited number of duplicates) and reporting a warning for the begining of a large duplicated block of data. The plugin also now handles better missing files: if some files have already been found for this station, a warning is printed out but the execution continues. If no single file was found for a given station, an exception is thrown. The documentation has also been written.
-
Mathias Bavay authored
The DAILY_AVG temporal interpolation is now in order. It has been properly tested on avg/range and still needs testing on min/max or min/avg or max/avg.
-
- 31 Mar, 2015 1 commit
-
-
Mathias Bavay authored
The DAILY_AVG interpolation now produces smooth interpolations. The code will be refactored later to be more modular and more compact.
-
- 30 Mar, 2015 1 commit
-
-
Mathias Bavay authored
A new temporal interpolation method has been introduced, to generate sinusoidal variations of a given mean and range. This is far from perfect (discontinuities between two days) but this is a start...
-
- 30 Jan, 2015 1 commit
-
-
Mathias Bavay authored
Trying to make the documentation more user-friendly. The smet2agr script has been modernized (changing the syntax of a regular expression).
-
- 02 Oct, 2014 1 commit
-
-
Mathias Bavay authored
A new Date::getTime() method has been written. A better error message has been implemented for ProcHNWDistribute. The daily_solar temporal interpolation can now handle daily sums provided at midnight (then assuming they belong to the day that just finished) and the documentation has been updated.
-
- 12 Aug, 2014 1 commit
-
-
Mathias Bavay authored
better file structure: all the classes purely focused on data storage (such as grids, dates, etc) have been moved into a "dataClasses" directory. All subdirectories are nhow named similarly to the classes and methods: the words after the first one are capitalized.
-
- 22 Apr, 2014 1 commit
-
-
Mathias Bavay authored
The ClearSky and AllSky generators have been renamed as ClearSky_LW and AllSky_LW for clarity. The debug outputs (.toString()) have been improved. The Config::findKey method is now able to do pattern matching anywhere in the string (if "anywhere=true"). This makes some code simpler (for generators). The parameter copy feature has a new syntax: TA2::COPY = TA will copy TA into TA2 (clearer and more consistent). Please update your ini files if necessary!
-
- 03 Feb, 2014 2 commits
-
-
Mathias Bavay authored
Adding a check on the arguments of "Accumulate". The tests' ini file had a typo, which was messing up the meteo_reading tests (using HNW::resample=linear instead of the accumulate), this has been fixed and the reference values have been updated (and manually checked).
-
Mathias Bavay authored
The two arguments accumulate resampling algorithm has been removed. The distribute filter should be used instead. The missing files are now committed.
-
- 01 Feb, 2014 1 commit
-
-
Mathias Bavay authored
A new processing element has been added: HNW_DISTRIBUTE. This distributes accumulated precipitation over a number of preceeding time steps. This is useful, for example, when one has an hourly file that contains 24 hours sums of precipitation, written as nodata for all time steps and the accumulation on the last time step of the 24 hours period. Since this is implemented as a filter, it is then possible to also add an undercatch correction (and don't forget to re-accumulate anyway in the resampling methods!).
-
- 25 Nov, 2013 1 commit
-
-
Mathias Bavay authored
Finally! Handling precipitation redistribution before re-accumulation (ie the 24 hours sums provided in an otherwise hourly data file) now works with non-uniform timesteps. This introduced some runtime performance hit (~10% slower) but better accomodate the needs of our users!
-
- 21 Nov, 2013 1 commit
-
-
Mathias Bavay authored
Finally, it is now posible to handle precipitation data provided as 24 hours sums in an hourly data file and resample them as 15 minutes sums. The limitations are: no time offset between the requested sampling period and the measured accumulation period; only constant sampling in the data file (ie no variations in the sampling period in the data file).
-
- 20 Nov, 2013 1 commit
-
-
Mathias Bavay authored
Finally, the reaccumulation looks good and seems to work in all conditions. Using a measuring period different from the file sampling rate (ie daily accumulation in a hourly-sampled file) is not supported yet, but this should now come very soon!
-
- 15 Nov, 2013 1 commit
-
-
Mathias Bavay authored
The reaccumulation refactoring is moving forward. This commit is not so clean (lots of commented out debugging output, since this is a work in progress) but it "mostly works". The problem that is left is that the dwonsampling produces yearly sums a little bigger than they should (ie we are double-counting somewhere). But it compiles, it runs and it is "almost" correct. The simple upsampling works properly (ie producing 15 minutes values out of hourly data).
-
- 13 Nov, 2013 1 commit
-
-
Mathias Bavay authored
Paving the way for very exciting stuff for reaccumulating precipitation. For now, major code cleanup and simplification. Watch out, there might be cases where this does not work anymore!
-
- 05 Oct, 2013 1 commit
-
-
Mathias Bavay authored
Fixing some warnings for Visual C++ and also using ostringstream instead of stringstream when appropriate
-
- 01 Oct, 2013 1 commit
-
-
Mathias Bavay authored
Finally, another method for handling daily sums of solar radiation has been implemented: when a point is requested, the potential solar radiation is computed for the whole day with a 20 minutes resolution, filling a vector and computing the daily sum. This enables to compute the loss factor. When another point within the same day is requested, the radiation is interpolated from the values stored in the vector and multiplied by the loss factor. Tested on WFJ data, this works very well (of course, days that experience large cloudiness variations are not reproduced well but at least the average flux is correct). A typo has been fixed in the documentation of Date.
-
- 30 Sep, 2013 1 commit
-
-
Mathias Bavay authored
Now the dates can be rounded to the day (there was a bug preventing it before). A new parametrization has been implemented in SunObject that computes the daily sum of TOA radiation. This is used by a new resampling method that computes subdaily values out of a daily sum of radiation. This is not yet doing such a great job, but this is a start...
-
- 09 Sep, 2013 1 commit
-
-
Mathias Bavay authored
A new test has been created to cover basic statistical functions on vectors. Two bugs have been found and fixed when computing the derivative on a vector of data (the right derivative was in fact a left derivative and the case of X containing nodata was not covered). Documentation fixes in libinterpol2D and ResamplingAlgorithms. The cmake macro for finding MeteoIO now looks first in the home directory of the user on Mac (as is done on Linux).
-
- 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.
-
- 27 May, 2013 2 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
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.
-
- 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
-
- 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
-
- 13 Mar, 2013 1 commit
-
-
Mathias Bavay authored
A rounding bug has been found in the Date class: when using a Date object in a loop where it gets incremented, it accumulates errors and after ~70000 iterations, the error would get bigger than one second, making date comparisons with a fixed date impossible. This has been solved by always rounding the internal gmt Julian date to the closest second, after each assignment (from the constructors, the setDate() calls or any arithmetic operation). Moreover, the rounding methods have been re-written to be more efficient as well as other roundings (specially when computing the date decomposition from Julian). The seek() call performing a binary search has also been simplified, in order to remove unnecessary tests, put some similar tests together and make the code clearer. Some constification and better vector usage took place in ResamplingAlgorithms and Meteo1DInterpolator.
-
- 12 Mar, 2013 1 commit
-
-
Mathias Bavay authored
-
- 25 Oct, 2012 1 commit
-
-
Mathias Bavay authored
Some extra documentation has been added for the UPS coordinate system. The coordinates test has been expanded. A missing default value has been added to the Suntrajectory.
-
- 31 May, 2012 1 commit
-
-
Mathias Bavay authored
An optimization from Yesterday was actually breaking the whole resampling... This has been fixed (thanks to Nander and David for finding this problem!)
-
- 30 May, 2012 1 commit
-
-
Mathias Bavay authored
A few "consts" have been added. The dates are now considered to be positive which allows comparison operators to be optimized: converting 1 year of hourly data with data_converter got almost 30% faster. Moreover, when looking for resampling window, two extra checks have been added to quickly see if the start and end point are even in the input vector. This reduces data read miss (because we start by reading vecM[0]) and skips browsing through the whole vector if we are in a large data gap. On the same 1 year data set with one large gap for one parameter, the gain is of almost 20%. Overall, these two optimizations lead to almost a doubling of the speed with data_converter... Soon we'll be so fast that we will get the data before it is even measured!
-