Ocean state bounds, limiters and how to deal with out-of-bound values #298
Replies: 8 comments 10 replies
-
|
For context, the original description of the funnel McDougall, 2003. Here, in the context of the 2003 25-term approximation of the FH95 Gibbs function: The above paragraph describes a “funnel” over which we evaluated our fit to the equation of state, and this funnel is shown in Fig. 2. In order to better control the errors in density and particularly the errors in the thermal expansion coefficient, we included a larger range of potential temperature in the fitting procedure but did not include this larger range in the evaluation of the errors of the fitted equation of state. The minimum potential temperature used in the fit was actually 2°C less than the freezing line described above. These potential temperatures would correspond to frozen water at a pressure of approximately 3000 db, which is clearly unphysical since, for example, there is no water of in situ temperature of −4°C observed at this pressure. The maximum potential temperatures that are included in the fit range up to 40°C at 0 db and up to 15°C at 5500 db (and below), varying linearly with pressure between these two pressure limits. We include the extra temperature data in the fit so as to control the well-known problems that can occur when extrapolating polynomials beyond their range of validity, particularly when the equation of state is differentiated with respect to potential temperature to obtain the thermal expansion coefficient." "Maps of the error in the 25-term fit show that the maximum errors tend to occur on the boundaries of our funnel, as is illustrated in Fig. 4. We suggest that the errors at large potential temperature are less important than those near the freezing line, since it is at low temperatures that deep waters are formed and subsequently spread throughout the world ocean basins. Because of this fact and because the largest errors often occur near the freezing line, a useful measure of error at a given pressure is the typical error at cold temperatures on the S–θ plane of the funnel." |
Beta Was this translation helpful? Give feedback.
-
|
As mentioned in the original comment, it is important to keep the input values within the valid range because a polynomial fit can exhibit large excursions/oscillation once you step outside the range of validity. And as they note, even getting close to the bounds can increase the error. In MPAS and POP, the earlier J&M polynomial approximations had fixed T, S ranges so it was easier to clamp at the min/max T and S. If the excursions outside the range are small by some measure, it may be less important how we extend. And extending with a linear EOS will need to be careful to match the TEOS value at the boundary so there are no discontinuities. Regarding checks on ocean state...it is an unfortunate property of our simulations that we can exceed realistic ranges, whether it's forcing biases or numerical over/undershoots. So if you try to constrain the bounds too tightly, you'll abort too often and have to relax those bounds. Checking the range on the low/freezing end is probably more important than the high end (as they also note in their discussion above). Because we probably can't get away with the range as tight as the EOS valid range, we'll still need to clamp the EOS. |
Beta Was this translation helpful? Give feedback.
-
|
These are the max,min input values to the default (JM) EOS in MPAS-Ocean: |
Beta Was this translation helpful? Give feedback.
-
|
Let me know if this seems like more of a distraction than a help here. If we need to use clamping as opposed to a linearized EOS between the funnel and allowable bounds at the low temperature end, can we follow the T-S trajectory that is consistent with frazil formation to get the T-S inputs back to the funnel boundary? I imagine this is similar to where we will end up at the end of a time step after frazil formation occurs. |
Beta Was this translation helpful? Give feedback.
-
|
For reference, the Brainstorming possible edge cases:
|
Beta Was this translation helpful? Give feedback.
-
|
@alicebarthel Regarding your comment on limiters, one of the arguments for just doing EOS clamping is that we're not changing the model state (T,S), so there are no energy or conservation considerations. It's equivalent to just using a different EOS that still gives consistent values for a given T,S. If we actually change the model state directly, then we do need to account for the energy added/removed to make that change. |
Beta Was this translation helpful? Give feedback.
-
|
Summary of today's discussion: Action items:
Additional checks could include limiters on individual tendencies, including the drho fron the eos. |
Beta Was this translation helpful? Give feedback.
-
|
Sorry I missed the discussion. I'm fine with the approach. Because this is a performance-sensitive bit of code, we'll need to explore the most efficient way to perform the checks without inhibiting performance too much. |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
Hi team,
I have had questions on the Eos clamping and have concerns about using the ocean funnel values as a strong constraint on the ocean state or the eos calculation. I want to make sure we discuss this widely.
The original scope was to implement an ocean funnel check. After concerns during the review process (e.g. #191 (comment)), the scope was extended to clamping (i.e. limiting the range of T,S over which we use the polynomial). In its strictest version, this is equivalent to extending the density calculation to a constant density once we are outside the "funnel bounds".
As @cbegeman mentioned, this may mean that a blob of outside-bound state doesn't get appropriately treated (e.g. if it fails to trigger convective mixing).
@katsmith133 and I had also discussed the need for a separate
ocn_validate_state()check in Omega to ensure we are in the physical range that our calculations assume. Relevant issue: #297Therefore, I think it best to expand the scope of this discussion to :
These should be bounds that the state is regularly checked against (e.g.
ocn_validate_state()) and if exceeded, the model is expected to throw an error and exit.This could include a regularization of the polynomial outside the funnel bounds. E.g. a linear Eos beyond the bounds may be a better approximation than a constant density.
Suggestions:
Extra information could be gathered, e.g.:
I am pinging people whom have expressed interest in these questions, but feel free to join or invite additional people here.
@vanroekel @cbegeman @katsmith133 @philipwjones @sbrus89 @xylar
Beta Was this translation helpful? Give feedback.
All reactions