Codefest to Build Next Gen Ocean Models

The CCS technical team took part in the four-day University of Florida Open Hackathon, hosted in collaboration with OpenACC Organization, in May to write code for a new coastal and ocean model that can run simulations of coastal and oceanic processes much faster and more accurately than currently possible. During the codefest, Ron Fick, Ph.D., Jose Gonzalez Ondina, Ph.D., and Collin Ortals, Ph.D., worked with senior programmers from NVIDIA, an industry leader in accelerated computing and artificial intelligence, to optimize the Regional Ocean Modeling System (ROMS), a tool used globally to simulate and predict oceanic processes that can be applied in coasts, estuaries and oceans. 

“The goal is to optimize the code so the modeling system can run orders of magnitude faster, between ten and 100,” said Ondina. “With the hackathon, we made a significant amount of progress in a short period of time, working with our mentors from NVIDIA all day for four days.” 

CCS tech team participates in a four-day hackathon using the latest supercomputing hardware to improve speeds and accuracy of current ocean models. (L to R): Collin Ortals, Ph.D., Jose Gonzalez Ondina, Ph.D. and Ron Fick, Ph.D. (Photo credit: Megan Sam)

Currently, researchers’ ability to run various scenarios with models is constrained by time due to how long each model run takes. This limits how well researchers can fully understand the uncertainties of the model.  

To overcome this challenge, the CCS tech team is using the full computational power of specialized graphic cards (GPUs), similar to those used to run high-end video games, but even more powerful. The entire model runs inside one card, which avoids the slow communication between central processing units (CPUs) that are used in older models. The team is also using a more modern computer programming language, Python, and CuPy, using NVIDIA® CUDA® Toolkit libraries for open-source GPU-accelerated computing. The team’s choice to use Python rather than Fortran, which is currently used in ROMS, increases the accessibility of the model to younger programmers. The new model, called Sailfish, is a nod to the fastest fish in the ocean. 

“The existing [ROMS] model is based on how things have been done for the past 30 years,” said Ortals. “Fortran was one of the first languages developed. Our current model is capitalizing on advances in computing technology, including the use of GPUs, which are high-performance devices that enable powerful graphics rendering and processing for use in complex computing operations like ocean modeling.”    

During the codefest, the team collaborated with members of the NVIDIA AI Technology Center at the University of Florida, including solutions architects, Oded Green, Ph.D., Zoe Ryan, and Jonathan Dursi, Ph.D., as well as Pranay Reddy Kommera, Ph.D., a senior developer technology engineer, who provided invaluable expertise and support in developing the new code and accelerating performance gains. The CCS team has been working closely with the NVIDIA AI Technology Center for several months to apply high-performance computing in coastal and oceanic modeling, which will significantly enhance their speed and ability to forecast and simulate coast and ocean conditions for use by decision-makers and researchers.  

The team will use the momentum of the hackathon going forward as it continues to develop the new ocean model for real-world application.