Skip to content

Mapping WW3 to WW4 and Ownership

Dr. Ir. Hendrik L. Tolman edited this page Aug 14, 2026 · 22 revisions

WW4 banner

Mapping WW3® to WW4TM (and ownership)

Database version 2.6.0 dated February 19, 2026

This page documents the ownership of options and tools from WW3 and how they map to WW4. This mapping is performed to help the development of WW4, in particular with respect to removing obsolete code and to consolidate options and tools. This page will be retained after the development of WW4 is reasonably mature in order to document for users where WW3 capabilities can or cannot be found, and what is not ported from WW3 to WW4. This page consists of two parts

Note that this page is based on version 6.0.7 of WW3 as a "snapshot" of that model, and will therefore not be completely aligned with the most recent version of WW3.

Note, furthermore, that this page considers the released version of WW3. Therefore, new options included in developmental versions of WW3 are not addressed here. If you are aware of such options, please contact there developers directly with questions of their (tentative) inclusion in WW4.

A: Model Options (switches)

This section maps options (“switches”) from WW3 to their intended landing place in WW4. The starting point are the switches documented in Section 5.8 of the WAVEWATCH III® Manual v6.0.7 (Download Only). The tables of switches below except for those in the last section (A.20) require exactly one selection each in WW3, unless specified differently.

A.1 Machine dependent code:

These switches are a holdover from much older versions of WW3 that were effectively obsolete and become even more so as we transition away from Fortran.

switch WW3 owner POC WW4
F90 FORTRAN-90 style date and time capturing and program abort. No longer used in most recent developmental version of WW3 --- --- ---
DUM Dummy to be used if WAVEWATCH III is to be installed on previously untried hardware. No longer used in most recent developmental version of WW3 --- --- ---

A.2 Hardware Model and Parallel Approach:

These two sets of “overlapping” switches are becoming obsolete by always compiling the code with MPI and only activating this as needed, and as MPI has historically become the only parallel technology used in WW3 (no option selection needed).

Memory Model:

switch WW3 owner POC WW4
SHRD Shared memory model Core Team Code Managers Obsolete
DIST Distributed memory model Core Team Code Managers Obsolete

Message Passing Approach:

switch WW3 owner POC WW4
SHRD Shared memory model, no message passing Core Team Code Managers Obsolete
MPI Message Passing Interface (MPI) Core Team Code Managers Obsolete

A.3 Propagation Schemes and GSE alleviation:

These represent two sets of switches with some shared switches between the groups. The second set of switches is secondary to the selection of program modules in the first set of switches, and, therefore, does not have a user-defined.

Primary selections about order of scheme and associated GFE alleviation: Tentatively, we intend to build a systematic GSE alleviation into the governing equations rather than the numerical solutions, making most options here obsolete.

switch WW3 owner POC WW4
PR0 No propagation scheme / GSE alleviation used Core Team Code Managers Option will be retained
PR1 First order propagation scheme, no GSE alleviation Core Team Code Managers Tentatively not ported
PR2 Higher-order schemes with Booij and Holthuijsen (1987) GFE alleviation Core Team Code Managers Tentatively not ported
PR3 Higher-order schemes with Tolman (2002) averaging GFE alleviation. Core Team Code Managers Tentatively not ported
PR4 Slot no longer used --- --- ---
PRX Template for user provided scheme Core Team Code Managers Use of templates in new architecture has not yet been addressed

Secondary selections, focusing on numerical approaches: As these numerical approaches are associated with traditional structured grids, they are tentatively obsolete in WW4.

switch WW3 owner POC WW4
PR0 No propagation scheme used Core Team Code Managers Option will be retained
PR1 First-order propagation scheme NCEP Hendrik Tolman Tentatively not ported
UNO Second-order (UNO) propagation scheme Met Office Jian-Guo Li TBD
UQ Third-order (UQ) propagation scheme NCEP Hendrik Tolman Tentatively not ported

A.4 Flux Computation

switch WW3 owner POC WW4
FLX0 No routine used; flux computation included in source terms Core Team Code Managers Option will be retained
FLX1 Friction velocity according to Wu TBD TBD TBD
FLX2 Friction velocity from Tolman and Chalikov TBD TBD TBD
FLX3 Friction velocity from Tolman and Chalikov with cap TBD TBD TBD
FLX4 Friction velocity according to ??? TBD TBD TBD
FLX5 Friction velocity from atmospheric stress (stresses should be an input) TBD TBD TBD

A.5 Selection of linear input

switch WW3 owner POC WW4
LN0 No linear input Core Team Code Managers Option will be retained
SEED Spectral seeding NCEP Hendrik Tolman Option will be retained
LN1 Cavaleri and Malanotte-Rizzoli with filter NCEP Hendrik Tolman Option will be retained

A.6 Selection of input and dissipation

STAB n switches are optional and additional to corresponding ST n switch:

switch WW3 owner POC WW4
ST0 No input and dissipation used Core Team Code Managers Option will be retained
ST1 WAM cycle 3 physics NCEP Hendrik Tolman TBD (no ?)
ST2 Tolman and Chlikov (1996) NCEP Hendrik Tolman TBD (no ?)
STAB0 No stability correction. Compatible with any ST_n _ package Core Team Code Managers Option will be retained
STAB2 Enable stability correction fot ST2 only NCEP Hendrik Tolman Same as ST2
ST3 WAM cycle 4 and variants Ifremer/LOPS Fabrice Ardhuin TBD
STAB3 Stability correction from Adballa and Bidlot (2002) for ST3 and ST4 Ifremer/LOPS Fabrice Ardhuin TBD
ST4 Ardhuin et al (2010) Ifremer/LOPS Fabrice Ardhuin Option will be retained
ST5 Slot no longer used --- --- ---
ST6 BYDRZ source term package Uni Melb Alex Babanin Option will be retained

A.7 Selection of nonlinear interactions:

switch WW3 owner POC WW4
NL0 No nonlinear interactions used Core Team Code Managers Option will be retained
NL1 Discrete interaction approximation NCEP Hendrik Tolman TBD (yes?)
Gaussian Quadrature Method LOPS Fabrice Ardhuin Option will be retained
NL2 Exact interaction approximation Gerbrant v. Vledder ♱ N/A Would need new owner
NL3 Generalized Multiple \dia\ (\gmd) NCEP Hendrik Tolman TBD (yes?)
NL4 Two-scale approximation (TSA) TBD TBD TBD

A.8 Selection of bottom friction:

switch WW3 owner POC WW4
BT0 No bottom friction used Core Team Code Managers Option will be retained
BT1 JONSWAP bottom friction formulation NCEP Hendrik Tolman TBD (yes?)
BT2-3 Slots no longer used --- --- ---
BT4 SHOWEX bottom friction formulation Ifremer/LOPS Fabrice Ardhuin Option will be retained
BT5-7 Slots have never been used --- --- ---
BT8 Dalrymple and Liu formulation (fluid mud seafloor) NRL Erick Rogers TBD (no?)
BT9 Ng formulation (fluid mud seafloor NRL Erick Rogers TBD (no?)

A.9 Selection of term for damping by sea ice:

switch WW3 owner POC WW4
IC0 No damping by sea ice Core Team Code Managers Option will be retained
IC1 Simple formulation NRL Erick Rogers TBD (no?)
IC2 Liu et al. formulation Ifremer/LOPS Fabrice Ardhuin Option will be retained
IC3 Wang and Shen formulation NRL Erick Rogers TBD (no?)
IC4 Frequency-dependent damping by sea ice NRL Erick Rogers Option will be retained

A.10 Selection of term for scattering by sea ice:

switch WW3 owner POC WW4
IS0 No scattering by sea ice Core Team Code Managers Option will be retained
IS1 Diffusive scattering by sea ice (simple) TBD TBD TBD
IS2 Floe-size dependent scattering and dissipation Ifremer/LOPS Fabrice Ardhuin Option will be retained

A.11 Selection of term for reflection:

switch WW3 owner POC WW4
REF0 No reflection Core Team Code Managers Option will be retained
REF1 Enables reflection of shorelines and icebergs Ifremer/LOPS Fabrice Ardhuin Option will be retained

A.12 Selection depth-induced breaking:

switch WW3 owner POC WW4
DB0 No depth-induced breaking used Core Team Code Managers Option will be retained
DB1 Battjes-Janssen TBD TBD Option will be retained

A.13 Selection of triad interactions:

switch WW3 owner POC WW4
TR0 No triad interactions used Core Team Code Managers Option will be retained
TR1 Lumped Triad Interaction (LTA) method TBD TBD Option will be retained

A.14 Selection of bottom scattering:

switch WW3 owner POC WW4
BS0 No bottom scattering Core Team Code Managers Option will be retained
BS1 Magne and Ardhuin Ifremer/LOPS Fabrice Ardhuin Option will be retained

A.15 Selection of method of wind/momentum/air density interpolation in time:

switch WW3 owner POC WW4
WNT0 No interpolation NCEP Hendrik Tolman Option will be retained
WNT1 Linear interpolation NCEP Hendrik Tolman Option will be retained
WNT2 Approximately quadratic interpolation NCEP Hendrik Tolman Option will be retained

A.16 Selection of method of wind/momentum/air density interpolation in space:

switch WW3 owner POC WW4
WNX0 No interpolation NCEP Hendrik Tolman Option will be retained
WNX1 Approximately linear speed interpolation NCEP Hendrik Tolman Option will be retained
WNX2 Approximately quadratic speed interpolation NCEP Hendrik Tolman Option will be retained

A.17 Selection of method of current interpolation in time:

switch WW3 owner POC WW4
CRT0 No interpolation NCEP Hendrik Tolman Option will be retained
CRT1 Linear interpolation NCEP Hendrik Tolman Option will be retained
CRT2 Approximately quadratic interpolation NCEP Hendrik Tolman Option will be retained

A.18 Selection of method of current interpolation in space:

switch WW3 owner POC WW4
CRX0 No interpolation NCEP Hendrik Tolman Option will be retained
CRX1 Approximately linear speed interpolation NCEP Hendrik Tolman Option will be retained
CRX2 Approximately quadratic speed interpolation NCEP Hendrik Tolman Option will be retained

A.19 Switch for user supplied GRIB package:

As we plan to move to a community supported C++ GRIB package user-supplied packages will become obsolete here.

switch WW3 owner POC WW4
NOGRB No package included --- --- Obsolete
NCEP2 NCEP GRIB2 package --- --- Obsolete

A.20 Optional switches:

Optional switches in WW3 do not require a specific number of switches to be selected per group, but may require specific switch combinations. As the goal of this wiki page is to document the transition from WW3 to WW4, such details will not be reproduced here (see the WW3 menial if you are interested in this).

Optional output:

WW3 has many output options managed by switches (presently O1 through O16). As many of these options are embedded in the actual WW3 code, each of them will be re-assessed as we are considering the corresponding codes for transition to WW4. Hence, individual output options will not be documented here.

Hybrid parallelization:

Because one of the reasons for developing WW4 has been to completely re-design its parallel approaches, all old WW3 switches are by definition obsolete, although some of the functionality behind these switches may find its way into the new code.

switch WW3 owner POC WW4
OMPG Activate OpenMP general loop paralellization directives. --- --- Obsolete
OMPH Activate hybrid MPI-OpenMP loop paralellization directives. --- --- Obsolete
PDLIB Activate untructured grid dmain decompositions tools. --- --- Obsolete
B4B Enforce bit-for-bit reproducibility of OpenMP enabled code --- --- Obsolete

Moving grid options:

This represents a simple correction to the governing equations that has been proven to support research. Due to its simplicity and value, this option is tentatively scheduled for conversion, but has low priority.

switch WW3 owner POC WW4
MGP Activate propagation correction for moving grid NCEP Hendrik Tolman TBD (yes?)
MGW Apply wind correction in moving grid approach NCEP Hendrik Tolman TBD (yes?)
MGG Activate GSE alleviation correction in associated averaging NCEP Hendrik Tolman Obsolete

Miscellaneous switches

For references and details of the various switches, see Section 5.9 of the WAVEWATCH III Manual v6.0.7 (Download Only).

switch WW3 owner POC WW4
COU Activates the calculation of variables required for coupling TBD TBD TBD
DSS0 Switch off frequency dispersion in diffusive dispersion correction NCEP Hendrik Tolman Obsolete ?
FLD1 Sea-state dependent friction velocity NCEP ? Brandon Reichl (GFDL) Option will be retained
FLD2 Sea-state dependent friction velocity NCEP ? Brandon Reichl (GFDL) Option will be retained
IG1 Second-order spectrum and free infragravity waves Ifremer/LOPS Fabrice Ardhuin TBD
MLIM Use Miche-style shallow water limiter NCEP Hendrik Tolman Obsolete
MPIBDI Experimental parallelization of multi-grid model initialization TBD TBD Obsolete
MPIT Test output for MPI initializations NCEP Hendrik Tolman Obsolete
MPRF Profiling of individual models and nesting in ww3_multi NCEP Hendrik Tolman Obsolete
NCO Code modifications for operational implementation at NCO (NCEP Central Operations) NCEP Hendrik Tolman TBD
NLS Activate nonlinear smoother NCEP Hendrik Tolman Option will be retained
NNT Generate file test_data_nnn.ww3 with spectra and nonlinear interactions for training and testing of NNIA NCEP Hendrik Tolman Obsolete
OASIS Initializes OASIS Coupler Met Office Juan Castillo (TBD) Option will be retained
OASACM OASIS atmospheric model coupling fields Met Office Juan Castillo (TBD) Option will be retained
OASOCM OASIS oceanic model coupling fields Met Office Juan Castillo (TBD) Option will be retained
OASICM OASIS sea ice model coupling fields Met Office Juan Castillo (TBD) Option will be retained
REFRX Enables refraction based on spatial gradients in phase velocity (ice) TBD TBD TBD
REFT Test output for shoreline reflection for REF1 TBD TBD TBD
RTD Rotated grid option Met Office Juan Castillo (TBD) Option will be retained
RWND Correct wind speed for current velocity NCEP Hendrik Tolman Ported or becoming standard approach
S Enable subroutine tracing using STRACE routine NCEP Hendrik Tolman Obsolete
SCRIP Enable SCRIP remapping routines TBD TBD TBD
SCRIPNC Enable storage of remapping weights in NetCDF files TBD TBD TBD
SEC1 Enable the use of global time steps less than 1s TBD TBD TBD
SMC Activate SMC grid Met Office Jian-Guo Li (TBD) Option will be retained
T Enable test output throughout the program(s) NCEP Hendrik Tolman Tentatively not ported, changing approach to managing test output
TDYN Dynamic increment of swell age in diffusive dispersion correction (test cases only). NCEP Hendrik Tolman Obsolete ?
TIDE Enables tidal analysis Ifremer/LOPS Fabrice Ardhuin TBD
TIDET Test output for tidal analysis TBD TBD TBD
TRKNC Activates the NetCDF API in the wave system tracking post-processing program TBD TBD TBD
UOST Enable the unresolved obstacles source term TBD TBD TBD
WRST Save wind in restart and use in first time step in WMESMF Jessica Meixner Jessica Meixner Obsolete
XW0 Swell diffusion only in UQ scheme. NCEP Hendrik Tolman Tentatively not ported
XW1 Id. wave growth diffusion only NCEP Hendrik Tolman Tentatively not ported

B: Low Level Tools

The tools considered here are the code to run a stand-alone model and process its in and output, not more complicated tools such as grid generation or decomposition. Initial information will be developed in Phase III of the WW4 project.

NOAA Logo NWS Logo

Clone this wiki locally