Lower boundary in SGS model
This issue may contribute to a suspicious deviation of the mean vertical wind profile from the log law (even if particle transport is deactivated). At the lowest grid level, the wind velocity gradients DUDZ
and DVDZ
are computed using the log law (if LLBC_SPECIAL= WALL_LAW
) but not used. On the contrary, the SGS model uses other values of DUDZ
and DVDZ
assuming a linear change between subsequent grid levels. More precisely, the following happens each time step:
- computing the gradients
DUDZ
andDVDZ
assuming a linear change between subsequent grid levels, e.g.,call ddz_uv(dudz,u)
- using these gradients in SGS_STRESSES.f90 to compute the Smagorinsky coefficient, turbulent viscosity, and stress components
- overwriting the gradients
DUDZ
andDVDZ
and the stress componentsTXZ
andTYZ
at the lowest grid level in WALL_LAW.f90 - computing the divergence of the stress but not using the gradients
DUDZ
andDVDZ
anymore
Possible solution:
Overwrite the gradients DUDZ
and DVDZ
at the lowest grid level according to WALL_LAW.f90 before performing the calculations of SGS_STRESSES.f90. For this purpose, the subroutine OBUKHOV
also needs to be called earlier in MAIN.f90 to provide variables such as the friction velocity, which are needed to compute DUDZ
and DVDZ
using the log law. The stress components TXZ
and TYZ
at the lowest grid level can either be overwritten by WALL_LAW.f90 after the calculations of SGS_STRESSES.f90 (as in the current code) or, if the log-law-based TXZ
and TYZ
at the lowest grid level are already computed before the calculations of SGS_STRESSES.f90, the computation of TXZ
and TYZ
should be omitted at the lowest grid level in SGS_STRESSES.f90.