- 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.
-
- 31 Jul, 2014 1 commit
-
-
Mathias Bavay authored
-
- 03 Jun, 2014 1 commit
-
-
Mathias Bavay authored
A display bug has been fixed in the Date class, the exceptions code has been cleaned up a little bit and the call stack should now be even less intimidating!
-
- 19 May, 2014 1 commit
-
-
Mathias Bavay authored
-
- 16 May, 2014 1 commit
-
-
Mathias Bavay authored
-
- 08 May, 2014 2 commits
-
-
Mathias Bavay authored
Fixed a stupid bug in my previous commit and added the possibility to provide a fallback constant when using the CST spatial interpolation: RH::algorithms = Cst RH::cst = 0.3 This would behave as before, except that if no data at all would be available at a given time step, then the value 0.3 would be taken to fill the grid.
-
Mathias Bavay authored
Since IOUtils was getting bigger and bigger, all the methods dealing with low level file handling have been moved into a new file, FilesUtils. It remains in the IOUtils namespace. One method has been moved to Date. A few includes have been cleaned up.
-
- 28 Feb, 2014 1 commit
-
-
Mathias Bavay authored
First version of the new COSMO (in fact, FieldExtract) plugin. It currently only reads data from one single file that is provided as argument, but this file can contain all the stations and all the time steps. This plugin only relies on libxml2.
-
- 10 Jan, 2014 2 commits
-
-
Thomas Egger authored
-
Thomas Egger authored
-
- 02 Dec, 2013 1 commit
-
-
Mathias Bavay authored
The date rounding was not always working properly since it was rounding the GMT date. This has been fixed (so rounding a local time down to the nearest day now properly returns the local day at 00:00). Identation correction in libinterpol1D.
-
- 05 Oct, 2013 1 commit
-
-
Mathias Bavay authored
Fixing some warnings for Visual C++ and also using ostringstream instead of stringstream when appropriate
-
- 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...
-
- 15 Jul, 2013 1 commit
-
-
Mathias Bavay authored
-
- 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).
-
- 21 May, 2013 1 commit
-
-
Mathias Bavay authored
-
- 18 Apr, 2013 1 commit
-
-
Mathias Bavay authored
-
- 17 Apr, 2013 1 commit
-
-
Mathias Bavay authored
In order to implement an efficient and portable object serialization, it has been decided that all serializable objects would be manually serialized to an std::iostream. Then, the parallelization framework (mpi, popc, etc) can take over this stream and move it to another node. Therefore, the operators "<<" and ">>" are now reserved for serialization (as seems to be standard) and the debug outputs are obtained by printing "object.toString()". This means that all debug code has potentially to be fixed, by replacing "std::cout << object" by "std::cout << object.toString()".
-
- 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.
-
- 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.
-
- 24 Jan, 2013 1 commit
-
-
Mathias Bavay authored
Some better error messages have been added to SMETIO as well as some code cleanup. Some comments have been added to IOManager, and missing popc code added to DEMObject and Date.
-
- 05 Dec, 2012 1 commit
-
-
Mathias Bavay authored
Improved an error message, improved the main documentation page by adding links to the home page, improved the code examples
-
- 26 Nov, 2012 1 commit
-
-
Mathias Bavay authored
The Date class has been revereted in order to compute year, month, day, etc since this is useful when debugging. The external includes that are used for the plugins are now included as system headers in order to avoid generating warnings for some code that we are not responsible for.
-
- 02 Nov, 2012 1 commit
-
-
Mathias Bavay authored
-
- 31 Oct, 2012 1 commit
-
-
Mathias Bavay authored
Removing some costly but unnecessary features (ie there is no need to always keep gmt_year, etc up to date when we in any case never use the gmt values!). The gain is ~5% on the speed of data preprocessing in Snowpack.
-
- 30 Oct, 2012 1 commit
-
-
Mathias Bavay authored
The automatic tests have shown that the code was getting slower following the latest commits. After investigations (thanks valgrind!), it has been found that the newly added copy constructor of Coords was used a lot as well as setFunctionPointers(). Therefore the function pointers have been removed and replaced by a simple list of if(coordsy=="") etc. The run time is now back to normal (and actually up to 6% faster on some tests). Cosmetic touch up on Date.
-
- 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).
-
- 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.
-
- 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...
-
- 19 Jun, 2012 1 commit
-
-
Mathias Bavay authored
Fixed a warning with XCode 4.3 on osX. Tried to make a more standard use of c++ (relying on std::fill for filling vectors, relying on vector.resize(sixe, value) instead of manually initializing a vector, etc). A few more const added where appropriate. It makes the benchmarks slightly faster...
-
- 31 May, 2012 1 commit
-
-
Mathias Bavay authored
A cleaner way of implementing the Date optimization has been implemented (relying on a define to switch back to the previous implementation if necessary). The compilation of the GSN plugin is now turned on by default. The version numbers have been pushed to 2.2.0 in order to get ready for the release.
-
- 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!
-
- 24 May, 2012 1 commit
-
-
Mathias Bavay authored
Better error messages in IMISIO, better safety (regarding "undef") in Date and some code cleanup/const/reserve business (all benchmarked) for the others. We also now avoid stacking two "/" at the end of the PLUGINPATH if one is already present.
-
- 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.
-
- 31 Aug, 2011 1 commit
-
-
Mathias Bavay authored
The installation for Windows as well as the autodetection have been improved (ie: they now work out of the box automatically). The calls to Date::set(0,0) have been removed since we now have Date::undefined.
-
- 23 Aug, 2011 1 commit
-
-
Mathias Bavay authored
The OLWR hack for Norway has been implemented in SMETIO (a cleaner, long term solution will still have to be developed). Various types issues have been identified by Visual C++ and should have been fixed.
-
- 16 Aug, 2011 1 commit
-
-
Mathias Bavay authored
Several HACKS have been removed (either the HACK had been fixed but the comment was still there, or it has now been fixed, or after more (careful) consideration, it has been decided that the HACK was not a HACK)
-
- 27 Jul, 2011 1 commit
-
-
Mathias Bavay authored
A (more) intelligent handling of buffered grids has been implemented: the grids are stored in the equivalent of a circular buffer of a given size (user defined, or 10 by default). This prevents running out of memory when processing large numbers of grids! A method for computing quantiles has been implemented in libinterpol1D. A vector of data has to be provided as well as a vector of the desired quantiles (ex: 0.25, 0.5, 0.75) and a vector of values for these quantiles will be returned. So far, the algorithm that is used produces the same results as R in default operations. The possibility of choosing which quantiles algorithms might be added in the future. The getJulianDayNumber method was just totally wrong... This has been fixed. One can also force a GMT day of year with a flag. Finally, some documentation has been written/updated.
-
- 16 Jun, 2011 1 commit
-
-
Mathias Bavay authored
-