6 EvapMethod, state_is, WetThresh_is, capStore_is, &!input
7 vpd_hPa, avdens, avcp, qn_e, s_hPa, psyc_hPa, ResistSurf, RA, rb, tlv, &
29 INTEGER,
INTENT(in) :: EvapMethod
31 REAL(KIND(1d0)),
INTENT(in)::state_is
32 REAL(KIND(1d0)),
INTENT(in)::WetThresh_is
33 REAL(KIND(1d0)),
INTENT(in)::capStore_is
35 REAL(KIND(1d0)),
INTENT(in)::vpd_hPa
36 REAL(KIND(1d0)),
INTENT(in)::avdens
37 REAL(KIND(1d0)),
INTENT(in)::avcp
38 REAL(KIND(1d0)),
INTENT(in)::qn_e
39 REAL(KIND(1d0)),
INTENT(in)::s_hPa
40 REAL(KIND(1d0)),
INTENT(in)::psyc_hPa
41 REAL(KIND(1d0)),
INTENT(in)::ResistSurf
43 REAL(KIND(1d0)),
INTENT(in)::RA
44 REAL(KIND(1d0)),
INTENT(in)::rb
45 REAL(KIND(1d0)),
INTENT(in)::tlv
47 REAL(KIND(1d0)),
INTENT(out)::rss
48 REAL(KIND(1d0)),
INTENT(out)::ev
49 REAL(KIND(1d0)),
INTENT(out)::qe
51 REAL(KIND(1d0))::numPM
53 REAL(KIND(1d0))::rsrbsg
59 REAL(KIND(1d0)),
PARAMETER:: NAN = -999
70 numpm = s_hpa*qn_e + vpd_hpa*avdens*avcp/ra
73 IF (state_is <= 0.001)
THEN 74 qe = numpm/(s_hpa + psyc_hpa*(1 + resistsurf/ra))
85 IF (evapmethod == 2)
THEN 86 rbsg = rb*(s_hpa/psyc_hpa + 1)
87 rsrbsg = resistsurf + rbsg
91 IF (state_is >= wetthresh_is .OR. resistsurf < 25)
THEN 95 r = (resistsurf/ra)*(ra - rb)/rsrbsg
96 w = (r - 1)/(r - (wetthresh_is/state_is))
102 rss = (1/((w/rbsg) + ((1 - w)/rsrbsg))) - rbsg
105 qe = numpm/(s_hpa + psyc_hpa*(1 + rss/ra))
110 ELSEIF (evapmethod == 1)
THEN 111 qe = numpm/(s_hpa + psyc_hpa)
114 x = merge(1d0, state_is/capstore_is, state_is > capstore_is)
subroutine evap_suews(EvapMethod, state_is, WetThresh_is, capStore_is, vpd_hPa, avdens, avcp, qn_e, s_hPa, psyc_hPa, ResistSurf, RA, rb, tlv, rss, ev, qe)