REMORA -- a new GPU-enabled ocean model based on ROMS

As part of the Seahorçe project funded by the US Department of Energy Office of Science we are developing a new GPU-enabled ocean model based on ROMS. I expect this might be of interest to the Croco community, and we would welcome any collaborations.

REMORA is a complete re-write of the core ROMS algorithms into C++, based on the AMReX library. The model is still in active development, but we are at a stage now where we have ported over enough of the core functionality in ROMS in order to do both idealized and realistic simulations. We have core 3D hydrodynamics based on ROMS algorithms, masking, variable bathymetry, open boundary conditions, GLS turbulence closure, etc. The AMReX library handles grid abstraction, domain decomposition, and provides access to parallel computations using both CPUs and GPUs.

We would love to incorporate some of the capabilities in Croco in the future, and would welcome any advice on prioritization or best approaches (or pull requests!).

The model is openly available on github: https://github.com/seahorce-scidac/REMORA .

Take a look at the getting started page and give it a try!

We don’t have a fancy forum like this one, so the best way to get in touch with us is either email or github issues.

1 Like

Hi Rob
Thanks a lot for the information. It is actually very interesting, we’re also thinking to the future of CROCO (sticking to Fortran on our side). But I had a quick look on REMORA, it seems to me that your initiative also includes a general reflection about the overall structure of the code, not specific to GPU or C++. I may contact you at some point to chat a little

Yes, please do reach out.

I suspect that much of the restructuring you are seeing is so that we can effectively use the AMReX library, which imposes its own organization to some extent. AMReX has been used as the basis for many different fluid dynamics codes, so I expect this imposed stucture is well thought out. I would be happy to include some of the developers of this library in a conversation.