From 8f8a152321fedb1b06d9a477cc4b6501e155f6e3 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: Fri, 21 Feb 2025 19:48:14 +0300
Subject: [PATCH] sfx_z0m_all.f90 sfx_z0t_all.f90 delited

---
 srcF/sfx_z0m_all.f90 | 203 ---------------------------------
 srcF/sfx_z0t_all.f90 | 262 -------------------------------------------
 2 files changed, 465 deletions(-)
 delete mode 100644 srcF/sfx_z0m_all.f90
 delete mode 100644 srcF/sfx_z0t_all.f90

diff --git a/srcF/sfx_z0m_all.f90 b/srcF/sfx_z0m_all.f90
deleted file mode 100644
index 18aff1d..0000000
--- a/srcF/sfx_z0m_all.f90
+++ /dev/null
@@ -1,203 +0,0 @@
-module sfx_z0m_all
-   
-  !< @brief surface thermal roughness parameterizations for all type surface
-
-    use sfx_z0m_all_surface
-    
-
-    implicit none
-    public :: get_dynamic_roughness_all
-    public :: get_dynamic_roughness_definition
-
-    
-    integer, public, parameter :: surface_ocean = 0     !< ocean surface
-    integer, public, parameter :: surface_land = 1      !< land surface
-    integer, public, parameter :: surface_lake = 2      !< lake surface
-    integer, public, parameter :: surface_snow = 3      !< snow covered surface    
-    integer, public, parameter :: surface_forest = 4    !< forest csurface  
-    integer, public, parameter :: surface_user = 5      !< user surface  
-
-    
-    integer, public, parameter :: z0m_ch = 0 
-    integer, public, parameter :: z0m_fe = 1   
-    integer, public, parameter :: z0m_ow = 2  
-    integer, public, parameter :: z0m_map = 3      
-    integer, public, parameter :: z0m_user = 4     
-
-
-
-    character(len = 16), parameter :: surface_ocean_tag = 'ocean'
-    character(len = 16), parameter :: surface_land_tag = 'land'
-    character(len = 16), parameter :: surface_lake_tag = 'lake'
-    character(len = 16), parameter :: surface_snow_tag = 'snow'
-    character(len = 16), parameter :: surface_forest_tag = 'forest'
-    character(len = 16), parameter :: surface_user_tag = 'user'
-
-    character(len = 16), parameter :: z0m_tag_ch = 'charnock'
-    character(len = 16), parameter :: z0m_tag_fe = 'fetch'
-    character(len = 16), parameter :: z0m_tag_ow = 'owen'
-    character(len = 16), parameter :: z0m_tag_map = 'map'
-    character(len = 16), parameter :: z0m_tag_user = 'user'
-    
-
-    integer, public, parameter :: ocean_z0m_id = z0m_ch     !< ocean surface
-    integer, public, parameter :: land_z0m_id = z0m_map        !< land 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     !< forest csurface  
-    integer, public, parameter :: usersf_z0m_id = z0m_map       !< user surface  
-   
-   
-    contains
-
-
-  ! surface type definition
-    ! --------------------------------------------------------------------------------
-    function get_surface_id(tag) result(id)
-        implicit none
-        character(len=*), intent(in) :: tag
-        integer :: id
-
-        id = - 1
-        if (trim(tag) == trim(surface_ocean_tag)) then
-            id = surface_ocean
-        else if (trim(tag) == trim(surface_land_tag)) then
-            id = surface_land
-        else if (trim(tag) == trim(surface_lake_tag)) then
-            id = surface_lake
-        else if (trim(tag) == trim(surface_snow_tag)) then
-            id = surface_snow
-        end if
-
-    end function
-
-    function get_surface_tag(id) result(tag)
-        implicit none
-        integer :: id
-        character(len=:), allocatable :: tag
-
-        tag = 'undefined'
-        if (id == surface_ocean) then
-            tag = surface_ocean_tag
-        else if (id == surface_land) then
-            tag = surface_land_tag
-        else if (id == surface_lake) then
-            tag = surface_lake_tag
-        else if (id == surface_snow) then
-            tag = surface_snow_tag
-        end if 
-
-    end function
-
-    
-      ! --------------------------------------------------------------------------------
-     ! surface type definition
-    ! --------------------------------------------------------------------------------
-    function get_surface_z0m_id(tag_z0m) result(z0m_id)
-        implicit none
-        character(len=*), intent(in) :: tag_z0m
-        integer :: z0m_id
-
-        z0m_id = - 1
-        if (trim(tag_z0m) == trim(z0m_tag_ch)) then
-            z0m_id = z0m_ch
-        else if (trim(tag_z0m) == trim(z0m_tag_fe)) then
-            z0m_id = z0m_fe
-        else if (trim(tag_z0m) == trim(z0m_tag_ow)) then
-            z0m_id = z0m_ow
-        else if (trim(tag_z0m) == trim(z0m_tag_map)) then
-            z0m_id = z0m_map
-        else if (trim(tag_z0m) == trim(z0m_tag_user)) then
-            z0m_id = z0m_user
-        end if
-
-    end function
-
-    function get_surface_z0m_tag(z0m_id) result(tag_z0m)
-        implicit none
-        integer :: z0m_id
-        character(len=:), allocatable :: tag_z0m
-
-        tag_z0m = 'undefined'
-        if (z0m_id == z0m_ch) then
-            tag_z0m = z0m_tag_ch
-        else if (z0m_id == z0m_fe) then
-            tag_z0m =  z0m_tag_fe
-        else if (z0m_id == z0m_ow) then
-            tag_z0m = z0m_tag_ow
-        else if (z0m_id == z0m_map) then
-            tag_z0m = z0m_tag_map
-        else if (z0m_id == z0m_user) then
-            tag_z0m = z0m_tag_user
-        end if 
-     end function
-
-
-
-     ! ----------------------------------------------------------------------------
-       subroutine get_dynamic_roughness_all(z0_m, u_dyn0, U, depth, h,&
-         maxiters, z0m_map, z0m_id)
-     ! ----------------------------------------------------------------------------
-            real, intent(out) :: z0_m           !< aerodynamic roughness [m]
-            real, intent(out) :: u_dyn0         !< dynamic velocity in neutral conditions [m/s]
-    
-            real, intent(in) :: U               !< abs(wind speed) [m/s]
-            real, intent(in) :: depth           !< depth [m]
-            real, intent(in) :: h               !< constant flux layer height [m]
-            real, intent(in) :: z0m_map          !< aerodynamic roughness from map [m]
-            integer, intent(in) :: maxiters     !< maximum number of iterations
-            
-            integer, intent(in) :: z0m_id
-     ! ---------------------------------------------------------------------------
-
-
-       if (z0m_id == z0m_ch) then
-           call get_dynamic_roughness_ch(z0_m, u_dyn0, U, h, maxiters)
-        else if (z0m_id == z0m_fe) then
-            call get_dynamic_roughness_fetch(z0_m, u_dyn0, U, depth, h, maxiters)
-        else if (z0m_id == z0m_ow) then
-            call get_dynamic_roughness_ow(z0_m, u_dyn0, U, h, maxiters)
-        else if (z0m_id == z0m_map) then
-            call get_dynamic_roughness_map(z0_m, u_dyn0, U, h, z0m_map)
-        else if (z0m_id == z0m_user) then
-            write(*, *) 'z0m_user'
-     end if 
-
-     end subroutine
-    ! --------------------------------------------------------------------------------  
-   
-   ! ----------------------------------------------------------------------------
-       subroutine get_dynamic_roughness_definition(surface_type, ocean_z0m_id, land_z0m_id, snow_z0m_id, lake_z0m_id, &
-        forest_z0m_id, usersf_z0m_id, z0m_id)
-     ! ----------------------------------------------------------------------------
-        real, intent(out) :: z0m_id              
-    
-        real, intent(in) :: surface_type             
-
-        real, intent(in) :: ocean_z0m_id            
-        real, intent(in) :: land_z0m_id              
-        real, intent(in) :: snow_z0m_id
-        real, intent(in) :: lake_z0m_id
-        real, intent(in) :: forest_z0m_id 
-        real, intent(in) :: usersf_z0m_id
-        
-     ! ---------------------------------------------------------------------------
-
-       Write (*,*) 'get_dynamic_roughness_definition'
-     if (surface_type == surface_ocean) then
-         z0m_id = ocean_z0m_id
-     else if (surface_type == surface_land) then
-         z0m_id = land_z0m_id
-     else if (surface_type == surface_snow) then
-         z0m_id = snow_z0m_id
-     else if (surface_type == surface_lake) then
-        z0m_id = lake_z0m_id
-     else if (surface_type == surface_forest) then
-         z0m_id = forest_z0m_id
-     else if (surface_type == surface_user) then
-         z0m_id  = usersf_z0m_id
-     end if 
-     
-     end subroutine
-
-end module sfx_z0m_all
diff --git a/srcF/sfx_z0t_all.f90 b/srcF/sfx_z0t_all.f90
deleted file mode 100644
index 81443ba..0000000
--- a/srcF/sfx_z0t_all.f90
+++ /dev/null
@@ -1,262 +0,0 @@
-module sfx_z0t_all
-   
-  !< @brief surface thermal roughness parameterizations for all type surface
-
-    use sfx_z0t_all_surface
-    
-
-    implicit none
-    public :: get_thermal_roughness_all
-    public :: get_thermal_roughness_definition
-
-    integer, public, parameter :: surface_ocean = 0     !< ocean surface
-    integer, public, parameter :: surface_land = 1      !< land surface
-    integer, public, parameter :: surface_lake = 2      !< lake surface
-    integer, public, parameter :: surface_snow = 3      !< snow covered surface    
-    integer, public, parameter :: surface_forest = 4    !< forest surface  
-    integer, public, parameter :: surface_user = 5      !< user surface  
-
-    
-    integer, public, parameter :: z0t_kl_water = 0 
-    integer, public, parameter :: z0t_kl_land = 1   
-    integer, public, parameter :: z0t_re = 2      
-    integer, public, parameter :: z0t_zi = 3         
-    integer, public, parameter :: z0t_ca = 4    
-    integer, public, parameter :: z0t_cz = 5      
-    integer, public, parameter :: z0t_br = 6      
-    integer, public, parameter :: z0t_ot = 7      
-    integer, public, parameter :: z0t_du = 8      
-    integer, public, parameter :: z0t_zm = 9      
-    integer, public, parameter :: z0t_mix = 10      
-    integer, public, parameter :: z0t_user = 11     
-
-
-
-    character(len = 16), parameter :: surface_ocean_tag = 'ocean'
-    character(len = 16), parameter :: surface_land_tag = 'land'
-    character(len = 16), parameter :: surface_lake_tag = 'lake'
-    character(len = 16), parameter :: surface_snow_tag = 'snow'
-    character(len = 16), parameter :: surface_forest_tag = 'forest'
-    character(len = 16), parameter :: surface_user_tag = 'user'
-
-    character(len = 16), parameter :: z0t_tag_kl_water = 'kl_water'
-    character(len = 16), parameter :: z0t_tag_kl_land = 'kl_land'
-    character(len = 16), parameter :: z0t_tag_re = 're'
-    character(len = 16), parameter :: z0t_tag_zi = 'zi'
-    character(len = 16), parameter :: z0t_tag_ca = 'ca'
-    character(len = 16), parameter :: z0t_tag_cz = 'cz'
-    character(len = 16), parameter :: z0t_tag_br = 'br'
-    character(len = 16), parameter :: z0t_tag_ot = 'ot'
-    character(len = 16), parameter :: z0t_tag_du = 'du'
-    character(len = 16), parameter :: z0t_tag_zm = 'zm'
-    character(len = 16), parameter :: z0t_tag_mix = 'mix'
-    character(len = 16), parameter :: z0t_tag_user = 'zt_user'
-
-    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_re        !< lake surface
-    integer, public, parameter :: snow_z0t_id = z0t_ca        !< snow covered surface    
-    integer, public, parameter :: forest_z0t_id = z0t_du      !< forest csurface  
-    integer, public, parameter :: usersf_z0t_id = z0t_mix       !< user surface  
-   
-   
-    contains
-
-
-  ! surface type definition
-    ! --------------------------------------------------------------------------------
-    function get_surface_id(tag) result(id)
-        implicit none
-        character(len=*), intent(in) :: tag
-        integer :: id
-
-        id = - 1
-        if (trim(tag) == trim(surface_ocean_tag)) then
-            id = surface_ocean
-        else if (trim(tag) == trim(surface_land_tag)) then
-            id = surface_land
-        else if (trim(tag) == trim(surface_lake_tag)) then
-            id = surface_lake
-        else if (trim(tag) == trim(surface_snow_tag)) then
-            id = surface_snow
-        end if
-
-    end function
-
-    function get_surface_tag(id) result(tag)
-        implicit none
-        integer :: id
-        character(len=:), allocatable :: tag
-
-        tag = 'undefined'
-        if (id == surface_ocean) then
-            tag = surface_ocean_tag
-        else if (id == surface_land) then
-            tag = surface_land_tag
-        else if (id == surface_lake) then
-            tag = surface_lake_tag
-        else if (id == surface_snow) then
-            tag = surface_snow_tag
-        end if 
-
-    end function
-
-    
-      ! --------------------------------------------------------------------------------
-     ! surface type definition
-    ! --------------------------------------------------------------------------------
-    function get_surface_z0t_id(tag_z0t) result(z0t_id)
-        implicit none
-        character(len=*), intent(in) :: tag_z0t
-        integer :: z0t_id
-
-        z0t_id = - 1
-        if (trim(tag_z0t) == trim(z0t_tag_kl_water)) then
-            z0t_id = z0t_kl_water
-        else if (trim(tag_z0t) == trim(z0t_tag_kl_land)) then
-            z0t_id = z0t_kl_land
-        else if (trim(tag_z0t) == trim(z0t_tag_re)) then
-            z0t_id = z0t_re
-        else if (trim(tag_z0t) == trim(z0t_tag_zi)) then
-            z0t_id = z0t_zi
-        else if (trim(tag_z0t) == trim(z0t_tag_ca)) then
-            z0t_id = z0t_ca
-        else if (trim(tag_z0t) == trim(z0t_tag_cz)) then
-            z0t_id = z0t_cz
-        else if (trim(tag_z0t) == trim(z0t_tag_br)) then
-            z0t_id = z0t_br
-        else if (trim(tag_z0t) == trim(z0t_tag_ot)) then
-            z0t_id = z0t_ot
-        else if (trim(tag_z0t) == trim(z0t_tag_du)) then
-            z0t_id = z0t_du
-        else if (trim(tag_z0t) == trim(z0t_tag_zm)) then
-            z0t_id = z0t_zm
-        else if (trim(tag_z0t) == trim(z0t_tag_mix)) then
-            z0t_id = z0t_mix
-        else if (trim(tag_z0t) == trim(z0t_tag_user)) then
-            z0t_id = z0t_user
-        end if
-
-    end function
-
-    function get_surface_z0t_tag(z0t_id) result(tag_z0t)
-        implicit none
-        integer :: z0t_id
-        character(len=:), allocatable :: tag_z0t
-
-        tag_z0t = 'undefined'
-        if (z0t_id == z0t_kl_water) then
-            tag_z0t = z0t_tag_kl_water
-        else if (z0t_id == z0t_kl_land) then
-            tag_z0t =  z0t_tag_kl_land
-        else if (z0t_id == z0t_re) then
-            tag_z0t = z0t_tag_re
-        else if (z0t_id == z0t_zi) then
-            tag_z0t = z0t_tag_zi
-        else if (z0t_id == z0t_ca) then
-            tag_z0t = z0t_tag_ca
-        else if (z0t_id == z0t_cz) then
-            tag_z0t = z0t_tag_cz
-        else if (z0t_id == z0t_br) then
-            tag_z0t = z0t_tag_br
-        else if (z0t_id == z0t_ot) then
-            tag_z0t = z0t_tag_ot
-        else if (z0t_id == z0t_du) then
-            tag_z0t = z0t_tag_du
-        else if (z0t_id == z0t_zm) then
-            tag_z0t = z0t_tag_zm
-        else if (z0t_id == z0t_mix) then
-            tag_z0t = z0t_tag_mix
-        else if (z0t_id == z0t_user) then
-            tag_z0t = z0t_tag_user
-        end if 
-     end function
-
-
-
-     ! ----------------------------------------------------------------------------
-       subroutine get_thermal_roughness_all(z0_t, B, &
-            z0_m, Re, u_dyn, Czm, LAI, z0t_id)
-     ! ----------------------------------------------------------------------------
-        real, intent(out) :: z0_t               !< thermal roughness [m]
-        real, intent(out) :: B                  !< = log(z0_m / z0_t) [n/d]
-
-        real, intent(in) :: z0_m                !< aerodynamic roughness [m]
-        real, intent(in) :: Re                  !< roughness Reynolds number [n/d]
-        real, intent(in) :: LAI                 !< leaf-area index
-        real, intent(in) :: u_dyn              !< dynamic velocity [m/s]
-        real, intent(in) :: Czm                 !< proportionality coefficient z0_t =Czm*z0_m
-
-       integer, intent(in) :: z0t_id
-     ! ---------------------------------------------------------------------------
-
-
-       if (z0t_id == z0t_kl_water) then
-        call get_thermal_roughness_kl_water(z0_t, B, z0_m, Re)
-    else if (z0t_id == z0t_kl_land) then
-        call get_thermal_roughness_kl_land(z0_t, B, z0_m, Re)
-    else if (z0t_id == z0t_re) then
-        call get_thermal_roughness_re(z0_t, B, z0_m, Re)
-    else if (z0t_id == z0t_zi) then
-        call get_thermal_roughness_zi(z0_t, B, z0_m, Re)
-    else if (z0t_id == z0t_ca) then
-        call get_thermal_roughness_ca(z0_t, B, z0_m, Re)
-    else if (z0t_id == z0t_cz) then
-        call get_thermal_roughness_cz(z0_t, B, z0_m, Re)
-    else if (z0t_id == z0t_br) then
-        call get_thermal_roughness_br(z0_t, B, z0_m, Re)
-    else if (z0t_id == z0t_ot) then
-        call get_thermal_roughness_ot(z0_t, B, z0_m, Re)
-    else if (z0t_id == z0t_du) then
-        call get_thermal_roughness_du(z0_t, B, z0_m, u_dyn, LAI)
-    else if (z0t_id == z0t_zm) then
-        call get_thermal_roughness_zm(z0_t, B, z0_m, Czm)
-    else if (z0t_id == z0t_mix) then
-        call get_thermal_roughness_mix(z0_t, B, z0_m, u_dyn, Re)
-    else if (z0t_id == z0t_user) then
-        write(*, *) 'z0t_user'
-    end if
-
-    write (*,*) z0_t, B, z0_m, Re, u_dyn, Czm, LAI, z0t_id
-     end subroutine
-    ! --------------------------------------------------------------------------------  
-   
-   ! ----------------------------------------------------------------------------
-       subroutine get_thermal_roughness_definition(surface_type, id_ocean, id_land, id_snow, id_lake, &
-        id_forest, id_user, ocean_z0t_id, land_z0t_id, lake_z0t_id, snow_z0t_id, &
-        forest_z0t_id, usersf_z0t_id)
-     ! ----------------------------------------------------------------------------
-        real, intent(out) :: ocean_z0t_id              
-        real, intent(out) :: land_z0t_id                 
-        real, intent(out) :: lake_z0t_id  
-        real, intent(out) :: snow_z0t_id 
-        real, intent(out) :: forest_z0t_id  
-        real, intent(out) :: usersf_z0t_id 
-
-        real, intent(in) :: surface_type             
-
-        real, intent(in) :: id_ocean              
-        real, intent(in) :: id_land               
-        real, intent(in) :: id_snow 
-        real, intent(in) :: id_lake
-        real, intent(in) :: id_forest  
-        real, intent(in) :: id_user
-        
-     ! ---------------------------------------------------------------------------
-
-     if (surface_type == surface_ocean) then
-         ocean_z0t_id = id_ocean
-     else if (surface_type == surface_land) then
-         land_z0t_id = id_land
-     else if (surface_type == surface_snow) then
-         snow_z0t_id = id_snow
-     else if (surface_type == surface_lake) then
-        lake_z0t_id = id_lake
-     else if (surface_type == surface_forest) then
-         forest_z0t_id = id_forest
-     else if (surface_type == surface_user) then
-         usersf_z0t_id  = id_user
-     end if 
-     end subroutine
-
-end module sfx_z0t_all
-- 
GitLab