WSL/SLF GitLab Repository

  1. 20 Sep, 2013 1 commit
  2. 18 Sep, 2013 1 commit
  3. 01 Sep, 2013 1 commit
  4. 25 Jul, 2013 1 commit
  5. 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
  6. 12 Jan, 2012 1 commit
    • Mathias Bavay's avatar
      Speed improvement for IDW based on the profiling performed by HES-SO's V.... · af7bbbd6
      Mathias Bavay authored
      Speed improvement for IDW based on the profiling performed by HES-SO's V. Grivel: the stations' positions are saved in two vectors (eastings and northings) before walking the grid. For low number of stations, this makes no visible difference. For large number of stations, this makes a huge difference (as seen on the Graubünden simulation, with 35 stations).
      af7bbbd6
  7. 10 Nov, 2011 1 commit
  8. 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
  9. 19 Jul, 2011 1 commit
  10. 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
  11. 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
  12. 29 Oct, 2010 1 commit
    • 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
  13. 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
  14. 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
  15. 01 Oct, 2010 1 commit
  16. 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
  17. 19 Aug, 2010 1 commit
    • Mathias Bavay's avatar
      Several 1D statistical methods has been implemented while the existing ones... · 5b5cd758
      Mathias Bavay authored
      Several 1D statistical methods has been implemented while the existing ones have been made nodata safe.
      
      Added a redefinition of the << operator for IOPlugin and IOHandler. This should be convenient for debugging!
      
      Some small optimizations have been brought into the spatial interpolations following some tests with cachegrind. Nothing huge, but small improvements.
      
      
      5b5cd758
  18. 12 Aug, 2010 2 commits
    • Mathias Bavay's avatar
      Fixed a bug in the accumulation filter that returns 0 even if the data set only contained nodata. · 02473192
      Mathias Bavay authored
      The linear regression implementation is now able to remove a variable number of "invalid" points based on the initial size of the data set. Some extra weighting methods have been implemented (but are not yet used).
      02473192
    • Mathias Bavay's avatar
      Several speed optimizations have been brought to the 2D interpolations (using... · 874afc97
      Mathias Bavay authored
      Several speed optimizations have been brought to the 2D interpolations (using the const keyword when possible, etc). The Quake3 1/x^2 approximation has been implemented for the IDW_core and brings a slight loss of precision (1e-6 in relative error in real life tests) while boasting a huge reduction of computational time (factor of 3 when called within Alpine3D with its own overhead).
      
      The documentation can now be build and not installed (instead of linking building and installation as previously done)
      874afc97
  19. 21 Jun, 2010 1 commit
    • Thomas Egger's avatar
      Directory structure change: src folder now called meteoio · 752c0068
      Thomas Egger authored
      Overall all include statements within in the library have been replaced by angle brackets, the default install path for the include file is $CMAKE_INSTALL_DIR/include/meteoio, the meteoio libraries (static and shared) will be installed in $CMAKE_INSTALL_DIR/lib per default.
      
      The plugins will be installed in the subdirectory $CMAKE_INSTALL_DIR/lib/meteoio/plugins
      752c0068
  20. 30 Apr, 2010 1 commit
  21. 21 Apr, 2010 1 commit
  22. 08 Apr, 2010 1 commit
  23. 26 Mar, 2010 1 commit
  24. 25 Mar, 2010 1 commit
    • Thomas Egger's avatar
      The new interpolations interface with all algorithms that used to reside... · a318acec
      Thomas Egger authored
      The new interpolations interface with all algorithms that used to reside within libinterpol2D exclusively. Every algorithm is an own class derived from InterpolationAlgorithm abstract base class. An AlgorithmFactory instantiates the required algorithm within class Meteo2DInterpolator. The user needs to configured which algorithms to be used within the section [Interpolations2D] in the io.ini:
      
      [Interpolations2D]
      TA::algorithms = cst cst_lapse idw_lapse
      TA::cst_lapse = -0.008
      
      libinterpol1D has a new function for the calculation of arithmetic means. all of libinterpol2D is static. the rest will be thrown out in the coming days.
      a318acec
  25. 03 Feb, 2010 1 commit
    • Mathias Bavay's avatar
      The Special_PTS and CSpecialPointsArray structures have been renamed in... · 11d9c246
      Mathias Bavay authored
      The Special_PTS and CSpecialPointsArray structures have been renamed in "POINT" and "POINTSArray" (there was no reason to call them "special points"). 
      
      A few new methods have been added to DEMObject: getPointsBetween that returns a vector containing the indices of all points located on the line between two points (given by their real world (x,y) coordinates), horizontalDistance that returns the horizontal distance between two points and terrainDistance that returns the distance between two point accros the terrain as described by the DEM (ie: going up and down the terrain).
      11d9c246
  26. 20 Jan, 2010 1 commit
  27. 11 Dec, 2009 1 commit
    • Mathias Bavay's avatar
      A new slope computation algorithm has bee added: CARD It computes the slope... · 27deca55
      Mathias Bavay authored
      A new slope computation algorithm has bee added: CARD It computes the slope using Corripio and then discretizes the azimuth along 8 cardinal directions and the slope by degrees. This should be all that GEOtop needs for its drainage direction (then simply calling a dem.update("CARDINAL")).
      
      The copyright notices have been put in place in all files (headers and cc) with proper attribution of copyright.
      
      The documentation has been improved, specially fixing issue 22. Warning messages of doxygen have been fixed. An example subdirectory has been created in /doc and contains (currently) 2 examples of code using MeteoIO.
      27deca55
  28. 09 Dec, 2009 1 commit
  29. 03 Nov, 2009 1 commit
    • Mathias Bavay's avatar
      The constructor for local grid in MapProj has been changed and its prototype... · 656de316
      Mathias Bavay authored
      The constructor for local grid in MapProj has been changed and its prototype modified. It should now make more sense and allow using LOCAL in io.ini like any other projection keyword.
      
      The code that was doing IO buffering in LegacyIO when POPC was used has been deleted (this is not the right place to do caching). A method prototype has been slightly tweaked (using const string instead of char*).
      
      Since Laws.c/h is already a file that is part of Snowpack and since making it a separate library does not make so much sense (it is quite small and only 3 short functions from it are used in MeteoIO), the necessary code has been transfered to libinterpol2D and these two files have been deleted.
      
      A warning in IOUtils has been silenced.
      656de316
  30. 22 Oct, 2009 1 commit
    • Mathias Bavay's avatar
      A new define (DEBUG_ARITHM) has been added that activates the non-catching of... · 85135ebd
      Mathias Bavay authored
      A new define (DEBUG_ARITHM) has been added that activates the non-catching of arithmetic exceptions. This is specially required for parallel execution when the code from the library might execute in a process different from the caller (thus not having the required flag set on the cpu for its process). This is enabled/disabled in the Makefile.in (or the Makefile for the end user). 
      
      The std:: namespace declaration has been added to a lots of places, making the "use namespace std" usage irrelevant (and thus suppressed). Other namespaces that were called with a "use" have been found not to be used anymore and therefore also removed.
      
      Several bugs in the doxygen comments have been fixed: typo (misplaced space), comments not matching the declaration anymore, etc Doxygen now executes without warnings.
      
      85135ebd
  31. 25 Aug, 2009 1 commit
  32. 13 Aug, 2009 1 commit
  33. 23 Jul, 2009 1 commit
    • Mathias Bavay's avatar
      A minor initialization bug was fixed in DEMObject. The new wind interpolation... · 77a84be4
      Mathias Bavay authored
      A minor initialization bug was fixed in DEMObject. The new wind interpolation method has been disabled by default (not safe to use before making sure that it does not create unphysical behavior). A minor optimization has been implemented in libinterpol2D: if the DEM min and max altitudes are know, the median elevation is now used as a reference elevation for reprojections.
      
      The doxygen comments have been fixed and enhanced.
      
      The meteoio_demo program has been updated to fully use the DEMObject.
      
      77a84be4
  34. 22 Jul, 2009 1 commit
    • Thomas Egger's avatar
      * Renamed CArray2D to Array2D · f0ca3805
      Thomas Egger authored
      * Changed nomenclature in CArray2D<T> to reflect STL conventions:
      	GetSize() renamed to size()
      	Create() renamed to resize()
      	Destroy() renamed to clear()
      f0ca3805
  35. 21 Jul, 2009 1 commit
    • Mathias Bavay's avatar
      The new wind interpolation method that uses the local terrain's curvature has... · 8a69da98
      Mathias Bavay authored
      The new wind interpolation method that uses the local terrain's curvature has been merged. It comes from (Liston-Elder, 2006) and has been implemented by Gael Rosset (HES-SO) duri8ng his Bachelor internship. It still has to be tested in order to see how it performs compared to measurements...
      
      The DEMObject has been tweaked a little more (fixing some issues with constructors), as well as some code tagging. 
      
      The spatial interpolations now use a DEMObject for the dem.
      8a69da98
  36. 28 May, 2009 1 commit
  37. 26 May, 2009 2 commits