Skip to content

Weather predictions and observations with LSTM and Decision Trees web application

License

Notifications You must be signed in to change notification settings

boher/Weatherbooth

Repository files navigation

Weatherbooth

Weatherbooth

License: AGPL v3 Python Supported Version Build Status Last Commit

A web-application that aims to keep the general public in Singapore well-informed and well-prepared with accurate weather forecasts

Based on weather models trained by machine learning algorithms, namely:

  • Long Short-Term Memory (LSTM) for time series analysis

  • Decision Tree for classification


Data obtained from various historical weather APIs are normalized with Min/Max Scalar before processing


Screenshots

Current Weather Observations Hourly Weather Predictions (24 Hour) Daily Weather Predictions (4 days)

Running your own instance locally

Assumptions:

  • Open source and personal use only
  • Python3 has been installed and added to the PATH environment variables
  • macOS 10.15 and above or Windows 10 and above

Steps to perform:

Step-1: Clone the repository (main branch)

Step-2: Open the terminal or command-line prompt

Step-3: Copy the local file path of the cloned repository

Step-4: Navigate to the directory containing the cloned repository with the command cd <file-path-copied>

Step-5: Install the required python dependencies for this project by running the command pip install -r requirements.txt

Step-7: Navigate to the subdirectory folder (./Weatherbooth/website) and open config.py in a text editor

Step-8: Comment out line 5 and uncomment line 10 in config.py and save the file

Step-9: Execute the app by running the command python app.py in the terminal or command-line and click on the link provided http:https://localhost:5000/

Directory Markdown

Directory Markdown

Licensing

Licensed under GNU Affero General Public License v3

The current version of Weatherbooth is hosted at https://weatherbooth.herokuapp.com

Any reproductions of this webapp hosted publicly must be open source, generate your own unique key for DB creation and include a explicit link crediting the developers of Weatherbooth.

Special thanks

Development tools and modules used:

Flask as our backend (Deployed version and REST API version)
Bootstrap as our CSS framework
Chart.js for visualizing hourly weather predictions
React supported with API requests, route navigation, wrappers for Bootstrap and Chart.js dependencies as our frontend (REST API version)
Tensorflow for modeling data pipelines of target weather attributes, to predict hourly and daily values for the next few days
Scikit-learn for preprocessing data and classification of weather conditions
Heroku for easy CI/CD with GitHub and Student Developer Pack

Open source weather APIs:

OpenWeatherMap for their generous offers of various weather data APIs for free-tier users
Oikolab for providing processed global historical climate reanalysis weather data via REST API
PirateWeather for providing processed satellite historical weather data via REST API

About

Weather predictions and observations with LSTM and Decision Trees web application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •