3 use iso_c_binding,
only : c_short, c_int, c_float, c_double
13 actual_et_interception, &
15 interception_storage_max, &
18 real (c_float),
intent(inout) :: interception_storage
19 real (c_double),
intent(inout) :: actual_et_interception
20 real (c_float),
intent(inout) :: interception
21 real (c_float),
intent(in) :: interception_storage_max
22 real (c_double),
intent(in) :: reference_et0
24 real (c_float) :: temp_storage
26 temp_storage = interception_storage + interception
28 if ( temp_storage > interception_storage_max )
then
31 interception = interception_storage_max - interception_storage
32 interception_storage = interception_storage_max
34 interception_storage = temp_storage
37 actual_et_interception = min( reference_et0, interception_storage )
38 interception_storage = max( 0.0_c_float, interception_storage - actual_et_interception )