-
Notifications
You must be signed in to change notification settings - Fork 23
Dimensionally inconsistent stochastic streamfunction? #354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The random field |
I see that the diagnostic output for |
Thank you very much for that clarification. If you would like, I can update my branch related to this issue with this added information about the correct units about |
Yes, please. Thanks for your attention on this code! |
I have updated the revisions to the MOM6 stochastics code on my branch at https://github.com/Hallberg-NOAA/MOM6/tree/stochastics_unit_conversion to reflect this conversation. I actually went a bit further than I had originally intended, as I also added the option to use rotationally symmetric expressions in the stochastics code. This all compiles, and by default it is supposed to be bitwise identical with what was there before (at least when dimensional consistency testing is not being used) but as we do not have any cases at GFDL that utilize the stochastics code, I would appreciate some help in testing this out (and perhaps suggesting further revisions), if you would be willing to do so @iangrooms. There is still one point here that has me confused, though. I understand how |
Thanks for doing this! It was on my to-do list to make the stochastic code rotationally symmetric, so you've saved me the effort. I'm happy to run tests at NCAR. Developing the stochastic backscatter has been a joint effort; I focused on the MOM6 side while @pjpegion and @nniraj123 worked on the stochastic physics package, which can be found at github.com/NOAA-PSL/stochastic_physics. So I'm not an expert on that code. But I think that code assumes MKS units for everything. The grid information is passed into stochastic_physics by MOM6, in degrees E and N.1 The Earth's radius is hard-coded in the package here using MKS units. Given the above, is the correct way to do the dimensional consistency by explicitly converting the output of the stochastic physics package from MKS to L ([m ~> L]) before using it in MOM6? 1MOM_stochastics.F90 passes the lat & lon at h and q points to the stochastic physics package in the 'init' subroutine. I noticed that the comments in the declarations of |
Looking at the code, I suspect that the stochastic physics code does use MKS units. Moreover, because it is advancing the field in time to get the autocorrelation, I think that it would be a bad idea to try rescaling the field that is being repeatedly passed to the physics. I think that it is best to modify the MOM6 code to do the rescaling where the Thanks also for pointing out the incorrect descriptions of |
The code appears to be failing the dimensional scaling test for time. The stochastic physics package has its own input namelist where we specify the decorrelation time of the stochastic forcing in MKS units. MOM6 passes the time step size |
I added unit scaling for |
I believe that the expression for the stochastic streamfunction
psi
is in[L T-1 ~> m s-1]
in the expression( https://github.com/NOAA-GFDL/MOM6/blame/484b917568f99d89bfe137b7b925fa265599d0b6/src/parameterizations/stochastic/MOM_stochastics.F90#L344-L350 )
However, when
psi
is used to set velocity anomalies (in[L T ~> m s-1]
a few lines later inpsi
would have to be in units of[L2 T-1 ~> m2 s-1]
to be dimensionally consistent.@iangrooms, I believe that you originally wrote this block of code. Do you agree with my analysis of this situation?
I do not have a fix for this issue, but I have added potentially relevant scaling factors elsewhere in MOM_stochastics.F90 on my incomplete branch at https://github.com/Hallberg-NOAA/MOM6/tree/stochastics_unit_conversion that might be helpful in sorting this out.
The text was updated successfully, but these errors were encountered: