Sign inSign up

cocoaorg/cocoa

By cocoaorg

•Updated about 3 hours ago

Cocoa (Coastal and Ocean Circulation on Accelerators) model Docker containers

Image
Data science
0

10K+

cocoaorg/cocoa repository overview

⁠Cocoa: Coastal and Ocean Circulation on Accelerators

C++20 Documentation codecov

⁠Overview

Cocoa is a modern C++20 re-implementation of the ADCIRC⁠ two-dimensional depth-integrated shallow water model, designed from the ground up for GPU acceleration using the Trilinos⁠ and Kokkos⁠ frameworks.

⁠Key Features
  • Multi-backend acceleration - CUDA (NVIDIA), HIP (AMD), OpenMP, or serial execution via Kokkos
  • Distributed computing - MPI-based domain decomposition with ParMETIS partitioning
  • Mixed precision - Double-precision compute with selective float storage of bandwidth-sensitive fields
  • Unstructured meshes - Triangular finite element meshes in NetCDF format
  • Complete physics - Bottom friction, lateral stress, tidal potential forcing, meteorological forcing
  • Wet/dry algorithm - Robust wetting and drying for coastal inundation modeling

⁠Running

cocoa -i config.yaml

For distributed runs:

mpiexec -np 4 cocoa -i config.yaml

⁠Containers

Pre-built Docker containers are available on DockerHub under cocoaorg/cocoa, split into three families by accelerator toolchain (the tag suffix selects the family):

ImageHardwareNotes
cocoaorg/cocoa:<tag>-cpuCPU only (x86-64 and ARM64)Single multi-arch tag; the ARM64 variant runs natively on Apple Silicon via Docker Desktop
cocoaorg/cocoa:<tag>-cudaNVIDIA GPUs (CUDA)GPU-only; volta70-blackwell100
cocoaorg/cocoa:<tag>-rocmAMD GPUs (ROCm/HIP)GPU-only; mi300, mi200

⁠License

Copyright (c) 2026 Zach Cobell. All rights reserved.

Tag summary

Content type

Image

Digest

sha256:9cc962c12…

Size

3.9 GB

Last updated

about 3 hours ago

docker pull cocoaorg/cocoa:waves-cuda