Akylas / oss-weather

An OSS weather app for iOS/Android
MIT License
188 stars 13 forks source link

Open-Meteo various models #89

Closed 0-5-0 closed 5 months ago

0-5-0 commented 7 months ago

Hi, would it be possible to expose the different weather models provided by Open-Meteo so users could choose?

Sometimes it seems like the "best choice" provided by Open-Meteo isn't always the best, for example it might give me GFS when what I might want to see is GEM, ECMWF or ICON. I'm not sure if this could be selectable in the configuration.

Alternatively I'm not sure if it would be possible to add a separate line for each model using precipitation and temperature data, just a different colour similarly to how the Weatherian weather app does it.

As a side note I love your design and the way you display UV, wind, temperature and precipitation. Looks great!

farfromrefug commented 7 months ago

@0-5-0 thanks a lot for the kind words! and keep on proposing changes (even UI) ! The basis of that feature is already in the app. Will try to finish. It is a bit tricky seeing how data is returned in Open-Meteo (especially is multiple models are selected)

0-5-0 commented 7 months ago

I was thinking treating the graph and the list sort of as different entities. I'm not sure if it would make sense to allow selecting different/multiple models in the graph like Weatherian does then only selecting one provider for the list.

For the list you'd be looking at averaging out all the various models if they were all added together but that might not give ideal results if one model is way off.

My main issue I guess with any weather app is only seeing one weather model at a time, I find it's nice to be able to see multiple weather models at the same time just for rain/snow/temperature, mostly for rain/snow though.

Thanks again, I've tried dozens of weather apps and this one got me to stick around, love the design, look and functions. It's 1 of only 2 that I use now.

farfromrefug commented 7 months ago

@0-5-0 ok so for now you will basically be able to select one OM model. I will query the selected model + best_match. Then i will get data from both with a preference on the selected model.

now yes i want the graph view too though it is quite a lot of work. I am thinking of something like this: https://www.meteoblue.com/fr/meteo/prevision/multimodel/paris_france_2988507

0-5-0 commented 7 months ago

That would be very cool :P, the graph idea you showed from meteoblue in your design/style would look amazing :)

farfromrefug commented 7 months ago

@0-5-0 a new build is up where you can for now select one model instead of best_model

0-5-0 commented 7 months ago

I didn't know there was that many models lol, looks absolutely fantastic the way you did it and seems to be working well.

farfromrefug commented 6 months ago

@0-5-0 i implemented basic models compare. It is in latest github release

0-5-0 commented 6 months ago

Nice, it's definitely a good start, I do like the weather condition one and that it uses the same icons as the rest of the app. I wonder if some of the others would look nice using similar icons from the daily/list view in the "main" app or a similar view to Weather Condition but printing the numbers in each box instead of the line chart.

The lines are a bit thin and colours are a bit difficult to read in dark mode. Weatherian is probably my main reference point but they only have temperature and precipitation in the same box. Windy could also be a good reference: https://community.windy.com/topic/26304/understanding-the-compare-forecast-feature-in-windy-com

farfromrefug commented 6 months ago

ok I ll look at improving colors and line stroke width. as for mixing datas I am not sure. not sure it would look nice on small screens. will keep on thinking about that. I have a view to see multiple graphs at the same through a listview. will see how to add that all

0-5-0 commented 6 months ago

The multiple graphs at the same time through listview seems like it might be perfect.

The reason I think it looks strange now is probably just because on portrait it shows as huge spikes filling up the whole screen, in landscape it looks much better. Could be just showing 2-3 graphs in list view would be fine.

Line thickness/colour changes would be good though, something closer to what you have on the main app screen maybe. I do understand there's a ton of models so you run out of colours though :)..

Some little bugs: I noticed the header/title above the radio buttons when switching from hourly to daily don't show.

Selecting precipProbability then windBearing or jumping between different data points it seems to throw a bunch of dots on the chart that then don't go away until you relaunch.

farfromrefug commented 6 months ago

@0-5-0 yes I wa thinking of forcing lanscape there. thanks for the bugs. will fix that all!

0-5-0 commented 6 months ago

Hopefully list view or just allowing the ability to show 2 charts would be fine for portrait. Super happy you have that in :)

0-5-0 commented 6 months ago

Landscape does look better, I'd probably still prefer 2-3 charts in portrait long term though :). Being able to see precipitation and temperature or something like that.

For the random dots that show up after switching between multiple charts I'm not sure if having the ability of swiping down to refresh might clear them?

farfromrefug commented 6 months ago

@0-5-0 I ll think about how to switch from landscape 1 chart to list multiple ones. as for dots remaining I could not reproduce. would ounmind makih a video ?

0-5-0 commented 6 months ago

I'll see if I can make a video but basically I select "compare models", if I already have it open on "windBearing" or "Cloud cover" (hourly or daily) or if I select "windBearing" or "Cloud cover" from another graph, instead of seeing a line graph it shows a bunch of dots for each data point like in the screenshot above.

If I then switch from windBearing and Cloud cover to any other graph the dots from those two graphs stick around and then since the graph scale for those is 100 or 300 the new graph uses the "old" scale from windBearing and Cloud cover then it makes the chart unreadable (since the scale is much lower for most of the other charts).

I tried with only MeteoFrance selected to see and it still does it with one provider selected, I was using all the OpenMeteo seamless models before.

Not sure if you see line graphs for both those comparisons? All the other charts show line graphs for me.

0-5-0 commented 5 months ago

I haven't been able to make a video but I've tried on 3 phones now, 2 Pixel with GrapheneOS, one of them with Google Play sandboxed and one without Google Play. Then another Samsung phone with normal Google Play.

From default settings I click the three dots menu -> Compare Models -> Little sun symbol -> select "WindBearing" or "Cloud cover" and both graphs show dots instead of lines, the dots from those 2 graphs then stick around when I switch to other charts.

It works great otherwise, I'd still prefer portrait hopefully with the option of displaying 2 graphs some day :), the data however is really nice, being able to choose the models you want to see. The headers for hourly/daily are still not visible though when selecting the graph you want to view.

0-5-0 commented 5 months ago

Made a video in landscape since forced rotation messed with the video a bit.

I'm basically just going through selecting Compare Models -> selecting Cloud cover, you can see the dots instead of lines for that graph, going back to Precipitation afterwards the dots stick around and you can't see Precipitation well anymore because the scale is changed to the Cloud cover one. Same issue for WindBearing.

Clicking back and launching the Compare Models menu again takes you back to the last used graph and depending on if it was Cloud cover or Precipitation that was last used it goes back to the dots or works fine but the issue occurs again as soon as you open Cloud cover or WindBearing (which both show dots).

This was reproducible on 3 different Android phones, 2 different phone makes.

https://github.com/Akylas/oss-weather/assets/112411524/cee99310-7363-4c3e-b99e-d0cb61ce6974

0-5-0 commented 5 months ago

You can also see the missing hourly/daily headers when I switch between precipitation and cloudcover.

farfromrefug commented 5 months ago

@0-5-0 new version available! hopefully it fixes it all for you

0-5-0 commented 5 months ago

I'm still getting the same dots with this version. I tried uninstalling, clearing cache, deleting data on 2 different phones and it's the same thing, even new install, choosing Grenoble as the location, clicking compare models then going to WindBearing and CloudCover directly, the dots come up. Precipitation Probability seems to be giving dots too now.

Initially with this new version the compare model button was giving me an error similar to "no data available for your location", clearing cache didn't fix it, clearing the app data fixed it.

Side notes..

0-5-0 commented 5 months ago

WindGust as well give the dots now, however switching between all of them I don't have to go back to the main app screen to clear the dots, just changing between windBearing (dots) and Wind Speed (normal lines) the dots from windBearing don't persist on the lined charts anymore so that's good.

farfromrefug commented 5 months ago

@0-5-0 ok dots are normal. It is a scatter plot and i use it for data which can vary a lot. For data like wind guts or precipitation probability, data can dramatically change per hour. Using line chart would give something not readable. You can see that too on Meteoblue charts. And yes i thought your issue was with persistent dots while changing charts.

I will look at all your other points right now. Thanks!

0-5-0 commented 5 months ago

Haha, ok, then the "dots" issue is fixed, they refresh/don't carry into other charts anymore. :)

0-5-0 commented 5 months ago

Everything looks great in this newest version, I like the configurability :).

Only 1 new bug, if I switch between a few hourly charts in the compare models view the app crashes. Previously, clicking another hourly box would load that new chart but now it's as if it tries to load both charts and crashes.

Even with clear cache/clear storage it's the same issue.

0-5-0 commented 5 months ago

There's a weather app named Flowx (not open source though), they have the ability to add multiple graphs on the main page and they also have a compare option if you hold down on a graph, I'm not sure if that's what listView is that you've mentioned before. I just thought I would mention Flowx if it can give some ideas for the compare model view, how it displays portrait/landscape with multiple charts, styling, colouring and scales.

I'm quite happy with what you have now though so it's more for continuous improvement/down the line :).

The precipitation one is the one I would use the most personally and being able to see which model is predicting rain using the colours you have is awesome, it helps me figure out which model is more consistently accurate for my region.

I definitely prefer your view to that of Weatherian which stacks all the models over each other in the same colour or to how Flowx does it with individual charts in their compare view that you then have to individually compare.

Aside from that I'm happy closing this issue, I think you've added everything I was looking for :). Thanks for everything you do and for making this app open source.

farfromrefug commented 5 months ago

@0-5-0 thanks a lot! will look at flowx

0-5-0 commented 5 months ago

With the new version selecting "Weather Condition" in the compare models view with "Icon D2" selected it crashes the app, I'm just clicking/testing random stuff :), as a test I also selected every model and tried switching between all the graphs and it says "data not available" probably for one model but also doesn't display the rest of them, not sure if that's related. Everything else seems ok with the latest version. :)

I've been using only OSS Weather the last 2-3 months so that's a good sign :D

farfromrefug commented 5 months ago

@0-5-0 awesome thanks for the heavy testing. Helps a lot! Will fix all that