module sfx_log_param !> @brief log-roughness surface flux model parameters !> @details all in SI units ! modules used ! -------------------------------------------------------------------------------- use sfx_phys_const ! -------------------------------------------------------------------------------- ! directives list ! -------------------------------------------------------------------------------- implicit none ! -------------------------------------------------------------------------------- ! *: add lake surface & add surface type as input value integer, public, parameter :: surface_ocean = 0 !> ocean surface integer, public, parameter :: surface_land = 1 !> land surface !> von Karman constant [n/d] real, parameter :: kappa = 0.40 !> inverse Prandtl (turbulent) number in neutral conditions [n/d] real, parameter :: Pr_t_0_inv = 1.15 !> Re fully roughness minimum value [n/d] real, parameter :: Re_rough_min = 16.3 !> roughness model coeff. [n/d] !> --- transitional mode !> B = log(z0_m / z0_t) = B1 * log(B3 * Re) + B2 real, parameter :: B1_rough = 5.0 / 6.0 real, parameter :: B2_rough = 0.45 real, parameter :: B3_rough = kappa * Pr_m !> --- fully rough mode (Re > Re_rough_min) !> B = B4 * Re^(B2) real, parameter :: B4_rough =(0.14 * (30.0**B2_rough)) * (Pr_m**0.8) real, parameter :: B_max_land = 2.0 real, parameter :: B_max_ocean = 8.0 end module sfx_log_param