breezy-weather / breezy-weather

A Material Design Weather Application
GNU Lesser General Public License v3.0
5.16k stars 159 forks source link

[China] Wrong unit for nowcasting resulting in small values in the chart #1233

Closed PumpkinJui closed 1 month ago

PumpkinJui commented 1 month ago

Steps to reproduce

When it is raining outside, open the app and refresh.

Expected behavior

The precipitation block will appear with a chart of the predicted data. It should be clear enough to see changes between different time.

Actual behavior

See the screenshot below. The chart data is extremely low; to be honest, I never see cylinder going beyond “Light” ever since I used this app more than a year ago. Even in really heavy rains, where the Meteorological Observatory issued Orange Rainstorm Warning Signals (Level II in meteoblue if you like) and the streets became “rivers” due to bad drainage facilities, it was still a “Light Rain” in the chart. When touched, the cylinder will show its actual data. The 0.4 mm/h you can see is the left ones. So how much rain should it become a “Medium Rain”? Apparently, there must be something wrong. Additionally, even though it indeed is a “Light Rain”, I think it is not friendly for nearsighted and vision-impaired people to see any changes.

Weather source used

China

Breezy Weather version

5.2.6

Android version

Android 8.1.0, ColorOS 5.2.1

Device

OPPO R11s

Other details

Screenshot_2024-07-30-11-08-46-70

Screenshot_2024-07-30-11-09-55-31

“大雨” means “Heavy Rain” in this case. I don't know why it remained not translated even after I switched the language and refreshed, but it shouldn't be worthy noting that.

I'm not a native English speaker, so if there are errors in my explantions, please kindly forgive me. Thanks for that.

Acknowledgements

PumpkinJui commented 1 month ago

I noticed that the data should come from CaiYun Weather, so I searched their Mini app and get their official forecast. Please compare:

Screenshot_2024-07-30-11-53-38-76.png

Screenshot_2024-07-30-11-54-05-05.png

Translations from top to bottom, from left to right:

The rain will become heavier, and will be a heavy rain in 15 minutes, until it stops in 34 minutes. (the chart) now 1h 2h Today Rainy Good air quality Tomorrow Rainy Good air quality Medium Rain to Light Rain, And become overcast at 4 pm 优=Air quality is good Yesterday Today Wednesday Thursday Friday

bush911 commented 1 month ago

I can confirm this also with China source on Pixel 6 Android 14, Breezy Weather 5.2.6

rqdmap commented 1 month ago

Several days ago, I encountered the same problem (#1165) and initially drew the wrong conclusion that Xiaomi Weather employs a different threshold compared to Breezy Weather and the precipitation value is correct. However, today I used the Xiaomi API to fetch the raw data:

image

As shown above, all the precipitation values are very small. I believe the units for these values are NOT mm/h because, at the same time, other weather forecasting websites provide more reasonable values.

China Meteorological Administration: image

Caiyun web page (no accurate value provided): image

In conclusion, I believe the Xiaomi API is to blame for providing incorrect data.

papjul commented 1 month ago

It could mean the unit is mm/min and not mm/h meaning we shall multiply by 60.

I believe on your screenshot of CMA website, it is mm/3h unit.

rqdmap commented 1 month ago

@papjul Great idea! However, Caiyun Weather (which is actually used by Xiaomi Weather) requires a membership to view minute-by-minute precipitation data on its app, so I can't confirm if this idea is entirely accurate. Additionally, the precipitation forecast from CMA updates every three hours, so it can only serve as a reference.

It may be necessary for someone with a membership to verify if the data unit is as you suggested, but I largely believe that interpreting it as mm/min is correct!

PumpkinJui commented 1 month ago

It may be necessary for someone with a membership to verify if the data unit is as you suggested, but I largely believe that interpreting it as mm/min is correct!

I've got one via the so-called “亲友卡”. And my city is raining. Where can I check this? Using the Android app.

PumpkinJui commented 1 month ago

Well there's only something like this:

Screenshot_2024-07-31-14-33-07-41_76b9a4b33c5c753fb6f570c6907bbfa4.jpg

Thw precipitation block is not clickable, and I didn't find an entrance to a minute-by-minute precipitation data...

As a comparison, here is what Breezy displayed at the same time:

Screenshot_2024-07-31-14-33-21-83.png

(I forgot to switch the language and now the rain has stopped...)

rqdmap commented 1 month ago

Well, I originally thought that Caiyun Weather would have more detailed data. :cry:

However, the good news is that the "38.5 毫米(mm)" it shows is relatively close to 0.5*60.