- 06 Feb, 2015 1 commit
-
-
Mathias Bavay authored
The GridBuffer class has been expanded and is now used by Meteo2Dinterpolator for interpolated grids
-
- 30 Oct, 2014 1 commit
-
-
Mathias Bavay authored
In order to make it more modular and allow more advanced processing (virtual stations, downscaling, multiple io sources) the IOManager is now a proper wrapper: the processing is fully delegated to either a GridsManager or a TimeSeriesManager. These can in turn be reused at some other places (like in the Meteo2DInterpolator) to offer full buffering and processing of "local" time series. The buffering is now done by these two new classes (therefore the BufferedIOHandler class has been removed) and it is planned that dataClasses will be implemented for proper ringbuffers (one for time series, one for grids and one for isolated points) and receive the generic buffering code later on. A new fastPow(double, int) has been implemented for positive exponents. The begining of a generic handling of units also appeared in IOUtils. Finally, the ProcessingLevels are now defined in IOUtils instead of IOManager.
-
- 12 Aug, 2014 1 commit
-
-
Mathias Bavay authored
better file structure: all the classes purely focused on data storage (such as grids, dates, etc) have been moved into a "dataClasses" directory. All subdirectories are nhow named similarly to the classes and methods: the words after the first one are capitalized.
-
- 04 Aug, 2014 1 commit
-
-
Mathias Bavay authored
When caching interpolated grids, the info string was not cached, leading to empty info strings when reading from cache. Now the info strings are properly cached.
-
- 31 Jul, 2014 1 commit
-
-
Mathias Bavay authored
-
- 19 Jun, 2014 1 commit
-
-
Mathias Bavay authored
Removing nodata values seemed like a good idea when doing a sort(), but this created some bugs (sometimes it is still valuable to know that y=nodata after sorting). This is now an optional behavior. The interpolated grids are now buffered in Meteo2DInterpolator. The grid buffering code has been cleaned up and backported to BufferedIOHandler. The spatial interpolations specific points (for virtual stations, etc) has been moved to Meteo2DInterpolator in order to make IOManager smaller and more focused on general data flow handling.
-
- 01 Sep, 2013 1 commit
-
-
Mathias Bavay authored
Finally, here we are: the spatial interpolation algorithms are constructed only once and remain as long as the Meteo2DInterpolator remains (generally, as long as IOManager remains). This means that an interpolation algorithm can now keep its own copy of whatever data it wants (for example, dem) to tweak it between calls.
-
- 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!
-
- 29 Aug, 2013 1 commit
-
-
Mathias Bavay authored
The structure of Meteo2DInterpolator has been brought closer to the structure of DataGenerators. More methods are static.
-
- 17 Apr, 2013 1 commit
-
-
Mathias Bavay authored
In order to implement an efficient and portable object serialization, it has been decided that all serializable objects would be manually serialized to an std::iostream. Then, the parallelization framework (mpi, popc, etc) can take over this stream and move it to another node. Therefore, the operators "<<" and ">>" are now reserved for serialization (as seems to be standard) and the debug outputs are obtained by printing "object.toString()". This means that all debug code has potentially to be fixed, by replacing "std::cout << object" by "std::cout << object.toString()".
-
- 22 Mar, 2013 1 commit
-
-
Mathias Bavay authored
-
- 21 Mar, 2013 1 commit
-
-
Mathias Bavay authored
The METEO_TIMSERIES and STATION_TIMESERIES have been renamed in METEO_SET and STATIONS_SET in order to better reflect their content. The concept of data generators is introduced. A new section has been created [Generators] to define how to generate data for each parameter when everything else failed. Soon, you will be able to generate ILWR directly by declaring it in your io.ini!
-
- 29 Oct, 2012 1 commit
-
-
Mathias Bavay authored
-
- 25 May, 2012 1 commit
-
-
Mathias Bavay authored
The smoothing filters now behave differently depending on the centering that has been specified. The IOManager backreference for Meteo2DInterpolator (pointer this given in the initialization list) has been replaced by a setter. An invalid flag for Visual C++ has been fixed.
-
- 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.
-
- 27 Jan, 2012 1 commit
-
-
Mathias Bavay authored
The POPC compilation is slowly improving... One still needs to force the compiler to popcc, but otherwise it seems to work. Necessary includes have been added when popc is activated. A cmake method for finding popc has been implemented. Small optimization/clean up in A3DIO for special points reading.
-
- 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)
-
- 04 May, 2011 1 commit
-
-
Mathias Bavay authored
The POPC version has been heavily transformed. Since we would need IOManager has a popc object and this is quite hard (we need a backreference in Meteo2DInterpolator), all parclasses have been removed. Instead, the user will have the responsability to packaged IOManager in his own parclass if needed. This makes the code simpler and skips difficult issues... A new fill method has been added to the Array2D and Array3D templates that does the reverse of subset (ie: reassemble arrays). Better error messages have been put in SNIO. A new Date setter that takes a Date object has been created. This version does NOT correctly compile with the autotools (it leads to a segfault when running code using MeteoIO), but the cmake compiled library works fine.
-
- 09 Feb, 2011 1 commit
-
-
Mathias Bavay authored
-
- 31 Jan, 2011 1 commit
-
-
Mathias Bavay authored
The (advanced) configuration of the BufferedIOHandler through io.ini (General section) has been added. It currently introduces two keywords (BUFF_CHUNKS_SIZE and BUFF_CHUNKS) to drive how much data to read at once and how much data to buffer. Currently, their product is directly used in the read, thus not reading anything by chunks smaller than a full buffer. Fixed some << outputs, two compilation warnings found on Hera as well as introduced.
-
- 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.
-
- 07 Jan, 2011 1 commit
-
-
Mathias Bavay authored
The documentation and examples have been updated to reflect the latest changes in MeteoIO (namely: the merging of MeteoData with StationData). A documentation bug has been fixed, that involved deleting the doxygen comments for the commented "clone()" method in IOInterface. Since this is not used anywhere and has been commented out for a while, this method has been fully deleted. Meteo2DInterpolator now has its own << operator for debugging purposes.
-
- 09 Dec, 2010 1 commit
-
-
Thomas Egger authored
-
- 02 Nov, 2010 1 commit
-
-
Mathias Bavay authored
An error was found: the linear regression returns the regression coefficient r, not r2!! It has been modified so that it returns |r| and prints r2 in the info strings. The HNW_SNOW spatial interpolation algorithm had errors. It was not properly calling its base algorithm (the one computing the initial distribution) and its rating was too low. It has now the same rating as CST_LAPSE for one station when the lapse rate is provided. This could be improved in the future, to make it depend on the rating of the base algorithm...
-
- 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.
-
- 16 Aug, 2010 1 commit
-
-
Thomas Egger authored
Added a soft min/max filter to Meteo2DInterpolator. It is explicitly called for RH grids and HNW grids to make sure values stay in the range of [0;1] (for RH) or [0; inf) (for HNW).
-
- 26 Jul, 2010 1 commit
-
-
Thomas Egger authored
-
- 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.
-
- 12 Apr, 2010 1 commit
-
-
Mathias Bavay authored
The long wave radiation parameter is now ILWR instead of LWR (since some might have net long wave and this is also closer to short wave (with ISWR)).
-
- 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.
-
- 16 Feb, 2010 1 commit
-
-
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.
-
- 28 Jan, 2010 1 commit
-
-
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).
-
- 18 Jan, 2010 1 commit
-
-
Thomas Egger authored
void interpolate(const MeteoData::Parameters& meteoparam, Grid2DObject& result); The new Meteo2DInterpolator class parses the ConfigReader object passed to it and stores all possible algorithms for each MeteoData variable (user configured). In the next step the user configured algorithms shall be invoked and a quality estimator chooses the most appropiate of the algorithms to interpolate the 2D grid for a given meteo parameter. Adjustments needed to be made to the ConfigReader class (function findKeys) and a few comments have been added to MeteoFilter for more clarity of the ConfgReader parsing process.
-