Cocoa: Coastal and Ocean Circulation on Accelerators
Cocoa is a coastal ocean circulation model built on the numerical formulation of the ADCIRC model. It solves the 2D depth-integrated shallow water equations on unstructured triangular finite element meshes, using Trilinos for the explicit and preconditioned iterative solvers and Kokkos for host and device execution: one source builds for multi-core CPUs and for NVIDIA and AMD GPUs (see Hardware Support and Performance).
Quick Start
# Build Cocoa
export TRILINOS_DIR=/path/to/trilinos/lib/cmake/Trilinos
export NETCDF_DIR=/path/to/netcdf
cmake --preset release
cmake --build --preset release
# Run a simulation (the binary is build/src/cocoa/cocoa)
./cocoa -i simulation.yaml
Documentation
Getting Started
User Guide
Theory
Developer Guide
Additional Resources