5 &(formrs,h1,h2,abrs,wattemp,eps,o2satu,trup,tn,ind_o2,ir)
44 INTEGER ,
INTENT(IN) :: FORMRS,IR
45 DOUBLE PRECISION,
INTENT(IN) :: EPS,H1,H2,ABRS(2),WATTEMP
46 DOUBLE PRECISION,
INTENT(IN) :: TRUP,O2SATU
47 INTEGER,
INTENT(IN) :: IND_O2
48 TYPE(bief_obj) ,
INTENT(INOUT) :: TN
54 DOUBLE PRECISION DZ,RSW,TRDO,AB
66 ELSEIF(formrs.EQ.2)
THEN 68 rsw = 1.d0+0.36d0*ab*(1.d0+0.046d0*wattemp)*dz
70 ELSEIF(formrs.EQ.3 )
THEN 71 rsw = 1.d0+0.69d0*dz*(1.d0-0.11d0*dz )
72 & *( 1.d0+0.046d0*wattemp)
74 ELSEIF (formrs.EQ.4)
THEN 75 rsw = 1.d0+0.38d0*ab*dz*(1.d0-0.11d0*dz)
76 & * (1.d0+0.046d0*wattemp )
78 WRITE(
lu,*)
'FORMULA FOR RS (WEIR REAERATION) ' 79 WRITE(
lu,*)
' NOT VALID :',formrs
80 WRITE(
lu,*)
'POSSIBLE CHOICES ARE FROM 1 TO 4' 87 IF(abs(rsw).GT.eps)
THEN 88 trdo = o2satu + (trup-o2satu)/rsw
90 WRITE(
lu,*)
'REAER_WEIR:RSW VERY SMALL',rsw
96 tn%ADR(ind_o2)%P%R(ir)=trdo
subroutine reaer_weir(FORMRS, H1, H2, ABRS, WATTEMP, EPS, O2SATU, TRUP, TN, IND_O2, IR)