- 06 Oct, 2015 2 commits
-
-
Mathias Bavay authored
By simplifying MeteoData, the memory consumption of a benchmark such as data_converter is reduced by almost 20%
-
Mathias Bavay authored
-
- 01 Oct, 2015 1 commit
-
-
Mathias Bavay authored
the USER interpolation method should now work as expected. A new method "getParameterIndex()" has been written for MeteoGrids for a future use.
-
- 01 Sep, 2015 1 commit
-
-
Mathias Bavay authored
Finally, adding PSUM_PH to the MeteoData enum. And implementing an interpolation algorithm that generates distributed PSUM_PH by calling the parametrizations on each cell.
-
- 31 Aug, 2015 1 commit
-
-
Mathias Bavay authored
Finally, a long awaited (and MAJOR) change: HNW is gone, it is now PSUM. This name should be clearer and every occurences of "HNW" (even in temporary variables or algorithms) have been replaced by psum. A check is performed on keys containing "hnw" and an exception is thrown if some are found, urging the user to update the ini file. Please keep in mind that the calling codes have to now refer to MeteoData::PSUM and that some algorithms are now named differently!
-
- 16 Jul, 2015 1 commit
-
-
Mathias Bavay authored
A new date format has been added: RFC868. Two MeteoGrids have been renamed: ISW_DIR as ISWR_DIR and ISW_DIFF as ISWR_DIFF while a new grid has been declared (P_SEA). A few new constants have been declared. Some new links into the GRIB documentation as well as support for TAU_CLD. The NetCDF support is much improved, although there are still things left to do (writing grids out has been disabled for the moment, the parsing of the time units is currently not done, there is no support for automatically getting the data out of multiple files in a directory, etc).
-
- 09 Jul, 2015 1 commit
-
-
Mathias Bavay authored
The CNRM plugin can now be enabled and properly works. Its documentation has been updated and improved. The NetCDF plugin can now read DEMs using various schema/conventions and its documentation now matches the code. A few more MeteoGrids have been defined that are required for meteorological model outputs and for some future spatial interpolations (ISW_DIR, ISW_DIFF for example). The PNG plugin creates a few more EXIF fields in order to make it very easy to integrate in google earth (but it seems that google earth does not like indexed pngs). A bug computing the geolocalization of grids coming from NetCDF has been fixed (all grids were slightly off).
-
- 17 Jun, 2015 1 commit
-
-
Mathias Bavay authored
fixed a bug when computing the amplitude with the "daily_avg" resampling algorithm. Very minor improvement to the MeteoData::merge method.
-
- 15 Jun, 2015 1 commit
-
-
Mathias Bavay authored
Some code cleanup into the MeteoData::merge methods. A new method has been implemented to merge all stations close to each other within a single vector<MeteoData>. Practically: several data sets from the same location can then be read and merged on the fly by a call to MeteoData::merge(vec).
-
- 27 Aug, 2014 1 commit
-
-
Mathias Bavay authored
A bug has been found (thanks to ctest!) that was introduced when we added TAU_CLD: the new MeteoGrid SHADE was only partially implemented and this lead to segfaults. The decrementing code in ARCIO was wrong and this has been fixed.
-
- 22 Aug, 2014 1 commit
-
-
Mathias Bavay authored
Adding a new meteo parameter: the cloud transmissivity TAU_CLD defined as iswr_meas / iswr_clear_sky (ie the potential radiation computed at ground level with a standard atmosphere, see Iqbal 1983). This parameter is already used by the AllSky_LW and PotRad generators and properly handled by the PNG plugin. The PNG plugin can now also properly output a hillshade (as MeteoGrids::SHADE).
-
- 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.
-
- 31 Jul, 2014 1 commit
-
-
Mathias Bavay authored
-
- 28 Apr, 2014 1 commit
-
-
Mathias Bavay authored
Several bugs have been fixed: in the AllSky generator, the cloudiness was still forced to 0.5 (as for debug). The data creators were also called *after* the generators, thus making it impossible to used a created data in a generator. The placeholders have been put in place (but commented out) for the cloudiness/tau_cloud/clearness index support in MeteoData. It seems that Kt=clearness index might be the proper way to go, but this is still a messy field. Some comments have been added in the code to clarify the use of such parameters.
-
- 28 Jan, 2014 1 commit
-
-
Mathias Bavay authored
A new concept has been introduced: virtual stations. These are points where the meteo data will be transparently spatially interpolated and returned to getMeteoData calls. This allows a point model like Snowpack to work on virtual stations without any internal changes. A few new keys have been introduced in order to provide the necessary information: virtual stations location, meteo parameters to interpolate. For example: VIRTUAL_STATIONS = true VIRTUAL_PARAMETERS = TA RH HNW HS VW RSWR ILWR VSTATION1 = 46.8 9.833333 VSTATION2 = 46.7 9.9 A few drawbacks still exist: the time range getMeteoData call is not supported yet. A DEM must be provided (ie DEM key in ini file). Obviously, all interpolated parameters must have been associated with interpolation algorithms. The virtual stations have IDs such as VIR1, VIR2, etc For performance reasons, the interpolation is then performed on a one cell dem, which means that algorithms using dem characteristics would (currently) be messed up. Basically, this is still a work in progress before everything is robust! Otherwise, some POPC ifdef have been removed and the "iomanager.interpolate(... Grid2DObject)" call has been removed since the "iomanager.getMeteoData(... Grid2DObject)" call should be used instead (for consistency).
-
- 05 Oct, 2013 1 commit
-
-
Mathias Bavay authored
Fixing some warnings for Visual C++ and also using ostringstream instead of stringstream when appropriate
-
- 15 Jul, 2013 1 commit
-
-
Mathias Bavay authored
-
- 18 Apr, 2013 1 commit
-
-
Mathias Bavay authored
-
- 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()".
-
- 23 Mar, 2013 1 commit
-
-
Mathias Bavay authored
-
- 21 Mar, 2013 1 commit
-
-
Mathias Bavay authored
A buf in some unsworth implementation in Atmosphere has been fixed (check with nodata). The order of the meteodata fields has been changed because this directly impacts the order of the processing of the fields (the goal being that fields that are often checked with a combination of other fields get processed in the end). The unsworth_dilley ILWR data generator has been implemented with the usage of the last cloudiness during the night as well as the usage of a generic snow albedo (or grass albedo) to convert RSWR to ISWR (if necessary) coupled with a threshold on the snow height.
-
- 10 Mar, 2013 1 commit
-
-
Mathias Bavay authored
Lots of vectors copies were made using push_back(). This is definitely not efficient! This has been replaced by vec_o = vec_i, we will see which impact it has on performances...
-
- 11 Feb, 2013 1 commit
-
-
Mathias Bavay authored
Lots of small fixes after running cppcheck on Windows: unused variables, use ++i instead of i++ for complex types (ie mostly iterators for us) for more performance, a few variables that could be passed as const&, use vector.empty() instead of vector.size==0 (for clarity and potentially performances).
-
- 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).
-
- 01 Aug, 2012 1 commit
-
-
Mathias Bavay authored
Cleaner definition of epsilon in MeteoData. Finally, working 2D_interpolations test (with reference files and relying on numdiff).
-
- 31 Jul, 2012 1 commit
-
-
David Zanella authored
-
- 20 Jul, 2012 1 commit
-
-
David Zanella authored
-
- 17 Jul, 2012 1 commit
-
-
Mathias Bavay authored
A small change in FindMeteoIO has been ported from Snowpack (looking for headers in METEOIO_ROOT, useful for non-install systems). The == operator for Coords now also checks the altitude. Merge methods for MeteoData and vectors of MeteoData have been implemented, following issue 45. This allows to easily reads data from multiple IOManagers and merge them together before further processing (spatial interpolations, etc).
-
- 21 Jun, 2012 1 commit
-
-
Mathias Bavay authored
-
- 20 Jun, 2012 1 commit
-
-
Mathias Bavay authored
The MeteoData == operator now compares with an epsilon. The chekEpsilonEquality function has been rewritten, according to best practise and inlined. The powN functions have been moved to MathOptim and inlined. This makes the benchmarks 2% faster, that's such a victory...
-
- 19 Jun, 2012 1 commit
-
-
Mathias Bavay authored
Fixed a warning with XCode 4.3 on osX. Tried to make a more standard use of c++ (relying on std::fill for filling vectors, relying on vector.resize(sixe, value) instead of manually initializing a vector, etc). A few more const added where appropriate. It makes the benchmarks slightly faster...
-
- 30 May, 2012 1 commit
-
-
Mathias Bavay authored
A few "consts" have been added. The dates are now considered to be positive which allows comparison operators to be optimized: converting 1 year of hourly data with data_converter got almost 30% faster. Moreover, when looking for resampling window, two extra checks have been added to quickly see if the start and end point are even in the input vector. This reduces data read miss (because we start by reading vecM[0]) and skips browsing through the whole vector if we are in a large data gap. On the same 1 year data set with one large gap for one parameter, the gain is of almost 20%. Overall, these two optimizations lead to almost a doubling of the speed with data_converter... Soon we'll be so fast that we will get the data before it is even measured!
-
- 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.
-
- 06 Jan, 2012 1 commit
-
-
Mathias Bavay authored
New methods "moveByXY" and "moveByBearing" have been added to Coords, addressing issue 39. Code cleanup and extensive documenting have been performed on Graphics and PNGIO, that now supports creating world file (optionnally). A new option has also been added to ARCIO, "A3D_view", to generate file names compatible with the Alpine3D's grid viewer (false by default). A new function to remove the extension from a file name has been implemented in IOUtils.
-
- 04 Jan, 2012 1 commit
-
-
Mathias Bavay authored
Now, the plots are fitted/optimized depending on the meteo parameter (if available). The proper metadata is written into the file (again, if available). More gradients have been implemented.
-
- 03 Jan, 2012 1 commit
-
-
Mathias Bavay authored
Now the color gradient can be chosen (given as an argument in the Gradient constructor). This is not yet really used by PNGIO, but this will come!
-
- 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.
-
- 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
-
- 26 Sep, 2011 1 commit
-
-
Mathias Bavay authored
Necessary changes for the POPC version (added missing files to the autotools, redid marshalling of MeteoData following the changes made in MeteoData)
-
- 19 Sep, 2011 1 commit
-
-
Thomas Egger authored
Further reduction of the MeteoData class: the setData(Parameter, value) setter has been eliminated and replaced where used with the new parenthesis operator(size_t index).
-