WSL/SLF GitLab Repository

  1. 23 Sep, 2013 1 commit
  2. 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
  3. 25 Jul, 2013 1 commit
  4. 24 Jul, 2013 1 commit
    • Mathias Bavay's avatar
      Moving forward with the trend/residuals approach for the spatial... · 597e6f48
      Mathias Bavay authored
      Moving forward with the trend/residuals approach for the spatial interpolations: here are the necessary changes in the supporting infrastructure: basically, better handling of forced lapse rates and fractional lapse rates, proper toString() methods for the fit1D object and components
      597e6f48
  5. 19 Jul, 2013 1 commit
  6. 11 Feb, 2013 1 commit
  7. 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
  8. 16 Aug, 2011 2 commits
    • Mathias Bavay's avatar
      Several HACKS have been removed (either the HACK had been fixed but the... · 37bfdf83
      Mathias Bavay authored
      Several HACKS have been removed (either the HACK had been fixed but the comment was still there, or it has now been fixed, or after more (careful) consideration, it has been decided that the HACK was not a HACK)
      37bfdf83
    • 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
  9. 08 Aug, 2011 1 commit
  10. 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
  11. 20 Jul, 2011 1 commit
    • Mathias Bavay's avatar
      Some methods have been moved into another class (like the simple linear... · 7797ea1c
      Mathias Bavay authored
      Some methods have been moved into another class (like the simple linear interpolation between two points that is now in ResamplingAlgorithms), some renammed (like the new weightedMean that replaces the ill-nammed "linearInterpolate"). The regression model based on two segments is now part of libinterpol1D and has been renammed. More regression models have been implemented. 
      
      The "initFit" method of Fit1D has been renammed in "fit" and the setGuess method now turns fit_ready to true, so that a user can force his provided parameters to be used by a given model (do a setGuess() with the parameters, then call f(x) without calling "fit", so no internal fit of the parameters would be performed).
      7797ea1c
  12. 19 Jul, 2011 2 commits
  13. 18 Jul, 2011 1 commit
  14. 15 Jul, 2011 1 commit
    • Mathias Bavay's avatar
      The 1D regression component is now coming into shape: the Fit1D class receives... · 42b4e784
      Mathias Bavay authored
      The 1D regression component is now coming into shape: the Fit1D class receives two vectors (of X and Y), compute a specified regression model, then transparently provides modelled values (calling fit1D.f()). Introducing a new regression model consists of implementing this f() method as well as a method computing initial guesses. A new method has been introduced in libInterpol1D that computes the derivative of a data set, given a vector of X and a vector of Y. Another method has been implemented to sort such two vectors in order of increasing X.
      
      Partial pivoting has been implemented in Matrix, and complete pivoting has been started but is not finished yet (it will throw an exception if used).
      42b4e784
  15. 10 Mar, 2011 1 commit
  16. 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
  17. 09 Feb, 2011 1 commit
  18. 28 Jan, 2011 2 commits
  19. 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