Skip to content

[Demo App] for Bismuth features -- Website that allows everyone to dive into the raw data behind weather predictions

License

Notifications You must be signed in to change notification settings

BismuthCloud/stratus-demo-app

 
 

Repository files navigation

Stratus - Demo App

What?

Stratus is a website that aims to fill the gap between sites like TWC which give you data, but no source information, and detailed analysis sites like NOAA's analysis/model pages, PSU's e-wall, and pivotal weather.

It will offer an API to get point data for any given location (ZIP code, lat/lon, etc.), which will return metrics from all kinds of sources (models like the HRRR, GFS, NAM, etc. as well as observational data like RADAR, CWOP, and soundings). The primary use of the API is the main site, which gives a high-level overview of current data and a forecast (for day-to-day use), but also shows the varience in forecast data, with a way to "dig down" to the raw source data.

For instance, the website may show a normal 5 day forecast, but each data point (temp, dew point, conditions, etc.) will be clickable to reveal which each source predicts that data point will be. For example, tomorrows temperature may just be shown as 50degF, but that temperature metric is clickable to reveal that the HRRR predicts that the temperature will be 49, the GFS says 51, and the NAM says 50. Each model run is preserved as well (i.e. not just the most recent model run is kept), so users can see trends over time. In the context of the prior example, the most recent HRRR may say the temp at 12Z is 49, but the HRRR from 2 hours ago might say it's 50, and the HRRR from 12 hours ago might say it's 47.

Why?

This originally existed as a side project made by Nick Gregory:

I haven't found a website like this, and I think it would be useful both for meteorologists (the API can be easily integrated into other projects), as well
as the average person who is just a bit curious about where their daily forecast really comes from.

Now it's being utilized as a medium complexity demo application where we show case the different features of the https://bismuth.sh development platform.

Setup

Dev

To run the app:

./dev.sh
./wx_explore/common/seed.py
python3 ./wx_explore/app.py

./dev.sh will build everything into a docker image, create a postgres db, and drop you into a container. This container has the repo root mounted to /opt/wx_explore so code changes can be made on host and immediately tested in the container.

./seed.py seeds the database with sources, metrics, and source fields necessary to import data.

Dev - UI

cd ./ui/wx_explore and run npm start this should install all node packages and if you're running the development container begin to communicate with the backend.

About

[Demo App] for Bismuth features -- Website that allows everyone to dive into the raw data behind weather predictions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 85.7%
  • JavaScript 11.1%
  • HTML 1.6%
  • Other 1.6%