26 use iso_c_binding,
only : c_short, c_int, c_float, c_double
44elemental function et_jh_calculate( iDayOfYear, iNumDaysInYear, fLatitude, fTMin, fTMax, &
45 fAs, fBs, fSunPct )
result(fReferenceET0)
47 integer (c_int),
intent(in) :: idayofyear
48 integer (c_int),
intent(in) :: inumdaysinyear
49 real (c_float),
intent(in) :: flatitude
50 real (c_float),
intent(in) :: ftmin
51 real (c_float),
intent(in) :: ftmax
52 real (c_float),
intent(in),
optional :: fas
53 real (c_float),
intent(in),
optional :: fbs
54 real (c_float),
intent(in),
optional :: fsunpct
55 real (c_double) :: freferenceet0
58 real (c_double) :: dra
59 real (c_double) :: ddelta
60 real (c_double) :: domega_s
61 real (c_double) :: dd_r
62 real (c_double) :: drs
63 real (c_float) :: ftavg
65 real (c_double) :: das_l
66 real (c_double) :: dbs_l
67 real (c_double) :: dsunpct_l
69 if (
present( fas ) )
then
75 if (
present( fbs ) )
then
81 if (
present( fsunpct ) )
then
88 ftavg = ( ftmin + ftmax ) / 2_c_float
115 freferenceet0 = 0.0_c_float
This module contains physical constants and convenience functions aimed at performing unit conversion...
real(c_double), parameter, public mm_per_in
real(c_float), parameter, public rfreezing
Calculates potential evapotranspiration by means of the Jensen-Haise (1963) method.
elemental real(c_double) function, public et_jh_calculate(idayofyear, inumdaysinyear, flatitude, ftmin, ftmax, fas, fbs, fsunpct)
elemental real(c_double) function equivalent_evaporation(rr)
elemental real(c_double) function solar_declination_simple__delta(idayofyear, inumdaysinyear)
Calculate the solar declination for a given day of the year.
elemental real(c_float) function estimate_percent_of_possible_sunshine__psun(ftmax, ftmin)
Estimate percent of possible sunshine.
elemental real(c_double) function relative_earth_sun_distance__d_r(idayofyear, inumdaysinyear)
Calculate the inverse relative Earth-Sun distance for a given day of the year.
elemental real(c_double) function sunrise_sunset_angle__omega_s(dlatitude, ddelta)
Calculate sunrise/sunset angle, in RADIANS.
elemental real(c_double) function extraterrestrial_radiation__ra(dlatitude, ddelta, domega_s, ddsubr)
Calculate extraterrestrial radiation given latitude and time of year.
elemental real(c_double) function solar_radiation__rs(dra, das, dbs, fpctsun)
Calculate solar radiation by means of the Angstrom formula.