Cocoa: Coastal and Ocean Circulation on Accelerators

C++ Standard

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
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DNETCDF_DIR=$(path) -DTrilinos_DIR=$(path)
make -j8

# Run a simulation
./cocoa -i simulation.yaml

Documentation

User Guide

Indices and Tables

Authors and Acknowledgments

Lead Developer:

  • Zach Cobell

Advisory:

  • Richard A. Luettich, Jr., University of North Carolina at Chapel Hill

  • Joannes J. Westerink, University of Notre Dame

  • Shintaro Bunya, University of North Carolina at Chapel Hill