5.13.2-dev0
mHM
The mesoscale Hydrological Model
Loading...
Searching...
No Matches
mo_common_functions.f90
Go to the documentation of this file.
1!> \file mo_common_functions.f90
2!> \brief \copybrief mo_common_functions
3!> \details \copydetails mo_common_functions
4
5!> \brief Provides small utility functions used by multiple parts of the code (mHM, mRM, MPR)
6!> \details Provides the functions in_bound used to check global_parameter ranges
7!> \changelog
8!! - Robert Schweppe Dec 2017
9!! - refactoring
10!> \authors Robert Schweppe
11!> \date Dec 2017
12!> \copyright Copyright 2005-\today, the mHM Developers, Luis Samaniego, Sabine Attinger: All rights reserved.
13!! mHM is released under the LGPLv3+ license \license_note
14!> \ingroup f_common
16 use mo_kind, only : dp
17
18 IMPLICIT NONE
19
20 PRIVATE
21
22 PUBLIC :: in_bound ! check parameter bounds
23
24contains
25
26 ! NAME
27 ! in_bound
28
29 ! PURPOSE
30 !> \brief TODO: add description
31
32 !> \details TODO: add description
33
34 ! INTENT(IN)
35 !> \param[in] "real(dp), dimension(:, :) :: params" parameter:
36 !> col_1=Lower bound,
37 !> col_2=Upper bound
38 !> col_3=initial
39
40 ! HISTORY
41 !> \authors Robert Schweppe
42
43 !> \date Jun 2018
44
45 ! Modifications:
46
47 function in_bound(params)
48 implicit none
49
50 ! parameter:
51 ! col_1=Lower bound,
52 ! col_2=Upper bound
53 ! col_3=initial
54 real(dp), dimension(:, :), intent(in) :: params
55
56 logical :: in_bound
57
58
59 if (any(params(:, 3) .lt. params(:, 1)) .or. any(params(:, 3) .gt. params(:, 2))) then
60 in_bound = .false.
61 else
62 in_bound = .true.
63 end if
64
65 end function in_bound
66end module mo_common_functions
Provides small utility functions used by multiple parts of the code (mHM, mRM, MPR)
logical function, public in_bound(params)
TODO: add description.