WSL/SLF GitLab Repository

  1. 25 Jan, 2017 2 commits
  2. 23 Jan, 2017 1 commit
  3. 04 Mar, 2016 1 commit
  4. 30 Nov, 2015 1 commit
    • Mathias Bavay's avatar
      The gridsmanager and timeseriesmanager can now provide a copy of their Config... · e70848bb
      Mathias Bavay authored
      The gridsmanager and timeseriesmanager can now provide a copy of their Config object. This has been used to fix a bug in the USER and ALS_SCALING spatial interpolation methods that were not properly reading their input files from GRID2DPATH. Moreover, now ALS_SCALING switches to CST when only 1 station provides measurements.
      e70848bb
  5. 12 Oct, 2015 1 commit
  6. 25 Nov, 2014 1 commit
  7. 11 Nov, 2014 1 commit
  8. 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
  9. 01 Oct, 2014 1 commit
  10. 19 Jun, 2014 2 commits
    • Mathias Bavay's avatar
      Mostly code cleanup: trying to find more logical names for the buffering code... · bf6bde9f
      Mathias Bavay authored
      Mostly code cleanup: trying to find more logical names for the buffering code in BufferedIOHandler, more modularity in InterpolationAlgorithms. Since when computing a variogram from time series it is possible to end up with significantly lower values than usual that lead the krigging in a totally wrong direction (should the variogram be normalized? Is it linked with the stationarity hypothesis?), now the empirical variogram is used instead of the full time series.
      bf6bde9f
    • Mathias Bavay's avatar
      Removing nodata values seemed like a good idea when doing a sort(), but this... · 2146669a
      Mathias Bavay authored
      Removing nodata values seemed like a good idea when doing a sort(), but this created some bugs (sometimes it is still valuable to know that y=nodata after sorting). This is now an optional behavior. The interpolated grids are now buffered in Meteo2DInterpolator. The grid buffering code has been cleaned up and backported to BufferedIOHandler. The spatial interpolations specific points (for virtual stations, etc) has been moved to Meteo2DInterpolator in order to make IOManager smaller and more focused on general data flow handling.
      2146669a
  11. 18 Jun, 2014 1 commit
    • Mathias Bavay's avatar
      Small improvements when computing a variogram (in order to be more tolerant to... · fcd1c23d
      Mathias Bavay authored
      Small improvements when computing a variogram (in order to be more tolerant to nodata values), new key for virtual stations (to force using the whole DEM instead of a one point dem), a results cache has been created for the virtual stations (mixing virtual and real stations is a really, really bad idea), more flexibility for the Ryan and Liston wind interpolations.
      fcd1c23d
  12. 28 Apr, 2014 1 commit
    • Mathias Bavay's avatar
      Several bugs have been fixed: in the AllSky generator, the cloudiness was... · 907a717e
      Mathias Bavay authored
      Several bugs have been fixed: in the AllSky generator, the cloudiness was still forced to 0.5 (as for debug). The data creators were also called *after* the generators, thus making it impossible to used a created data in a generator. 
      
      The placeholders have been put in place (but commented out) for the cloudiness/tau_cloud/clearness index support in MeteoData. It seems that Kt=clearness index might be the proper way to go, but this is still a messy field. Some comments have been added in the code to clarify the use of such parameters.
      907a717e
  13. 23 Apr, 2014 1 commit
    • Mathias Bavay's avatar
      Data Creators have been defined: it is now possible to create an extra... · 646a2e39
      Mathias Bavay authored
      Data Creators have been defined: it is now possible to create an extra parameter from a data generator. Simply define it as {param_name}::create = {generators} in the [Generators] section and the parameter will be created from any data generators specified (beside the "create" syntax, everything is currently identical with data generators).
      646a2e39
  14. 22 Apr, 2014 1 commit
    • Mathias Bavay's avatar
      The ClearSky and AllSky generators have been renamed as ClearSky_LW and... · 17d72966
      Mathias Bavay authored
      The ClearSky and AllSky generators have been renamed as ClearSky_LW and AllSky_LW for clarity. The debug outputs (.toString()) have been improved. The Config::findKey method is now able to do pattern matching anywhere in the string (if "anywhere=true"). This makes some code simpler (for generators). 
      
      The parameter copy feature has a new syntax: TA2::COPY = TA will copy TA into TA2 (clearer and more consistent). Please update your ini files if necessary!
      17d72966
  15. 11 Apr, 2014 1 commit
  16. 18 Feb, 2014 1 commit
    • Mathias Bavay's avatar
      Preparing the way for altitude thresholds on lapse rates: for example,... · 768f0c72
      Mathias Bavay authored
      Preparing the way for altitude thresholds on lapse rates: for example, preventing HNW to get crazy at elevations much higher than the highest station. This would be achieved by using max_altitude instead of the true elevation of a high point when doing detrending/retrending. See issue 358 and issue 359.
      768f0c72
  17. 07 Feb, 2014 1 commit
  18. 06 Feb, 2014 1 commit
  19. 04 Feb, 2014 1 commit
  20. 28 Jan, 2014 2 commits
    • Mathias Bavay's avatar
      Reducing the verbosity · ca875488
      Mathias Bavay authored
      ca875488
    • Mathias Bavay's avatar
      A new concept has been introduced: virtual stations. These are points where... · 66541e39
      Mathias Bavay authored
      A new concept has been introduced: virtual stations. These are points where the meteo data will be transparently spatially interpolated and returned to getMeteoData calls. This allows a point model like Snowpack to work on virtual stations without any internal changes. A few new keys have been introduced in order to provide the necessary information: virtual stations location, meteo parameters to interpolate. For example:
      VIRTUAL_STATIONS = true
      VIRTUAL_PARAMETERS = TA RH HNW HS VW RSWR ILWR
      VSTATION1 = 46.8 9.833333
      VSTATION2 = 46.7 9.9
      
      A few drawbacks still exist: the time range getMeteoData call is not supported yet. A DEM must be provided (ie DEM key in ini file). Obviously, all interpolated parameters must have been associated with interpolation algorithms. The virtual stations have IDs such as VIR1, VIR2, etc For performance reasons, the interpolation is then performed on a one cell dem, which means that algorithms using dem characteristics would (currently) be messed up. Basically, this is still a work in progress before everything is robust!
      
      Otherwise, some POPC ifdef have been removed and the "iomanager.interpolate(... Grid2DObject)" call has been removed since the "iomanager.getMeteoData(... Grid2DObject)" call should be used instead (for consistency).
      66541e39
  21. 27 Jan, 2014 1 commit
  22. 31 Oct, 2013 1 commit
    • Mathias Bavay's avatar
      The cmake files for compiling with LibXML++ have been updated since they would... · 6a1729e9
      Mathias Bavay authored
      The cmake files for compiling with LibXML++ have been updated since they would not work with more recent Linux (but we should consider dropping LibXML++ and only rely on LibXML2 in order to reduce the dependencies and package finding mess). The special points are now called POI (Points of Interest, like for a gps device) in order to make them more familiar.
      6a1729e9
  23. 05 Oct, 2013 1 commit
  24. 02 Sep, 2013 1 commit
  25. 31 Jul, 2013 1 commit
    • Mathias Bavay's avatar
      The method to clear the buffers in BufferedIOHandler was not doing everything... · 8a762fbc
      Mathias Bavay authored
      The method to clear the buffers in BufferedIOHandler was not doing everything it should. Some methods in BufferedIOHandler and IOManager have been made const. The issues 117 and 272 have been adressed: the IOHandler now checks that timestamps are unique and in increasing order. This check has therefore been removed from SMETIO.
      8a762fbc
  26. 15 Jul, 2013 1 commit
  27. 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
  28. 10 Apr, 2013 1 commit
  29. 21 Mar, 2013 1 commit
    • Mathias Bavay's avatar
      The METEO_TIMSERIES and STATION_TIMESERIES have been renamed in METEO_SET and... · 82b555ad
      Mathias Bavay authored
      The METEO_TIMSERIES and STATION_TIMESERIES have been renamed in METEO_SET and STATIONS_SET in order to better reflect their content. 
      
      The concept of data generators is introduced. A new section has been created [Generators] to define how to generate data for each parameter when everything else failed. Soon, you will be able to generate ILWR directly by declaring it in your io.ini!
      82b555ad
  30. 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
  31. 11 Feb, 2013 1 commit
  32. 31 Jan, 2013 1 commit
  33. 24 Jan, 2013 1 commit
  34. 28 Oct, 2012 1 commit
  35. 25 Oct, 2012 1 commit
  36. 25 May, 2012 1 commit
  37. 24 May, 2012 1 commit