I use a Wordpress plugin that leverages the OWM API and I noticed the forecasts are significantly inaccurate for Peterborough, Canada (as well as other cities in Ontario, Canada). At first I thought it was an issue with the plugin, but after troubleshooting discovered the issue originates with the OWM API.
The current temperature appears to be fairly close, but the forecasts are completely off.
Here's an API call and results for the five-day forecast temps for Peterborough, Canada:
Each temp is off by a significant amount. Here's the five-day forecast temps for Peterborough, Canada as shown on OWM's own website: https://openweathermap.org/city
And, for comparison, the Environment Canada five-day forecast for Peterborough, Canada
I'd be grateful if someone at OWM could look into this issue soon. Thank you.
Sorry for long responce.
What field did you compare from API and from web site? Was it minimum/maximum one or something else?
Please, do not confuse min/max parameters in our weather APIs. On site you see data from daily API. and your API request is for 3-hourly forecast.
In Hourly forecast API, Current weather API and 5 day / 3 hour forecast API – temp_min and temp_max are optional parameters mean min / max temperature in the city at the current moment to see deviation from current temp just for your reference. For large cities and megalopolises geographically expanded it might be applicable. In most cases both temp_min and temp_max parameters have the same volume as ‘temp’. Please, use temp_min and temp_max parameters in current weather API optionally.
In 16 Day forecast – min and max mean maximum and minimum temperature in the day.
You show one 3-hour period for Tue May 14. dt 1557802800 means 05/14/2019 @ 3:00am (UTC) So these temperatures are valid only in period 00:00 – 03:00 UTC
But to get daily minimums and maximums, you should collect 8 timestamps of 3-hourly forecast (whole day), and choose minimums and maximums from them.
1557802800 = 6.4
1557813600 = 5.76
1557824400 = 5.95
1557835200 = 6.38
1557846000 = 9.41
1557856800 = 12.51
1557867600 = 12.14
1557878400 = 9.25
That’s it. minimum temperature for this day is 5.76 and maximum is 12.51 as you can see on our site.