Skip to content
Snippets Groups Projects
Commit 11b664e2 authored by Виктория Суязова's avatar Виктория Суязова Committed by Anna Shestakova
Browse files

added if surface=snow in most_snow

parent b443d3a4
No related branches found
No related tags found
No related merge requests found
...@@ -189,7 +189,7 @@ contains ...@@ -189,7 +189,7 @@ contains
! --- get the fluxes ! --- get the fluxes
! ---------------------------------------------------------------------------- ! ----------------------------------------------------------------------------
call get_dynamic_scales(Udyn, Tdyn, Qdyn, zeta, & call get_dynamic_scales(Udyn, Tdyn, Qdyn, zeta, &
Lsnow, S_mean, h_salt, & Lsnow, S_mean, h_salt, surface_type, &
U, Tsemi, dT, dQ, h, z0_m, z0_t, (g / Tsemi), 10) U, Tsemi, dT, dQ, h, z0_m, z0_t, (g / Tsemi), 10)
! ---------------------------------------------------------------------------- ! ----------------------------------------------------------------------------
...@@ -228,14 +228,14 @@ contains ...@@ -228,14 +228,14 @@ contains
!< @brief get dynamic scales !< @brief get dynamic scales
! -------------------------------------------------------------------------------- ! --------------------------------------------------------------------------------
subroutine get_dynamic_scales(Udyn, Tdyn, Qdyn, zeta, & subroutine get_dynamic_scales(Udyn, Tdyn, Qdyn, zeta, &
Lsnow, S_mean, h_salt, & Lsnow, S_mean, h_salt, surface_type, &
U, Tsemi, dT, dQ, z, z0_m, z0_t, beta, maxiters) U, Tsemi, dT, dQ, z, z0_m, z0_t, beta, maxiters)
! ---------------------------------------------------------------------------- ! ----------------------------------------------------------------------------
real, intent(out) :: Udyn, Tdyn, Qdyn !< dynamic scales real, intent(out) :: Udyn, Tdyn, Qdyn !< dynamic scales
real, intent(out) :: zeta !< = z/L real, intent(out) :: zeta !< = z/L
real, intent(out) :: Lsnow, S_mean real, intent(out) :: Lsnow, S_mean
real, intent(out) :: h_salt real, intent(out) :: h_salt
integer, intent(in) :: surface_type
real, intent(in) :: U !< abs(wind speed) at z real, intent(in) :: U !< abs(wind speed) at z
real, intent(in) :: Tsemi !< semi-sum of temperature at z and at surface real, intent(in) :: Tsemi !< semi-sum of temperature at z and at surface
real, intent(in) :: dT, dQ !< temperature & humidity difference between z and at surface real, intent(in) :: dT, dQ !< temperature & humidity difference between z and at surface
...@@ -285,6 +285,7 @@ contains ...@@ -285,6 +285,7 @@ contains
zeta = z * Linv zeta = z * Linv
!S_salt =0.0004 !S_salt =0.0004
call S_mean_fun(S_salt, Udyn) call S_mean_fun(S_salt, Udyn)
if (surface_type==3) then
if (Udyn>u_thsnow) then if (Udyn>u_thsnow) then
call simpson_integration(d_s, 0.00000886, 0.0001, 1000); call simpson_integration(d_s, 0.00000886, 0.0001, 1000);
...@@ -294,13 +295,10 @@ contains ...@@ -294,13 +295,10 @@ contains
Linv=Linv*((1-S_mean)/(1+sigma_m*S_mean))+(g*w_snow*sigma_m*S_mean/(Udyn**3.0))/(1+sigma_m*S_mean) Linv=Linv*((1-S_mean)/(1+sigma_m*S_mean))+(g*w_snow*sigma_m*S_mean/(Udyn**3.0))/(1+sigma_m*S_mean)
zeta = z * Linv zeta = z * Linv
Lsnow=1/Linv Lsnow=1/Linv
write(*,*) S_mean, sigma_m, w_snow
!pause
!stop
endif endif
else
Linv = kappa * beta * (Tdyn + gamma * Qdyn * Tsemi) / (Udyn * Udyn)
endif
end do end do
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment