WSL/SLF GitLab Repository
Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
meteoio
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
snow-models
meteoio
Repository graph
Repository graph
You can move around the graph by using the arrow keys.
ac70a0c6d5ab11380c1d4d37aa957c0de7c864cb
Select Git revision
Selected
ac70a0c6d5ab11380c1d4d37aa957c0de7c864cb
Branches
4
master
default
protected
BUFR_changes
feature/web-service
limiting_trends
Tags
20
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
Select display option
Display full history
Display full history
Display up to revision
Created with Raphaël 2.2.0
7
Feb
3
2
1
31
Jan
30
27
25
23
20
19
18
17
16
13
12
11
10
9
7
6
4
3
2
25
Dec
23
22
20
19
Nov
18
16
15
14
13
11
10
9
8
7
3
2
1
31
Oct
30
24
23
21
17
11
6
4
3
2
29
Sep
27
26
22
21
20
19
13
12
2
31
Aug
30
29
24
23
22
16
8
30
Jul
28
27
26
20
19
18
15
7
6
5
4
30
Jun
24
23
20
18
16
10
8
30
May
27
26
25
24
19
18
17
16
13
12
11
10
7
4
21
Apr
20
16
15
13
30
Mar
29
25
24
23
22
21
19
18
17
16
15
11
10
9
8
5
4
3
1
25
Feb
24
23
22
21
18
17
16
15
14
11
10
9
8
4
3
2
1
31
Jan
30
28
27
26
24
19
14
13
12
11
8
7
6
5
17
Dec
16
11
10
9
7
16
Nov
9
8
6
5
4
3
2
1
29
Oct
27
25
24
22
21
20
12
11
7
3
1
30
Sep
22
8
7
6
3
27
Aug
26
24
23
20
19
18
17
16
12
11
10
6
4
3
2
1
28
Jul
26
23
22
21
20
19
16
15
14
13
12
7
6
2
30
Jun
29
28
26
25
24
22
21
17
16
15
14
9
8
7
3
2
28
May
27
26
6
3
30
Apr
29
28
26
25
22
21
20
16
15
14
13
12
8
7
6
1
31
Mar
30
29
26
25
19
16
15
9
4
1
25
Feb
23
22
19
18
17
16
15
10
9
5
3
29
Jan
28
27
24
20
19
18
14
13
12
8
7
4
21
Dec
17
15
11
9
8
7
3
2
1
22
Nov
19
17
12
11
10
9
7
5
Minor fixes in the documentation
Another fix/enhancement for POPC: the libraries now ends with "popc" in the popc version, as the autotools build was doing.
Better autodetection of popc
Extra marshalling required by Alpine3D
Fixed some 'non-virtual destructor' warnings and switched some options in cmake for POPC
A new file has been created to contain math optimizations (fast invSqrt, fast floor, etc). Please keep in mind that you must benchmark your code before committing something using these functions, since such optimizations can actually be slower than the standard version in some cases...
Some variable names starting with "_" have been fixed. The Crawford and Duchon ILWR model has been implemented in Atmosphere and checked on Weissflujoch data.
Now when the user selects POPC, the c++ and c compilers are forced to popcc.
More fixes for POPC builds and type error in Matrix.cc (with abs vs fabs). libsmet was also missing for the autotools...
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.
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).
Now, if the user specifies BUFF_GRIDS = 0 in his io.ini, grids buffering is completely by-passed.
Reading grids with the new API was not working in BufferedIOHandler (wrong ID built for the buffer)
A few more type issues have been fixed. The compilation instructions for Windows have been detailed for compiling PNGIO (not so easy for Visual c++). PNG_INDEXED and PNG_SPEED_OPTIMIZE are not keys exposed to the end user.
The fixed scale values in PNGIO have been changed, hoping to get better, more relevant plots. A few warnings have been removed (found with VC++).
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.
Grid namming scheme has been changed: this now uses a slightly modified ISO format: YYYY-MM-DDTHH.MM (because ':' is invalid for filenames under Windows)
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).
Improving error messages for file read/write/open errors.
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.
A small bug has been found and fixed in the Gradient class (when a data range is zero). A few extra output specifications have been added to PNGIO.
PNGIO now compiles with libpng 1.5 (as well as 1.4). Names demangling has been implemented in IOExceptions, making the backtrace much friendlier! (but this only works for gcc)
Oups, fixed a few mistakes in io.ini: PNG should not be enabled by default (since this is an optional plugin) and one PNG key was spelled wrongly...
Fixed a legend labelling issue (the zero was some times appearing as a very small number) and a legend under/over range issue for heat (that was not checking that the data was in [0,1])
Fixed the PNG world file (so that we return the coordinates of the center of the cell) and updated the examples so that they perform correctly with the latest version
Speed 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 content
The "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.h
A 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.
Loading