FMS  2025.04
Flexible Modeling System
monin_obukhov_inter.F90
1 !***********************************************************************
2 !* Apache License 2.0
3 !*
4 !* This file is part of the GFDL Flexible Modeling System (FMS).
5 !*
6 !* Licensed under the Apache License, Version 2.0 (the "License");
7 !* you may not use this file except in compliance with the License.
8 !* You may obtain a copy of the License at
9 !*
10 !* http://www.apache.org/licenses/LICENSE-2.0
11 !*
12 !* FMS is distributed in the hope that it will be useful, but WITHOUT
13 !* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
14 !* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15 !* PARTICULAR PURPOSE. See the License for the specific language
16 !* governing permissions and limitations under the License.
17 !***********************************************************************
18 !> @defgroup monin_obukhov_inter monin_obukhov_inter
19 !> @ingroup monin_obukhov
20 !> @brief Utility routines to be used in @ref monin_obukhov_mod
21 
22 !> @addtogroup monin_obukhov_inter
23 !> @{
24 module monin_obukhov_inter
25 
26 use platform_mod, only: r4_kind, r8_kind
27 implicit none
28 private
29 
30 
31 public :: monin_obukhov_diff
32 public :: monin_obukhov_drag_1d
40 
42  module procedure monin_obukhov_diff_r4, monin_obukhov_diff_r8
43 end interface monin_obukhov_diff
44 
46  module procedure monin_obukhov_drag_1d_r4, monin_obukhov_drag_1d_r8
47 end interface monin_obukhov_drag_1d
48 
50  module procedure monin_obukhov_solve_zeta_r4, monin_obukhov_solve_zeta_r8
51 end interface monin_obukhov_solve_zeta
52 
54  module procedure monin_obukhov_derivative_t_r4, monin_obukhov_derivative_t_r8
55 end interface monin_obukhov_derivative_t
56 
58  module procedure monin_obukhov_derivative_m_r4, monin_obukhov_derivative_m_r8
59 end interface monin_obukhov_derivative_m
60 
62  module procedure monin_obukhov_profile_1d_r4, monin_obukhov_profile_1d_r8
63 end interface monin_obukhov_profile_1d
64 
66  module procedure monin_obukhov_integral_m_r4, monin_obukhov_integral_m_r8
67 end interface monin_obukhov_integral_m
68 
70  module procedure monin_obukhov_integral_tq_r4, monin_obukhov_integral_tq_r8
71 end interface monin_obukhov_integral_tq
72 
74  module procedure monin_obukhov_stable_mix_r4, monin_obukhov_stable_mix_r8
75 end interface monin_obukhov_stable_mix
76 
77 contains
78 
79 #include "monin_obukhov_inter_r4.fh"
80 #include "monin_obukhov_inter_r8.fh"
81 
82 end module monin_obukhov_inter
83 !> @}
84 ! close documentation grouping