- 03 Nov, 2012 2 commits
-
-
Thomas Egger authored
Every former plugin now adds a definition. This define can be checked in IOHandler. This is not the best solution, because turning a plugin on or off results in compilation of the whole meteoio.
-
Thomas Egger authored
The plugins are no longer separately loadable libraries, but are fully incorporated into libmeteoio. All classes and facilities that provided capabilites for the dynamic loading were deleted (DynamicLibrary). IOPlugin now holds a function pointer to an instantiation function for children of IOInterface. In IOHandler::registerPlugins() all plugins need to be registered with the key name, the class name, a pointer to an instance of the class and a function pointer to the instantiation function for the class (child of IOInterface). IOInterface lost some complexity and thus the constructor of the base class does not have to be called in derived classes anymore. The CMakeLists.txt files had to be updated to no longer make separate dynamically loadable libraries for each plugin, but to simply add the classes the user selectes to the meteoio library. As a side effect the io.ini key GENERAL::PLUGINPATH is no longer necessary.
-
- 29 Oct, 2012 1 commit
-
-
Mathias Bavay authored
-
- 24 May, 2012 1 commit
-
-
Mathias Bavay authored
Better error messages in IMISIO, better safety (regarding "undef") in Date and some code cleanup/const/reserve business (all benchmarked) for the others. We also now avoid stacking two "/" at the end of the PLUGINPATH if one is already present.
-
- 03 May, 2012 2 commits
-
-
Mathias Bavay authored
The Passive_T filter has been reworked and renamed as ProcPassiveT. A proper documentation has been written for it. All the cout have been replaced by cerr in order to avoid messing with the end user's application. Some old commented out code has been removed.
-
Mathias Bavay authored
Outputs that were used for warnings (or information) are now done on cerr instead of cout, in order to avoid poluting the outputs of user code. Should we do the same for the exceptions? A new method, getSolarTime has been added to SunTrajectory.
-
- 07 Apr, 2012 1 commit
-
-
Mathias Bavay authored
The plugins general documentation has been much improved (list of data sources categories, table of what is provided by each plugin, better description and extra requirements)
-
- 07 Mar, 2012 1 commit
-
-
Mathias Bavay authored
A3DIO is now a plugin like any other, that is built by default but can also be disabled. The plugins are now listed in alphabetic order by ccmake.
-
- 24 Feb, 2012 1 commit
-
-
Mathias Bavay authored
Some documentation fixes, new gradients (black to white, white to black and blue-white-red) defined and used for new variables in PNGIO (P, ALB and DW). A bug has been fixed for ILWR in GRIBIO as well as a bug when converting geographic coordinates to rotated ones. New options have been added to the undercatch filter, allowing to specify the temperature thresholds with the CST argument (to make it more similar to GeoTop).
-
- 25 Jan, 2012 1 commit
-
-
Mathias Bavay authored
A new plugin appears: GRIBIO, to read GRIB files (see issue 19). This is still extremely preliminary alpha code (enough warnings?!), but it should (hopefully) quickly evolve. A small naming inconsistency has been fixed in template.cc and all plugins now keep a reference to a Config object instead of a full copy (which means that the only full copy of a Config object should now be in IOManager and all other components should have a reference to it).
-
- 17 Jan, 2012 1 commit
-
-
Mathias Bavay authored
The IOManager was only keeping a reference to the Config object given in its constructor. Unfortunately, this means that if the original Config object would go out of scope, the reference would become invalid. Moreover, all internal objects (BufferedIOHandler, Meteo1DInterpolator, etc) were keeping the same reference to this external Config object. However, IOHandler was keeping a copy of the object. This has now been changed: IOManager keeps a copy of the Config object given to its constructor, and all other objects keep a reference to this copy. Therefore, the original Config object can be destroyed without any problem and the internal copy is kept at only one place (within IOManager). A division by zero (for min=max) has been found and fixed in PGMIO. Moreover, the min and max are written in the metadata (so that the file can be read again and properly rescaled).
-
- 16 Jan, 2012 1 commit
-
-
Mathias Bavay authored
The IOManager can now return a copy of its internal Config object. This is convenient for times when one wants to create extra outputs but using a different plugin. A missing const has been added to Config and creating an IOHandler by passing it a config file name is not possible anymore (this was deprecated when we introduced the IOManager). Therefore, the IOHandler now only keeps a reference to a Config object. This means that in the full structure held within IOManager, only one copy of Config is kept, the rest being references.
-
- 22 Dec, 2011 1 commit
-
-
Mathias Bavay authored
This addresses the 2D part of issue 168: the ability to specify which meteo parameter and time step to read/write from/to a 2D grid. This should be the prefered reading method in the future, since it leaves to the plugin the task of building the file name, extension, database table, etc This also provides added metadata and more control over the writing process.
-
- 20 Dec, 2011 1 commit
-
-
Mathias Bavay authored
First version of a PNG plugin. It only writes a grid for now, and nothing is user configurable. In the process, a small bug has been found in the RH spatial interpolation method (not handling nodata correctly)
-
- 02 Nov, 2011 1 commit
-
-
Mathias Bavay authored
A new method, getExtension() has been added to IOUtils in order to return the extension of a given filename. This is used by the SMETIO and SNIO plugins to automatically add the proper extension to input file names if they don't already have one. The Median Average Deviation filter has been ported (and validated) to the new filtering infrastructure. Several error messages have been improved.
-
- 31 Oct, 2011 1 commit
-
-
Mathias Bavay authored
Because POPC does not properly support std::cout and requires cout instead, this has been fixed in the code, with the necessary "using namespace" added. Only one std::cout remains (in IOUtils) and will be removed if absolutely necessary later.
-
- 06 Oct, 2011 1 commit
-
-
Mathias Bavay authored
-
- 03 Oct, 2011 1 commit
-
-
Mathias Bavay authored
Improved error message for the new copy mechanism. Currently, this has the following limitation: the parameter to copy must exist for ALL stations and be present for element 0 of each buffer.
-
- 02 Oct, 2011 1 commit
-
-
Thomas Egger authored
Enhancement: It is now possible to duplicate a certain meteo parameter when reading data with MeteoIO. This feature is especially useful when one parameter needs to be filtered in two different ways (e.g. a running average spanning 5 hours and one spanning 48 hours). The syntax to use in your io.ini: [Input] COPY::TA2 = TA This means that a new meteo parameter called TA2 will be added when reading meteo data from an IO source and that this new parameter will be initialized with the value of MeteoData::TA. Thus there is a copy of TA called TA2. This copy can be now used to set up a specific filter: [Filters] TA2::filter1 = mean_avg TA2::arg1 = right 5 3600
-
- 02 Sep, 2011 1 commit
-
-
Mathias Bavay authored
-
- 24 Aug, 2011 1 commit
-
-
Mathias Bavay authored
Some Visual C++ warnings have been turned off (namely, that it can not generate a copy constructor) in MeteoIO.h, so each application using MeteoIO would benefit from it (and avoid being polluted by unecessary warnings). Exception catching is now done by const reference, as recommended in our coding style.
-
- 22 Aug, 2011 1 commit
-
-
Mathias Bavay authored
More size_t related issues have been found (thanks to the new snowpack server) and fixed. Basically, please remember that any variable used with/for the return value of a call to size() MUST be of type size_t (this becomes specially relevant in 64 bits). The water triple point pressure has been updated to a better value.
-
- 28 Jul, 2011 1 commit
-
-
Thomas Egger authored
A new library for dealing with SMET files has been developed. The plugin SMETIO builds on top of this library now. It provides: - A SMETReader class, to read SMET files and parse the header info - A SMETWriter class to write SMET files and set the header info The SMET library (libsmet.h and libsmet.cc) are completely independent from the rest of MeteoIO. They have their own exception handling and helper functions, thus they can easily be distributed to other parties wishing to read and write SMET files with C/C++.
-
- 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)
-
- 10 May, 2011 1 commit
-
-
Mathias Bavay authored
The popc structure has been reverted to what it was before. The new structure, without any parallel objects was not working. The gcc flags used by the autotools have been adapted to follow more closely what cmake generates.
-
- 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.
-
- 20 Apr, 2011 1 commit
-
-
Mathias Bavay authored
A bug has been found in the processing of the variance: we were using a naive formula that is ill-fitted to signals showing small variations around a large mean. This lead to catastrophic cancellation and negative values... This has been replaced by a (slower) compensated formula (that works in two passes). The standard deviation filter has been fixed. The Tukey filter has been brought back into the new infrastructure and should now be usable. However it is not suitable to snow heights: in such a case, the standard deviation is too small (or even zero) and the signal might show some sudden variations (like in the case of a snow fall) that would therefore be falsely rejected. This filter seems much better suited to wind speeds that exhibit some constant background noise, thus a non-null standard deviation. The rate filter can now take 2 arguments: in such a case, the first one is the minimum rate and the second the maximum rate. This would allow to define a descent rate different from the climb rate. Several error messages have been improved in A3DIO and general plugin loading. Finally, two small tools for working with smet files have been contributed, one allowing transparent loading of smet files in xmgrace (smet2agr). And the example io.ini has been fixed (it had been broken and was not working with the examples anymore)
-
- 22 Mar, 2011 2 commits
-
-
Mathias Bavay authored
A small bug has been fixed for code::blocks (dll_import should not be set for code::blocks on Windows). All #ifdef WIN32 have been replaced by #ifdef _WIN32 (which should be more standard). Version numbers have been pushed to 2.0.1 in order to prepare our upcoming release.
-
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.
-
- 10 Mar, 2011 1 commit
-
-
Mathias Bavay authored
-
- 09 Feb, 2011 1 commit
-
-
Mathias Bavay authored
The popc version has been updated. It is far from perfect (lots of popc specific hacks), it lacks an IOManager parclass, but this is the minimum that we need for Alpine3D... The ptr_to_function to ptr_to_object cast warning has been turned off (at least for gcc). This does not fix the core issue (that has to be dealt with by the future c++ standard), but at least we don't see it anymore...
-
- 08 Feb, 2011 1 commit
-
-
Mathias Bavay authored
Another commit related to timezones... The Unix date always being in UTC, this has been fixed. The resampling was not using dates in a proper way, this has been fixed. The GSN plugin has also been fixed, it now rounds time to the closest minute (in order to be consistent with our advertised "1 minute time resolution"). A rounding method has been implemented for dates. The timezone parameter in io.ini is now named TIME_ZONE instead of TZ for clarity. Undefined dates should now be fully handled (ie: also in arithmetic).
-
- 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.
-
- 28 Jan, 2011 1 commit
-
-
Marc Diebold authored
A new version of the CosmoXMLIO plugin is also part of this commit, with some necessary fixes in the CMakeLists
-
- 19 Jan, 2011 1 commit
-
-
Mathias Bavay authored
The definition of the "<<" operator has been written for IOManager and made more consistent for others
-
- 09 Dec, 2010 1 commit
-
-
Thomas Egger authored
MeteoData now has an extra public member variable: StationData meta. It will hold the meta information of the measurment instead of dragging along a second vector<StationData> alongside the vector<MeteoData> everywhere. This has huge implications: the IOInterface has been rewritten, subsequently changes need to be propagated into all plugins and all modules dealing with meta data.
-
- 24 Aug, 2010 1 commit
-
-
Mathias Bavay authored
The comparison operator of Coords has been reviewed and improved. The << operator that is not available for a parclass (for popc) can be replaced with IOHandler.toString() for POPC
-
- 20 Aug, 2010 1 commit
-
-
Mathias Bavay authored
Temporary fix for the << operator and POPC: a par class can not have a "friend" method... (so IOHandler can not redefine "<<" the way we used to do). Therefore, it has been disabled for popc
-
- 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.
-