Skip to content
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

Crash in extremely stable conditions - TKE production at the surface #30

Closed
fjansson opened this issue Jan 29, 2018 · 3 comments
Closed

Comments

@fjansson
Copy link
Contributor

We have had a crash in the Dales surface scheme under stable conditions, over land. The symptoms are a sudden huge e12 - tendency at the surface, which causes the whole simulation to break and stop with a thermo crash a few steps later.
We run with isurf=4 - imposed surface fluxes. The crash occur in the evening when the heat flux is negative and the wind is very weak. The Obukhov length is then positive and small. A more stable surface layer -> smaller Obukhov length.

modsurface.f90, line 984:

phimzf = (1.+5.*zf(1)/obl(i,j))
...
dudz  (i,j) = ustar(i,j) * phimzf / (fkar*zf(1))*(upcu/horv)

if the Obukhov length is small here, dudz can be very large.
modsubgrid, line 437++: dudz is used to calculate the tke tendency at the surface, via the shear term sbshr. A large dudz results in the large tke tendency which leads to the crash. Note that this is in a situation with very weak wind, so there should be very little shear.

Another related issue is that ustar is forced to be >= 0.01. Small Obukhov length corresponds to a small ustar, so without the limitation a small ustar would to some extent compensate for the large phi. note however that ustar also is present in a denominator, so that tiny values could potentially give problems here.

dthldz(i,j) = - thlflux(i,j) / ustar(i,j) * phihzf / (fkar*zf(1))

Fix

phimzf is the phi function in Monin-Obukhov theory. It is used here to determine du/dz at the first layer at height zf(1). There is also a psi function, which determines the actual velocity as function of z. Psi is defined as an integral containing phi, and is used in determining the Obukhov length.

  • a) The phi function used is not valid when z/obl is larger than ~1. See e.g. Optis 2015
  • b) The phi and psi functions used in Dales are not consistent with each other - the psi function reported to have the correct z/obl -> infinity limit.

a fix for a) is to add a hard cap on both phi functions at z/obl >= 1. This is one of the simplest phi functions listed by Optis, and it solves the problem in our case. Proposed fix here: CloudResolvingClimateModeling@8469307

@Chiil
Copy link
Contributor

Chiil commented Jan 29, 2018 via email

@fjansson
Copy link
Contributor Author

Hi Chiel,

Good point about the fluxes and Rib, I'm interested in the fix. I will not make it to the February meeting though - maybe you can discuss it with Pier, Stephan or Gijs.

Do you mean that LES is not very interesting in these situations, or that the results are not reliable? I get these problems when running Dales connected to a large-scale model, then Dales has to deal with whatever conditions the large-scale model gives it. Someone else, connecting Dales to another large-scale model, has also been suffering from crashes in stable situations, so this would be nice to get fixed.

Best,
Fredrik

@fjansson
Copy link
Contributor Author

fjansson commented Jun 5, 2019

Fixed in version 4.2:
Commit 4098295 changes the phi function in the Monin-Obukhov similarity theory to behave better in stable conditions.
Commit db0c242 turns off the sgs_surface_fix by default. With the new phi definitions, the fix is no longer needed.

@fjansson fjansson closed this as completed Jun 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants