WSL/SLF GitLab Repository

Skip to content

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:

  1. computing the gradients DUDZ and DVDZ assuming a linear change between subsequent grid levels, e.g., call ddz_uv(dudz,u)
  2. using these gradients in SGS_STRESSES.f90 to compute the Smagorinsky coefficient, turbulent viscosity, and stress components
  3. overwriting the gradients DUDZ and DVDZ and the stress components TXZ and TYZ at the lowest grid level in WALL_LAW.f90
  4. computing the divergence of the stress but not using the gradients DUDZ and DVDZ 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.