-
Notifications
You must be signed in to change notification settings - Fork 4
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
Consider adding splatting of eddies and boundary condition #12
Comments
BTW, for those interested here is the Andre et al 1978 paper -- https://journals.ametsoc.org/view/journals/atsc/35/10/1520-0469_1978_035_1861_mtheot_2_0_co_2.xml |
Interesting reading Andre et al 1978 again it appears they assume the lower boundary of their model is not z=0 but slightly above (in their case 1m). This is an interesting way to get around the length scale -> 0 issue. we basically assume the top of our closure is the bottom of the constant flux layer such that MOST applies but doesn't cause issues with being right at the surface. |
sorry to keep adding, but I note that CLUBB includes a minimum on the surface boundary condition of up2, vp2, and wp2. Should we consider the same? |
All, I've updated the branch to include a splat parameterization. I haven't fully tested it yet, but would be great if some of you took a look. |
@vanroekel I ran a quick test of the changes you made and here is what I am getting for the cooling case (which crashes at 6 hours): Blue line is what I had tested and posted before as the last comment on PR #11 (which was able to run out to 62 hours before crashing). There was no splat parameterization in yet. Boundary conditions were Red line is with the changes you made, but with Green line is the same as the red line but with I am going to run the red line case again, but with |
Ran the red line case again (splat param turned off) but with |
yep right on the money, a misplaced parenthesis in that boundary condition. I'll fix it in a minute |
actually looking again the code is right. If you look here The "frictionVelocity" is getting squared, so you end up with the bc in u2/v2/w2 of 1.8*(uwsfc+vwsfc + FACTORw^2) |
Also just realizing there are two factors multiplying |
As to your question, I'm not sure. My intuition is we want different factors for u2/v2 and w2, but it is not clear what they should be. That was a lift from the CLUBB code |
Ah yes, I am seeing the squaring correctly now. Ok. There is a different factor for |
yes, I added the wp2 one in case we wanted to turn that one off separately. I think we should maintain two of them at least, but maybe not all three |
Ok, I think I forgot/overlooked |
Thinking about this more, I think that up2_vp2_factor is in the wrong place. I think you should set that to 1. Where it is now we end up have 1.2*wstar**2. I think we should get rid of that and just have a u2/v2 and w2 factor to allow separate tunings. I'll have to do that later today. |
@katsmith133 Did changing which is about 7 times larger than using a coefficient of 0.3 ( |
Its currently running, but yes, now that you point that out, that could be enough to account for the difference. |
@vanroekel Thanks for adding the splat option. I noticed that, since the tendency equations are only applied for k >= 2, the surface tendency term for w3 [w3tend6(1,:)] doesn't get used anywhere and the tendency for w2 [w2tend6(1,:)] only gets used as a limiter for surface w2 . If the new boundary conditions on u2, v2 and w2 work out perhaps we should get rid of these k=1 splat terms, since there are no evolution equations to be solved at the surface in this case. |
Here are the results we talked about yesterday: My thoughts:
I will be diving into the tendency terms for these cases now... |
@katsmith133 I agree with the points you made. For me the most surprising things are:
|
@BrodiePearson and @katsmith133 I've finally returned to this. I just have spent some time looking at the code and do think there is a bug in the current implementation. The parameterization is keyed on this term |
@vanroekel The derivative term appears to be squared, MPAS-Model/src/core_ocean/shared/mpas_ocn_adcReconstruct.F Lines 294 to 295 in 5dc8d6e
so I don't think the sign matters (this also means it should act the same way at both the bottom and top of the OSBL) |
oops, you're right. I missed the latter bit. |
@BrodiePearson, to answer your question:
|
CLUBB includes an effect of 'splatting' of eddies near the surface and for stratocumulus inversions. This terms looks like
there is a similar term for wp3
This term is then removed from wp2 and half is put to up2 and half to vp2
the relevant code for wp2 is
The code is identical for
wp3_splat
except the leading term is wp3. In this code block, tau_zm is the turbulent time scale on layer boundaries. This is a simple interpolation in most cases, it appears that they use a linear extrapolation at model top and they have a modification for the surface boundary condition, which is belowAt the top note they use something similar to what is proposed and appears to be straight from Andre et al 1978. There is another non-Andre et al version
staring at this it looks a bit like the prior splatting code but using MOST for the near surface. I'm honestly a bit surprised that the atmosphere model has a wp2_sfc when that value lives on the surface, I would expect wp2=0
I think it would be useful to try this. It should add the sfc up2/vp2 and also potentially near the OSBL base.
Thoughts?
The text was updated successfully, but these errors were encountered: