INTERFACE:
subroutine CASAPot_Evptr(lbp, ubp, num_soilp, filter_soilp)DESCRIPTION:
Potential Evapotranspiration Priestely-Taylor Equation Baldocchi et al. (2000): Climate and vegetation controls on boreal zone energy exchange. Global Change Biology, 6, (Suppl. 1), 69-83.
In Baldocchi et al, PET (equilibrium evaporation) is calculated for time step - as he compares the instantaneous evapotranspiration to the eqm evapotranspiration. I think that this is simplest, and avoids the definition of an averaging period. iyf 2002/05/09
The following calculation is done at every land point. No explicit discrimination among veg type or soil type Local ecology is implictly dealt with in the energy fluxes.
************************************************************************* the model partitions the latent heat flux into three components: o fcev: evaporation of intercepted water o fctr: transpiration o fgev: soil evaporation or snow sublimation
the model conserves surface energy fluxes as: o -fsa + fira + fsh + (fcev+fctr+fgev) + fcst + fgr + fsm = 0 o fsa + fsr = [solad(1)+solad(2)+solai(1)+solai(2)] = total incident solar o fira = -firgcm + fire currently canopy heat storage fcst = 0
------------ code history -------------- pot_evptr.F - From Inez modified for LSM/CASA interface by J.John (2002) ---------------------------------
ARGUMENTS:
implicit none integer, intent(in) :: lbp, ubp ! pft bounds integer, intent(in) :: num_soilp ! number of soil points in pft filter integer, intent(in) :: filter_soilp(ubp-lbp+1) ! pft filter for soil pointsLOCAL VARIABLES:
integer :: f ! filter index integer :: g ! gridcell index integer :: p ! pft index real(r8) :: qstar_net, q_grd, flh real(r8) :: tdegC, tadd, e_s, s, gamma, Q_E, factor, a_psy real(r8) :: fcst !canopy heat storage (w/m**2) ! inputs: integer , pointer :: pgridcell(:) ! gridcell index of corresponding pft real(r8), pointer :: t_ref2m(:) !2m surface air temperature (K) real(r8), pointer :: forc_pbot(:) !atmospheric pressure (Pa) real(r8), pointer :: fsa(:) !absorbed solar radiation (w/m**2) real(r8), pointer :: eflx_lwrad_net(:) !net infrared (longwave) rad (w/m**2) [+ = to atm] real(r8), pointer :: eflx_sh_tot(:) !sensible heat flux (w/m**2) [+ to atm] real(r8), pointer :: eflx_lh_vege(:) !veg evaporation heat flux (w/m**2) [+ to atm] real(r8), pointer :: eflx_lh_grnd(:) !ground evaporation heat flux (w/m**2) [+ to atm] real(r8), pointer :: eflx_lh_vegt(:) !veg transpiration heat flux (w/m**2) [+ to atm] ! outputs: real(r8), pointer :: pet(:) !potential evaporation (mm h2o/s)CALLED FROM:
Casa in CASAModREVISION HISTORY:
2004.06.08 Vectorized and reformatted by Forrest Hoffman