- 04 Sep, 2014 1 commit
-
-
Mathias Bavay authored
PINT is now properly supported in SMET. The OLWR/TSS conversion must now be handled by a data generator (implemented as "TS_OLWR"). A bug in the Coords documentation has been fixed.
-
- 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
-
- 16 May, 2014 1 commit
-
-
Mathias Bavay authored
-
- 08 May, 2014 1 commit
-
-
Mathias Bavay authored
Since IOUtils was getting bigger and bigger, all the methods dealing with low level file handling have been moved into a new file, FilesUtils. It remains in the IOUtils namespace. One method has been moved to Date. A few includes have been cleaned up.
-
- 03 Feb, 2014 1 commit
-
-
Mathias Bavay authored
The equator was not at the right location for UTM coordinates, therefore zones xxN were supposed to be in the southern hemipshere... This fixes issue 351
-
- 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()".
-
- 05 Mar, 2013 2 commits
-
-
Mathias Bavay authored
Still tracking a stupid bug somewhere between meteoio, snowpack and alpine3d... Trying to remove some unecessary stuff
-
Mathias Bavay authored
fixing some of the warnings found on Hera (sorry for not noticing before). All the size_t / unsigned int stuff will have to be addressed later
-
- 04 Mar, 2013 1 commit
-
-
Mathias Bavay authored
Trying to get rid of a pointer bug in A3DIO: the ifstream object does not need to be a class member (ie reducing its scope), simplifying some calls...
-
- 14 Feb, 2013 1 commit
-
-
Mathias Bavay authored
In order to try to be closer to the spirit of the STL, now the empty strings/vectors/lists are tested with .empty(), the first/last elements of vectors accessed with front()/back(), the empty strings are not contructed with string("") but with string(), etc This makes a benchmark based on meteo_reading ~4% faster and this makes the code suprisingly easier to read. Some extra constification took place as well as some minor code cleanup (optimizing the comparison between two vectors in order to perform less tests, etc). The Date class can now properly generate and parse full ISO timestamps, including time zone information. The full specification is now supported by convertString() with a helper method in the Date class. Ouputing an ISO string with its time zone is done by requesting the ISO_TZ format.
-
- 03 Dec, 2012 1 commit
-
-
Mathias Bavay authored
Some warnings have been fixed in the tests and all 'string tmp=""' or 'tmp=""' have been replaced by either an empty constructor (that does the same ) or tmp.clear() (that does the same too)
-
- 02 Nov, 2012 1 commit
-
-
Mathias Bavay authored
-
- 30 Oct, 2012 1 commit
-
-
Mathias Bavay authored
The automatic tests have shown that the code was getting slower following the latest commits. After investigations (thanks valgrind!), it has been found that the newly added copy constructor of Coords was used a lot as well as setFunctionPointers(). Therefore the function pointers have been removed and replaced by a simple list of if(coordsy=="") etc. The run time is now back to normal (and actually up to 6% faster on some tests). Cosmetic touch up on Date.
-
- 29 Oct, 2012 1 commit
-
-
Mathias Bavay authored
-
- 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).
-
- 25 Oct, 2012 1 commit
-
-
Mathias Bavay authored
Some extra documentation has been added for the UPS coordinate system. The coordinates test has been expanded. A missing default value has been added to the Suntrajectory.
-
- 24 Oct, 2012 1 commit
-
-
Mathias Bavay authored
The Universal Polar Stereographic projection coordinates have been implemented. A small bug has been discovered (and fixed!) for latitude/longitude specifications as degrees/minutes/seconds for negative coordinates (the conversion to decimal was then wrong because of an improper rounding direction).
-
- 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).
-
- 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...
-
- 11 Jun, 2012 1 commit
-
-
Mathias Bavay authored
Since the autotools are obsolete (and unmaintained) in MeteoIO, they have been removed. The popc++ version can be compiled with cmake (with some tricks: disable GSN and force the compiler to popcc). For consistency, the various definitions of ot_deg and to_rad have been suppressed and replaced by Cst::to_deg or Cst::to_rad. Some mentions of the Earth's radius have been replaced by Cst::earth_R0. In Coords, some variables have been declared as const.
-
- 24 May, 2012 2 commits
-
-
Mathias Bavay authored
Fixed more warnings, found by Code::Blocks. A bug when compiling gsoap files with migw has been fixed by a workaround (adding a macro definition in the CMakeLists.txt).
-
Mathias Bavay authored
-
- 10 Apr, 2012 1 commit
-
-
Mathias Bavay authored
After auditing the code with Flawfinder version 1.27, a few things have been fixed: IOUtils::getLogName() now truncates the log name to 64 characters maximum (since it was stored as a C++ string, it should not have been a problem but converting back as string.c_str() could have created problems in the user code in case of very large strings (ie: malicious user trying to break the system) in environment variables. In Coords, the epsg code is checked for range before casting to short int, in order to throw an exception at the proper place (and avoid a possibly corrupted return value that would have surprised the end user in the next exception). A more serious issue has been fixed in Coords::parseLatLon() where a malicious coordinate string could have overflowed on the stack.
-
- 26 Mar, 2012 1 commit
-
-
Mathias Bavay authored
The usage of SMET for giving special points was not documented. When giving OLWR in SMET, TSS was computed but could lead to an arithmetic exception. PNGIO could throw an exception without freeing all the png_* memory, this has been improved. A few HACKS have been fixed/removed.
-
- 16 Mar, 2012 1 commit
-
-
Mathias Bavay authored
Fixed a naming issue with ARCIO, the cellsize is now computed in a more precise way (using the distance betweens two corners) as recommended by WMO and the distance calculations from Coords are now static methods.
-
- 27 Feb, 2012 1 commit
-
-
Mathias Bavay authored
The lat/lon rotation code has been moved to Coords as a static method and some issues have been fixed (it was still not working properly). This should now work and handle correctly the South Pole coordinates as given by the GRIB file (the necessary transformation has been documented in Coords, namely -latitudeSouthPole; 180+longitudeSouthPole).
-
- 23 Feb, 2012 1 commit
-
-
Mathias Bavay authored
The << operator for Coords has been slightly improved. The Gradient class now generated true-color output when indexed=false (and is used to generate true-color PNGs when PNG_INDEXED=false). The GRIBIO plugin now reads a file name prefix from io.ini. It also properly convert the internal rotated lat/lon into geographic lat/lon and properly computes cell size. The georeferencing of grids is therefore now correct. The WMO standardized tables are now read first before trying alternate parameters. The documentation has been significantly improved.
-
- 09 Feb, 2012 1 commit
-
-
Mathias Bavay authored
Two new methods have been implemented as static of Coords, to compute the ground length of one degree of latitude or longitude at any given latitude. A check for 0x0 sized grids has been added to PNGIO. The ability to specify the number of colors (ie: discretization) in the io.ini has been added. A breakthrough occured with GRIBIO, that starts to be able to do some things. This is still not usable, but definitely moving forward!
-
- 19 Jan, 2012 1 commit
-
-
Mathias Bavay authored
Since the _USE_MATH_DEFINES for Windows was making trouble (it should have enabled using M_PI), the basic math constants have been added to meteolaws/meteoconst.h. Now, please use things like Cst::PI and include meteoconst.h.
-
- 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.
-
- 11 May, 2011 1 commit
-
-
Mathias Bavay authored
Since we leave some file descriptors behind, this commit tries to close potential loop holes. A possible source of arithmetic exceptions in Coords has been fixed (calculating the distance between two identical points).
-
- 24 Mar, 2011 1 commit
-
-
Mathias Bavay authored
The array getSum() was not the most appropriate method... It has been replaced by a getCount(), which means that to really get the sum, one has to do getMean()*getCount(). A new Coords::isNodata() method has been implemented as well as the possibility for two Coords objects to be equal if both are nodata. This is now used in SMETIO so that if the position of a station becomes nodata, it won't force its position information into the data section. Some comments have been cleaned up in IMISIO, better exceptions thrown in SNIO and better backtrace formatting in IOExceptions (this being only for Linux, a dark grey text color has been specified to more or less make the backtrace less intrusive and scary to the user). More Visual C++ tweaks in CMakeLists
-
- 23 Mar, 2011 1 commit
-
-
Mathias Bavay authored
The CMakeLists has been adapted so that it properly supports various Visual C++ options. Now, options are set per compiler and per plateform (depending on the scope of the said option). Therefore, choosing a target like "optimized" really produces compilation optimized for speed on g++ as well as Visual C++. Several type casting issues (warnings) have also been addressed.
-
- 21 Mar, 2011 1 commit
-
-
Mathias Bavay authored
First batch of fixes for issue 68 (variable names starting with "_" invalid for some versions of Visual C++)
-