- 20 Sep, 2013 2 commits
-
-
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.
-
Mathias Bavay authored
The info string for the spatial interpolations was not being cleared between calls, leading to ever increasing content... Otherwise, using an ostringstream instead of stringstream in PNGIO and fixed a typo in the documentation.
-
- 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!)
-
- 02 Sep, 2013 1 commit
-
-
Mathias Bavay authored
Now the toString() method of Meteo2DInterpolator works with the new structure and is called by IOManager.toString(). Small cleanup (white spaces, etc) in 2D_interpolations and ResamplingAlgorithms.
-
- 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.
-
- 30 Aug, 2013 1 commit
-
-
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!
-
- 26 Jul, 2013 1 commit
-
-
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).
-
- 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.
-
- 24 Jul, 2013 1 commit
-
-
Mathias Bavay authored
And now the code that uses the previously upgraded infrastructure in order to compute spatial interpolations using a trend/residuals approach. The tests work, all results should remain identical to what it was before. Lots of now unnecessary code will be removed from the libinterpol2D in the next few days...
-
- 15 Jul, 2013 1 commit
-
-
Mathias Bavay authored
-
- 26 Mar, 2013 1 commit
-
-
Mathias Bavay authored
Some code cleanup and micro-optimizations. The documentation has been improved (configuration of doxygen as well as some duplicate section labels).
-
- 22 Mar, 2013 1 commit
-
-
Mathias Bavay authored
-
- 11 Mar, 2013 1 commit
-
-
Mathias Bavay authored
Putting the code into shape for major changes in the spatial interpolations as well as pushing the minor version nunmber up
-
- 28 Oct, 2012 1 commit
-
-
Mathias Bavay authored
After compiling with -Weffc++, it appeared that lots of things could be done in initialization lists. Some of it has been done for this commit (but quite a few remain).
-
- 07 Aug, 2012 1 commit
-
-
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).
-
- 30 May, 2012 1 commit
-
-
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...
-
- 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.
-
- 01 Feb, 2012 1 commit
-
-
Mathias Bavay authored
Some variable names starting with "_" have been fixed. The Crawford and Duchon ILWR model has been implemented in Atmosphere and checked on Weissflujoch data.
-
- 10 Nov, 2011 1 commit
-
-
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.
-
- 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
-
- 10 Jun, 2011 1 commit
-
-
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.
-
- 17 May, 2011 1 commit
-
-
Mathias Bavay authored
Fixing some unsigned int / size_t conversion issues by using more widely size_t (as it seems to be recommended and done in the STL)
-
- 25 Mar, 2011 1 commit
-
-
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...
-
- 22 Mar, 2011 1 commit
-
-
Mathias Bavay authored
Next round of fixes for issue 68 (variable names starting with "_" under Visual C++). Hopefully, this issue should now be fully addressed.
-
- 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).
-
- 08 Feb, 2011 1 commit
-
-
Mathias Bavay authored
The custom grids spatial interpolations method is now working! The user can force loading his own grids for specific parameters and timesteps.
-
- 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.
-
- 14 Jan, 2011 1 commit
-
-
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.
-
- 09 Dec, 2010 1 commit
-
-
Thomas Egger authored
-
- 05 Nov, 2010 1 commit
-
-
Mathias Bavay authored
Small documentation/indentation update. CPack can now create source packages, by typing "make package_source"
-
- 04 Nov, 2010 1 commit
-
-
Mathias Bavay authored
Fixed a few trivial compiler warnings, indenation.
-
- 29 Oct, 2010 2 commits
-
-
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.
-
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).
-
- 26 Jul, 2010 1 commit
-
-
Thomas Egger authored
-