WSL/SLF GitLab Repository

  1. 24 Jun, 2011 1 commit
  2. 16 Jun, 2011 1 commit
    • Mathias Bavay's avatar
      The nodata handling strategy was not thoroughly implemented: aritmetic... · c479ae5f
      Mathias Bavay authored
      The nodata handling strategy was not thoroughly implemented: aritmetic operators were not compliant. In order to fix it, a property now records how to handle nodata for each object. A setter method is available. All operations now properly handle it.
      
      The Grid2D and Grid3D objects now have a (x,y) and (x,y,z) method for direct access to their gridded values. This should make it easier to switch a Grid object with an Array in a piece of code.
      
      With the latest changes in CMakeLists, the examples could not be built anymore. This has been fixed in the examples Makefile (but the io.ini plugin path stil has to be fixed).
      c479ae5f
  3. 21 Mar, 2011 1 commit
  4. 10 Mar, 2011 1 commit
  5. 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
  6. 27 Aug, 2010 1 commit
  7. 26 Aug, 2010 1 commit
  8. 23 Aug, 2010 1 commit
  9. 11 Aug, 2010 1 commit
  10. 10 Aug, 2010 1 commit
  11. 03 Aug, 2010 1 commit
    • Mathias Bavay's avatar
      The DEMObject subset constructor was broken, it has been fixed. It involved... · 886f3a28
      Mathias Bavay authored
      The DEMObject subset constructor was broken, it has been fixed. It involved creating a subset method in the arrays classes.
      
      The Coord class now supports using the given UTM zone when converting from lat/long to UTM. If the computed zone does not match the one requested in the io.ini, it prints a warning but uses the user-supplied zone.
      
      A first implementation of readStationData for SMETIO has been done. 
      
      Some documentation has been added for plugin development
      886f3a28
  12. 21 Jul, 2010 1 commit
  13. 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
  14. 15 Jun, 2010 2 commits
  15. 28 May, 2010 1 commit
    • Mathias Bavay's avatar
      First, the issue 57 (angle/bearing conversion) has been addressed. · 68605c9a
      Mathias Bavay authored
      Then, the remaining namespace issues with doxygen have been fixed, by enclosing the full class implementation in the namespace (as seen for the libstdc++). This removes all these irritating issues. But the popc version has been broken by the change (as seen in LegacyIO).
      68605c9a
  16. 21 Apr, 2010 1 commit
  17. 13 Apr, 2010 1 commit
  18. 01 Mar, 2010 1 commit
    • Mathias Bavay's avatar
      A new slope algorithm has been added (HORN), even if it computes the same... · 0e1e6314
      Mathias Bavay authored
      A new slope algorithm has been added (HORN), even if it computes the same slopes as CORRIPIO (except for border cells). This is the algorithm that is used in ArcGIS. Some cleanup has been done in the references (it seems some algorithms have been published several time by different people). The embryo of a real hydrological slope algorithm is coming: it is not nammed CARD any more, but D8 and gives NODATA to the aspect of points that don't have any slope (slope=0). It will have to be completed by adding a sink resolution algorithm.
      0e1e6314
  19. 22 Feb, 2010 1 commit
    • Mathias Bavay's avatar
      The plugin's interface (IOInterface) has been slightly modified:... · 2ee54369
      Mathias Bavay authored
      The plugin's interface (IOInterface) has been slightly modified: readSpecialPoints now returns a vector of Coords. This means that a plugin can provide coordinates as (lat,long) or (easting, northing) or (grid_i, grid_j). All the plugins have been modified accordingly and POINTS and POINTSArray have been removed from Array.h
      2ee54369
  20. 17 Feb, 2010 1 commit
    • Mathias Bavay's avatar
      The new Coords object is now used by all grids (Grid2DObject, Grid3DObject,... · 687c52df
      Mathias Bavay authored
      The new Coords object is now used by all grids (Grid2DObject, Grid3DObject, DEMObject) as well as by all plugins (but checking proper operation was not possible for GSNIO because of missing libraries on my system...). The documentation has been updated as well as the code examples. A few extra methods have been added when usage has shown the need/convenience of having them (specially for standardazing some processing called by the plugins). A few small bugs have been fixed (possibility of not updating or improperly updating the coordinates in some rare cases).
      
      The proper marshalling for Grid3DObject has been implemented (it was more or less a dummy method until now). One bug has been fixed for Proj4 support. The code of most of the plugins has been cleaned up in order to get rid of the few remaining "using namespace" in header files. 
      687c52df
  21. 16 Feb, 2010 1 commit
    • Mathias Bavay's avatar
      The class Stationdata now properly uses the new Coords class. All usual... · b40dedb4
      Mathias Bavay authored
      The class Stationdata now properly uses the new Coords class. All usual dependencies have been fixed (A3DIO.cc) but not (yet) the optional plugins. The Coords class has been modified so that it computes the matching coordinates as soon as possible instead of the previous implementation that was delaying it as much as possible (thus making "const Coords..." impossible).
      
      The includes have been cleaned up (compilation was failing because of multiple "using namespace" in header files) and all "using namespace" have been removed from header files (please don't put any of these back!!). The doxygen comments has been updated.
      b40dedb4
  22. 15 Feb, 2010 1 commit
  23. 10 Feb, 2010 1 commit
  24. 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
  25. 29 Jan, 2010 1 commit
    • Mathias Bavay's avatar
      A bug was preventing RH interpolations from working (the TA grid was... · d5c34620
      Mathias Bavay authored
      A bug was preventing RH interpolations from working (the TA grid was initialized to size 0, and therefore the safety checks were later on stopping the interpolation of RH because the TA grid was of the wrong size). 
      
      A "sanitize" method has been added to DEMObject so that all points that have an elevation but no slope/azimuth/normals/curvature see their elevation set to nodata (so that testing the elevation of a point is enough to guarantee that all information is available). The caller has therefore to decide if he prefers potentially losing a few points to guarantee a more consistent DEM or not...
      d5c34620
  26. 28 Jan, 2010 2 commits
    • Mathias Bavay's avatar
      The parallelization was lagging behind, so this has been fixed: One internal... · f1989ba4
      Mathias Bavay authored
      The parallelization was lagging behind, so this has been fixed: One internal variable was not serialized in DEMObject, there was no serialization at all in Meteo2DInterpolator and some marshalling methods had to be written (in marshall_meteoio). The serialization of Meteo2DInterpolator should be tested however!
      
      The marshalling code has been cleaned up and some missing "std::" added in FilterAlgorithms (doxygen was complaining).
      f1989ba4
    • Mathias Bavay's avatar
      A new method "setDefaultAlgorithm" has been added to the DEMObject so that the... · 3e106b6b
      Mathias Bavay authored
      A new method "setDefaultAlgorithm" has been added to the DEMObject so that the caller can specify which slope computation algorithm to use. The default algorithm argument has also been added to the constructors (as optional argument). This means that each constructor MUST call setDefaultAlgorithm.
      
      A new slope computation algorithm has been added: FLEM for (Fleming and Hoffer, 1979). This algorithm is faster, simpler and usually better then the other ones (according to (Hodgson, >1997)).
      
      Finally, some benchmarks have been done comparing the current slope computation speed with the old implementation (which could not handle holes in DEM): the current method is only 5% slower and it can now handle holes!
      3e106b6b
  27. 27 Jan, 2010 1 commit
    • Mathias Bavay's avatar
      The DEMObject has been modified so that it can now correctly handle grids with... · 86afd8ff
      Mathias Bavay authored
      The DEMObject has been modified so that it can now correctly handle grids with nodata values when computing slope/azimuth/curvature (this is in effect the fix for issue 15). This is "best effort" approach: several strategies are applied if some points are missing in order to still be able to compute as much as possible the parameters for their neighbours (if the latter contain an elevation!). The resulting grids are consistent for slopes (ie: if the slope can be computed, then the azimuth too and the normals too) and the curvature is handled separately (ie: it is possible to find points where ONLY the curvature is nodata).
      
      Several inappropriate behaviors have been fixed for cells next to a nodata point (or next to an edge). This should have fixed issue 7.
      
      The necessary check have been added to libinterpol2D:SimpleDEMWindInterpolate
      86afd8ff
  28. 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
  29. 27 Oct, 2009 1 commit
    • Mathias Bavay's avatar
      DEMObject and IOHandler have been modified so that the DEMObject is more or... · 1057ac03
      Mathias Bavay authored
      DEMObject and IOHandler have been modified so that the DEMObject is more or less intelligently updated while retaining the possibility to provide an optional argument turning it off (constructors which fill the DEMObject with real data by default now update the slope/curvatures/normals except if giving as a last argument *false*).
      
      The first code for using the proj4 library for coordinates conversion has been writen in MapProj. It is still disabled by default since it suffers (at least) from a parsing bug: the coordinates argument is truncated when going through cfg.getValue() and therefore not valid (at least my checks work!).
      
      A missplaced define (for PI) has been moved in IOUtils.
      
      LegacyIO popc code has been cleaned up, removing the timers (that are not portable and thus a problem for WIN32 systems).
      
      A typo in an error message has been fixed in Grid2DObject. A few unnecessary (ie: ugly) white spaces removed at some places (A3DIO.cc, etc)
      1057ac03
  30. 10 Sep, 2009 2 commits
    • Mathias Bavay's avatar
      The default values for min/max were not always coherent... this has been... · abfa505e
      Mathias Bavay authored
      The default values for min/max were not always coherent... this has been fixed: an uninitialized min/max is +/- std::numeric_limits<double>::max() like when the matrix has not been initialized. Or to make it simple: test min/max with std::numeric_limits<double>::max() in order to know if it is a valid or invalid value!
      abfa505e
    • Mathias Bavay's avatar
      Tow methods for getting the min and the max value out of a matrix have been... · 5370fd50
      Mathias Bavay authored
      Tow methods for getting the min and the max value out of a matrix have been added to Array, Array2D and Array3D. The updateAllMinMax of DEMBoject has been updated to rely on that instead of doing it by itself.
      
      The doxygen comments of DEMObject have been fixed and the config.dox (doxygen configuration file) has been fixed (it was not processing .cc files). 
      
      A new (private) methods has been added to DEMObject: safeGet(i,j) that returns a grid value for any (i,j) (so nodata if outside of the grid). This could be the right strategy for correctly computing slope/curvature on the dem even in the case of "holes" in the dem... (to be continued...)
      5370fd50
  31. 08 Sep, 2009 1 commit
    • Mathias Bavay's avatar
      A parameter has been added to DEMObject::update in order to specify which... · 2253e112
      Mathias Bavay authored
      A parameter has been added to DEMObject::update in order to specify which algorithm to use. It can either take a member from a specifc enum or a string like "HICK" or "CORRIPIO".
      
      The isSameGeolocalization method has been added to Grid2DObject in order to allow comparing the geolocalization attributes of two grids. It does not compare the xllcorner/yllcorner parameters since these might have been tweaked for convenience. The code checking the match between lat/long and xll/yll has been commented out since this prevents the correct operations when using a local grid. This method (checkCoordinates) will have to be completely redesigned.
      
      The ISWR and LWR methods have been uncommented for the Meteo2DInterpolator. 
      
      The (very dirty) hack that would have interpreted the grid coordinates differently depending on their value (as lat/long or swiss coordinates) in ARCIO and GRASSIO has been removed (this is now replaced by the much cleaner projection class). If the COORDPARAM key is missing in the io.ini file, it is quietly ignored instead of throwing an exception.
      
      The meteoio_demo program has been updated to reflect these changes
      2253e112
  32. 05 Sep, 2009 1 commit
  33. 04 Sep, 2009 1 commit
  34. 23 Jul, 2009 2 commits
    • Mathias Bavay's avatar
      Ok, this is the correct implementation of what I tried to do in the previous... · d7efb8a5
      Mathias Bavay authored
      Ok, this is the correct implementation of what I tried to do in the previous commit... Now, the Meteo2DInterpolator can take either Array2D<double> or Grid2DObjects as tables to fill. The overloading of the Write2DGrid has therefore been suppressed: since Grid2DObjects are geography-friendly, they should be used in our applications instead of Array2D (that should be reserved for internal implementation of objects).
      
      So, this is mostly reverting to the code before the last commit, with a few extra lines of code to do the magic...
      d7efb8a5
    • 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
  35. 22 Jul, 2009 2 commits