PriestleyTaylor Subroutine

private subroutine PriestleyTaylor(airTemp, netRad, fc, elevation, pt, pe, pet)

Compute potential evapotranspiration with Priestley-Taylor model

References: Priestley C.H.B., Taylor R.J., 1972. On the assessment of surface heat flux and evaporation using largescale parameters. Monthly Weather Review, 100:81-92.

Allen, R.G.; Pereira, L.S.; Raes, D.; Smith, M. Crop Evapotranspiration-Guidelines for Computing Crop Water Requirements-FAO Irrigation and Drainage Paper 56, 9th ed.; Food and Agriculture Organization of the United Nations: Rome, Italy, 1998; ISBN 92-5-104219-5.

Anderson, M. C., J. M. Norman, J. R. Mecikalski, J. P. Otkin, and W. P. Kustas (2007), A climatological study of evapotranspiration and moisture stress across the continental U.S. based on the thermal remote sensing: I. Model formulation, J. Geophys. Res., 112, D10117, doi:10.1029/2006JD007506

ASCE–EWRI. (2005). “The ASCE standardized reference evapotranspiration equation.” ASCE–EWRI Standardization of Reference Evapotranspiration Task Committe Rep., ASCE Reston, Va

Arguments

Type IntentOptional Attributes Name
real(kind=float), intent(in) :: airTemp

air temperature [°C]

real(kind=float), intent(in) :: netRad

net radiawion [W/m2]

real(kind=float), intent(in) :: fc

fractional coverage by vegetation [0-1]

real(kind=float), intent(in) :: elevation

terrain elevation [m a.s.l.]

real(kind=float), intent(out) :: pt

potential transpiration (from vegetation) [m/s]

real(kind=float), intent(out) :: pe

potential evaporation (from water or saturated soil) [m/s]

real(kind=float), intent(out) :: pet

potential evapotranspiration [m/s]


Variables

Type Visibility Attributes Name Initial
real(kind=float), public :: airPress

air pressure [KPa]

real(kind=float), public, parameter :: alpha = 1.26

priestely taylor advection coefficient

real(kind=float), public :: des

the slope of the relationship between saturation vapour pressure and ]

real(kind=float), public :: es

saturation vapor pressure

real(kind=float), public :: gamma

psychrometric constant [kPa °C-1]

real(kind=float), public :: groundHeat

ground heat flux [MJ m-2 s-1]

real(kind=float), public, parameter :: lambda = 2.453
real(kind=float), public :: netRadMJ

net radiation flux in MJ / m2 /s

real(kind=float), public, parameter :: toMJm2 = 0.000001

factor to convert W/me to MJ m-2 s-1


Source Code

SUBROUTINE PriestleyTaylor &
!
(airTemp, netRad, fc, elevation, pt, pe, pet)

IMPLICIT NONE

!Arguments with intent(in):
REAL (KIND = float), INTENT(in)  :: airTemp !!air temperature [°C]
REAL (KIND = float), INTENT(in)  :: netRad !! net radiawion [W/m2]
REAL (KIND = float), INTENT(in)  :: fc !! fractional coverage by vegetation [0-1]
REAL (KIND = float), INTENT(in)  :: elevation !! terrain elevation [m a.s.l.]

!Arguments with intent(out):
REAL (KIND = float), INTENT(out) :: pt		!! potential transpiration (from vegetation) [m/s]
REAL (KIND = float), INTENT(out) :: pe		!! potential evaporation (from water or saturated soil) [m/s]
REAL (KIND = float), INTENT(out) :: pet		!! potential evapotranspiration [m/s]

!local declarations.
REAL (KIND = float), PARAMETER :: alpha = 1.26 !! priestely taylor advection coefficient 
REAL (KIND = float), PARAMETER :: toMJm2 = 0.000001 !! factor to convert W/me to MJ m-2 s-1
REAL (KIND = float), PARAMETER :: lambda = 2.453 !2.2647 !!latent heat of vaporization (MJ / kg)
REAL (KIND = float) :: netRadMJ !!net radiation flux in MJ / m2 /s 
REAL (KIND = float) :: es !!saturation vapor pressure 
REAL (KIND = float) :: des !!the slope of the relationship between saturation vapour pressure and ]
REAL (KIND = float) :: airPress !!air pressure [KPa]
REAL (KIND = float) :: gamma !!psychrometric constant [kPa °C-1]
REAL (KIND = float) :: groundHeat !!ground heat flux [MJ m-2 s-1]

!-----------------------------------------end of declarations------------------

! compute saturation vapor pressure
es = 0.6108 * EXP ( ( 17.27 * airTemp ) / ( airTemp + 237.3 ) )

!compute the slope of saturation vapour pressure curve (Allen. et al. 1998)
des = ( 4098. * es ) / ( ( airTemp + 237.3 )**2. )

!compute atmospheric pressure (ASCE-EWRI, 2005)
airPress = 101.3 * ( ( 293. - 0.0065 * elevation ) / 293. )** 5.26

!compute psychrometric constant
gamma = 0.665 * 0.001 * airPress

!compute neat radiation in MJ / m2 / s
netRadMJ = netRad * toMJm2

! compute ground heat flux as a fraction of net radiation Anderson et al. (2007)
! groundHeat is assumed to affect evaporation from bare soil
groundHeat = 0.1  * netRadMJ
 

!compute potential evaporation (from saturated bare soil or water)
pe = alpha * ( des / ( des + gamma ) ) * ( netRadMJ - groundHeat) / lambda * millimeter ! (m/s) 

!compute potential transpiration from vegetation
pt = alpha * ( des / ( des + gamma ) ) * netRadMJ / lambda * millimeter ! (m/s) 

!compute potential as a weighted average of bare soil and vegetated fluxes
pet = ( 1. - fc) * pe + fc * pt

RETURN
END SUBROUTINE PriestleyTaylor