From fe14a2fa13bbd4bba51581f07af01368e49ff3a2 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: Tue, 4 Feb 2025 05:44:12 +0300 Subject: [PATCH] test_zt/zm --- srcF/sfx_surface.f90 | 16 ++++++++-------- srcF/sfx_z0m_all_surface.f90 | 13 +++++++------ srcF/sfx_z0t_all_surface.f90 | 6 +++--- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/srcF/sfx_surface.f90 b/srcF/sfx_surface.f90 index a07ed37..36051e5 100644 --- a/srcF/sfx_surface.f90 +++ b/srcF/sfx_surface.f90 @@ -98,20 +98,20 @@ module sfx_surface integer, public, parameter :: ocean_z0m_id = z0m_ch !< ocean surface integer, public, parameter :: land_z0m_id = z0m_map_id !< land surface - integer, public, parameter :: lake_z0m_id = z0m_map_id !< lake surface - integer, public, parameter :: snow_z0m_id = z0m_map_id !< snow covered surface + integer, public, parameter :: lake_z0m_id = z0m_fe !< lake surface + integer, public, parameter :: snow_z0m_id = z0m_ow !< snow covered surface integer, public, parameter :: forest_z0m_id = z0m_map_id !< forest csurface integer, public, parameter :: usersf_z0m_id = z0m_ch !< user surface - integer, public, parameter :: ice_z0m_id = z0m_ch !< ice surface + integer, public, parameter :: ice_z0m_id = z0m_map_id !< ice surface integer, public, parameter :: ocean_z0t_id = z0t_kl_water !< ocean surface - integer, public, parameter :: land_z0t_id = z0t_kl_land !< land surface - integer, public, parameter :: lake_z0t_id = z0t_kl_land !< lake surface - integer, public, parameter :: snow_z0t_id = z0t_kl_land !< snow covered surface - integer, public, parameter :: forest_z0t_id = z0t_kl_land !< forest csurface + integer, public, parameter :: land_z0t_id = z0t_zi !< land surface + integer, public, parameter :: lake_z0t_id = z0t_cz !< lake surface + integer, public, parameter :: snow_z0t_id = z0t_cz !< snow covered surface + integer, public, parameter :: forest_z0t_id = z0t_zi !< forest csurface integer, public, parameter :: usersf_z0t_id = z0t_kl_water !< user surface - integer, public, parameter :: ice_z0t_id = z0t_kl_water !< user surface + integer, public, parameter :: ice_z0t_id = z0t_ca !< user surface ! -------------------------------------------------------------------------------- real, parameter, private :: kappa = 0.40 !< von Karman constant [n/d] diff --git a/srcF/sfx_z0m_all_surface.f90 b/srcF/sfx_z0m_all_surface.f90 index 1f8b69c..e39a913 100644 --- a/srcF/sfx_z0m_all_surface.f90 +++ b/srcF/sfx_z0m_all_surface.f90 @@ -52,7 +52,7 @@ module sfx_z0m_all_surface real, intent(in) :: U !< abs(wind speed) [m/s] integer, intent(in) :: maxiters !< maximum number of iterations ! ---------------------------------------------------------------------------- - + ! --- local variables real :: Uc ! wind speed at h_charnock [m/s] @@ -66,7 +66,7 @@ module sfx_z0m_all_surface a = 0.0 b = 25.0 c_min = log(h_charnock) / kappa - + write(*,*) 'sfx_ch' do i = 1, maxiters f = c1_charnock - 2.0 * log(Uc) do j = 1, maxiters @@ -98,7 +98,7 @@ module sfx_z0m_all_surface real, intent(in) :: U !< abs(wind speed) [m/s] integer, intent(in) :: maxiters !< maximum number of iterations ! ---------------------------------------------------------------------------- - + ! --- local variables real :: Uc ! wind speed at h_charnock [m/s] @@ -107,6 +107,7 @@ module sfx_z0m_all_surface integer :: i, j ! ---------------------------------------------------------------------------- + write(*,*) 'sfx_ow' Uc=U C_z0=0.007 betta_u=0.111 @@ -138,7 +139,7 @@ module sfx_z0m_all_surface real, intent(in) :: h !< constant flux layer height [m] integer, intent(in) :: maxiters !< maximum number of iterations ! ---------------------------------------------------------------------------- - + ! --- local variables real :: Uc ! wind speed at h_charnock [m/s] @@ -149,7 +150,7 @@ module sfx_z0m_all_surface integer :: i, j ! ---------------------------------------------------------------------------- - + write(*,*) 'sfx_fe' Uc = U a = 0.0 b = 25.0 @@ -199,7 +200,7 @@ subroutine get_dynamic_roughness_map(z0_m, u_dyn0, U, h, z0m_map) real, intent(in) :: U !< abs(wind speed) [m/s] ! ---------------------------------------------------------------------------- real :: h0_m - + write(*,*) 'sfx_map' z0_m=z0m_map h0_m = h / z0_m u_dyn0 = U * kappa / log(h0_m) diff --git a/srcF/sfx_z0t_all_surface.f90 b/srcF/sfx_z0t_all_surface.f90 index 7db8d57..751a0c7 100644 --- a/srcF/sfx_z0t_all_surface.f90 +++ b/srcF/sfx_z0t_all_surface.f90 @@ -63,7 +63,7 @@ module sfx_z0t_all_surface real, intent(in) :: z0_m !< aerodynamic roughness [m] real, intent(in) :: Re !< roughness Reynolds number [n/d] ! ---------------------------------------------------------------------------- - + write(*,*) 'sfx_kl_water' !--- define B = log(z0_m / z0_t) if (Re <= Re_rough_min) then B = B1_rough * alog(B3_rough * Re) + B2_rough @@ -91,7 +91,7 @@ module sfx_z0t_all_surface real, intent(in) :: Re !< roughness Reynolds number [n/d] - + write(*,*) 'sfx_cz' B=(kappa*10.0**(-0.4*z0_m/0.07))*(Re**0.45) !Chen and Zhang ! --- define roughness [thermal] @@ -111,7 +111,7 @@ module sfx_z0t_all_surface real, intent(in) :: Re !< roughness Reynolds number [n/d] - + write(*,*) 'sfx_zi' B=0.1*kappa*(Re**0.5) !6-Zilitinkevich -- GitLab