From 11b664e20ee4dd3d7b688ed21c4e9a946d30a624 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D1=8F=20=D0=A1?=
 =?UTF-8?q?=D1=83=D1=8F=D0=B7=D0=BE=D0=B2=D0=B0?=
 <viktoriasuazova@MacBook-Pro-Viktoria.local>
Date: Sun, 8 Dec 2024 14:30:25 +0300
Subject: [PATCH] added if surface=snow in most_snow

---
 srcF/sfx_most_snow.f90 | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/srcF/sfx_most_snow.f90 b/srcF/sfx_most_snow.f90
index b603989..6bae4ba 100644
--- a/srcF/sfx_most_snow.f90
+++ b/srcF/sfx_most_snow.f90
@@ -189,7 +189,7 @@ contains
 		! --- get the fluxes
         ! ----------------------------------------------------------------------------
         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)
         ! ----------------------------------------------------------------------------
 
@@ -228,14 +228,14 @@ contains
     !< @brief get dynamic scales
     ! --------------------------------------------------------------------------------
     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)
         ! ----------------------------------------------------------------------------
         real, intent(out) :: Udyn, Tdyn, Qdyn   !< dynamic scales
         real, intent(out) :: zeta               !< = z/L
 		real, intent(out) :: Lsnow, S_mean             
         real, intent(out) :: h_salt        
-		
+		integer, intent(in) :: surface_type
         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) :: dT, dQ              !< temperature & humidity difference between z and at surface
@@ -285,6 +285,7 @@ contains
             zeta = z * Linv
             !S_salt =0.0004 
             call S_mean_fun(S_salt,  Udyn) 
+            if (surface_type==3) then
             if (Udyn>u_thsnow) then
             
                 call simpson_integration(d_s, 0.00000886, 0.0001, 1000);
@@ -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)
                 zeta = z * 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
 
-- 
GitLab