2 SUBROUTINE calcs2d_thermic
5 & (npoin,tn,texp,hprop,patmos)
72 & cp_air,emi_eau,ro0,ind_t
80 INTEGER,
INTENT(IN) :: npoin
82 TYPE(
bief_obj),
INTENT(INOUT) :: texp
91 DOUBLE PRECISION,
PARAMETER :: eps=1.d-3
92 DOUBLE PRECISION :: ce,cv,re,l_vap
93 DOUBLE PRECISION :: ra,patmc
94 DOUBLE PRECISION :: temper,ha_sat
95 DOUBLE PRECISION :: roa,ha,p_vap_sat
96 DOUBLE PRECISION :: constce,constcv,constra,constss,constre
103 constre = emi_eau*
boltz 107 constss = 1.d0/(ro0*
cp_eau)
114 temper = tn%ADR(ind_t)%P%R(i)
116 p_vap_sat = 6.11d0*exp(17.27d0*temper /(temper+237.3d0))
118 roa = 100.d0*patmos%R(i)/((
tair%R(i)+273.15d0)*287.d0)
120 patmc=patmos%R(i)-0.378d0*p_vap_sat
121 ha = 0.622d0*
pvap%R(i)/(max(patmos%R(i)-0.378d0*
pvap%R(i),eps))
123 re = constre*(temper+273.15d0)**4
125 cv = roa*constcv*(temper-
tair%R(i))
127 l_vap = 2500900.d0 - 2365.d0*temper
129 IF(abs(patmc).GT.eps)
THEN 130 ha_sat = 0.622d0*p_vap_sat/patmc
135 ce = roa*l_vap*constce*(ha_sat-ha)
139 IF(ha_sat.LT.ha)
THEN 145 texp%ADR(ind_t)%P%R(i) = texp%ADR(ind_t)%P%R(i) +
146 & constss*(
ray3%R(i)+ra-re-cv-ce) / max(hprop%R(i),eps)
type(bief_obj), target, public tair
type(bief_obj), target, public pvap
type(bief_obj), target, public winds
double precision, dimension(2) cfaer
double precision, parameter boltz
double precision, target cp_eau
type(bief_obj), target, public ray3
type(bief_obj), target, public cldc