WSL/SLF GitLab Repository

  1. 04 Dec, 2014 1 commit
  2. 24 Nov, 2014 1 commit
    • Mathias Bavay's avatar
      Finally adressing issue 72 with second resolution in dates. The ISO strings... · 841d9337
      Mathias Bavay authored
      Finally adressing issue 72 with second resolution in dates. The ISO strings now contain the seconds when written out and by reading them, the seconds can be provided (but this is not mandatory). In ARC, grids are now named with the seconds (except when enabling the Alpine3D naming scheme). The adresses a bug that was found when requesting" raw" processing level from a plugin that constructs its timestamps from a decomposed time: time-1s and time+1s were the same and therefore this could trigger problems in the plugin.
      841d9337
  3. 10 Nov, 2014 1 commit
  4. 30 Oct, 2014 1 commit
    • Mathias Bavay's avatar
      In order to make it more modular and allow more advanced processing (virtual... · 7af06c60
      Mathias Bavay authored
      In order to make it more modular and allow more advanced processing (virtual stations, downscaling, multiple io sources) the IOManager is now a proper wrapper: the processing is fully delegated to either a GridsManager or a TimeSeriesManager. These can in turn be reused at some other places (like in the Meteo2DInterpolator) to offer full buffering and processing of "local" time series. The buffering is now done by these two new classes (therefore the BufferedIOHandler class has been removed) and it is planned that dataClasses will be implemented for proper ringbuffers (one for time series, one for grids and one for isolated points) and receive the generic buffering code later on. 
      
      A new fastPow(double, int) has been implemented for positive exponents. The begining of a generic handling of units also appeared in IOUtils. Finally, the ProcessingLevels are now defined in IOUtils instead of IOManager.
      7af06c60
  5. 21 Oct, 2014 1 commit
  6. 12 Aug, 2014 1 commit
  7. 08 May, 2014 1 commit
  8. 27 Jan, 2014 1 commit
  9. 23 Jan, 2014 1 commit
  10. 28 Oct, 2013 1 commit
    • Mathias Bavay's avatar
      The filters have been slightly simplified, some IOUtils functions optimized... · 284f1213
      Mathias Bavay authored
      The filters have been slightly simplified, some IOUtils functions optimized (after reading an interesting post about the handling of rvalues), a bug fixed in PNGIO on Windows, the macros MAX and MIN are not used anymore (relying on std::max and std::min instead). A new data generator is on its way to generate HNW from HS differences (but this will require architectural changes to the DataGenerator).
      284f1213
  11. 05 Oct, 2013 1 commit
  12. 18 Sep, 2013 1 commit
  13. 01 Sep, 2013 1 commit
  14. 28 Jun, 2013 1 commit
  15. 27 Jun, 2013 1 commit
  16. 19 Jun, 2013 1 commit
    • Mathias Bavay's avatar
      In order to properly import config files while supporting relative paths, it... · c02d0f1f
      Mathias Bavay authored
      In order to properly import config files while supporting relative paths, it is necessary to internally expand the paths (as well as the symlinks) to check for multiple inclusions, to properly look for a file located relative to another one (instead of related to the execution directory). The IOUtils::cleanPath function has been expanded to support this kind of processing (with a flag to turn it on of off) and a few functions added (getPath, getFilename). The code for Windows has been written but not tested yet. The Posix implementation should also be tested on osx.
      c02d0f1f
  17. 14 Jun, 2013 1 commit
    • Mathias Bavay's avatar
      The default ilwr model in Atmosphere as been changed to Unsworth. The fixed... · 87556084
      Mathias Bavay authored
      The default ilwr model in Atmosphere as been changed to Unsworth. The fixed snow albedo has been set to 0.85 for all filters/generators using it. 
      
      The Config class can now import an ini file from another ini file, this could greatly simplify the management of operational deployments (a station that has a special configuration now can simply import a standard config file and redefine what it needs). This is either done with IMPORT_BEFORE or IMPORT_AFTER in order to choose who has precedence. Multiple (ie recursive) inclusions are supported with some enforced limitations to prevent circular dependencies.
      87556084
  18. 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
  19. 11 Apr, 2013 1 commit
  20. 23 Mar, 2013 1 commit
  21. 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
  22. 05 Mar, 2013 1 commit
  23. 21 Feb, 2013 1 commit
  24. 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
  25. 13 Feb, 2013 1 commit
    • Mathias Bavay's avatar
      Now, when libsmet attemps to write a station that does not contain any data,... · c3995663
      Mathias Bavay authored
      Now, when libsmet attemps to write a station that does not contain any data, it will complain but will not throw an exception (otherwise when working with large numbers of stations, the odds of getting an exception are too high). An implementation for fast cubic root is now part of Optim, but still has to be tested. Some code cleanup (using .empty(), using copy constructor instead of construct+copy) occured in IOUtils.
      c3995663
  26. 11 Feb, 2013 1 commit
  27. 01 Feb, 2013 1 commit
  28. 09 Dec, 2012 1 commit
  29. 04 Dec, 2012 1 commit
  30. 03 Dec, 2012 1 commit
  31. 30 Nov, 2012 2 commits
    • Mathias Bavay's avatar
      The FileIndexer class has been expanded to cater to the needs of SMET (it is... · ebddecb6
      Mathias Bavay authored
      The FileIndexer class has been expanded to cater to the needs of SMET (it is not the most efficient, but for now...). A bug has been fixed that was leading to segfault. The explanation for the remaining slowness of SNIO has been found: the Config keys were re-read for every parsed line... It is now 10x faster, ie up to par with SMET (more or less).
      ebddecb6
    • Mathias Bavay's avatar
      The indexing for SNIO and SMETIO was not working (because of BUFF_READ_BEFORE,... · f531e8cd
      Mathias Bavay authored
      The indexing for SNIO and SMETIO was not working (because of BUFF_READ_BEFORE, we are almost never restarting exactly at the last read time step, but before). Moreover, SNIO was always reading the whole file, even past the specified dateEnd. This was extremely slow on large input file. This has been fixed. SNIO is still quite slow (it seems something like 10x compared to SMETIO), but it is much more acceptable. A file indexer class has been implemented in IOUtils.
      f531e8cd
  32. 28 Nov, 2012 1 commit
  33. 25 Oct, 2012 1 commit
  34. 01 Aug, 2012 1 commit
  35. 21 Jun, 2012 1 commit
  36. 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
  37. 19 Jun, 2012 1 commit
  38. 16 Jun, 2012 1 commit
  39. 11 Jun, 2012 1 commit
    • Mathias Bavay's avatar
      Since the autotools are obsolete (and unmaintained) in MeteoIO, they have been... · 11fb1ed6
      Mathias Bavay authored
      Since the autotools are obsolete (and unmaintained) in MeteoIO, they have been removed. The popc++ version can be compiled with cmake (with some tricks: disable GSN and force the compiler to popcc). 
      
      For consistency, the various definitions of ot_deg and to_rad have been suppressed and replaced by Cst::to_deg or Cst::to_rad. Some mentions of the Earth's radius have been replaced by Cst::earth_R0. In Coords, some variables have been declared as const.
      11fb1ed6