Experimental wind-speed-dependent betamax for ST4 - new codebase#20
Draft
pieterbartsmit wants to merge 4 commits into
Draft
Experimental wind-speed-dependent betamax for ST4 - new codebase#20pieterbartsmit wants to merge 4 commits into
pieterbartsmit wants to merge 4 commits into
Conversation
…cifically we implement a relation of the form:
betamax_eff = BETAMAX_INTERCEPT + min(U10, 25) * BETAMAX_SLOPE
where BETAMAX_INTERCEPT and BETAMAX_SLOPE are currently hardcoded parameters for testing purposes (both positive and negative slopes are meaningful).
The 25 m/s cap is intentional: air-sea physics become uncertain beyond that wind speed.
Note: the HF tail stress is precomputed in a lookup table using a fixed betamax (from the namelist). When betamax_eff differs from that value, the table result must be rescaled — this is done at line 968.
…included a cap to ensure the value remains between 1.26 and 1.46.
Updated the upperbound on bbeta_eff to 1.5, lower bound to 1.25 Fixed an issue with how the bounds were inforced (I had swapped the min/max conditions which would have forced the bbeta_eff to be outside the [1.25, 1.5] interval instead of bounded by it).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements a linear wind-speed-dependent betamax relation for the ST4 wind input source term:
betamax_eff = BETAMAX_INTERCEPT + BETAMAX_SLOPE * min(U10, 25.0)
This is motivated by a known condition-dependent bias: the current single-value betamax is biased slightly high at moderate winds and low at high winds. The 25 m/s cap reflects the limits of reliable air-sea physics and Spotter wind estimates. See notion page for further details
Implementation
The change is currently hardcoded in w3src4md.F90 for testing purposes. The namelist BETAMAX parameter is bypassed. We will have to update these values during testing.
The HF tail stress lookup table is built at initialisation with a fixed betamax. Since the table entries scale linearly with betamax, the table results are rescaled on lookup by BBETA_EFF / BBETA before use — this keeps the tail stress consistent with the resolved-spectrum computation at no meaningful cost.
Not changed
Namelist parameters (BETAMAX still read and stored as before)
Model definition file format
Restart file format
Follow-up work
If it works, we can consider promoting to proper namelist parameters (BETAMAX_INTERCEPT, BETAMAX_SLOPE) with corresponding updates to w3gdatmd.F90, w3gridmd.F90, w3iogrmd.F90, and ww3_ounf.F90.