5 &(npoin3,npoin2,texp,timp,tn,hprop,u,v,cf,
6 & t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12, t2_1,t2_2,t2_3,
8 & latit,longit,at,mardat,martim,zprop,rho)
72 INTEGER ,
INTENT(IN) :: NPOIN3,DIMM
73 INTEGER ,
INTENT(IN) :: NPLAN,NPOIN2
74 INTEGER ,
INTENT(IN) :: MARDAT(3),MARTIM(3)
75 DOUBLE PRECISION,
INTENT(IN ) :: LATIT,LONGIT,AT
76 TYPE(bief_obj),
INTENT(IN) :: TN,HPROP,CF,U,V
77 TYPE(bief_obj),
INTENT(IN) :: PATMOS,ZPROP
78 TYPE(bief_obj),
INTENT(INOUT) :: TEXP,TIMP
79 TYPE(bief_obj),
INTENT(INOUT) :: T1,T2,T3,T4,T5,T6
80 TYPE(bief_obj),
INTENT(INOUT) :: T7,T8,T9,T10,T11,T12
81 TYPE(bief_obj),
INTENT(INOUT) :: T2_1,T2_2,T2_3
83 TYPE(bief_obj),
INTENT(IN),
OPTIONAL :: RHO
87 INTEGER :: J,ITRAC,IERR
97 IF(
debug.GT.0)
WRITE(
lu,*)
'CALL OF CALCS~D_O2' 102 &
photo,
resp,tn,texp,timp,t2,t3,t4,hprop,u,v,
debug)
108 ELSEIF(dimm.EQ.3)
THEN 112 & t1,t2,t2_1,hprop,zprop,u,v)
114 texp%ADR(
ind_o2)%P%TYPR=
'Q' 115 timp%ADR(
ind_ol)%P%TYPR=
'Q' 120 IF(
debug.GT.0)
WRITE(
lu,*)
'BACK FROMCALCS~D_O2' 128 IF(
debug.GT.0)
WRITE(
lu,*)
'CALL OF CALCS~D_BIOMASS' 132 & hprop,t1,t2,t3,t4,t5,t6,
debug)
140 ELSEIF(dimm.EQ.3)
THEN 141 CALL calcs3d_biomass(npoin3,npoin2,nplan,
wattemp,tn,texp,
142 &
rayeff,zprop,t1,t2,t3,t4,t5,t6)
152 IF(
debug.GT.0)
WRITE(
lu,*)
'BACK FROM CALCS~D_BIOMASS' 160 IF(
debug.GT.0)
WRITE(
lu,*)
'CALL OF CALCS~D_EUTRO' 164 & hprop,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,
176 ELSEIF(dimm.EQ.3)
THEN 177 CALL calcs3d_eutro(npoin3,npoin2,nplan,
wattemp,tn,texp,
178 & timp,
rayeff,hprop,zprop,t1,t2_1,t3,t4,
179 & t5,t6,t7,t8,t9,t10,t11,t12,
debug,u,v)
188 texp%ADR(
ind_ol)%P%TYPR=
'Q' 189 timp%ADR(
ind_ol)%P%TYPR=
'Q' 190 texp%ADR(
ind_o2)%P%TYPR=
'Q' 194 IF(
debug.GT.0)
WRITE(
lu,*)
'BACK FROM CALCS~D_EUTRO' 202 IF(
debug.GT.0)
WRITE(
lu,*)
'CALL OF CALCS~D_MICROPOL' 205 CALL calcs2d_micropol(npoin2,tn,texp,timp,hprop,
206 & cf,u,v,t1,t2,t3,t4)
214 ELSEIF(dimm.EQ.3)
THEN 215 CALL calcs3d_micropol(npoin2,tn,texp,
216 & timp,zprop,cf,u,v,t2_1,t2_2,t2_3,t1,t2,
219 texp%ADR(
ind_ss)%P%TYPR=
'Q' 220 texp%ADR(
ind_sf)%P%TYPR=
'Q' 221 timp%ADR(
ind_c)%P%TYPR=
'Q' 222 texp%ADR(
ind_c)%P%TYPR=
'Q' 229 IF(
debug.GT.0)
WRITE(
lu,*)
'BACK FROM CALCS~D_MICROPOL' 239 IF(
debug.GT.0)
WRITE(
lu,*)
'CALL OF CALCS2D_THERMIC' 240 CALL calcs2d_thermic(npoin2,tn,texp,hprop,patmos)
241 IF(
debug.GT.0)
WRITE(
lu,*)
'BACK FROM CALCS2D_THERMIC' 245 ELSEIF(dimm.EQ.3)
THEN 247 IF(
debug.GT.0)
WRITE(
lu,*)
'CALL OF CALCS3D_THERMICV' 249 CALL calcs3d_thermicv(npoin3,npoin2,nplan,zprop%R,rho%R,
250 & tn,texp,longit,latit,
253 texp%ADR(
ind_t)%P%TYPR=
'Q' 256 IF(
debug.GT.0)
WRITE(
lu,*)
'BACK FROM CALCS3D_THERMICV' 267 #if defined HAVE_AED2 269 ALLOCATE(
extcaed2(npoin2,nplan),stat=ierr)
273 IF(
debug.GT.0)
WRITE(
lu,*)
'CALL OF CALCS3D_AED2' 274 CALL calcs3d_aed2(npoin3,npoin2,nplan,zprop%R,rho%R,
275 & tn,texp,timp,longit,latit,at,
277 IF(
debug.GT.0)
WRITE(
lu,*)
'BACK FROM CALCS3D_AED2' 281 WRITE(
lu,*)
'ERROR: AED2 LIBRARY NOT COMPILED' 293 IF(
debug.GT.0)
WRITE(
lu,*)
'CALL OF CALCS2D_DEGRADATION' 294 CALL calcs2d_degradation(npoin2,tn,texp,timp,hprop,
nwaq_degra,
296 IF(
debug.GT.0)
WRITE(
lu,*)
'BACK FROM CALCS2D_DEGRADATION' 301 ELSEIF(dimm.EQ.3)
THEN 302 IF(
debug.GT.0)
WRITE(
lu,*)
'CALL OF CALCS3D_DEGRADATION' 303 CALL calcs3d_degradation(npoin3,npoin2,nplan,tn,texp,timp,
306 IF(
debug.GT.0)
WRITE(
lu,*)
'BACK FROM CALCS3D_DEGRADATION' 310 timp%ADR(itrac)%P%TYPR=
'Q' 329 IF( .NOT.found )
THEN 331 20
FORMAT(1x,
'SOURCE_WAQ: UNKNOWN WAQ MODULE: ',i4)
double precision, dimension(:,:), allocatable extcaed2
integer, dimension(:), allocatable loitrac
integer, dimension(maxwqvar) rank_degra
double precision, dimension(:), allocatable coef1trac
type(bief_obj), target rayaed2
subroutine source_waq(NPOIN3, NPOIN2, TEXP, TIMP, TN, HPROP, U, V, CF, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T2_1, T2_2, T2_3, PATMOS, DIMM, NPLAN, LATIT, LONGIT, AT, MARDAT, MARTIM, ZPROP, RHO)
type(bief_obj), target rayeff