Published November 11, 2026 | Version v0.2.0

WW3 GPU Lab: agentic coding and agentic research on a bit-for-bit GPU port of WAVEWATCH III

Authors/Creators

  • 1. Escola Politécnica, Universidade Federal do Rio de Janeiro
  • 1. LabECO, Departamento de Engenharia Mecânica, Universidade Federal de Santa Catarina
  • 2. Grupo de Teleinformática e Automação (GTA), Departamento de Engenharia Eletrônica e de Computação (DEL), Escola Politécnica, Universidade Federal do Rio de Janeiro

Description

Software and texts on one problem: moving the expensive kernels of the WAVEWATCH III (WW3) third-generation spectral wind-wave model to GPUs without changing the answer.

  • A Nix-pinned toolchain to build and run the Fortran model on real cases with annotated switch files.
  • Benchmarks on CPU (OpenMP, MPI) and GPU (OpenACC, CUDA Fortran), each number with the command that reproduces it.
  • A C++/Kokkos port of W3SNL1, the Discrete Interaction Approximation (DIA) of nonlinear four-wave interactions, written with coding agents and shown bit-identical to the Fortran on the Serial, OpenMP and CUDA backends by a field-by-field parity harness.
  • The method itself: the rules coding agents follow here, design docs with a definition of done (WFIPs), decision records (ADRs), a research log, and plans whose every claim carries its evidence.
  • chaceon (https://github.com/h0ffmann/chaceon), WAVEWATCH III written in Rust, the twin of the Kokkos port: a submodule that the same run command builds and compares with the Fortran reference, MetOcean's WAVEWATCH III 7.14.

The website is https://wave.piabrota.art/. Includes runnable examples, the preprint "Wave models on GPUs", which compares the Kokkos and Rust ports (pubs/preprint/wave-models-on-gpus.pdf, with a Brazilian Portuguese edition in pubs/preprint/wave-models-on-gpus.pt-BR.pdf), and an undergraduate project proposal (Escola Politécnica, UFRJ, co-advised at LabECO, UFSC).

Notes

The license field above is MIT, the repository's own work, because Zenodo's license field takes one identifier. The C++ translated from WAVEWATCH III Fortran (kokkos/src/ww_kokkos/, 317 files) is a derived work and is LGPL-3.0-or-later, with the copyright of the National Weather Service (NWS). Each file states its licence in an SPDX-License-Identifier line; NOTICE and LICENSES/ in the repository list the parts. This is compliance housekeeping, not legal advice. WAVEWATCH III is a registered trademark of NOAA's National Weather Service; this project is independent and not endorsed by NOAA.

Files

h0ffmann/ww3-gpu-v0.2.0.zip

Files (13.9 MB)

Name Size
md5:857fdc18a0967f3dbae03902bb82e182
13.9 MB Preview Download

Additional details

Software