======== Overview ======== Cocoa (Coastal and Ocean Circulation on Accelerators) solves the 2D depth-integrated shallow water equations on unstructured triangular meshes. Model Capabilities ------------------ Cocoa is designed for simulating: - **Tidal circulation** in coastal and estuarine environments - **Storm surge** from tropical and extratropical cyclones - **Coastal flooding** and inundation - **Tide-surge interaction** in complex geometries Physical Processes ------------------ The model includes the following physical processes: Hydrodynamics ^^^^^^^^^^^^^ - 2D depth-integrated momentum equations - Generalized Wave Continuity Equation (GWCE) - Advection and diffusion Forcing Mechanisms ^^^^^^^^^^^^^^^^^^ - Tidal boundary forcing with multiple constituents - Astronomical tide potential (direct Moon/Sun computation) - Atmospheric pressure gradients - Wind stress (Garratt drag law) Bottom Friction ^^^^^^^^^^^^^^^ - Quadratic bottom friction - Variable friction coefficients Wetting and Drying ^^^^^^^^^^^^^^^^^^ - Element-based wet/dry algorithm - Maintains mass conservation Computational Features ---------------------- GPU Acceleration ^^^^^^^^^^^^^^^^ Cocoa leverages Kokkos for GPU acceleration: - NVIDIA GPUs via CUDA - AMD GPUs via HIP - Multi-core CPUs via OpenMP - Serial execution for debugging See :doc:`performance` for benchmark results comparing Cocoa with ADCIRC. Scalable Solvers ^^^^^^^^^^^^^^^^ Linear systems are solved using Trilinos: - Belos iterative solvers (CG) - Ifpack2 preconditioners (Jacobi) - Tpetra linear algebra structures - Kokkos for performance portability