nathanlunceford/weather_analytics_byu
0
BYU Schools Weather Data Viewer
The BYU Schools Weather Data Viewer app collects weather data from the Open Meteo API using the openmeteo_requests package in Python.
Features within the App
Weather Variables
The app supports 13 different weather options:
temperature_2mrelative_humidity_2mdew_point_2mapparent_temperatureprecipitationrainsnowfallsnow_depthweather_codepressure_mslsurface_pressure
Dashboard Options
The dashboard provides various options to filter and arrange the data:
- Select School: Choose to view data for all schools or a specific school (BYU Idaho, BYU Provo, BYU Hawaii).
- Weather Variable: Select a weather variable to focus on.
- Timezone: Choose from Mountain Time or Pacific Time.
- Temperature Unit: Select between Celsius and Fahrenheit for temperature measurements.
- Precipitation Unit: Select between millimeters (mm) and inches for precipitation measurements.
- Start Date: Pick the start date for a 15-day interval.
Key Performance Indicators (KPIs)
The app displays KPIs for the selected weather variable, including:
- Highest value recorded for each school within the selected period.
- Lowest value recorded for each school within the selected period.
Data Visualization
The app provides various visualizations to analyze the weather data:
- Combined Weather Data Line Chart: Shows the weather data over time for all schools.
- Individual School Data: Detailed data and charts for each selected school.
- Daily Highs and Lows: Line charts showing daily high and low values over the selected period.
- Forecast vs. Actual Comparisons: Scatter plots, line charts, and heat maps comparing forecasted and actual values for each school.
- Additional Visualizations: Includes scatter plots with trendlines, boxplots, and violin plots.
Starting the App
We use Streamlit as our prototype dashboard tool, which is embedded in a Docker container.
Steps to Run the App
- Clone the Repository:
git clone https://huggingface.co/spaces/ds460/luncefordn_weather_app
cd luncefordn_weather_app
- Using Docker Compose:
- Simply run
docker compose upto leverage thedocker-compose.yamlfile, syncing your local folder with the container folder where the Streamlit app is running.
- Using Docker Commands:
- Build the Docker image:
docker build -t streamlit .- Start the container with the appropriate port and volume settings:
docker run -p 8501:8501 -v "$(pwd):/app:rw" streamlitThis will start the Streamlit app on http://localhost:8501.
