WSL/SLF GitLab Repository

Skip to main content
Sign in
Snippets Groups Projects

Repository graph

You can move around the graph by using the arrow keys.
Select Git revision
  • 5f8a8c2b0fce797d88971ddb48c7153eb5d86ec0
  • master default protected
  • BUFR_changes
  • feature/web-service
  • limiting_trends
  • test
  • MeteoIO-2.11.0
  • webservice-2022
  • MeteoIO-2.10.0
  • MeteoIO-2.9.0
  • MeteoIO-2.8.0
  • MeteoIO-2.7.0
  • MeteoIO-2.6.1
  • MeteoIO-2.6.0
  • MeteoIO-2.5.1
  • MeteoIO-2.5.0
  • MeteoIO-2.4.2
  • MeteoIO-2.4.1
  • MeteoIO-2.4.0
  • MeteoIO-2.3.0
  • MeteoIO-2.2.0
  • MeteoIO-2.1.2
  • MeteoIO-2.1.1
  • MeteoIO-2.1.0
  • MeteoIO-2.0.0
25 results
  • Display full history
  • Display up to revision
Created with Raphaël 2.2.012Jan111097643225Dec23222019Nov1816151413111098732131Oct302423211711643229Sep2726222120191312231Aug302924232216830Jul28272620191815765430Jun242320181610830May2726252419181716131211107421Apr2016151330Mar2925242322211918171615111098543125Feb242322211817161514111098432131Jan30282726241914131211876517Dec1611109716Nov9865432129Oct272524222120121173130Sep22876327Aug26242320191817161211106432128Jul262322212019161514131276230Jun29282625242221171615149873228May27266330Apr292826252221201615141312876131Mar3029262519161594125Feb232219181716151095329Jan28272420191814131287421Dec17151198732122Nov191712111097543230Oct29282722211914139518SepSpeed improvement for IDW based on the profiling performed by HES-SO's V. Grivel: the stations' positions are saved in two vectors (eastings and northings) before walking the grid. For low number of stations, this makes no visible difference. For large number of stations, this makes a huge difference (as seen on the Graubünden simulation, with 35 stations).After playing with pngcrush, a new filter has been enabled for the PNG compression. A specific compression strategy for deflate is also now enabled for indexed images. This keeps run time identical but offers a significantly smaller file size (compared to the full color, initially generated PNG of the last benchmarks, it now shows a 40% run time reduction for the whole loading+png output and 87% size reduction).Indexed gradients are now handled by the Gradient class and used by the PNGIO plugin to generate indexed PNGs (some consts in the code can toggle it back to non-indexed images). This leads to a significant speedup and large file size reduction. On a DEM test case, while reading a 2D ARC grid and writing it back, the following have been measured:clearer error message when the file's header does not match its contentThe "freeze" color gradient now has a fixed point at zero celsius. A pointer error (related to the FILE pointer) has been fixed in PNGIO by making this pointer a class member. A much improved error message is now generated when a file can not be opened.Introducing smart legends: this tries to find a meanigful range and steps within that range. The choice of rounding the lower and upper bounds (thus not guaranteeing that the whole data fits in the legend) has been made as it could lead to more suitable legends.Changing the case of A3D_VIEW in ARCIO, fixed an image corruption issue in PNGIO (libpng just *forgets* to flush the file buffer...). Added a missing include in MeteoIO.hA new key has been added that was missing: GRID2DPATH that can be in intput and output. This key is now properly handled by the appropriate plugins. A new color reduction strategy has been implemented in the gradients and the PNG plugin: instead of reducing the colors coming out of the gradient, the values coming in are discretized. This leads to much more effective size reduction for the same output quality, with 5% speed increase compared to the original code not doing this reduction (test: reading and writing back a grid). The file size is now 1/3 of the full color file.A few hard coded parameters have been declared as static const (color depth per channel, max color per channel) in order to make the code cleaner. A new method has been introduced in the Gradient class: setNrOfColors. This allows to specify a reduced number of unique colors (even if still coded on 8 bits per channel). By using this call in PNGIO (with 8000 unique colors), the output remains visibly almost the same (only some very slow varying parts see a flat color instead of a slow gradient) while the run time is reduced by up to 5% and the file size more than halved.The gradients now don't provide a transparency value (since it had to be either fully opaque or fully transparent) but only a boolean. PNGIO now uses a transparent color to encode transparency instead of a true alpha channel, leading to improved run times and smaller file size. The drawback is that pure white is now the transparent color.A new gradient type has been added (blue-green isomorphic) and some small things improved thanks to valgrind (one potential out of bounds read and with callgrind some small speed improvements)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.Better handling of "autoscale": the min and max are almost always taken into account (this is usefull to set fixed points, like the snow line, the sea level, etc) and the autoscale bool is used to tweak a given gradient for better display in autoscale (ie: removing the snow line in autoscale). The client is then responsible for provided the relevant min and max that he wants to use (constant -> no autoscale or variable -> autoscale).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.A few options have been added to PNGIO and autoscale is now supported by the gradients.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!The legend class is now free of hard-coded values in the middle of the code (all depends on the static consts).The NearestNeighbour 2D resampling algorithm has been reshaped in order to offer the same interface as BiLinear. A typo in its name has been fixed. But NearestNeighbour does not work properly (bug not found yet)A few small things for fonts...The purely graphical parts of PNGIO have been isolated in a new file, Graphics, that contain the Legend class, a Color namespace and a Gradient class. The gradient code is not so clean yet, but the PNGIO plugin is now much cleaner. The color gradients will actially need some serious re-actoring and design in order to be both flexible and efficient (the odds are, it would be based on a object factory and several derived classes like for libFit1D).The 2D_interpolations example has been updated to reflect recent changes (see previous commit). Improvements in the legend for PNGIO.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.The legend text has now its own color and the legend background can also have its own color (or remain transparent).Much improved legends: the font size is twice as big, the verticals are bold, the exponent is half-height. And spacing is more pleasant.The png plugin can now generate a legend. This is still very primitive, the code is not so nice, but it compiles cleanly and works. Looking forward for the next version!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)Oups, wrong number of arguments in the configuration of HNW_MeltA lot of writes were using std::endl for end of line, which forces a buffer flush. This lead to a visible performance cost (as shown by the profiling project made in collaboration with HES_SO). These have been replaced by "\n" that lets ostream manage its buffer as it wants.More error checking: the offsets and multipliers must match the number of fields and the number of fields must match the true number of columns at each lineTagging release 2.1.2MeteoIO-2.1.2MeteoIO-2.1.2More detailed error messages in libsmetThe imisio USE_IMIS_HNW option is getting simpler... winter condition detection is not applied anymore (leaving the application do it, or an extra filter be implemented for it later).Very small changes (ie: excluding exception backtrace) so that MeteoIO compiles for Android (follow the "Getting-started" documentation page if you're want to witness it by yourself!). Basically, android-cmake adds a new plateform variable (named "ANDROID", how surprising) that we use to skip the backtrace and its include.Added parameter check to the HNW_MELT filter and changed its handling of filtered points: since when we can diagnose that the non-zero measurements are coming from melt in the sensor, we now set the measured value to zero. It gets set to nodata only when the melt conditions could not be established (ie: missing measurements on RH, TA, etc). We will have to see if it really makes sense by using it for a while...Extra clean up of BormaIO and GSNIOThe "RateFilter" filter has been renammed "FilterRate" in order to be more consistent with other filters (this does not change anything user-side). A new filter has been created, HNW_MELT. This applies the Snowpack criteria on a precipitation measurement: if relative humidity is not high enough or TA and TSS too far apart, it is considered that any measured precipitation comes from snow melting in the (unheated) rain gauge, therefore the measurement is deleted.The Fit1D class constructor can now read a fit model name as a string. This was necessary for parsing a user input coming from io.ini. Correcting a few doxygen comments.Oups, types mismatch... and the version numbers have been pushed up in order to prepare for the upcoming releaseSome improvements, to give more errors and warnings in case of bad or sloppy input, or inproperly formatted SMET-files.
Loading