Provided are methods, devices and non-transitory computer readable storage mediums to generate a more accurate weather forecast by utilizing actual observation of a weather event in a particular location and time. For example, the observation data may be received from a user device and contain information indicative of a weather event that the user observed. Alternatively, or additionally, the observation data may be automatically generated by one or more sensors placed in certain locations and transmitted to a central server automatically upon detecting an observation. The observation data may be used to predict a weather forecast of a location that corresponds to, or is otherwise related to the particular location in which the observed event occurred.