FK08 second-order vertical structure function mu(sigma). sigma in [-1,0]: 0 = surface interface, -1 = ML base. mu = 0 at sigma=0 (surface) and sigma <= -1 (ML base); peaks near sigma=-0.5.
mu(sigma) = max(0, (1-(2 sigma+1)^2) * (1 + (5/21)(2 sigma+1)^2))
Reference: FK08 eq. 21 / FK11 eq. 5.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | sigma |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | private | :: | x |
pure function mle_mu_shape(sigma) result(mu) !$acc routine seq !! FK08 second-order vertical structure function mu(sigma). !! sigma in [-1,0]: 0 = surface interface, -1 = ML base. mu = 0 at !! sigma=0 (surface) and sigma <= -1 (ML base); peaks near sigma=-0.5. !! !! mu(sigma) = max(0, (1-(2 sigma+1)^2) * (1 + (5/21)(2 sigma+1)^2)) !! !! Reference: FK08 eq. 21 / FK11 eq. 5. real(wp), intent(in) :: sigma real(wp) :: mu, x x = 2.0_wp*sigma + 1.0_wp ! maps sigma in [-1,0] -> x in [-1,1] mu = (1.0_wp - x*x)*(1.0_wp + (5.0_wp/21.0_wp)*x*x) mu = max(0.0_wp, mu) end function mle_mu_shape