h0ffmann / ww3-gpu

ww3-gpu

without changing the answer

a book in progress on agentic coding and agentic research, compiled from its own repository, around one problem: moving the expensive kernels of WAVEWATCH III to GPUs without changing the answer.

read the chaptersthe book (PDF)the repository

the book

Without Changing the Answer

Agentic coding and agentic research on a GPU port of WAVEWATCH III. A book in progress, compiled from github.com/h0ffmann/ww3-gpu

the repository is the book's source and its evidence: 17 chapters, built into a PDF on every merge, and the code they describe next to them. every claim carries (v) when it was checked and ⚠ when it was not, and every number comes with its command.

the chapters

  1. 00Orientation: what WW3 actually computes
  2. 01Getting it built
  3. 02Anatomy of a run
  4. 03Grids, bathymetry, masks
  5. 04Forcing: winds, currents, ice, water levels
  6. 05Nesting and multi-grid
  7. 06Output and post-processing
  8. 07Physics choices: which source terms, and why it matters
  9. 08The Python ecosystem, and why this repo does not depend on it
  10. 09Measure first: benchmark, profile, compile options, run configuration
  11. 10Modern Fortran refactoring: the step before any port
  12. 11Kokkos and modern C++ for Fortran people
  13. 12Porting a kernel: W3SNL1
  14. 13Bulk porting with agents
  15. 14WW4: what's coming, and how mature it is
  16. 15SWAN: the other one you should know
  17. 19Two agents, one issue tracker (A2A)

the decisions

each one a choice the lab made, the context that forced it and what follows. an accepted record is never edited; a new one supersedes it.

the designs

a change is designed before it is built, tied to a deliverable of the project proposal, with its definition of done.

the port, measured

how much of WW3 runs on Kokkos, then every number of every port report, step by step. a bar is the speed-up over its own baseline, on a log scale; the deeper the green, the larger it is. a step slower than its baseline is grey, and says so.

AMUXD_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

AMUXE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

AMUXJ_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

AMUXMS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

AMUX_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

APPENDTAIL_KOKKOS ported, phase 1 (translated); called by W3FLD2 ([report](W3FLD2_KOKKOS.md)) inside the batched

regtested no: postponed (ADR-0016); the CPU replay ran it on 2026-10-19: scripts/ww3-gpu.sh --ww3-gpu smoke and full --cpu --kokkos SRCE with WW_KOKKOS_STRICT=1, switch_lab_gfs (lab_ompg with SEED FLD2 in place of LN1), every model file byte-identical to the Fortran of the same executable and the NetCDF/field to --ww3 in nccmp-tol, zero fallbacks

no benchmark: the report says why.

APPLY_BOUNDARY_CONDITION_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim with the MPI hooks

no benchmark: the report says why.

APPLY_BOUNDARY_CONDITION_VA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim, the MPI callables and the PDLIB_W3XYPUG hunk

no benchmark: the report says why.

ASTR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

ASYMSMATTIMVEC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

ATMUXR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

ATMUX_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

BALANCING_MATRIX_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

BIINTERPWT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

BISINIT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

BLOCK_SOLVER_INIT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim with the JACOBI_INIT hook and the W3INIT hunk

no benchmark: the report says why.

BRKDN_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

BSDET_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CALCARRAY_JACOBI_SPECTRAL_1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the PDLIB implicit solver wired

no benchmark: the report says why.

CALCARRAY_JACOBI_VEC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the PDLIB implicit solver wired

no benchmark: the report says why.

CALC_FPI_KOKKOS ported, phase 1 (translated)

regtested no: postponed (ADR-0016); the CPU replay ran it on 2026-10-19: scripts/ww3-gpu.sh --ww3-gpu smoke and full --cpu --kokkos SRCE with WW_KOKKOS_STRICT=1, switch_lab_gfs (lab_ompg with SEED FLD2 in place of LN1), every model file byte-identical to the Fortran of the same executable and the NetCDF/field to --ww3 in nccmp-tol, zero fallbacks

no benchmark: the report says why.

CALC_INTERP_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CALC_ND_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CALC_USTAR_KOKKOS ported, phase 1 (translated)

regtested no: the ST4 checkpoint (ADR-0011) is under way: smoke-ww3-gpu on ww3_ts1 and full-ww3-gpu on bench_small byte-identical to the Fortran with each flag and all together, 2026-10-15 (docs/log/2026-10-15-st4-checkpoint.md); the WW3 regtest matrix is not yet recorded

no benchmark: the report says why.

CALC_WBTV2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CALDATT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CCOSH_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CGFNC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CGINIC3_CHENG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CMPLX_COSH_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CMPLX_ROOT_MULLER_CHENG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CMPLX_ROOT_MULLER_V1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CMPLX_SINH_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CMPLX_TANH2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

COMPUTE_ACTIVE_NODE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

COMPUTE_REDUCTION_PSI_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

COOCSRIND_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

COUPLE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

CSINH_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DAXPY_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DDOT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DEALLOCATE_PDLIB_GLOBAL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim with one per-grid context and the W3INIT hunk

no benchmark: the report says why.

DELTA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DF1F2THETA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DIFFERENTIATE_XYDIR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DIFFERENTIATE_XYDIR_MAPSTA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DIFFERENTIATE_XYDIR_NATIVE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DISTAB_KOKKOS ported, phase 1, wired and regtested on the CPU (2026-10-16)

regtested yes: scripts/ww3-gpu.sh --ww3-gpu smoke (ww3_ts1) --cpu on 2026-10-16 (OpenMP backend, gfortran/g++ 16.2.0), with WW_KOKKOS_ALL=1 and with the W3WAVE support parts alone: out_grd.ww3, out_pnt.ww3, restart.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, the binary files byte-identical to --ww3, 1 call; 0 of the 246 EWN1, ECG1 values and neither DSIE nor N1MAX differ from the Fortran DISTAB's (kokkos/src/fortran_iface/PATCH.md, section 8)

no benchmark: the report says why.

DLASSQ_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DNRM2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DO_OUTPUT_EXCHANGES_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim filling OutputExchangeHooks (MPI, GET_ARRAY_SIZE, W3XDMA/W3XETA/W3SETA) and the W3WAVE wiring

no benchmark: the report says why.

DPYTHAG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DRFUN_DBLE_CHENG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DRFUN_QUAD_CHENG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

DSVBKSB_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

EXPND2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

F1F1F1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FD_COMPUTE_DIFF_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FD_COMPUTE_LH_STRESS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FD_SET_MEANVALUE_TO_ZERO_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FD_WAVE_SETUP_APPLY_FCT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FD_WAVE_SETUP_APPLY_PRECOND_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FD_WAVE_SETUP_COMPUTE_SYSTEM_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FD_WAVE_SETUP_SCALAR_PROD_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FD_WAVE_SETUP_SOLVE_POISSON_NEUMANN_DIR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FIFO_ADD_KOKKOS ported, phase 1 (translated)

regtested no: regtest matrix pending; run inside WW3 through W3KOKKOS_CPRT (W3CPRT on the resident VA) on 2026-10-18, every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 on two partition variants of bench_small (kokkos/port_report/W3CPRT_KOKKOS.md)

no benchmark: the report says why.

FIFO_EMPTY_KOKKOS ported, phase 1 (translated)

regtested no: regtest matrix pending; run inside WW3 through W3KOKKOS_CPRT (W3CPRT on the resident VA) on 2026-10-18, every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 on two partition variants of bench_small (kokkos/port_report/W3CPRT_KOKKOS.md)

no benchmark: the report says why.

FIFO_FIRST_KOKKOS ported, phase 1 (translated)

regtested no: regtest matrix pending; run inside WW3 through W3KOKKOS_CPRT (W3CPRT on the resident VA) on 2026-10-18, every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 on two partition variants of bench_small (kokkos/port_report/W3CPRT_KOKKOS.md)

no benchmark: the report says why.

FINDQUARTETCONFIG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FINDROOTS_NR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FUNC0_ZHAO_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FUNC1_ZHAO_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FUNCD_FDERIV_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

FUNCD_FVAL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

F_ZHAO_CHENG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

F_ZHAO_V1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

GAULEG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

GET_ARRAY_SIZE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim and DO_OUTPUT_EXCHANGES wired

no benchmark: the report says why.

GET_JSEA_IBELONG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

GIVENS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

GSU_CREATE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the checkpoint (ADR-0011) runs it once a shim, the W3GNTX hunk and the W3NNSC hook exist; every matrix.base entry with a structured grid exercises it through W3IOGR

no benchmark: the report says why.

HASNAN_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

IC3PRECALC_CHENG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

IC3TABLE_CHENG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

ILU0_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

IMPLU_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

INFLD_KOKKOS ported, phase 1 (translated)

regtested no: postponed (ADR-0016); the CPU replay ran it on 2026-10-19: scripts/ww3-gpu.sh --ww3-gpu smoke and full --cpu --kokkos SRCE with WW_KOKKOS_STRICT=1, switch_lab_gfs (lab_ompg with SEED FLD2 in place of LN1), every model file byte-identical to the Fortran of the same executable and the NetCDF/field to --ww3 in nccmp-tol, zero fallbacks

no benchmark: the report says why.

INIT_GET_ISEA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

INIT_GET_JSEA_ISPROC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

INPTAB_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

INSBT4_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3SRCE hunk

no benchmark: the report says why.

INSIN3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

INSIN4_KOKKOS ported, phase 1 (translated)

regtested no: the ST4 checkpoint (ADR-0011) is under way: smoke-ww3-gpu on ww3_ts1 and full-ww3-gpu on bench_small byte-identical to the Fortran with each flag and all together, 2026-10-15 (docs/log/2026-10-15-st4-checkpoint.md); the WW3 regtest matrix is not yet recorded

no benchmark: the report says why.

INSNL1_KOKKOS L2 (inside WW3, on the CPU), with W3SNL1

regtested yes: through the DIA's L2, which reads these tables in every --ww3-gpu run (health h1); byte-identical on the 100-entry matrix (docs/data/hoff_matrix_2026-10-15.tsv)

no benchmark: the report says why.

INSNL3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3IOGR hunk

no benchmark: the report says why.

INSNL5_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

JACOBI_INIT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim and the BLOCK_SOLVER_INIT caller wired

no benchmark: the report says why.

JULDAYT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

LDSOLC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

LDSOLL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

LDSOL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

LFACTOR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

LSOLC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

LSOL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

LUSOL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

LUTSOL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

MAPSTA_SMC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

MAXLAM_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

MGSRO_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

MINLAM_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

NG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

NR_CORR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

NR_ROOT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

PDLIB_EXPLICIT_BLOCK_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim with the MPI hooks

no benchmark: the report says why.

PDLIB_INIT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim filling the PDLIB, MPI and write hooks and the W3INIT hunk

no benchmark: the report says why.

PDLIB_IOBP_INIT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim with the SET_IOBPA_PDLIB hook and the W3INIT hunk

no benchmark: the report says why.

PDLIB_JACOBI_GAUSS_SEIDEL_BLOCK_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim with the MPI hooks and the U_JAC contract, and the W3WAVE hunk

no benchmark: the report says why.

PDLIB_MAPSTA_INIT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim and the W3INIT hunk

no benchmark: the report says why.

PDLIB_W3XYPFSFCT2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); no regtest selects EXPFSFCT

no benchmark: the report says why.

PDLIB_W3XYPFSN2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim, the MPI callables and the PDLIB_W3XYPUG hunk

no benchmark: the report says why.

PDLIB_W3XYPFSPSI2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim, the MPI callables and the PDLIB_W3XYPUG hunk

no benchmark: the report says why.

PDLIB_W3XYPUG_BLOCK_IMPLICIT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim with the solver's hooks and the W3WAVE hunk

no benchmark: the report says why.

PDLIB_W3XYPUG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3WAVE hunk

no benchmark: the report says why.

POLYROOTS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

PREPARATION_FD_SCHEME_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

PREPKGRID_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

PROP_FREQ_SHIFT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the PDLIB implicit solver wired

no benchmark: the report says why.

PROP_FREQ_SHIFT_M2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the PDLIB implicit solver wired

no benchmark: the report says why.

PROP_REFRACTION_PR1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

PROP_REFRACTION_PR3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the PDLIB implicit solver wired

no benchmark: the report says why.

PTMEAN_KOKKOS ported, phase 1 (translated)

regtested no: regtest matrix pending; run inside WW3 through W3KOKKOS_CPRT (W3CPRT on the resident VA) on 2026-10-18, every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 on two partition variants of bench_small (kokkos/port_report/W3CPRT_KOKKOS.md)

no benchmark: the report says why.

PTNGHB_KOKKOS ported, phase 1 (translated)

regtested no: regtest matrix pending; run inside WW3 through W3KOKKOS_CPRT (W3CPRT on the resident VA) on 2026-10-18, every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 on two partition variants of bench_small (kokkos/port_report/W3CPRT_KOKKOS.md)

no benchmark: the report says why.

PTSORT_KOKKOS ported, phase 1 (translated)

regtested no: regtest matrix pending; run inside WW3 through W3KOKKOS_CPRT (W3CPRT on the resident VA) on 2026-10-18, every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 on two partition variants of bench_small (kokkos/port_report/W3CPRT_KOKKOS.md)

no benchmark: the report says why.

PT_FLD_KOKKOS ported, phase 1 (translated)

regtested no: regtest matrix pending; run inside WW3 through W3KOKKOS_CPRT (W3CPRT on the resident VA) on 2026-10-18, every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 on two partition variants of bench_small (kokkos/port_report/W3CPRT_KOKKOS.md)

no benchmark: the report says why.

QFUNC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

QSPLIT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

RRANGE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

RUNRC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SETDEPTH_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SETVUF_FAST_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SETVUF_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SET_IOBDP_PDLIB_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim and the W3INIT/W3ULEV hunks

no benchmark: the report says why.

SET_IOBPA_PDLIB_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim behind PDLIB_IOBP_INIT's set_iobpa_pdlib hook and the W3INIT hunk

no benchmark: the report says why.

SET_UP_NSEAL_NSEALM_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SIG2WN_KOKKOS ported, phase 1 (translated)

regtested no: postponed (ADR-0016); the CPU replay ran it on 2026-10-19: scripts/ww3-gpu.sh --ww3-gpu smoke and full --cpu --kokkos SRCE with WW_KOKKOS_STRICT=1, switch_lab_gfs (lab_ompg with SEED FLD2 in place of LN1), every model file byte-identical to the Fortran of the same executable and the NetCDF/field to --ww3 in nccmp-tol, zero fallbacks

no benchmark: the report says why.

SIGN_VSD_PATANKAR_WW3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SIGN_VSD_SEMI_IMPLICIT_WW3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SKEWNESS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCAVERG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCDCXY_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCDHXY_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCGTCRFR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCKUNO2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCXUNO2R_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCXUNO2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCXUNO3R_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCXUNO3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCYUNO2R_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCYUNO2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCYUNO3R_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMCYUNO3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SMOOTH_K_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

STOPBIS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

SVD_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TABU_ERF_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3SRCE hunk

no benchmark: the report says why.

TABU_STRESS_KOKKOS ported, phase 1 (translated)

regtested no: the ST4 checkpoint (ADR-0011) is under way: smoke-ww3-gpu on ww3_ts1 and full-ww3-gpu on bench_small byte-identical to the Fortran with each flag and all together, 2026-10-15 (docs/log/2026-10-15-st4-checkpoint.md); the WW3 regtest matrix is not yet recorded

no benchmark: the report says why.

TABU_TAUHF2_KOKKOS ported, phase 1 (translated)

regtested no: the ST4 checkpoint (ADR-0011) is under way: smoke-ww3-gpu on ww3_ts1 and full-ww3-gpu on bench_small byte-identical to the Fortran with each flag and all together, 2026-10-15 (docs/log/2026-10-15-st4-checkpoint.md); the WW3 regtest matrix is not yet recorded

no benchmark: the report says why.

TABU_TAUHF_KOKKOS ported, phase 1 (translated)

regtested no: the ST4 checkpoint (ADR-0011) is under way: smoke-ww3-gpu on ww3_ts1 and full-ww3-gpu on bench_small byte-identical to the Fortran with each flag and all together, 2026-10-15 (docs/log/2026-10-15-st4-checkpoint.md); the WW3 regtest matrix is not yet recorded

no benchmark: the report says why.

TAUWINDS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

TAU_WAVE_ATMOS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

TFUNC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TIDE_FIND_INDICES_ANALYSIS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TIDE_FIND_INDICES_PREDICTION_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TIDE_PREDICT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TIDE_PREDICT_ONLY_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TIDE_SET_INDICES_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TIDYCG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TRIG_COMPUTE_DIFF_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TRIG_COMPUTE_LH_STRESS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TRIG_WAVE_SETUP_APPLY_FCT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

TRIG_WAVE_SETUP_APPLY_PRECOND_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UDSOLC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UDSOL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UFUNC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UOST_SETGRID_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UOST_SOURCETERM_COMPUTE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UOST_SOURCETERM_COMPUTE_LD_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UOST_SOURCETERM_COMPUTE_SE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UOST_SOURCETERM_SETGRID_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UOST_SRCTRMCOMPUTE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

UPPDIR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

USOLC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

USOL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

VBRMV_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

VMFUNC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

VMIN_D_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

VPFUNC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

VPLUS_D_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

VUF_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3BETA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3CFLXY_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3CPRT_KOKKOS ported, phase 2 (on the resident spectrum), wired on the fork branch

regtested no: the owner decides whether lab-switch evidence counts (plan 2026-10-18-002); the WW3 regtest matrix ran it on 2026-10-18 at WW3 50a10730 with WW3GPU_LAB_SWITCH=ON and WW_KOKKOS_VA_POISON=1: ww3_tnc1 (SRCE,OUTG,IOPE,UPDV,CPRT) test.comp 0/30, 3 Kokkos calls; mww3_test_03 grdset_a (resident) 0/34, 219 calls; the five mww3_test_05 ST4 OMPG entries (SRCE,OUTG,IOPE,UPDV,CPRT) 0/27 each, 39 calls each (docs/log/2026-10-18-u3-regtests-v2.md, docs/data/ww3gpu_matrix_*_pin-50a10730_2026-10-18.tsv); before that the CPU replay ran it on 2026-10-18: scripts/ww3-gpu.sh --ww3-gpu full --cpu --kokkos SRCE,XYP3,KTP3,OUTG,IOPE,UPDV,CPRT on two partition variants of bench_small (switch_lab_shrd, and switch_lab_ompg for the fields variant), WW_KOKKOS_VA_POISON=1: every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 (docs/log/2026-10-18-cprt-resident.md)

no benchmark: the report says why.

W3DIMA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it once a shim and the W3INIT/W3IOGO wiring exist

no benchmark: the report says why.

W3DIMS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim and the W3IOGR wiring

no benchmark: the report says why.

W3DMNL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it once a shim and the INSNL1 wiring exist

no benchmark: the report says why.

W3DZXY_KOKKOS ported, phase 1, wired and regtested on the CPU (2026-10-16)

regtested yes: scripts/ww3-gpu.sh --ww3-gpu full (bench_small) --cpu on 2026-10-16 (OpenMP backend, gfortran/g++ 16.2.0), with WW_KOKKOS_ALL=1 and with the W3WAVE support parts alone: out_grd.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, the binary files byte-identical to --ww3, 1 call (the depth gradient; no current in the case) (kokkos/src/fortran_iface/PATCH.md, section 8)

no benchmark: the report says why.

W3FLD1MD_WND2SAT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3FLD2MD_WND2SAT_KOKKOS ported, phase 1 (translated)

regtested no: postponed (ADR-0016); the CPU replay ran it on 2026-10-19: scripts/ww3-gpu.sh --ww3-gpu smoke and full --cpu --kokkos SRCE with WW_KOKKOS_STRICT=1, switch_lab_gfs (lab_ompg with SEED FLD2 in place of LN1), every model file byte-identical to the Fortran of the same executable and the NetCDF/field to --ww3 in nccmp-tol, zero fallbacks

no benchmark: the report says why.

W3FLD2_KOKKOS ported, phase 1 (translated); wired into the batched W3SRCE under W3_FLD2

regtested no: postponed (ADR-0016); the CPU replay ran it on 2026-10-19: scripts/ww3-gpu.sh --ww3-gpu smoke and full --cpu --kokkos SRCE with WW_KOKKOS_STRICT=1, switch_lab_gfs (lab_ompg with SEED FLD2 in place of LN1), every model file byte-identical to the Fortran of the same executable and the NetCDF/field to --ww3 in nccmp-tol, zero fallbacks

no benchmark: the report says why.

W3FLDG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it once a shim, W3FLDO and the ww3_shel wiring exist

no benchmark: the report says why.

W3FLDH_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it once a shim and the ww3_shel wiring exist

no benchmark: the report says why.

W3FLDO_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it with W3FLDG once a shim and the ww3_shel wiring exist

no benchmark: the report says why.

W3FLDTOIJ_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs the W3FLGRDFLAG shim that binds it into the fldtoij hook

no benchmark: the report says why.

W3FLGRDFLAG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3FLGRDUPDT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3FLX1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3FLX2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3FLX3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3FLX4_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3FLX5_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3FSD_DAVE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3GATH_KOKKOS ported, phase 1, wired and regtested on the CPU (2026-10-16)

regtested yes: scripts/ww3-gpu.sh --ww3-gpu full (bench_small) --cpu on 2026-10-16 (OpenMP backend, gfortran/g++ 16.2.0), with WW_KOKKOS_ALL=1 and with the W3WAVE support parts alone: out_grd.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, the binary files byte-identical to --ww3, 13 824 calls (kokkos/src/fortran_iface/PATCH.md, section 8)

no benchmark: the report says why.

W3IC3WNCG_CHENG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3IC5WNCG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3INIT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim that fills InitHooks and owns the per-grid state, and a W3INIT hunk on the fork

no benchmark: the report says why.

W3IOBC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim filling the W3DMO5, W3NESTUG, W3GFPT and W3CSPC hooks and the W3IOBC hooks of the Kokkos W3WAVE, and the W3WAVE hunk

no benchmark: the report says why.

W3IOGO_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim, the W3SETO/W3SETG/W3SETW/W3DIMW hooks filled and the W3WAVE wiring

no benchmark: the report says why.

W3IOGR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs the hooks filled, a shim and the W3IOGR hunk

no benchmark: the report says why.

W3IOPE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim passing the module arrays and OUTPTS(IMOD)%OUT2, and the W3IOPE hook of the Kokkos W3WAVE or a W3WAVE hunk

no benchmark: the report says why.

W3IOPO_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim filling the W3SETO/W3SETG/W3SETW and W3DMO2 hooks and a W3IOPO hook of the Kokkos W3WAVE, and the W3WAVE hunk

no benchmark: the report says why.

W3IOPP_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs a shim filling the W3DMO2, W3GRMP, IS_IN_UNGRID and NetCDF hooks and the w3iopp hook of the Kokkos W3INIT, and the W3INIT hunk

no benchmark: the report says why.

W3IORS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its checkpoint (ADR-0011) needs the W3DIMW hook filled, a shim and the W3INIT/W3WAVE hunks

no benchmark: the report says why.

W3KTP1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the propagation checkpoint (ADR-0011) runs it once a shim and the W3WAVE wiring exist

no benchmark: the report says why.

W3KTP2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the propagation checkpoint (ADR-0011) runs it once a shim and the W3WAVE wiring exist

no benchmark: the report says why.

W3KTP3_KOKKOS ported, phase 1, wired, opt-in (WW_KOKKOS_KTP3=1), batched: every sea point of an intra-spectral part in one call (2026-10-17)

regtested no: no regtest matrix yet; the CPU replay ran it: scripts/ww3-gpu.sh --ww3-gpu full --cpu --kokkos XYP3,KTP3,SRCE on 2026-10-17 (OpenMP backend, gfortran/g++ 16.2.0), switch_lab_ompg and switch_lab_shrd, and WW_KOKKOS_PROP3_BATCH_MIB=64: out_grd.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, out_grd.ww3 byte-identical to --ww3, nccmp-tol PASS, 441 792 point calls in 48 calls, refraction only: FLCK and FLCUR are false in bench_small, so the wavenumber shift (W3QCK2) never ran; on the resident VA (ww_ktp3_batch_va, fork 90631fad, WFIP-0005 unit 3b, PATCH.md section 13) the same replay byte-identical on 2026-10-17 on switch_lab_ompg and switch_lab_shrd, with and without WW_KOKKOS_VA_RESIDENT=1, VA traffic H2D 1 / D2H 13 per full run

no benchmark: the report says why.

W3MAP3_KOKKOS ported, phase 1, wired and regtested on the CPU (2026-10-16)

regtested yes: scripts/ww3-gpu.sh --ww3-gpu full (bench_small) --cpu on 2026-10-16 (OpenMP backend, gfortran/g++ 16.2.0), with WW_KOKKOS_ALL=1 and with the W3WAVE support parts alone: out_grd.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, the binary files byte-identical to --ww3, 1 call on the 120 x 80 grid (kokkos/src/fortran_iface/PATCH.md, section 8)

no benchmark: the report says why.

W3MAPT_KOKKOS ported, phase 1, wired and regtested on the CPU (2026-10-16)

regtested yes: scripts/ww3-gpu.sh --ww3-gpu full (bench_small) --cpu on 2026-10-16 (OpenMP backend, gfortran/g++ 16.2.0), with WW_KOKKOS_ALL=1 and with the W3WAVE support parts alone: out_grd.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, the binary files byte-identical to --ww3, 1 call on the 120 x 80 grid (kokkos/src/fortran_iface/PATCH.md, section 8)

no benchmark: the report says why.

W3MPIO_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); its only caller, W3INIT (w3initmd.F90:1559-1563), is under W3_MPI, so no lab-switch regtest reaches it and its checkpoint (ADR-0011) needs the W3_MPI body ported and an MPI regtest

no benchmark: the report says why.

W3NAUX_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it once a shim and the ww3_shel/W3INIT wiring exist

no benchmark: the report says why.

W3OUTG_KOKKOS ported, phase 2 (on the resident spectrum), wired (WFIP-0005 unit 5, 2026-10-17):

regtested no: no regtest matrix yet; the CPU replay ran it: scripts/ww3-gpu.sh --ww3-gpu full --cpu --kokkos SRCE,XYP3,KTP3,OUTG on 2026-10-17 (OpenMP backend, gfortran/g++ 16.2.0, fork e0cc8ee9), switch_lab_ompg and switch_lab_shrd, with and without WW_KOKKOS_VA_RESIDENT=1: out_grd.ww3 and the ww3_ounf NetCDF byte-identical (cmp) to the Fortran of the same executable and to --ww3 (the NetCDF differs from --ww3 only in WAVEWATCH_III_switches), 13 Kokkos calls per run, HS only; the coast case (HS FP DIR DP T0M1, currents, levels, ice, boundary) the same on both switches, with and without WW_KOKKOS_VA_RESIDENT=1; a diagnostic bench_small with every field the port computes (36 output names, the 3-D fields, the space-time extremes in their three modes and none) byte-identical in out_grd.ww3 on switch_lab_ompg and switch_lab_shrd; the smoke (ww3_ts1) requests WBT and SKW, so it ran the Fortran fallback (0 Kokkos calls), byte-identical; the device copy-back never ran

no benchmark: the report says why.

W3PART_KOKKOS ported, phase 1 (translated)

regtested no: regtest matrix pending; run inside WW3 through W3KOKKOS_CPRT (W3CPRT on the resident VA) on 2026-10-18, every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 on two partition variants of bench_small (kokkos/port_report/W3CPRT_KOKKOS.md)

no benchmark: the report says why.

W3QCK1_KOKKOS ported, phase 1, wired inside the Kokkos W3KTP3 (WW_KOKKOS_KTP3=1) (2026-10-17)

regtested no: no regtest matrix yet; the CPU replay ran it inside W3KTP3 (refraction on): scripts/ww3-gpu.sh --ww3-gpu full --cpu --kokkos XYP3,KTP3,SRCE on 2026-10-17 (OpenMP backend, gfortran/g++ 16.2.0), switch_lab_ompg and switch_lab_shrd, and WW_KOKKOS_PROP3_BATCH_MIB=64: out_grd.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, out_grd.ww3 byte-identical to --ww3, nccmp-tol PASS

no benchmark: the report says why.

W3QCK2_KOKKOS ported, phase 1, wired inside the Kokkos W3KTP3 (WW_KOKKOS_KTP3=1) (2026-10-17)

regtested no: never run: W3KTP3 calls it only when FLCK is true, and the full and smoke cases have no current-induced wavenumber shift

no benchmark: the report says why.

W3QCK3_KOKKOS ported, phase 1, wired inside the Kokkos W3XYP3 (WW_KOKKOS_XYP3=1) (2026-10-17)

regtested no: no regtest matrix yet; the CPU replay ran it inside W3XYP3: scripts/ww3-gpu.sh --ww3-gpu full --cpu --kokkos XYP3,KTP3,SRCE on 2026-10-17 (OpenMP backend, gfortran/g++ 16.2.0), switch_lab_ompg and switch_lab_shrd, and WW_KOKKOS_PROP3_BATCH_MIB=64: out_grd.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, out_grd.ww3 byte-identical to --ww3, nccmp-tol PASS; the transparency branches with obstructions were not checked for coverage

no benchmark: the report says why.

W3RPWNICE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3S2XY_SMCNN_INT_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3S2XY_SMCNN_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3S2XY_SMCRG_DIR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3S2XY_SMCRG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3S2XY_SMC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3SBT1_KOKKOS ported, phase 1 (translated)

regtested no: waiting for the checkpoint of W3SRCE (ADR-0011); built on serial-debug, openmp-release and cuda-release only

no benchmark: the report says why.

W3SBT4_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3SRCE hunk

no benchmark: the report says why.

W3SCAT_KOKKOS ported, phase 1, wired and regtested on the CPU (2026-10-16)

regtested yes: scripts/ww3-gpu.sh --ww3-gpu full (bench_small) --cpu on 2026-10-16 (OpenMP backend, gfortran/g++ 16.2.0), with WW_KOKKOS_ALL=1 and with the W3WAVE support parts alone: out_grd.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, the binary files byte-identical to --ww3, 13 824 calls (kokkos/src/fortran_iface/PATCH.md, section 8)

no benchmark: the report says why.

W3SDB1_KOKKOS ported, phase 1 (translated)

regtested no: waiting for the checkpoint of W3SRCE (ADR-0011); built on serial-debug, openmp-release and cuda-release only

no benchmark: the report says why.

W3SDS1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SDS2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SDS3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SDS4_KOKKOS ported, phase 1 (translated)

regtested no: the ST4 checkpoint (ADR-0011) is under way: smoke-ww3-gpu on ww3_ts1 and full-ww3-gpu on bench_small byte-identical to the Fortran with each flag and all together, 2026-10-15 (docs/log/2026-10-15-st4-checkpoint.md); the WW3 regtest matrix is not yet recorded

no benchmark: the report says why.

W3SDS6_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SETA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it once a shim and the W3INIT/W3IOGO wiring exist

no benchmark: the report says why.

W3SETG_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it once a shim and the W3INIT/W3IOGR/W3WAVE wiring exist

no benchmark: the report says why.

W3SIC1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3SRCE hunk

no benchmark: the report says why.

W3SIC4_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3SRCE hunk

no benchmark: the report says why.

W3SIN1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SIN2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SIN3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SIN4_KOKKOS ported, phase 1 (translated)

regtested no: the ST4 checkpoint (ADR-0011) is under way: smoke-ww3-gpu on ww3_ts1 and full-ww3-gpu on bench_small byte-identical to the Fortran with each flag and all together, 2026-10-15 (docs/log/2026-10-15-st4-checkpoint.md); the WW3 regtest matrix is not yet recorded

no benchmark: the report says why.

W3SIN6_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SIS1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3SRCE hunk

no benchmark: the report says why.

W3SLN1_KOKKOS ported, phase 1 (translated)

regtested no: waiting for the checkpoint of W3SRCE (ADR-0011); built on serial-debug, openmp-release and cuda-release only

no benchmark: the report says why.

W3SMCELL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3SMCGMP_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3SNL1_KOKKOS L2 (inside WW3, on the CPU), byte-identical to the Fortran DIA on all 100 serial NL1 entries of WW3's regtest matrix (2026-10-15)

regtested yes: L2 on the CPU, ww3_ts1 and bench_small, against the Fortran DIA and pair to pair against --ww3; ww3_ts1 in CI (health h1); WW3 regtest matrix of 100 entries, byte-identical on all 100 (test.comp), nccmp-tol 71 PASS, 29 n/a, 0 FAIL, after AF11 took gfortran's -O3 chain for x**11 (docs/data/hoff_matrix_2026-10-15.tsv); the 25 shared-memory OpenMP (OMPG) NL1 entries, byte-identical on all 25 (test.comp), nccmp-tol 25 PASS, with OMP_MAX_ACTIVE_LEVELS=2, without which Kokkos aborts inside W3WAVE's parallel region (docs/data/hoff_matrix_omp_2026-10-15.tsv)

  1. 1the shim, 1 000 points · Serial (1 thread)2026-09-151.0x25.88 ms against 25.88 ms · bench/results/snl1-i9-14900-rtx4090-2026-09-15.json
  2. 2the shim, 1 000 points · OpenMP, 32 threads2026-09-154.35x5.95 ms against 25.88 ms · bench/results/snl1-i9-14900-rtx4090-2026-09-15.json
  3. 3the shim, 1 000 points · CUDA, RTX 40902026-09-1534.5x0.75 ms against 25.88 ms · bench/results/snl1-i9-14900-rtx4090-2026-09-15.json
  4. 4the kernel alone, 1 000 points · CUDA, RTX 40902026-09-15531x0.047 ms against 24.96 ms · bench/results/snl1-i9-14900-rtx4090-2026-09-15.json
  5. 5ww3_shel, ww3_ts1 (one point) · OpenMP, 1 thread, in WW32026-10-140.95x · slower2.81 s against 2.67 s · just smoke-ww3-gpu
  6. 6ww3_shel, bench_small (9 520 points) · OpenMP, 1 thread, in WW32026-10-140.7x · slower217.9 s against 152.7 s · just full-ww3-gpu
  7. 7the kernel alone, 1 000 points, direction halo · OpenMP, 1 thread2026-10-181.93x6.39 ms against 12.31 ms · docs/log/2026-10-18-resident-five-speedups.md
  8. 8the kernel alone, 1 000 points, direction halo · OpenMP, 32 threads2026-10-181.18x2.11 ms against 2.50 ms · docs/log/2026-10-18-resident-five-speedups.md

W3SNL3MD_EXPAND_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3SNL3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3SRCE hunk

no benchmark: the report says why.

W3SNLSMD_EXPAND_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3SPR0_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SPR1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SPR2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SPR3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SPR4_KOKKOS ported, phase 1 (translated)

regtested no: the ST4 checkpoint (ADR-0011) is under way: smoke-ww3-gpu on ww3_ts1 and full-ww3-gpu on bench_small byte-identical to the Fortran with each flag and all together, 2026-10-15 (docs/log/2026-10-15-st4-checkpoint.md); the WW3 regtest matrix is not yet recorded

no benchmark: the report says why.

W3SPR6_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SRC3MD_CALC_USTAR_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SRC3MD_TABU_STRESS_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SRC3MD_TABU_TAUHF_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SRC6MD_IRANGE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SRCE_KOKKOS ported, phase 1 (translated)

regtested no: postponed (ADR-0016); the CPU replay ran it on 2026-10-19: scripts/ww3-gpu.sh --ww3-gpu smoke and full --cpu --kokkos SRCE with WW_KOKKOS_STRICT=1, switch_lab_gfs (lab_ompg with SEED FLD2 in place of LN1), every model file byte-identical to the Fortran of the same executable and the NetCDF/field to --ww3 in nccmp-tol, zero fallbacks | earlier: no: no regtest matrix yet; the CPU replay ran it: scripts/ww3-gpu.sh --ww3-gpu smoke and full --cpu --kokkos SRCE on 2026-10-17 (OpenMP backend, gfortran/g++ 16.2.0), switch_lab_ompg and switch_lab_shrd, batched on the resident VA (WFIP-0005 unit 2, with and without WW_KOKKOS_VA_RESIDENT=1): the NetCDF field and out_grd.ww3 byte-identical (cmp) to the Fortran of the same executable and to --ww3, nccmp-tol PASS, 230 100 spectra in 25 calls in the full; again 2026-10-17 with --kokkos resident, the inputs kept on the device (WFIP-0005 unit 4), plain, with WW_KOKKOS_VA_RESIDENT=1 and with WW_KOKKOS_SRCE_STAGED=1, on both switches: byte-identical the same way

no benchmark: the report says why.

W3SREF_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3SRCE hunk

no benchmark: the report says why.

W3STR1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and the W3SRCE hunk

no benchmark: the report says why.

W3SWL4_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SWL6_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3SWLDMD_IRANGE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs the fork branch pinned and WW3's regtests

no benchmark: the report says why.

W3UIC1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3UIC5_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3ULEV_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it once a shim and the W3WAVE wiring exist

no benchmark: the report says why.

W3URHO_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

W3UTRN_KOKKOS ported, phase 1, wired (2026-10-16): WW3 calls it under WW_KOKKOS_UTRN=1 (or WW_KOKKOS_ALL=1) at h0ffmann/WW3 357f575c (ww3-gpu/kokkos-wave-support)

regtested no: wired and run (1 call in smoke and full, byte-identical, 2026-10-16), but both cases have TRFLAG = 0, so only the ATRNX = ATRNY = 1 initialisation ran; the obstruction and ice branches need a case with FLAGTR above 0

no benchmark: the report says why.

W3UWND_KOKKOS ported, phase 1, wired and regtested on the CPU (2026-10-16)

regtested yes: scripts/ww3-gpu.sh --ww3-gpu smoke (ww3_ts1) and full (bench_small) --cpu on 2026-10-16 (OpenMP backend, gfortran/g++ 16.2.0), with WW_KOKKOS_ALL=1 and with the W3WAVE support parts alone: out_grd.ww3 (and out_pnt.ww3, restart.ww3 in the smoke) and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, the binary files byte-identical to --ww3, 2 161 calls (smoke) and 25 (full); just smoke-ww3-gpu and the full case (kokkos/src/fortran_iface/PATCH.md, section 8)

no benchmark: the report says why.

W3WAVE_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE checkpoint (ADR-0011) runs it once a shim fills the hook table and the Views

no benchmark: the report says why.

W3XDMA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the W3WAVE support checkpoint (ADR-0011) runs it once a shim and the W3INIT/DO_OUTPUT_EXCHANGES wiring exist

no benchmark: the report says why.

W3XETA_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); every caller at the pin is under W3_MPI or PDLIB, so its checkpoint (ADR-0011) needs an MPI regtest once a shim and the W3IOGO/W3MPIO wiring exist

no benchmark: the report says why.

W3XYP1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the propagation checkpoint (ADR-0011) runs it once a shim and the W3WAVE wiring exist

no benchmark: the report says why.

W3XYP2_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run in this round); the propagation checkpoint (ADR-0011) runs it once a shim and the W3WAVE wiring exist

no benchmark: the report says why.

W3XYP3_KOKKOS ported, phase 1, wired, opt-in (WW_KOKKOS_XYP3=1), batched: every spectral component of a step in one call (2026-10-17)

regtested no: no regtest matrix yet; the CPU replay ran it: scripts/ww3-gpu.sh --ww3-gpu full --cpu --kokkos XYP3,KTP3,SRCE on 2026-10-17 (OpenMP backend, gfortran/g++ 16.2.0), switch_lab_ompg and switch_lab_shrd, and WW_KOKKOS_PROP3_BATCH_MIB=64: out_grd.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, out_grd.ww3 byte-identical to --ww3, nccmp-tol PASS, 13 824 spectra in 24 calls; the FLCUR, global-closure and boundary-input branches never ran (bench_small has none); on the resident VA (ww_xyp3_batch_va, fork 90631fad, WFIP-0005 unit 3b, PATCH.md section 13) the same replay byte-identical on 2026-10-17 on switch_lab_ompg and switch_lab_shrd, with and without WW_KOKKOS_VA_RESIDENT=1, VA traffic H2D 1 / D2H 13 per full run

no benchmark: the report says why.

W3XYPFSN2_KOKKOS ported and wired, 2026-10-18 (issue #196), inside the batched W3XYPUG kernel

regtested yes: WW3GPU_KOKKOS=resident WW3GPU_LAB_SWITCH=ON just ww3-gpu-matrix 4 serial -R '^00[12]:' on 2026-10-19 (ww3-gpu 94b3118, WW3 aa382393 rebased pin, OpenMP backend, gfortran/g++ 16.2.0): ww3_tp2.6 ST4 and ST4_ASCII, test.comp 0/36 and 0/38, nccmp-tol PASS, 777600 components on Kokkos (docs/data/ww3gpu_matrix_xypug_tp2.6_2026-10-19.tsv, docs/log/2026-10-19-xypug-tp2.6-rebased.md; first run 2026-10-18 at WW3 84df86e0, docs/log/2026-10-18-xypug-tp2.6.md)

no benchmark: the report says why.

W3XYPUG_KOKKOS ported and wired, 2026-10-18 (issue #196): a batched device kernel with the FSN

regtested yes: WW3GPU_KOKKOS=resident WW3GPU_LAB_SWITCH=ON just ww3-gpu-matrix 4 serial -R '^00[12]:' on 2026-10-19 (ww3-gpu 94b3118, WW3 aa382393 rebased pin, OpenMP backend, gfortran/g++ 16.2.0): ww3_tp2.6 ST4 and ST4_ASCII, test.comp 0/36 and 0/38, nccmp-tol PASS, 777600 components on Kokkos (docs/data/ww3gpu_matrix_xypug_tp2.6_2026-10-19.tsv, docs/log/2026-10-19-xypug-tp2.6-rebased.md; first run 2026-10-18 at WW3 84df86e0, docs/log/2026-10-18-xypug-tp2.6.md)

no benchmark: the report says why.

WAVNU1_KOKKOS ported, phase 1 (translated)

regtested no: regtest matrix pending; run inside WW3 through W3KOKKOS_CPRT (W3CPRT on the resident VA) on 2026-10-18, every model file and partition.ww3 byte-identical to the Fortran of the same executable and to --ww3 on two partition variants of bench_small (kokkos/port_report/W3CPRT_KOKKOS.md); only PTMEAN's call, not W3INIT's or W3ULEV's

no benchmark: the report says why.

WAVNU2_KOKKOS ported, phase 1, wired and regtested on the CPU (2026-10-16)

regtested yes: through DISTAB (121 calls per DISTAB call), scripts/ww3-gpu.sh --ww3-gpu smoke (ww3_ts1) --cpu on 2026-10-16 (OpenMP backend, gfortran/g++ 16.2.0), with WW_KOKKOS_ALL=1 and with the W3WAVE support parts alone: out_grd.ww3, out_pnt.ww3, restart.ww3 and the NetCDF field byte-identical (cmp) to the Fortran of the same executable, the binary files byte-identical to --ww3, 0 of the 246 table values differ from the Fortran's (kokkos/src/fortran_iface/PATCH.md, section 8)

no benchmark: the report says why.

WAVNU3_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its PDLIB callers wired

no benchmark: the report says why.

WAVNU_LOCAL_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its PDLIB callers wired

no benchmark: the report says why.

WKFNC_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

WMIOEG_KOKKOS ported, the stores of VA only, wired and regtested on the CPU (2026-10-18) on the

regtested yes: on the fork branch ww3-gpu/u1-multi-va (f330dc53), the entries of WMIOHG, test.comp 0 files different; whether they reach 2.b was not checked

no benchmark: the report says why.

WMIOHG_KOKKOS ported, the store of VA only, wired and regtested on the CPU (2026-10-18) on the

regtested yes: on the fork branch ww3-gpu/u1-multi-va (f330dc53), WW3GPU_LAB_SWITCH=ON matrix entries mww3_test_01 to _04 (resident) and mww3_test_05 (SRCE,OUTG,IOPE,UPDV), test.comp 0 files different, plain and with WW_KOKKOS_VA_POISON=1 (docs/log/2026-10-18-ww3-multi-resident-va.md)

no benchmark: the report says why.

WND2Z0M_KOKKOS ported, phase 1 (translated)

regtested no: postponed (ADR-0016); the CPU replay ran it on 2026-10-19: scripts/ww3-gpu.sh --ww3-gpu smoke and full --cpu --kokkos SRCE with WW_KOKKOS_STRICT=1, switch_lab_gfs (lab_ompg with SEED FLD2 in place of LN1), every model file byte-identical to the Fortran of the same executable and the NetCDF/field to --ww3 in nccmp-tol, zero fallbacks

no benchmark: the report says why.

WN_CMPLX_HF_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

WN_CMPLX_V1_KOKKOS ported, phase 1 (translated)

regtested no: translated only, as the owner asked on 2026-10-16 (no test run); its checkpoint (ADR-0011) needs a shim and its caller's hunk

no benchmark: the report says why.

the second brain

one idea in one note, with a permanent id, links between notes, and a status that stays unverified until a source is cited. the notes are what the chapters are written from.

how to cite

cite the concept DOI for the work as a whole: it always resolves to the latest edition. to pin the exact code you ran, cite that release's own DOI.

10.5281/zenodo.23221351

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

latest release: v0.1.3: four decisions accepted