WSL/SLF GitLab Repository

  1. 02 Oct, 2014 1 commit
  2. 12 Aug, 2014 1 commit
  3. 31 Jul, 2014 1 commit
  4. 16 May, 2014 1 commit
  5. 08 May, 2014 1 commit
  6. 01 Oct, 2013 1 commit
    • Mathias Bavay's avatar
      Finally, another method for handling daily sums of solar radiation has been... · 8ecdc212
      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. 
      8ecdc212
  7. 17 Apr, 2013 1 commit
    • Mathias Bavay's avatar
      In order to implement an efficient and portable object serialization, it has... · ba0b7d3e
      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()".
      ba0b7d3e
  8. 13 Mar, 2013 1 commit
    • Mathias Bavay's avatar
      A rounding bug has been found in the Date class: when using a Date object in a... · 2ddc7feb
      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.
      2ddc7feb
  9. 14 Feb, 2013 1 commit
    • Mathias Bavay's avatar
      In order to try to be closer to the spirit of the STL, now the empty... · 3f45c394
      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.
      
      
      3f45c394
  10. 26 Nov, 2012 1 commit
  11. 02 Nov, 2012 1 commit
  12. 31 Oct, 2012 1 commit
  13. 25 Oct, 2012 1 commit
  14. 07 Aug, 2012 1 commit
    • Mathias Bavay's avatar
      New warnings have been tried to detect variable shadowing (one variable... · dd895aa0
      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).
      dd895aa0
  15. 31 May, 2012 1 commit
  16. 30 May, 2012 1 commit
    • Mathias Bavay's avatar
      A few "consts" have been added. The dates are now considered to be positive... · b79a85a4
      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!
      b79a85a4
  17. 27 Jan, 2012 1 commit
  18. 19 Sep, 2011 1 commit
    • Thomas Egger's avatar
      Performance boost: Redesign of class MeteoData. The individual public double... · 8d46d04d
      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.
      8d46d04d
  19. 16 Aug, 2011 1 commit
  20. 27 Jul, 2011 1 commit
    • Mathias Bavay's avatar
      A (more) intelligent handling of buffered grids has been implemented: the... · 9f230fd9
      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.
      9f230fd9
  21. 04 May, 2011 1 commit
    • Mathias Bavay's avatar
      The POPC version has been heavily transformed. Since we would need IOManager... · 0394dcf3
      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.
      0394dcf3
  22. 21 Mar, 2011 1 commit
  23. 10 Mar, 2011 1 commit
  24. 09 Mar, 2011 1 commit
    • Mathias Bavay's avatar
      In SNIO, the METAFILE can now be optional (which means that the metadata... · e9063b21
      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...
      e9063b21
  25. 10 Feb, 2011 1 commit
  26. 08 Feb, 2011 2 commits
    • Mathias Bavay's avatar
      Another commit related to timezones... The Unix date always being in UTC, this... · 3fdc84f5
      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).
      3fdc84f5
    • Fierz's avatar
      - Date.*: allow to handle undefined Dates (== 0. for now), add new members... · 8c40e39c
      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
      8c40e39c
  27. 04 Feb, 2011 1 commit
    • Mathias Bavay's avatar
      The full support for timezones has been brought back. This fixes issue 71. The... · 904aeaa8
      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). 
      904aeaa8
  28. 31 Jan, 2011 1 commit
    • Mathias Bavay's avatar
      The (advanced) configuration of the BufferedIOHandler through io.ini (General... · be423136
      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.
      be423136
  29. 26 Jan, 2011 1 commit
    • Mathias Bavay's avatar
      A new group of classes has been created, under the meteolaws subdirectory.... · 4b63f416
      Mathias Bavay authored
      A new group of classes has been created, under the meteolaws subdirectory. This contains various general meteorological laws, such as a sun radiation model, standard atmosphere, etc
      
      The first implementation (not tested yet) of a non-linear least square fit algorithm has been implemented in the libfit1D. 
      
      Several documentation issues have been fixed (obsolete code examples, etc) and classes grouped by modules. This should help the user to quickly locate the classes of interest. 
      4b63f416
  30. 16 Dec, 2010 1 commit
  31. 08 Sep, 2010 1 commit
  32. 28 Jun, 2010 1 commit
    • Thomas Egger's avatar
      Added new plugin for WSMDF format. gzipped version of format currently not... · 8750dd19
      Thomas Egger authored
      Added new plugin for WSMDF format. gzipped version of format currently not supported. binary version works, but since the julian date does not fit into a 4 byte (32bit) float, it is unusable. ASCII format works, although unit_multiplier and unit_offset are currently not supported. For location information the easting, northing version is not yet supported.
      
      Added function IOUtils::stripComments(string&) it, deletes everything after # or ; from the string&
      8750dd19
  33. 21 Jun, 2010 1 commit
    • Thomas Egger's avatar
      Directory structure change: src folder now called meteoio · 752c0068
      Thomas Egger authored
      Overall all include statements within in the library have been replaced by angle brackets, the default install path for the include file is $CMAKE_INSTALL_DIR/include/meteoio, the meteoio libraries (static and shared) will be installed in $CMAKE_INSTALL_DIR/lib per default.
      
      The plugins will be installed in the subdirectory $CMAKE_INSTALL_DIR/lib/meteoio/plugins
      752c0068
  34. 30 Apr, 2010 1 commit
  35. 28 Apr, 2010 1 commit
    • Mathias Bavay's avatar
      The POPC compilation issue has been fixed (work around a POPC bug). These work... · 5f07ce00
      Mathias Bavay authored
      The POPC compilation issue has been fixed (work around a POPC bug). These work arounds have been tagged as "HACK for POPC" in DEMObject, Date, Grid2/3DObject, IOHandler.ph, LegacyIO.ph and marshall_meteoio.cc.
      
      The SNIO plugin that was forgotten at the last commit is now here and has been improved so that it correctly formats its output (it does not read yet).
      5f07ce00
  36. 22 Apr, 2010 1 commit
  37. 21 Apr, 2010 1 commit
  38. 20 Apr, 2010 2 commits