-
Notifications
You must be signed in to change notification settings - Fork 7
Mapping WW3 to WW4 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.
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.
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 | --- | --- | --- |
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 |
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 |
| 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 |
| 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 |
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 |
| 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 |
| 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?) |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
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 |
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 |
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.