Operation: Prometheus has received the following awards and nominations. Way to go!
Development
Our team developed data processor algorithms which scrape data from open APIs then transform and filter them for our needs.
We also created a machine learning model with the help of the different stakeholders mostly from space agencies. This model can predict the probability of wildfires spreading from a given location and can also simulate the spread of the fire using test points nearby the given location.
We built the user interface on top of Mapbox UI, which can be used to discover vulnerable areas where flames can potentially cause serious damage. By adjusting the weather conditions you can also simulate the effect they have on the spread of the fire.
The infrastructure behind this project is based on an auto scaling cluster deployed in the Google Cloud Platform, based on Kubernetes technology. Different resources are allocated to the APIs, the database and the prediction engine. We utilise Cloudflare in DNS zones to protect the accumulated data from unauthorized access. The application itself runs in a containerized environment, which is based on Docker and is built using microservices methodology. We managed the deployment of the solution through Gitlab CI.
Importance
Our aim was to build a solution which can be used in practical conditions by professionals and decision makers to predict and take action against the spread of wildfires. Different scenarios can be evaluated by simply checking how the accumulated data and the predicted outcome changes by manipulating environmental variables. This tool can be a base of the first line of operations so decision makers can decide how they want to cut the fire’s path, alarm or evacuate the population in the affected area, make damage assessment, dispatch frontline brigades and control the movements of emergency units.
As the number of wildfire cases show a growing tendency due to various factors, including climate change and increasing environmental pollution, we find developing tools like this and putting machine learning to work an essential tool to save human lives and prevent the loss of natural values.
Functionality & behavior
The application starts from California. You can select a location by clicking on the map or alternatively you can specify exact coordinates by entering them in the Longitude and Latitude inputs respectively. The coordinates you specify will be the nest of the simulated virtual fire.
In the preparation phase the model selects some test points around the starting point and will get the weather forecast information for these individual points through an open API in real-time. The weather information returned includes temperature, wind speed, precipitation, elevation, humidity, vegetation, air pressure, clouds, solar radiation etc. In case the algorithm classifies a point as high risk, it will automatically assume that it is going to be on fire and will indicate it on the UI. The algorithm runs recursively, selecting more test points around points which are on fire until there are no new points to be selected.
You can pause and restart the simulation any time by using the controls in the top left corner and you can also jump to a specific time to see how the imaginary spreads over time.
Our project Goal
We want to create a solution which can collect data from open source datasets and using this unified data can support the decision makers' work informing the civil population about the possible future threats. Our goal is to be accurate so professionals can save as many lives and properties as humanly possible.
Inspiration
In our current world of globalization where environmental change plays a significant role in human life, we are surrounded by environmental extremes that have never been seen before in human history. That’s why our team was able to connect with the “Spot that fire” challenge because we wanted to build an app that helps decision makers with emulation and predictions and thus save costs and human lives.
Approach
We have created an application that is suitable for processing real historical data, considering fires in the past, historical weather conditions and the connections built based on these datasets. We thought the best tool to visualise the data would be a topographic map where different risk zones can be highlighted. In order for this to work a lot of data was needed, therefore 50% of the time allocated on the project was spent collecting, processing, retrieving and cleansing the data.
Tools
Backend: NodeJS, Express, TensorflowJS, MongoDB
Frontend: jQuery, vanilla JS, MapBox
Infrastructure: Google Kubernetes Engine, Cloudflare, Docker, GitLab CI
Modelling & data processing: Python3, Keras & Tensorflow
Softwares: https://maps.co/gis
Problems & achivements
Data availability proved to be particularly difficult with very few API endpoints found and no response data back that we would have needed, but we have successfully collected the right amount of data from several sources for the demo project.
Rate limits imposed on several APIs has made development very difficult especially considering the meteomatics API and open weather API.
Considering mathematical challenges, calculating the distance of GPS coordinates and the various angle calculations associated with it proved to be the most difficult task.
By the end of the competition, we also successfully implemented a fully functional infrastructure and frontend-backend communication with the predictions of the model. We plotted the correlations and obtained certainty about the functionality of the taught model.
https://firms.modaps.eosdis.nasa.gov/active_fire/#firms-txt MODIS USA 7d
We used the data to record the coordinates of the fires, examine the conditions (weather, confidence) and feed our model.
https://data.asc-csa.gc.ca/users/OpenData_DonneesOuvertes/pub/MOPITT
Use of CO data to feed our model.
Live demo
http://hackathon.pjtuxe.com
Slides
https://docs.google.com/presentation/d/1wtpXHi_WqeBKC0xRYazayWTQ00JkhrMO3u-8aDxYSzk/edit?usp=sharing
https://firms.modaps.eosdis.nasa.gov/active_fire/#firms-txt
https://data.asc-csa.gc.ca/users/OpenData_DonneesOuvertes/pub/MOPITT
https://openweathermap.org/api
https://www.meteomatics.com/en/weather-api
https://api.opentopodata.org/v1/test-dataset
https://www.california-demographics.com/cities_by_population