Weacast is an Open Source platform to gather, expose and make use of weather forecast data.
Read our introductory article on Medium.
Why Weacast ?
Weather prediction data are now available from the major meteorological agencies and institutions on a day-to-day basis. Current weather observations serve as input to numerical computer models, through a process known as data assimilation, to produce a forecast of the future state of weather. These models output hundreds of other meteorological elements from the oceans to the top of the atmosphere such as temperature, precipitation, icing conditions, etc. As an example, the following animated image represents a typical output of the GFS weather forecast model from NOAA.
Weacast (a shortcut for Weather forecast) aims at providing web services and visualization tools to gather, expose and make use of weather forecast data in a simple manner and format. Indeed, although publicly available weather forecast data come from many different sources, in many different and dedicated protocols/formats (such as WCS, GeoTIFF, GRIB, etc.), making consumption in web applications not so easy, particularly on the client-side. Moreover, forecast data often cover large continental areas and contain hundred of elements such as temperature, wind, etc. but a few are usually required by a specific business use case. Last but not least, forecast data are in essence dynamic so that keeping your application up-to-date with the lastly available data is always a tedious task.
Weacast is weather forecast model agnostic, i.e. it mainly exposes a minimalistic framework where forecast data sources can be added on-demand to extend its capabilities in a plugin-like architecture. These data are then available in Weacast through simple REST/Websocket services in JSON format and can be visualized using the built-in web app.
Currently supported plugins are the following:
Weacast aims at going beyond providing crude forecast data and includes tools to derive your own business focussed data by:
- Probing forecast data to extract or analyze relevant data for your locations of interest (e.g. airports, cities, stores, etc.)
- Querying your probed data to find which locations match specific weather conditions
What is inside ?
Weacast is possible and mainly powered by the following stack: