WSL/SLF GitLab Repository

  1. 23 Sep, 2013 1 commit
  2. 20 Sep, 2013 2 commits
  3. 18 Sep, 2013 1 commit
  4. 02 Sep, 2013 1 commit
  5. 01 Sep, 2013 1 commit
  6. 30 Aug, 2013 1 commit
    • Mathias Bavay's avatar
      Getting closer to the goal of persistent spatial interpolation objects. There... · 88e7cb8e
      Mathias Bavay authored
      Getting closer to the goal of persistent spatial interpolation objects. There are no "initialize" and "getQualityRating" anymore, the initializations are performed by "getQualityRating". The arguments that used to be passed to the constructors are now split between constructor and getQualityRating. A few hacks will have to be removed: we should be able to get rid of some of the callbacks, the plain copy of Date and Dem will have to be avoided (most probably by working with pointers) and the map of objects that has been implemented (but commented out) will be enabled. So, a few hacks remain, but this is already a nice, big step forward!
      88e7cb8e
  7. 26 Jul, 2013 1 commit
    • Mathias Bavay's avatar
      The Krigging is now working. The current limitations are: 1)there is no... · 377d6e57
      Mathias Bavay authored
      The Krigging is now working. The current limitations are: 1)there is no maximum range, so each available station would take part to the variogram fit. 2)the covariance is currently NOT computed on past time series, limiting the relevance of the variogram. Practically, the variogram fit that always ends up being used is LINVARIO.
      
      All matrix and fit methods that used to return void but could also throw exceptions now return a boolean to indicate if things went well (ie a matrix could be inverted, etc). They still throw exceptions for logic errors (incompatible dimensions, etc).
      377d6e57
  8. 25 Jul, 2013 1 commit
  9. 24 Jul, 2013 1 commit
  10. 15 Jul, 2013 1 commit
  11. 26 Mar, 2013 1 commit
  12. 22 Mar, 2013 1 commit
  13. 11 Mar, 2013 1 commit
  14. 28 Oct, 2012 1 commit
  15. 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
  16. 30 May, 2012 1 commit
    • Mathias Bavay's avatar
      Two new members have been added to Grid3DObject, to store the heights of the... · 99969a4d
      Mathias Bavay authored
      Two new members have been added to Grid3DObject, to store the heights of the 3D levels (ie: level 1 = 10m above ground, etc). This is similar as what is done by ARPS, GRIB, etc A boolean specifies if these are absolute or relative heights (ie: above DEM).
      
      The unventilated temperatures filter and unheated rain gauge filter have been renamed. The "soft" option has been added to Unheated_RainGauge. And the usual documentation fixes...
      99969a4d
  17. 10 Feb, 2012 1 commit
    • Thomas Egger's avatar
      IOManager: added another interpolate procedure that takes as arguments a Date,... · b2991182
      Thomas Egger authored
      IOManager: added another interpolate procedure that takes as arguments a Date, a DEMObject, the parameter to interpolate, a vector of Coords objects and a vector of doubles. The Coords represent different points in the DEM. The interpolation is only performed for these points and for each point one double value is stored in a vector. 
      
      Furthermore IOManager now has a member variable called interpolater of type Meteo2DInterpolator. A circular inclusion problem has been solved between IOManager and Meteo2DInterpolator.
      
      libinterpol2D bugfix: The SimpleDEMWindInterpolate algorithm had  a small bug in it, it wasn't interpolating values in the last row or last column of the 2D grid.
      b2991182
  18. 01 Feb, 2012 1 commit
  19. 10 Nov, 2011 1 commit
    • Mathias Bavay's avatar
      The Fit1D class constructor can now read a fit model name as a string. This... · e6a52688
      Mathias Bavay authored
      The Fit1D class constructor can now read a fit model name as a string. This was necessary for parsing a user input coming from io.ini. 
      
      The ordinary kriging interpolation algorithm is now active. It is far from perfect (the variogram is computed in a very cheap way that contributes to make it very fragile), but it is time for the first users to start playing with it. The variogram model to use can be provided as an optional argument and in case of fit failure, an appropriate error message is given (but no fallback mechanism exists). The next step will be to compute the variogram on time series, which should produce more reliable data sets for fitting the variogram model on.
      
      Some error messages have been improved in the matrix class.
      e6a52688
  20. 16 Aug, 2011 1 commit
    • Mathias Bavay's avatar
      The VW_MAX field was not properly handled in SMETIO. The failure count has... · 2ca6d716
      Mathias Bavay authored
      The VW_MAX field was not properly handled in SMETIO. The failure count has been slightly improved in SNIO (to decrease the number of failures when a model could recover: if ILWR is not provided but TSS is, we don't count it as a failure anymore). 
      
      The implementation of the krigging is moving forward. A bug has been found and fixed in Fit1D, a variogram is now computed (but not using a true covariance, which prevents our krigging from properly working). 
      
      The #define NOSAFECHECKS have been deleted and replaced by a definition by the CMakeLists when in debug mode. This means that when compiling in debug mode, the code will be quite slower but will properly check and report out of bounds access in tables and matrix.
      2ca6d716
  21. 19 Jul, 2011 1 commit
  22. 10 Jun, 2011 1 commit
    • Mathias Bavay's avatar
      The POPC parallel object version of MeteoIO has been removed: now the library... · f5e21d57
      Mathias Bavay authored
      The POPC parallel object version of MeteoIO has been removed: now the library can be compiled with popc so that all marshalling code is present, but it does NOT create a parallel object of its own. This means that the caller is 100% responsible for deciding what should go into its own parallel object.
      
      Some documentation has been updated as well as better error messages in smetio.
      
      The CMakeLists have been reworked according to some comments from the cmake mailing list.
      f5e21d57
  23. 17 May, 2011 1 commit
  24. 25 Mar, 2011 1 commit
    • Mathias Bavay's avatar
      The emissivity models have been cleaned up: they now take RH, TA, etc but NOT... · 97bd60e1
      Mathias Bavay authored
      The emissivity models have been cleaned up: they now take RH, TA, etc but NOT the water vapor pressure (it is internally calculated). Please, update your code!
      
      A specific spatial interpolation algorithm has been introduced for ILWR that relies on emissivity (we convert ILWR to emissivity, then interpolate the emissivity, then reconvert to ILWR). As mentionned in issue 156, a better method for interpolations by proxies will have to be designed and implemented...
      97bd60e1
  25. 22 Mar, 2011 1 commit
  26. 15 Mar, 2011 1 commit
    • Mathias Bavay's avatar
      The plugins now export their symbols when compiled with Visual C++. · ed696434
      Mathias Bavay authored
      The arrays are now using the vector filling methods when possible. A specialized template for convertString(unsigned int) has been written. 
      
      A two segments linear fit (for elevation detrending) has been implemented with a fixed inflection point. This is quite primitive but allows the LLIDW spatial interpolation to use it and therefore to behave like the traditional SLF SnowFit program. More work will be needed for fully configurable regression algorithm choice though... 
      
      Some namming issues have been fixed in COSMOXML. A better emissivity handling has been implemented in SNIO to be closer to the original Snowpack (ie: compute clear sky ILWR when no cloudiness/emissivity is given).
      ed696434
  27. 08 Feb, 2011 1 commit
  28. 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
  29. 14 Jan, 2011 1 commit
    • Thomas Egger's avatar
      Added functionality to the Meteo2DInterpolator: it is now possible to access... · 622b5979
      Thomas Egger authored
      Added functionality to the Meteo2DInterpolator: it is now possible to access the iomanager and hence to access historical data points from within any spatial interpolation.
      
      The IOManager has been expanded to:
      1) cache already filtered data points and
      2) provide a getAvgSamplingRate() function that returns the average data points seen per day.
      622b5979
  30. 09 Dec, 2010 1 commit
  31. 05 Nov, 2010 1 commit
  32. 04 Nov, 2010 1 commit
  33. 29 Oct, 2010 2 commits
    • Mathias Bavay's avatar
      The "frac" optional argument (for fractional lapse rate, or relative lapse... · 9394b505
      Mathias Bavay authored
      The "frac" optional argument (for fractional lapse rate, or relative lapse rate) has been added to IDW_LAPSE. The documentation has been updated. If HS is interpolated, it is now checked for min/max to be greater than 0.
      9394b505
    • Mathias Bavay's avatar
      The SMET plugin was the only plugin not to use "STATION#" for specifying its... · 713481af
      Mathias Bavay authored
      The SMET plugin was the only plugin not to use "STATION#" for specifying its input files/stations (besides plugin reading a path). It has been modified for consistency. This WILL break older io.ini files...
      
      A new projection method has been added in lib2Dinterpol: fracProject that projects a value according to the elevation based on a fractional (or relative) change of the value with the elevation. This can be enabled in CST_LAPSE by adding the "frac" keyword as the second argument (after the rate value). 
      
      The documentation "how to write a spatial interpolation algorithm" has been updated to reflect recent changes in the code.
      
      The FindMeteoIO and FindOCCI files for cmake were not compatible with cmake<2.6.1. They have been rewriten to be compatible with older versions (specially like the 2.6.0 deployed on Debian). A bug in CMakeList for the IMIS plugin has been fixed (wrong cmake variable name used).
      713481af
  34. 27 Oct, 2010 1 commit
    • Mathias Bavay's avatar
      A new spatial interpolation algorithm, LocalLapse_IDW (key being LIDW_LAPSE)... · 0b6179bc
      Mathias Bavay authored
      A new spatial interpolation algorithm, LocalLapse_IDW (key being LIDW_LAPSE) has been implemented. It takes a number of stations  as mandatory parameter, and computes for each pixel the IDW_LAPSE only using the closest n stations. This is specially useful when dealing with large number of stations over a wide area. Please keep in mind that since the linear regression calculation might exclude some outliers, a sufficiently large number of stations should be given.
      
      The algorithm that is computing a linear regression with the possibility of excluding some outliers has been renamed as NoisyLinRegression and moved to Interpol1D. Moreover, the regression algorithm provide an information stringstream that can be directly printed to the screen (usual behavior) or differently handled (specially useful for mutliple regressions calculations or when using GUIs).
      
      The spatial interpolation algorithm MUST now be initialized by calling their initialize(param) method. This makes it possible to optimize their processing (not recomputing the list of stations to process, etc) and also allow to build an info string that can be returned with the interpolation and contain various useful information (specially for GUIs).
      0b6179bc
  35. 25 Oct, 2010 1 commit
    • Mathias Bavay's avatar
      First (non working) implementation of the ordinary kriging. The variogram fit... · 9cbc0659
      Mathias Bavay authored
      First (non working) implementation of the ordinary kriging. The variogram fit still has to be done... But a few const issues have been fixed in Matrix and a new method added (to read a 1x1 matrix as a scalar).
      
      Fixed some doxygen warnings, added a howto for writing spatial interpolations.
      
      Better Oracle OCCI detection, renammed into FindOCCI.cmake and used by the ImisIO plugin compilation.
      9cbc0659
  36. 01 Oct, 2010 1 commit
  37. 30 Sep, 2010 2 commits
    • Mathias Bavay's avatar
      A severe bug has been found in the spatial interpolations: the algorithm... · 1fe01df7
      Mathias Bavay authored
      A severe bug has been found in the spatial interpolations: the algorithm arguments were always the ones from the last evaluated algorithm (therefore not necessarily matching the chosen algorithm).
      
      The MAGNUSS spatial interpolation algorithm now takes as an optional argument the name of the algorithm to use to initialize the grid. 
      
      It is now possible to specify a lapse rate to be used for the CST_LAPSE algorithm (optional argument). If the "soft" argument is added, then a lapse rate is calculated from the data, and if it fails the user provided lapse rate is used instead. Without "soft", only the user provided lapse rate is used. Without any option, only the lapse rate calculated from the data itself is used.
      1fe01df7
    • Mathias Bavay's avatar
      This is the first implementation of the precipitation distribution algorithm... · 0a7ad7ae
      Mathias Bavay authored
      This is the first implementation of the precipitation distribution algorithm discribed in (Magnusson, 2010). This basically initializes the precipitation with an IDW_LAPSE, then removes some or all precipitation according to the local slope, applies a factor depending on the curvature (Huss, 2008) and applies a factor so that the mean precipitation matches the original mean (this is definitely sub-optimal for this part).
      0a7ad7ae