Loading...
Ray tracing ocean surface waves with rust
Irving, Bryce A. ; Castelão, Guilherme ; Bôas, Bia Villas
Irving, Bryce A.
Castelão, Guilherme
Bôas, Bia Villas
Citations
Altmetric:
Advisor
Editor
Date
2023-09
Date Issued
Date Submitted
Keywords
Collections
Research Projects
Organizational Units
Journal Issue
Embargo Expires
Abstract
Ray-tracing is a powerful technique used in computer graphics and scientific simulations to model the propagation of waves. When it comes to ocean surface gravity waves, ray-tracing can provide valuable insights into wave propagation, including their interaction with ocean currents and the seafloor. Such insights are crucial for better understanding ocean wave physics and their role in climate, as waves are a major player in heat transfer and the exchange of gases between the ocean and the atmosphere. In the present work, we introduce a novel package to calculate the path of a wave propagating through the ocean. We developed the code in Rust for memory safety, high performance, robustness, and simple testing. The ray tracing uses the Runge-Kutta 4th order and bilinear interpolation methods to reduce integration error. The package includes supporting Python files to visualize the results. The components are tested individually, and the overall output is checked against known idealized cases. With these methods, our Rust crate can trace the propagation of a wave through a variable depth represented in cartesian coordinates and plot the results. These results are significant because accurately tracing the propagation of ocean waves with an efficient language will increase performance making it seamless to run large simulation ensembles. There are many reasonable opportunities for improvement in the future. The accuracy and realism of the program will improve by tracing bundles of multiple rays and accounting for the interactions with ocean currents. Additionally, the computational performance will improve by parallelizing the ray tracing.
Associated Publications
Rights
Copyright of the original work is retained by the author.