WSL/SLF GitLab Repository

  1. 02 Oct, 2014 1 commit
  2. 12 Aug, 2014 1 commit
  3. 31 Jul, 2014 1 commit
  4. 03 Jun, 2014 1 commit
  5. 19 May, 2014 1 commit
  6. 16 May, 2014 1 commit
  7. 08 May, 2014 2 commits
  8. 28 Feb, 2014 1 commit
  9. 10 Jan, 2014 2 commits
  10. 02 Dec, 2013 1 commit
  11. 05 Oct, 2013 1 commit
  12. 30 Sep, 2013 1 commit
    • Mathias Bavay's avatar
      Now the dates can be rounded to the day (there was a bug preventing it... · 77c85422
      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...
      77c85422
  13. 15 Jul, 2013 1 commit
  14. 05 Jun, 2013 1 commit
    • Mathias Bavay's avatar
      The exceptions were not printed with a line return anymore, messing up the... · c7476e31
      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).
      c7476e31
  15. 21 May, 2013 1 commit
  16. 18 Apr, 2013 1 commit
  17. 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
  18. 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
  19. 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
  20. 24 Jan, 2013 1 commit
  21. 05 Dec, 2012 1 commit
  22. 26 Nov, 2012 1 commit
  23. 02 Nov, 2012 1 commit
  24. 31 Oct, 2012 1 commit
  25. 30 Oct, 2012 1 commit
    • Mathias Bavay's avatar
      The automatic tests have shown that the code was getting slower following the... · 5bf0f221
      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.
      5bf0f221
  26. 28 Oct, 2012 1 commit
  27. 25 Oct, 2012 1 commit
  28. 20 Jun, 2012 1 commit
    • Mathias Bavay's avatar
      The MeteoData == operator now compares with an epsilon. The... · 8e49698d
      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...
      8e49698d
  29. 19 Jun, 2012 1 commit
  30. 31 May, 2012 1 commit
  31. 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
  32. 24 May, 2012 1 commit
  33. 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
  34. 31 Aug, 2011 1 commit
  35. 23 Aug, 2011 1 commit
  36. 16 Aug, 2011 1 commit
  37. 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
  38. 16 Jun, 2011 1 commit