- 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.
-
- 29 Sep, 2015 1 commit
-
-
Mathias Bavay authored
-
- 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!
-
- 27 Aug, 2015 1 commit
-
-
Mathias Bavay authored
The K_TO_C and C_TO_K macros have been replaced by static methods in the IOUtils namespace. They now properly check for nodata in order to avoid weird values and outputs...
-
- 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).
-
- 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).
-
- 26 Aug, 2014 1 commit
-
-
Mathias Bavay authored
Fixing two tests that were not working anymore (since a new parameter, TAU_CLD had been inserted). White spaces in MeteoData.h, more logical iteration in ARCIO.
-
- 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.
-
- 29 Jan, 2014 1 commit
-
-
Mathias Bavay authored
Small cleanup in GSNIO, changing URL/USER/PASS to GSN_URL/GSN_USER/GSN_PASS. Updated the documentation version; fixed a documentation bug.
-
- 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).
-
- 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 2 commits
-
-
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.
-
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!
-
- 02 Nov, 2012 1 commit
-
-
Mathias Bavay authored
-
- 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).
-
- 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).
-
- 23 Jun, 2012 1 commit
-
-
Fierz authored
-
- 21 Jun, 2012 2 commits
-
-
Mathias Bavay authored
Fixed a warning with codeblocks, fixed a bug that prevented MeteoData from compiling and improved detection of MeteoIO (but paths with spaces are still not working properly in some cases).
-
Mathias Bavay authored
-
- 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...
-
- 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 Jan, 2012 1 commit
-
-
Mathias Bavay authored
-
- 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
-
- 19 Sep, 2011 2 commits
-
-
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).
-
Thomas Egger authored
Performance boost: Redesign of class MeteoData. The individual public double members like tss, ta, rh have been removed and instead of the rather complicated internal representation with the help of std::map and pointers, the MeteoData object now holds all its important information in one double vector (meteo data) and one string vector (parameter names). Thus the overloaded copy constructor could be slashed radically. This leads to huge performance gains, especially when dealing with huge vectors of MeteoData (which are needed for filtering, resampling, etc). Furthermore the access to the meteo parameters has been simpleified by overloading the operator(), replacing the old .param(size_t index) and .param(string paramname) functions: MeteoData md; double ta = md(MeteoData::TA); OR double ta = md("TA"); These changes were propagated into all of MeteoIO.
-
- 19 May, 2011 1 commit
-
-
Mathias Bavay authored
-
- 17 May, 2011 1 commit
-
-
Mathias Bavay authored
-