- 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 2 commits
-
-
Mathias Bavay authored
-
Mathias Bavay authored
The nodata handling strategy was not thoroughly implemented: aritmetic operators were not compliant. In order to fix it, a property now records how to handle nodata for each object. A setter method is available. All operations now properly handle it. The Grid2D and Grid3D objects now have a (x,y) and (x,y,z) method for direct access to their gridded values. This should make it easier to switch a Grid object with an Array in a piece of code. With the latest changes in CMakeLists, the examples could not be built anymore. This has been fixed in the examples Makefile (but the io.ini plugin path stil has to be fixed).
-
- 04 May, 2011 1 commit
-
-
Mathias Bavay authored
The POPC version has been heavily transformed. Since we would need IOManager has a popc object and this is quite hard (we need a backreference in Meteo2DInterpolator), all parclasses have been removed. Instead, the user will have the responsability to packaged IOManager in his own parclass if needed. This makes the code simpler and skips difficult issues... A new fill method has been added to the Array2D and Array3D templates that does the reverse of subset (ie: reassemble arrays). Better error messages have been put in SNIO. A new Date setter that takes a Date object has been created. This version does NOT correctly compile with the autotools (it leads to a segfault when running code using MeteoIO), but the cmake compiled library works fine.
-
- 29 Mar, 2011 1 commit
-
-
Mathias Bavay authored
The infamous 24:00 hour bug was not fully dead. Rounding errors (I experienced a 3.5/100 seconds rounding error) made hour=24 possible. Before computing values (day, hour, etc) the julian date is now rounded to the closest minute (but such rounding is NOT saved, so it there is no loss of precision for potential upcoming calculations). Therefore, all should now be perfect in MeteoIOland.
-
- 21 Mar, 2011 1 commit
-
-
Mathias Bavay authored
First batch of fixes for issue 68 (variable names starting with "_" invalid for some versions of Visual C++)
-
- 16 Mar, 2011 1 commit
-
-
Mathias Bavay authored
This is the fix for issue 140. When setting a Date with setDate(y,m,d,H,M, TZ) if TZ==0 no recalculation of the date elements (year, month, etc) would be performed, thus keeping a potential 24 for hours. If calling afterward getDate(gmt), it would return these internal values without any further calculation, thus returning hour=24.
-
- 11 Mar, 2011 1 commit
-
-
Mathias Bavay authored
The TIME_ZONE keys are now used by ALL plugins (I thought I already did it...)
-
- 10 Mar, 2011 3 commits
-
-
Mathias Bavay authored
Small tweaks so that code::blocks on Windows also compiles MeteoIO correctly... (like a never ending story)
-
Mathias Bavay authored
-
Mathias Bavay authored
More fixes for Visual C++ (but not all done yet) as well as new assignments operators for 1d, 2d, 3d arrays. It is now possible to do something like my2Dgrid.grid2D = 2.; and every cell will be filled with 2.
-
- 09 Mar, 2011 1 commit
-
-
Mathias Bavay authored
In SNIO, the METAFILE can now be optional (which means that the metadata remain nodata, the user has therefore to fill them himself). This is used by Snowpack. After the Visual C++ compilation log from Raphael, some changes have been implemented: lots of warnigs about signed/unsigned fixed, some unreachable code removed, and some methods reimplemented for Windows. We are not there yet, but moving closer...
-
- 08 Mar, 2011 1 commit
-
-
Mathias Bavay authored
Another fix for issue 144: fallback "round" function for Visual C++ (that still does not conform to C99... only 12 years late...)
-
- 04 Mar, 2011 1 commit
-
-
Mathias Bavay authored
-
- 18 Feb, 2011 1 commit
-
-
Mathias Bavay authored
An icon has been designed and the CMakeLists.txt improved for building the Windows installer. This is not yet perfect, but we are moving forward!
-
- 15 Feb, 2011 1 commit
-
-
Mathias Bavay authored
The Date::setFromSys() method should now be portable (it was only BSD/GNU before). A constness issue has been fixed in DynamicLibrary for Windows platforms.
-
- 10 Feb, 2011 2 commits
-
-
Mathias Bavay authored
-
Mathias Bavay authored
Fixed a bug when doing dates additions and substractions (the += and -= operators were fine). Fixed the copy constructor so that it can copy an undefined date. Added the support for Matlab dates.
-
- 09 Feb, 2011 1 commit
-
-
Mathias Bavay authored
setFromSys() now properly sets the system time zone. A bug in the default constructor has been fixed.
-
- 08 Feb, 2011 2 commits
-
-
Mathias Bavay authored
Another commit related to timezones... The Unix date always being in UTC, this has been fixed. The resampling was not using dates in a proper way, this has been fixed. The GSN plugin has also been fixed, it now rounds time to the closest minute (in order to be consistent with our advertised "1 minute time resolution"). A rounding method has been implemented for dates. The timezone parameter in io.ini is now named TIME_ZONE instead of TZ for clarity. Undefined dates should now be fully handled (ie: also in arithmetic).
-
Fierz authored
- Date.*: allow to handle undefined Dates (== 0. for now), add new members undef, setUndef(), isUndef(), and rndJulianDate() - IOUtils.*: replaced TZ with time_zone and TIME_ZONE - ImisIO.*: correct typo seperateDrift to separateDrift
-
- 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.
-
- 16 Dec, 2010 1 commit
-
-
Mathias Bavay authored
-