Climate change is one of the biggest problems threatening our world today. With rising temperatures comes more extreme weather, increasingly dangerous diseases, ocean acidification, and rising sea levels.

We wanted to make a tool that allows a user to check if their house, or some other location, might be lost due to sea level rise. We hoped that this could help bring further awareness to this issue and encourage people who use it to seek out more information on climate change and what they can do to try mitigate its impact.

What it does

The project is a web app that presents users with a map. They can choose to either click on a location on the map or to search for a specific address if they already have one in mind. Once they have found the location they want to check, the application finds its longitude, latitude, elevation, and distance from the nearest coastline. Using these and current scientific predictions of how much sea levels are expected to rise, the application gives a user a rough estimate of how likely the location is to flood by 2100.

As we are not personally experts on this subject, we also provide some resources for users to learn more from actual experts.

How we built it

We used the Google Cloud Maps API to place and render the map used in our application. We also used its Elevation Service to find the elevation of selected points. From the longitude and latitude we used a dataset from NASA's Ocean Biology Processing Group to determine how far the given coordinates were from the coast.

We structured our web pages using Bootstrap and some CSS, while the frontend and API handling functions were written in JavaScript. We loaded the distance from coast data into a MySQL database for faster querying. To connect our frontend to the database and to host the web app, we wrote a backend using Django.

Challenges we ran into

After initially storing the distance to coast data, we found that querying coordinates from the database for their coastal distances took upwards of 20 seconds per query. This was unacceptably slow for a web app. We determined that the core data was of a higher precision than we needed for our purposes, so we wrote a python script to select only a subset of the data. While this subset made the distance predictions less accurate, they were sufficient for our means and brought query time from 20 seconds to less than 1 second.

Another challenge was that neither of us had a lot of web development experience before beginning this project, so learning how to work with JavaScript and to use the technologies we chose to build the application had its challenges.

Accomplishments that we're proud of

We're proud that we produced a project that functions like we initially envisioned when we began. We're also proud of our wave animation, our use of the Google Cloud Maps API, and our backend implementation.

What we learned

We learned a lot about web development including JavaScript, working with APIs, writing backends with Django, working with databases, and generating animations with JavaScript. Both of us also have not really had a lot of team programming experience so we learned more about partner development. It was a great experience to work together to produce a complete project.

What's next for Rising Tide

With our current implementation we only make a rough prediction based on current scientific sea level rise forecasts. This is the main aspect we would choose to work on: making the threat predictions more accurate. We might want to determine a way to get a more precise distance from the coast and to better take into account topography between the location and the coast to make these more accurate predictions.

Share this project: