Inspiration

Technica's tagline about serving underrepresented communities and this year's theme, under the sea, served as our inspiration. We wanted to look into how we could help coastal cities, especially those that have been underrepresented in the past, such as San Juan, be better able to predict the spread of pollutants in order for them to solve issues.

What it does

It uses live environmental data from online databases, CARICOOS and NOAA, and Lagrangian particle tracking and Euler-Maruyama integration to update the particulates' movements, using advection and stochastic diffusion to predict the movement of pollutant particulates in the coastal waters from a point. The user is able to select from three different types of pollution: microplastics, oil, and dissolved (different types of chemical). Users can also configure the simulation in the tab configure by changing how the particle moves. The point can be moved by the user to simulate where the initial point of pollution concentration is. The layers tab changes how the simulation looks, where the user can click to remove the buildings, water surface, water counters, and etc. The particle movement is represented through dots, where warm colors are high concentration and cool colors are low concentration. At the bottom, a user-selected hour timeline lets the user drag the simulation to specific times to show the pollutants' spread. It also displays the data regarding the pollutants' spread. By creating a simulation of the particle dispersion, researchers can use it in order to create early alarm systems, which would help underserved communities better prepare for any man-made disasters due to pollution. This would also shed light on the difficulties that the people of San Juan face with rates of pollution through this 3D visualization tool.

How we built it

The user interface uses React and Three.js 3D environment. NOAA provided bathymetry and elevation data, allowing the rendering to be made. OpenStreetMap provided geographical data to create the buildings. Open-Meteo provides forecast ocean currents and wind, which allows the program to predict how the particles will move. There is then a layer where the user is able to configure the simulation. The backend was created using Python FastAPI and Numpy, which does the actual math. The actual simulation used Lagrangian particle simulation with Euler Maruyama integration.

Challenges we ran into

One challenge was the visual aspect. Initially Cesium was used to try and do the 3-D renderings, but it did not look quite right, so we pivoted to OpenStreetMap to make the shoreline look more realistic. Another challenge was deriving the correct simulation equations governing the particle's movement, analyzing the parameters needed to determine the particle's position, and finding APIs in San Juan that would give us access to the relevant data.

Accomplishments that we're proud of

Originally, the 3D rendering of the simulation looked very rough and unrealistic, but now the rendering has a lot more detail, such as the differing colors for the various water depths and the buildings, making it a lot more realistic. Another thing is our integration (and overall hunt) of the credible APIs to fulfill our goal of using these parameters of our stochastic equations.

What we learned

We learned how to apply the correct models and match them with the correct APIs. First, we had to figure out how to model the pollutant particles using the specific data and specific equations. Each specific equation required specific data parameters, such as water temperature, and in some cases, the data was difficult to find live since about 15 to 20 parameters were needed. Overall, we learned about 3D renderings and data.

What's next for CoastSim

For further improvement, we would look into checking the accuracy of simulation and finding more specific data sets. Additionally, we would try to integrate higher-resolution 3D hydrodynamic currents and benchmarking against observed drifter or dye-tracer trajectories. Another idea would be expanding to other underrepresented communities such as Bajos de Haina in the Dominican Republic, which is nicknamed "Dominican Chernobyl."

Built With

Share this project:

Updates

Submission history