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

esm for Alexandra

parent ea432eb5
No related branches found
No related tags found
No related merge requests found
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
! -------------------------------------------------------------------------------- ! --------------------------------------------------------------------------------
implicit none implicit none
! -------------------------------------------------------------------------------- ! --------------------------------------------------------------------------------
public :: set_dataset
public public
!> @brief model enum def. !> @brief model enum def.
......
...@@ -174,6 +174,7 @@ contains ...@@ -174,6 +174,7 @@ contains
real :: Tsemi !< semi-sum of potential temperature at 'h' and at surface [K] real :: Tsemi !< semi-sum of potential temperature at 'h' and at surface [K]
real :: dQ !< difference between humidity at 'h' and at surface [g/g] real :: dQ !< difference between humidity at 'h' and at surface [g/g]
real :: z0_m !< surface aerodynamic roughness (should be < 0 for water bodies surface) real :: z0_m !< surface aerodynamic roughness (should be < 0 for water bodies surface)
real :: z0_map !< surface aerodynamic roughness (should be < 0 for water bodies surface)
! ---------------------------------------------------------------------------- ! ----------------------------------------------------------------------------
! --- local variables ! --- local variables
...@@ -232,6 +233,8 @@ contains ...@@ -232,6 +233,8 @@ contains
dQ = meteo%dQ dQ = meteo%dQ
h = meteo%h h = meteo%h
z0_m = meteo%z0_m z0_m = meteo%z0_m
z0_map = meteo%z0_m
! --- define surface type ! --- define surface type
if (z0_m < 0.0) then if (z0_m < 0.0) then
...@@ -242,7 +245,8 @@ contains ...@@ -242,7 +245,8 @@ contains
if (surface_type == surface_ocean) then if (surface_type == surface_ocean) then
! --- define surface roughness [momentum] & dynamic velocity in neutral conditions ! --- define surface roughness [momentum] & dynamic velocity in neutral conditions
call get_charnock_roughness(z0_m, u_dyn0, U, h, numerics%maxiters_charnock) !call get_charnock_roughness(z0_m, u_dyn0, U, h, numerics%maxiters_charnock)
call get_dynamic_roughness_all(z0_m, u_dyn0, U, depth, h, numerics%maxiters_charnock, z0_map, 1)
! --- define relative height ! --- define relative height
h0_m = h / z0_m h0_m = h / z0_m
endif endif
......
...@@ -11,6 +11,7 @@ module sfx_most_snow ...@@ -11,6 +11,7 @@ module sfx_most_snow
use sfx_data use sfx_data
use sfx_surface use sfx_surface
use sfx_most_snow_param use sfx_most_snow_param
use sfx_config
! -------------------------------------------------------------------------------- ! --------------------------------------------------------------------------------
! directives list ! directives list
...@@ -159,31 +160,12 @@ contains ...@@ -159,31 +160,12 @@ contains
z0_map = meteo%z0_m z0_map = meteo%z0_m
call get_dynamic_roughness_definition(surface_type, ocean_z0m_id, land_z0m_id, lake_z0m_id, snow_z0m_id, & call get_dynamic_roughness_definition(1, ocean_z0m_id, land_z0m_id, lake_z0m_id, snow_z0m_id, &
forest_z0m_id, usersf_z0m_id, z0m_id) forest_z0m_id, usersf_z0m_id, z0m_id)
call get_dynamic_roughness_all(z0_m, u_dyn0, U, depth, h, numerics%maxiters_charnock, z0_map, z0m_id) call get_dynamic_roughness_all(z0_m, u_dyn0, U, depth, h, numerics%maxiters_charnock, z0_map, z0m_id)
! --- define surface type
if (z0_m < 0.0) then
surface_type = surface_ocean
else if (z0_m == 0.0) then
surface_type = surface_snow
else
surface_type = surface_land
end if
! if (surface_type == surface_ocean) then
! ! --- define surface roughness [momentum] & dynamic velocity in neutral conditions
! call get_charnock_roughness(z0_m, u_dyn0, U, h, numerics%maxiters_charnock)
! ! --- define relative height
! h0_m = h / z0_m
!endif
!if (surface_type == surface_land) then
! ! --- define relative height
! h0_m = h / z0_m
! ! --- define dynamic velocity in neutral conditions
! u_dyn0 = U * kappa / log(h0_m)
!end if
! --- define relative height ! --- define relative height
h0_m = h / z0_m h0_m = h / z0_m
! --- define thermal roughness & B = log(z0_m / z0_h) ! --- define thermal roughness & B = log(z0_m / z0_h)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment