opengribs / XyGrib

This is the new home for the development of zyGrib
https://opengribs.org
GNU General Public License v3.0
119 stars 46 forks source link

Second Grib Slot #158

Open norulz opened 5 years ago

norulz commented 5 years ago

A feature addition needed is a second grib slot that provides loading of 2 grib files. Usage would be to compare two different models or the complement one model with additional data from another source. Either way there needs to be an option to view slot 1 only, slot 2 only or a combined view with different colors for arrows and lines. qtVlm has such a feature. There needs to be a choice to open a file to slot 1 or 2 and also download to slot 1 or 2

dominiquehausser commented 5 years ago

A very important objective.

taruti commented 5 years ago

Would be very nice also to have a low resolution GRIB of a wider area (smaller file size) and a high-resolution one from the local area.

When using XyGrib (or ZyGrib) a very common use case for me is to want as much detail as is possible for e.g. 100nm radius, and a less detailed view on a wider area (to have a reasonable small download).

did-g commented 5 years ago

Why only two slots?

What about:

Clicking on Wind in values panel open. alpha/ slot /display order (last first). 50% 1km 100% 4km 100% 12km 100% ICON 100% GFS (color?)

it displays GFS and stack all others on it. 4km and 1km have the same area so display the 1km one at 50% alpha.

By moving GFS to the top you hide others or by changing others alpha 0%

Or for seeing how prevision change with run: slot 1: xx at run00h slot 2: xx at run 06h slot 3: xx at run 12h

Regards Didier

norulz commented 5 years ago

In principle - no limit to slots. In practice there will be a need to differentiate using alpha or colors and the capability to provide enough distinction between slots will most likely lead to 3-5 slots being all we can handle.

Some thoughts on WHY, WHAT and HOW...

WHY: There are at least to main needs.

The first need is to create a compound set of parameters from more than one grib source. For example - atmosphere from one source, waves from a second grib and sea currents from a third grib. In a compound data set there is no duplication of parameters and it can be considered as one virtual slot.

The second need is one of comparing different models or reference times and there are multiple instances of a particular parameter.

The third need is to cover larger areas with smaller girbs. (No comparisons needed).

WHAT is compared?

I think that there are two meta-comparisons.

One meta-comparison is a more qualitative comparison of sets of data for an area on the map. Here we are comparing a picture. The elements that we can compare are arrows and iso-lines. Color shading can't be compared but can be flipped from one source to another to provide the "feel" of the picture.

The second meta-comparison is more quantitative and involves comparison of data in the different slots for a point on the map Here we a talking about comparing numbers.

HOW do we do it?

I think that we need to provide for both meta-comparisons. The map comparison is mainly a matter of making it easy to apply colors or alpha values to arrows and iso-lines for the comparisons. A slot switcher is obviously needed and we need to know what the values panel is showing.

The comparisons of data for a point on the map has multiple solutions. The value panel can be flipped through the slots (perhaps using the space bar) while the mouse cursor is held on the point of interest. When opening a meteotable a secondary selection can be for the slot of interest (resulting in a meteotable for one slot). Alternately all slot data can be loaded into the table and several display options for the meteotable can be added to flip between slots to show one slot at a time or selected parameters can be expanded to show each slot on a line one above the other.

I feel that we need to be careful not to introduce too much complexity and the slot management needs to be simple and intuitive.

Cheers, David

dominiquehausser commented 5 years ago

I find the idea of multiple slot very interesting. With 2 or 3 big screen, this will be fantastic. With one screen (and probably rather small on a sailing boat), swaping between the models like it is done in qtvlm may work, but you may have a better idea like a vertical line moving horizontaly with one image on the left and one on the right, like it is done in GIMP 2.10 to show the effect of some filters.

theeko74 commented 5 years ago

Hi all,

This feature will be useful for me to compare different weather models and try to make my mind of the worst scenario (I use it for sailing so my goal is to avoid strong wind). So, here is my idea:

I think this keeps it simple for the beginning, Regards

did-g commented 5 years ago

I made a POC: https://github.com/did-g/XyGrib/tree/dev add four crosses, select one for loading a different grib. Order left to right.

Lot of broken stuff but it's bricks for building a sane UI.

Windows: https://ci.appveyor.com/api/buildjobs/lrfy7g4w4q2se4ij/artifacts/build%2Fsrc%2FXyGrib.exe Linux and Mac you have to compile your own.

norulz commented 5 years ago

Amazing! Started to play with it and will spend more time over the weekend.

I like the two basic modes. The simple show one at a time "Rolodex" mode and the stacked mode. In the stacked mode I think that there needs to be a control widget (like the layer widget in Gimp) where the layer order can be changed (who is top and who is in the middle etc). Also which of the layers is visible. i.e. compare 2 layers or compare 3 layers.

Great stuff.

norulz commented 5 years ago

Another thought... Time needs to be synchronized. I think that it should most likely always be on in the stacked mode and perhaps optional in the "Rolodex" mode. I'm not even sure if there is a usage scenario where it might be better off.

Maybe it needs to be off when looking at the forecast trend (same file in two or three slots)