Soil Water Balance (SWB2)
Loading...
Searching...
No Matches
meteorological_calculations.F90
Go to the documentation of this file.
1
module
meteorological_calculations
2
!! Algorithms to estimate dewpoint, vapor pressure, and other values
3
!! given input air temperature or solar radiation values.
4
5
use
iso_c_binding,
only
: c_int, c_float, c_double, c_bool
6
use
constants_and_conversions
7
implicit none
8
9
contains
10
11
elemental
function
sat_vapor_pressure__e_0
(rT)
result
(re_0)
12
!! Calculate saturation vapor pressure
13
!! @note Implemented as equation 11 in:
14
!! Allen, R.G., and others, 1998, FAO Irrigation and Drainage Paper No. 56,
15
!! Crop Evapotranspiration (Guidelines for computing crop water
16
!! requirements), Food and Agriculture Organization, Rome, Italy.
17
18
real
(c_float),
intent(in)
:: rt
19
!! Air temperature in °C
20
real
(c_float) :: re_0
21
!! Saturation vapor pressure at given air temperature, in kilopascals
22
23
re_0 = 0.6108_c_double * exp(17.27_c_double * rt &
24
/ ( rt + 237.3_c_double) )
25
26
end function
sat_vapor_pressure__e_0
27
28
!--------------------------------------------------------------------------
29
30
elemental
function
dewpoint_vapor_pressure__e_a
(fTMin)
result
(fe_a)
31
!! Estimate dewpoint vapor pressure given a minimum daily air temperature value
32
33
real
(c_float),
intent(in)
:: ftmin
34
!! Minimum daily air temperature, in °C
35
real
(c_double) :: fe_a
36
!! Dewpoint vapor pressure at given air temperature, in kiloPascals
37
38
fe_a = 0.6108_c_double * exp( 17.27_c_double *
f_to_c
(ftmin) &
39
/ (
f_to_c
(ftmin) + 237.3_c_double) )
40
41
end function
dewpoint_vapor_pressure__e_a
42
43
!--------------------------------------------------------------------------
44
45
elemental
function
equivalent_evaporation
(rR)
result
(rR_ET)
46
!! Calculate a radiation value in terms of equivalent evaporation (depth of water
47
!! that would be evaporated for a given radiation value)
48
49
real
(c_double),
intent(in)
:: rr
50
!! Input radiation, in \(\frac{MJ}{m^2 \cdot day}\)
51
real
(c_double) :: rr_et
52
!! Radiation expressed as equivalent evaporation, in \(\frac{mm}{day}\)
53
54
rr_et = rr * 0.408_c_double
55
56
end function
equivalent_evaporation
57
58
59
60
end module
meteorological_calculations
constants_and_conversions::f_to_c
Definition
constants_and_conversions.F90:103
constants_and_conversions
This module contains physical constants and convenience functions aimed at performing unit conversion...
Definition
constants_and_conversions.F90:8
meteorological_calculations
Definition
meteorological_calculations.F90:1
meteorological_calculations::equivalent_evaporation
elemental real(c_double) function equivalent_evaporation(rr)
Definition
meteorological_calculations.F90:46
meteorological_calculations::dewpoint_vapor_pressure__e_a
elemental real(c_double) function dewpoint_vapor_pressure__e_a(ftmin)
Definition
meteorological_calculations.F90:31
meteorological_calculations::sat_vapor_pressure__e_0
elemental real(c_float) function sat_vapor_pressure__e_0(rt)
Definition
meteorological_calculations.F90:12
src
meteorological_calculations.F90
Generated on
for Soil Water Balance (SWB2) by
1.14.0