h0ffmann / ww3-gpu

ww3-gpu

without changing the answer

making WAVEWATCH III run faster with Kokkos and CUDA, without changing the Fortran's arithmetic: every ported routine gives the Fortran's bits.

the repositorythe port in rust: chaceon

the repository

Without Changing the Answer

WAVEWATCH III on GPUs with Kokkos and CUDA, bit for bit with the Fortran: github.com/h0ffmann/ww3-gpu

the code, the plans, the decisions and the measurements sit side by side. every claim carries (v) when it was checked and ⚠ when it was not, and every number comes with its command.

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 same rule, in rust

ww3-gpu keeps WW3 and lets its Fortran call C++ written with Kokkos, one flag per routine. its sister project replaces WW3 with Rust, with no Fortran in its process. both ports must give the Fortran's bits, and a tolerance is a diagnostic, never the verdict.

chaceon

WAVEWATCH III in pure Rust, for the CPU, for SPIR-V (rust-gpu) and for PTX (Rust-CUDA), with the discipline of ww3-gpu and without Kokkos; MPL-2.0

go to the rust repository

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 preprint and the proposal are written from them.

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