-
Notifications
You must be signed in to change notification settings - Fork 7
Convert source terms from WW3
Dr. Ir. Hendrik L. Tolman edited this page Aug 14, 2026
·
4 revisions
We are starting to convert source term code from WW3 to WW4. NWS and others are (tentatively) using the following procedures:
- Create a single point version of the physics package as a C++ plug-in to WW3, validate using the time limited growth regression tests. This needs to be a pure subroutine with all information that is needed passed in through the parameter list / interface.
- Consider using the established testing environment for refactoring this code for:
- Removing computational approaches less suitable for the modern code architecture, such as indirect addressing and expanded computation spaces in the DIA and GMD.
- Start systematic refactoring to increase coherence and reduce numerical coupling.
- Move the WW3 code directly into the WW4 source term template, by having the source term routine called in a loop over the spatial grid points.
- Set up source term parameter settings using the WW4 YAML approach.
- Set up all data motion through the standard source term interface.
- Merge the WW3 C++ code (single point subroutine) directly into the WW4 routine, so that all loops over space and spectra are in one routine.
- Refactor and optimize WW4 (numerically) in realistic model layouts.
The general maturity of the WW4 code base allows us to work on the first two major bullets now, but not yet on the following bullets. The table below shows the progress of the conversion of source terms from WW3 to WW4.