15 rainfall, net_rainfall, &
20 real (c_float),
intent(inout) :: snowfall
21 real (c_float),
intent(inout) :: net_snowfall
22 real (c_float),
intent(inout) :: rainfall
23 real (c_float),
intent(inout) :: net_rainfall
24 real (c_float),
intent(in) :: tmin
25 real (c_float),
intent(in) :: tmax
26 real (c_float),
intent(in) :: interception
27 real (c_float),
intent(in) :: gross_precipitation
30 if ( ( (tmin + tmax) / 2.0_c_double - ( tmax - tmin ) / 3.0_c_double ) <=
freezing )
then
32 snowfall = gross_precipitation
33 net_snowfall = gross_precipitation - interception
34 rainfall = 0.0_c_float
35 net_rainfall = 0.0_c_float
39 snowfall = 0.0_c_float
40 net_snowfall = 0.0_c_float
41 rainfall = gross_precipitation
42 net_rainfall = gross_precipitation - interception
elemental subroutine, public snowfall_original_calculate(snowfall, net_snowfall, rainfall, net_rainfall, tmin, tmax, interception, gross_precipitation)