- 20 Sep, 2013 1 commit
-
-
Robert Spence authored
Redesigned algorithm for redistribution of solid precip on steep slopes. This is done by pushing precip from the top to the bottom of the slope. Curvature correction has been turned off. Now this redesign will be validated with laser-scanner data.
-
- 18 Sep, 2013 1 commit
-
-
Mathias Bavay authored
More size_t fixes (ie trying to be consistent) and a bug was found when spatially interpolating using a few specific algorithms that would not reset their internal vectors between two calls (thanks Matteo for helping uncover this bug!)
-
- 01 Sep, 2013 1 commit
-
-
Mathias Bavay authored
One more step closer to the goal: the dem is now only passed when calling calculate() and the simpleDEMWindInterpolate now computes the curvatures if necessary. Small optimizations in IOHandler.
-
- 25 Jul, 2013 1 commit
-
-
Mathias Bavay authored
Following the latest changes, this is a general code cleanup in all the classes involved in spatial interpolations. The LIDW method has been commented out since this works very poorly and would need to be properly redone.
-
- 10 Feb, 2012 1 commit
-
-
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.
-
- 12 Jan, 2012 1 commit
-
-
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).
-
- 10 Nov, 2011 1 commit
-
-
Mathias Bavay authored
Oups, types mismatch... and the version numbers have been pushed up in order to prepare for the upcoming release
-
- 16 Aug, 2011 1 commit
-
-
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.
-
- 19 Jul, 2011 1 commit
-
-
Mathias Bavay authored
Reorganizing all the statistical elements... this commit won't compile, this is just to move files around. Wait for next commit before updating!
-
- 15 Mar, 2011 1 commit
-
-
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).
-
- 26 Jan, 2011 1 commit
-
-
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.
-
- 29 Oct, 2010 1 commit
-
-
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).
-
- 27 Oct, 2010 1 commit
-
-
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).
-
- 25 Oct, 2010 1 commit
-
-
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.
-
- 01 Oct, 2010 1 commit
-
-
Mathias Bavay authored
Small fixes: the MAGNUSS interpolation has been renammed in HNW_SNOW (since we will add avalanche snow redistribution in the future and potentially other things) and the documentation has been reworked.
-
- 30 Sep, 2010 2 commits
-
-
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.
-
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).
-
- 19 Aug, 2010 1 commit
-
-
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.
-
- 12 Aug, 2010 2 commits
-
-
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).
-
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)
-
- 21 Jun, 2010 1 commit
-
-
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
-
- 30 Apr, 2010 1 commit
-
-
Mathias Bavay authored
Most of the doxygen issues have been fixed. A few are still left (and we lost the inheritance structure in doxygen).
-
- 21 Apr, 2010 1 commit
-
-
Thomas Egger authored
Changed the name of the Date_IO class to Date. In case of namespace conflicts, just use mio::Date to reference the MeteoIO Date class.
-
- 08 Apr, 2010 1 commit
-
-
Mathias Bavay authored
The physical filter algorithms (as defined in libinterpol2D) have seen their interface modified so they all follow the same logic (for the order and naming of the arguments). The documentation has been cleaned up (the warnings have been fixed, some missing items added).
-
- 26 Mar, 2010 1 commit
-
-
Thomas Egger authored
Kicked out all legacy code for the spatial interpolation - cleaned up libinterpol2D.* and Meteo2DInterpolator.* - in Coords.cc there was an ambigous if condition lacking a few brackets. Added comments to illustrate the algorithms in InterpolationAlgorithms.cc
-
- 25 Mar, 2010 1 commit
-
-
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.
-
- 03 Feb, 2010 1 commit
-
-
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).
-
- 20 Jan, 2010 1 commit
-
-
Mathias Bavay authored
Oups... My previous commit was wrong, this is the commit that fixes the compilation bugs in libinterpol2D.
-
- 11 Dec, 2009 1 commit
-
-
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.
-
- 09 Dec, 2009 1 commit
-
-
Mathias Bavay authored
The license information has been added: LPGLv3 headers in all header files, license texts as well as a Linux Software Map entry file. The installation procedure has been added to cmake configuration files (similar to the autotools)
-
- 03 Nov, 2009 1 commit
-
-
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.
-
- 22 Oct, 2009 1 commit
-
-
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.
-
- 25 Aug, 2009 1 commit
-
-
Mathias Bavay authored
The spatial interpolation class has been modified so that it works with Grid2DObjects instead of Array2D. This makes room for being able (one day) to work with a DEM bigger than the requested grid... (yes, this would be so sexy!) Warnings have been silenced in GrassIO.cc
-
- 13 Aug, 2009 1 commit
-
-
Thomas Egger authored
Cleanup of header files: no namespace should ever be used in header files, please make the namespace explicitly visible through the scope operator (::)! e.g. instead of using vector<string> vecString, please use std::vector<std::string> in the header files
-
- 23 Jul, 2009 1 commit
-
-
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.
-
- 22 Jul, 2009 1 commit
-
-
Thomas Egger authored
* Changed nomenclature in CArray2D<T> to reflect STL conventions: GetSize() renamed to size() Create() renamed to resize() Destroy() renamed to clear()
-
- 21 Jul, 2009 1 commit
-
-
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.
-
- 28 May, 2009 1 commit
-
-
Moustafa Mbengue authored
Nothing special, just some re-indentation in order to make the code lines clear and easy to run and understand.
-
- 26 May, 2009 2 commits
-
-
Mathias Bavay authored
The documentation can now be built from the Makefile (that also contains a help section). By default, the BOSCUNG and IMIS plugins are disabled. The necessary skeleton has been added to Meteo2DInterpolator and libinterpol2D so that the wind interpolation model can easily be implemented.
-
Moustafa Mbengue authored
The whole library has been given its new name and several classes have been renamed in order to better match their purpose. The Makefile has been modified accordingly.
-