|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: S T
Length: 17328 (0x43b0)
Types: TextFile
Names: »S00017.f«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21E/doduc/S00017.f«
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/doduc/S00017.f«
SUBROUTINE S00017
IMPLICITDOUBLEPRECISION(A-H,O-Z)
COMMON/AAA26/DEB(21),DEBV(21),DEBL(21),ALFAD(21),ALFB(21),
2ALFT(21),HA(21),HB(21),HE(21,2),HEM(21),VE(21,2),
3 XA(21),XB(21),XD(21),XEM(21),SDSC
4 ,TJONC(21),HJONB(21,2),HJONT(21,2),DEBAV(21)
5 ,GLINF(21),GLSUP(21),PP1,PP2,ALNIV
6 ,VGJO(21),GLINFP(21),V55198(21),ICAS(21),ICZW(21)
COMMON/AAA22/DH(22,2),DM(22,2),DPDT,DUU(22,2),DV(22,2),DNU(22,2)
COMMON/AAA44/SC(21),SCAPA(22),SHTC(22),VC(22),XL(22)
1,VFIX,ZCOT(21),I6FT,J6FT,I8FT,J8FT,NC,NC1,NC2,IBCH,IHCH
COMMON/AAA66/TS,HFS,HGS,HFGS,DHFPS,DHGPS,VVFS,VVGS,DVVFPS,DVVGPS
1 ,DHFGS,VV1,VV2,DVV1P,DVV2P,T1,T2
COMMON/AAA88/FLUP(22,2),FLUV(22,2),FLUL(22,2),FLUIV(22,2),
2DEBIL(22,2),FLUIL(22,2),DEBI(22),DEBHI(22),DEBIV(22,2)
COMMON/AAA10/V(22,2),VV(22,2),H(22,2),HF(22,2),HG(22,2),
1 DNUHP(22,2),U(22,2),XM(22,2),XT(22,2),ALFA(22,2),
2 T(22,2),DVVH(22,2),DELH(22,2),DVVP(22,2),DELP(22,2)
3 ,AA(22,2),BB(22,2),DTDH(22,2),DTDP(22,2),DTSAT,
4 DNUPP(22,2),A(22),B(22),C(22),TVID(22,12),M(22,2),IST(22,2)
COMMON/AAA13/TEM,P,DT,HNIV(22),VITESS
1 ,ZNIV,RI(2),ISS,NITERA,NIV,ISLNI,IBTR,IHTR,ITYP(22)
COMMON/AAA99/HLCF,HVCFO,HVAP,HCON,HVIN,HLIN,R876,RGAI
1 ,XM876,XMGAI,XL876,XLGAI,CP876,CPGAI,XMC876,XMCGAI
2 ,DIAHY,HGAPP(22),HCG(22),HTC(22,12),HVCFF(22)
COMMON/AAA33/VCO,XL0055,D876,DINT,DEXT,VOL002,VOL005,LCO,NCRAY
COMMON/AAA55/KPRESS,KDEB,KCON,KTGAI,KT876,ICAT(3),KIMP,KGLISS
COMMON/AAA77/QINIT,TPUI(20),QPUI(20),RPUI,PLMOY,
1 XHTC(22,12),PL(22,12),QREPA(22,12),
2 XMCGA(22,12),XMCUO(22,12),QCED(22,12),QCON(22,12)
3 ,QUGA(22,12),QFOU(22,12),QCEI(2),QCONI(2),QUGII(2)
4 ,TMI(2),DTMI(2),QTOTAL,QTUG,QTGF,TERC(2)
4 ,TGAI(22,12),TGAII(22,12),T876(22,12),TUMAX(22,12)
5 ,TUMIN(22,12),DTGAI(22,12),DT876(22,12)
6 ,TERCO(22,12),TMU(2),DTMU(2),NPUI,NASL(22),NSL(22)
COMMON/AAA17/DDPDT,DDH(22,2),DDV(22,2),DDM(22,2),DDU(22,2)
COMMON/AAA18/DDEB(21),DDDEB(21),DXAT(21),DXAG(21),DXBT(21),
1 DXBG(21),DNUG(21),DNUF(21),DHE(22,2),DDEBO(21)
COMMON/AAA20/DQP(22,2),DFLUL(22),DFLUV(22),DFLUIL(22),DFLUIV(22)
1 ,DDEBIL(22),DDEBIV(22),DQCEI(2),DQCED(22,12),
2 DDTUO(22,12),DDTGA(22,12),DDTMI(2),DDTMU(2)
COMMON/AAA11/V0011N(20),V0012X(20),V0011,V0012,
1TLIM,ZLIMIN,ZLIMAX,DTVOI,TIMIMP(20),DIFREF(20),DIFMIC(20),
3V00001,V22202,TEMIMP,TEMMIC,DELM,DELV,DELVI,DELVS,
6V22201,V22203,DTPRE,DTPHY,DTTEMP,DTCHAN,DTDIS,DTBEF,DTORG
7,NIMIC,NMULTR,IZONE,N00011(20),ISORT,NECRIT,NSTAR,IPLOT,NZONE
+,IFRE(20),ICO,IIMP,NPAS1(20),NPAS2(20)
COMMON/AAA16/DBENT(20),TENT(20),HENT(20),DEBE,ENTE,
2 DBSOR(20),TSOR(20),DEBS,DPDTT(20),TDPDT(20)
3 ,HSOR(20),THSOR(20),ENTS,NDBENT,NDPDT,NDBSOR,NHSOR
DOUBLEPRECISION M,NUM,DALFA(22,2),DTF(22,2)
DOUBLEPRECISION R(22),TA(22),W(22),DAL(12),XX(8),S(22)
DOUBLEPRECISION DML(21),DMV(21)
DOUBLEPRECISION YA(5),TTA(5),CR(5)
DOUBLEPRECISION E(22),F(22),AL(12)
DOUBLEPRECISION DALBB(21),DALTT(21)
DOUBLEPRECISION DTVID(22,12),DFLUVE(22),DFLUVS(22)
COEF=144.D+00/778.D+00
EPS=1.D-6
DTSAT=DTSAT*DPDT
TESS=TEM+1.D-4
CALL S00934(TENT,DBENT,HENT,TESS,X1,X2,20)
DQINJ=(X1-DEB(1))/1.D-4
DH(1,1)=(X2-H(1,1))/1.D-4
CALL S00934(THSOR,HSOR,HSOR,TESS,ENTSS,X,2)
DH(NC2,1)=(ENTSS-H(NC2,1))/1.D-4
DHFS=DHFPS*DPDT
DHGS=DHGPS*DPDT
DNUFS=DVVFPS*DPDT
DNUGS=DVVGPS*DPDT
DO 990 I=1,NC1
IE=I
IS=I+1
DVFB=DNUFS
DVFT=DNUFS
DVGB=DNUGS
DVGT=DNUGS
DHFB=DHFS
DHFT=DHFS
DHGB=DHGS
DHGT=DHGS
DDEBO(I)=DDEB(I)
IDODUC=ITYP(IE)
GOTO (961,963,964),IDODUC
961 ICA=IST(IE,1)
IF(ICA.NE.1)GOTO 962
DHFB=DH(IE,1)
DVFB=DNU(IE,1)
GOTO 970
962 IF(ICA.NE.3)GOTO 970
DHGB=DH(IE,1)
DVGB=DNU(IE,1)
GOTO 970
963 DHFB=DH(IE,1)
DHGB=DH(IE,2)
DVFB=DNU(IE,1)
DVGB=DNU(IE,2)
GOTO 970
964 ICA=IST(IE,2)
IF(ICA.NE.1)GOTO 965
DHFB=DH(IE,2)
DVFB=DNU(IE,2)
GOTO 970
965 IF(ICA.NE.3)GOTO 970
DHGB=DH(IE,2)
DVGB=DNU(IE,2)
970 CONTINUE
IF(ITYP(IS).EQ.2)GOTO 973
ICA=IST(IS,1)
IF(ICA.NE.1)GOTO 972
DHFT=DH(IS,1)
DVFT=DNU(IS,1)
GOTO 980
972 IF(ICA.NE.3)GOTO 980
DHGT=DH(IS,1)
DVGT=DNU(IS,1)
GOTO 980
973 DHFT=DH(IS,1)
DHGT=DH(IS,2)
DVFT=DNU(IS,1)
DVGT=DNU(IS,2)
980 CONTINUE
DNUG(I)=(DVGB+DVGT)/2.
DNUF(I)=(DVFB+DVFT)/2.
DHE(I,1)=DHFB
DHE(I,2)=DHGB
DEBLL=DEBAV(I)*(1.-XA(I))-XB(I)
DEBVV=DEBAV(I)*XA(I)+XB(I)
IF(DEBLL.LT.0.)DHE(I,1)=DHFT
IF(DEBVV.LT.0.)DHE(I,2)=DHGT
990 CONTINUE
VFDVG=VVFS/VVGS
DVFDVG=(DVVFPS-VFDVG*DVVGPS)*DPDT
DALFA(1,1)=0.
DALFA(NC2,1)=0.
DO 1000 I=2,NC1
J1=2-1/ITYP(I)
DO 1000 J=1,J1
DTF(I,J)=DTDP(I,J)*DPDT+DTDH(I,J)*DH(I,J)
DALFA(I,J)=0.
IF(IST(I,J).NE.2)GOTO 1000
X=(H(I,J)-HFS)/HFGS
DXDT=(DH(I,J)-(DHFPS+DHFGS*X)*DPDT)/HFGS
ALDX=1./(X+(1.-X)*VFDVG)
ALDX=ALDX*ALDX
DALFA(I,J)=ALDX*(VFDVG*DXDT-(1.-X)*X*DVFDVG/VVGS)
1000 CONTINUE
DALBB(1)=0.
DALTT(NC1)=0.
DO 1200 I=2,NC1
NI=NASL(I)
DO 1100 J=1,NI
1100 AL(J)=TVID(I,J)
CALL S33018(I,DALFA,DAL,DALJB,DALJT)
DALTT(I-1)=DALJB
DALBB(I)=DALJT
DO 2100 J=1,NI
2100 DTVID(I,J)=DAL(J)
1200 CONTINUE
DO 2500 I=1,NC1
DALB=DALBB(I)
DALT=DALTT(I)
SEC=SC(I)
IK=ICZW(I)
IF(KGLISS.EQ.4)GOTO 2300
GOTO 2400
2300 CONTINUE
CALL S33022(I,SEC,IK,DALB,DALT,X1,X2,X3,X4)
2400 CONTINUE
DXAT(I)=X1
DXAG(I)=X2
DXBT(I)=X3
DXBG(I)=X4
2500 CONTINUE
DO 1500 I=2,NC1
NI=NASL(I)
DO 1300 J=1,NI
AL(J)=TVID(I,J)
1300 DAL(J)=DTVID(I,J)
CALL S00089(I,AL,DAL,DTF,XX)
IF(ITYP(I).EQ.2)GOTO 1400
DQP(I,1)=XX(1)
DQP(I,2)=XX(2)
GOTO 1500
1400 DFLUL(I)=XX(1)
DFLUV(I)=XX(2)
DFLUIL(I)=XX(3)
DFLUIV(I)=XX(4)
DDEBIL(I)=XX(5)
DDEBIV(I)=XX(6)
DFLUVE(I)=XX(7)
DFLUVS(I)=XX(8)
1500 CONTINUE
DO 3000 I=2,NC1
IE=I-1
IS=I
IF(ITYP(I).GE.2)GOTO 2600
HLVE=HE(IE,2)-HE(IE,1)
HLVS=HE(IS,2)-HE(IS,1)
VH=DVVH(I,1)
DVP=DVVP(I,1)*DPDT
DVVPP=DNUPP(I,1)*DPDT
DVVHH=DNUHP(I,1)*DH(I,1)
DVVHP=DNUHP(I,1)*DPDT
DADT=VH*(DQP(I,1)+HLVE*DXBT(IE)-HLVS*DXBT(IS)
1 +(DHE(IE,2)-DHE(IE,1))*XB(IE)-(DHE(IS,2)-DHE(IS,1))*XB(IS))
2 +DVVHP*(FLUP(I,1)+HB(IE)-HB(IS))
DADME=VH*HLVE*DXBG(IE)
DADMS=-VH*HLVS*DXBG(IS)
DBDT=VH*(HLVE*DXAT(IE)+XA(IE)*DHE(IE,2)+(1.-XA(IE))*DHE(IE,1))
1 +DVP+(HA(IE)-H(I,1))*DVVHP
DBDME=VH*HLVE*DXAG(IE)
DCDT=-VH*(HLVS*DXAT(IS)+XA(IS)*DHE(IS,2)+(1.-XA(IS))*DHE(IS,1))
1 -DVP-(HA(IS)-H(I,1))*DVVHP
DCDMS=-VH*HLVS*DXAG(IS)
W(I)=BB(I,1)
R(I)=DVP*DM(I,1)+DPDT*(M(I,1)*(DVVPP+DVVHH)+COEF*V(I,1)*DVVHP)
GOTO 2800
2600 IF(ITYP(I).GE.3)GOTO 2700
DFLVME=DFLUVE(I)
DFLVMS=DFLUVS(I)
VH1=DVVH(I,1)
VH2=DVVH(I,2)
VP1=DVVP(I,1)*DPDT
VP2=DVVP(I,2)*DPDT
YNE1=DELH(I,1)+VH1*HE(IE,1)
YNE2=DELH(I,2)+VH2*HE(IE,2)
YNS1=DELH(I,1)+VH1*HE(IS,1)
YNS2=DELH(I,2)+VH2*HE(IS,2)
DNS=YNS1-YNS2
DNE=YNE1-YNE2
YL1=DELH(I,1)+VH1*H(I,1)
YL2=DELH(I,2)+VH2*H(I,2)
GA1=DELH(I,1)+VH1*HFS
GA2=DELH(I,2)+VH2*HGS
DDNS=VP1-VP2+VH1*DHE(IS,1)-VH2*DHE(IS,2)
DDNE=VP1-VP2+VH1*DHE(IE,1)-VH2*DHE(IE,2)
DGA2=VP2+VH2*DHGPS*DPDT-DNU(I,1)
DGA1=VP1+VH1*DHFPS*DPDT-DNU(I,2)
DADT=DNS*DXBT(IS)-DNE*DXBT(IE)
1 +VH1*(DFLUL(I)+DFLUIL(I))+VH2*(DFLUV(I)+DFLUIV(I))
2 +DDEBIL(I)*(-YL1+GA2)+DDEBIV(I)*(GA1-YL2)
3 +XB(IS)*DDNS-XB(IE)*DDNE
4 +DEBIL(I,1)*DGA2+DEBIV(I,2)*DGA1
DADME=-DNE*DXBG(IE)+VH2*DFLVME
DADMS=DNS*DXBG(IS)+VH2*DFLVMS
DBDT=-DNE*DXAT(IE)+XA(IE)*(VP2+VH2*DHE(IE,2))+
1 (1.-XA(IE))*(VP1+VH1*DHE(IE,1))
DBDME=-DNE*DXAG(IE)
DCDT=DNS*DXAT(IS)-XA(IS)*(VP2+VH2*DHE(IS,2))-(1.-XA(IS))*
1 (VP1+VH1*DHE(IS,1))
DCDMS=DNS*DXAG(IS)
W(I)=BB(I,1)+BB(I,2)
R(I)=DPDT*(DM(I,1)*DVVP(I,1)+DM(I,2)*DVVP(I,2)+COEF*DV(I,1)*
1(VH1-VH2))
GOTO 2800
2700 CONTINUE
VP1=DVVP(I,1)*DPDT
VP2=DVVP(I,2)*DPDT
VH1=DVVH(I,1)
VH2=DVVH(I,2)
DVVPP1=DNUPP(I,1)*DPDT
DVVHH1=DNUHP(I,1)*DH(I,1)
DVVHP1=DNUHP(I,1)*DPDT
DVVPP2=DNUPP(I,2)*DPDT
DVVHH2=DNUHP(I,2)*DH(I,2)
DVVHP2=DNUHP(I,2)*DPDT
HLVE=HE(IE,2)-HE(IE,1)
HLVS=HE(IS,2)-HE(IS,1)
ALL=ALFA(I,1)
DDEBI=0.
DDEBHI=0.
IF(ALL.LE.1.D-6)GOTO 2710
DDEBI=DEBI(I)/(ALL*(1.-ALL))*DALFA(I,1)
2710 DDEBI=DDEBI-DEBI(I)*DVVGPS*DPDT/VVGS
DDEBHI=DDEBI*HGS+DEBI(I)*DHGPS*DPDT
DADT=VH1*(DQP(I,1)+HLVE*DXBT(IE)+XB(IE)*(DHE(IE,2)-DHE(IE,1)))
1 +VH2*(DQP(I,2)-HLVS*DXBT(IS)-XB(IS)*(DHE(IS,2)-DHE(IS,1)))
2 +DEBI(I)*(VP2-VP1-H(I,2)*DVVHP2+H(I,1)*DVVHP1)
3 +DDEBI*(DELH(I,2)-DELH(I,1))+DDEBHI*(VH2-VH1)
4 +DVVHP1*(HB(IE)-DEBHI(I)+FLUP(I,1))+DVVHP2*(DEBHI(I)-HB(IS)
5 +FLUP(I,2))
DADME=VH1*HLVE*DXBG(IE)
DADMS=-VH2*HLVS*DXBG(IS)
DBDT=VH1*(HLVE*DXAT(IE)+XA(IE)*DHE(IE,2)+(1.-XA(IE))*DHE(IE,1))
1 +VP1+(HA(IE)-H(I,1))*DVVHP1
DBDME=VH1*HLVE*DXAG(IE)
DCDT=-VH2*(HLVS*DXAT(IS)+XA(IS)*DHE(IS,2)+(1.-XA(IS))*DHE(IS,1))
1 -VP2-(HA(IS)-H(I,2))*DVVHP2
DCDMS=-VH2*HLVS*DXAG(IS)
W(I)=BB(I,1)+BB(I,2)
R(I)=DM(I,1)*VP1+DM(I,2)*VP2+DPDT*(COEF*(DV(I,1)*(VH1-VH2)
1 +V(I,1)*DVVHP1+V(I,2)*DVVHP2)+M(I,1)*(DVVPP1+DVVHH1)
2 +M(I,2)*(DVVPP2+DVVHH2))
2800 CONTINUE
R(I)=R(I)+DADT+DEB(IE)*DBDT+DEB(IS)*DCDT
S(I)=DADME+DEB(IE)*DBDME+B(I)
TA(I)=DADMS+DEB(IS)*DCDMS+C(I)
E(I)=-R(I)
3000 CONTINUE
IF(KDEB.EQ.0)GOTO 3100
RET=1./15.
DDEB(1)=DDEB(1)*(1.-RET*(1.+SDSC))+RET*(SDSC*DDEB(NC1)+DQINJ)
GOTO 3150
3100 DDEB(1)=DQINJ
3150 CONTINUE
IF(KPRESS.EQ.0)GOTO 3300
DDPDT=0.
DO 3200 I=2,NC1
3200 DDEB(I)=(-R(I)-W(I)*DDPDT-S(I)*DDEB(I-1))/TA(I)
GOTO 4500
3300 TESS=TEM+1.D-4
CALL S00934(TSOR,DBSOR,DBSOR,TESS,X1,X2,NDBSOR)
DDEB(NC1)=(X1-DEB(NC1))/1.D-4
E(2)=E(2)-S(2)*DDEB(1)
E(NC1)=E(NC1)-TA(NC1)*DDEB(NC1)
F(2)=1.
NUM=0.
DENOM=0.
DO 3500 I=2,NC
NUM=NUM+F(I)*E(I)
DENOM=DENOM+F(I)*W(I)
F(I+1)=-F(I)*TA(I)/S(I+1)
3500 CONTINUE
NUM=NUM+F(NC1)*E(NC1)
DENOM=DENOM+F(NC1)*W(NC1)
DDPDT=NUM/DENOM
DDEB(2)=(E(2)-W(2)*DDPDT)/TA(2)
DO 4000 I=3,NC
DDEB(I)=(E(I)-S(I)*DDEB(I-1)-W(I)*DDPDT)/TA(I)
4000 CONTINUE
4500 CONTINUE
DO 5000 I=1,NC1
DXMM=DDEB(I)
XMM=DEB(I)
XAA=XA(I)
DXADM=DXAG(I)
DXADT=DXAT(I)
DXBDM=DXBG(I)
DXBDT=DXBT(I)
DML(I)=DXMM*(1.-XAA-XMM*DXADM-DXBDM)-XMM*DXADT-DXBDT
DMV(I)=DXMM*(XAA+XMM*DXADM+DXBDM)+XMM*DXADT+DXBDT
QSEC=(DXMM-DDEBO(I))/DT
Y=DABS(DXMM)/(20.*DT)
DODUC=.01
Y=DMAX1(Y,DODUC)
YY=DABS(QSEC)
IF(YY.GE.Y)QSEC=QSEC*Y/YY
DDDEB(I)=QSEC
5000 CONTINUE
DDDEB(1)=0.
DO 6500 I=2,NC1
IE=I-1
IS=I
IF(ITYP(I).GE.2)GOTO 6200
DDV(I,2)=0.
DDH(I,2)=0.
DDM(I,2)=0.
DDU(I,2)=0.
DDM(I,1)=DDEB(IE)-DDEB(IS)
DDU(I,1)=DML(IE)*HE(IE,1)+DMV(IE)*HE(IE,2)-DML(IS)*HE(IS,1)-
1 DMV(IS)*HE(IS,2)+DEBV(IE)*DHE(IE,2)+DQP(I,1)
2 +DEBL(IE)*DHE(IE,1)-DEBV(IS)*DHE(IS,2)-DEBL(IS)*DHE(IS,1)
GOTO 6400
6200 IF(ITYP(I).GE.3)GOTO 6300
DFLUV(I)=DFLUV(I)+DFLUVE(I)*DDEB(IE)+DFLUVS(I)*DDEB(IS)
DDM(I,1)=DML(IE)-DML(IS)-DDEBIL(I)+DDEBIV(I)
DDM(I,2)=DMV(IE)-DMV(IS)+DDEBIL(I)-DDEBIV(I)
DDU(I,1)=DML(IE)*HE(IE,1)-DML(IS)*HE(IS,1)+DFLUL(I)+DFLUIL(I)
1+DEBL(IE)*DHE(IE,1)-DEBL(IS)*DHE(IS,1)
2 -DEBIL(I,1)*DH(I,1)+DEBIV(I,2)*DHFPS*DPDT
3 -H(I,1)*DDEBIL(I)+HFS*DDEBIV(I)
DDU(I,2)=DMV(IE)*HE(IE,2)-DMV(IS)*HE(IS,2)+DFLUV(I)+DFLUIV(I)+
1 DEBV(IE)*DHE(IE,2)-DEBV(IS)*DHE(IS,2)
2 +DEBIL(I,1)*DHGPS*DPDT-DEBIV(I,2)*DH(I,2)
3 +HGS*DDEBIL(I)-H(I,2)*DDEBIV(I)
GOTO 6400
6300 CONTINUE
DDM(I,1)=DDEB(IE)-DDEBI
DDM(I,2)=DDEBI-DDEB(IS)
DDU(I,1)=DML(IE)*HE(IE,1)+DMV(IE)*HE(IE,2)-DDEBHI+DQP(I,1)
1 +DEBL(IE)*DHE(IE,1)+DEBV(IE)*DHE(IE,2)
DDU(I,2)=DDEBHI-DML(IS)*HE(IS,1)-DMV(IS)*HE(IS,2)
1 -DEBL(IS)*DHE(IS,1)-DEBV(IS)*DHE(IS,2)+DQP(I,2)
6400 J1=2-1/ITYP(I)
EPSM=DELM*VC(I)/VVFS
DO 6450 J=1,J1
DAJ=DVVH(I,J)*(DDU(I,J)-H(I,J)*DDM(I,J))+VV(I,J)*DDM(I,J)
1 +(DVVP(I,J)*DM(I,J)+DNUHP(I,J)*(DUU(I,J)-H(I,J)*DM(I,J)))*DPDT
DBJ=DM(I,J)*DVVP(I,J)+M(I,J)*(DNUPP(I,J)*DPDT+DNUHP(I,J)*DH(I,J))
1 +COEF*(DVVH(I,J)*DV(I,J)+V(I,J)*DNUHP(I,J)*DPDT)
DDV(I,J)=DAJ+DBJ*DPDT+BB(I,J)*DDPDT
YM=M(I,J)
IF(YM.GE.EPSM)GOTO 6420
YM=EPSM
DYM=0.
DDH(I,J)=(COEF *(DV(I,J)*DPDT+V(I,J)*DDPDT)+DDU(I,J)-H(I,J)*
1 DDM(I,J)-DH(I,J)*(DM(I,J)+DYM))/YM
GOTO 6430
6420 CONTINUE
DDH(I,J)=(COEF*(DV(I,J)*DPDT+V(I,J)*DDPDT)+DDU(I,J)
1 -H(I,J)*DDM(I,J)-2.*DH(I,J)*DM(I,J))/YM
6430 CONTINUE
IF(DABS(DDH(I,J)).LT.1.D-4)DDH(I,J)=0.
IF(DABS(DDV(I,J)).LT.1.D-4)DDV(I,J)=0.
6450 CONTINUE
6500 CONTINUE
TTEM=TEM+1.D-4
CALL S00934(TPUI,QPUI,QPUI,TTEM,RPUI,XX,6)
QQTOT=QINIT*RPUI
DQTDT=(QQTOT-QTOTAL)/1.D-4
DO 7000 I=2,NC1
N1=NASL(I)
CCC=HCG(I)*NCRAY*XL(I)/N1
DO 7000 J=1,N1
DQFOU=QREPA(I,J)*DQTDT
DQUGA=(DT876(I,J)-DTGAI(I,J))*CCC
DDTUO(I,J)=(DQFOU-DQUGA)/XMCUO(I,J)
DDTGA(I,J)=(DQUGA-DQCED(I,J))/XMCGA(I,J)
7000 CONTINUE
IF(ICAT(2).LE.2)GOTO 7500
I=NIV
J=ISLNI
N1=NASL(I)
DQFOU=QREPA(I,J)*DQTDT
COEFF=XLGAI*SEC*XL(I)/N1
CCC=HCG(I)*NCRAY*XL(I)/N1
DRI=N1*DV(I,1)/VC(I)
IF(I.NE.2.OR.J.NE.1)GOTO 7100
YA(1)=RI(1)*XL(I)/(2.*N1)
YA(2)=(1.-RI(2)/2.)*XL(I)/N1
TTA(1)=DTMI(1)
TTA(2)=DTMI(2)
II=I
JJ=ISLNI+1
IF(N1.GT.1)GOTO 7020
II=NIV+1
JJ=1
7020 YA(3)=XL(I)/N1+.5*XL(II)/NASL(II)
TTA(3)=DTGAI(II,JJ)
DER1=2.*(TTA(2)-TTA(1))/((YA(2)-YA(1))*(YA(2)+YA(1)))
CALL S00099(3,YA,TTA,CR)
DER2=2.*CR(1)
GOTO 7300
7100 IF(I.NE.NC1.OR.J.NE.N1)GOTO 7200
YA(1)=RI(2)*XL(I)/(2.*N1)
YA(2)=(1.-RI(1)/2.)*XL(I)/N1
TTA(1)=DTMI(2)
TTA(2)=DTMI(1)
II=I
JJ=ISLNI-1
IF(N1.GT.1)GOTO 7120
II=I-1
JJ=NASL(II)
7120 YA(3)=XL(I)/N1+.5*XL(II)/NASL(II)
TTA(3)=DTGAI(II,JJ)
DER2=2.*(TTA(2)-TTA(1))/((YA(2)-YA(1))*(YA(2)+YA(1)))
CALL S00099(3,YA,TTA,CR)
DER1=2.*CR(1)
GOTO 7300
7200 II=I
JJ=ISLNI-1
IF(JJ.GE.1)GOTO 7220
II=I-1
JJ=NASL(II)
7220 YA(1)=-.5*XL(II)/NASL(II)
TTA(1)=DTGAI(II,JJ)
YA(2)=.5*RI(1)*XL(I)/N1
TTA(2)=DTMI(1)
TTA(3)=DTMI(2)
YA(3)=(1.-.5*RI(2))*XL(I)/N1
II=I
JJ=ISLNI+1
IF(JJ.LE.N1)GOTO 7240
II=I+1
JJ=1
7240 YA(4)=XL(I)/N1+.5*XL(II)/NASL(II)
TTA(4)=DTGAI(II,JJ)
CALL S00099(4,YA,TTA,CR)
DER1=6.*CR(1)*YA(2)+2*CR(2)
DER2=6.*CR(1)*YA(3)+2*CR(2)
7300 CONTINUE
DQUCE1=HLCF*(TMU(1)-TMI(1))*XHTC(I,J)
DQUCE2=HVCFF(I)*(TMU(2)-TMI(2))*XHTC(I,J)
IF(RI(1).LT.EPS)GOTO 7301
DQUCE1=(DQCEI(1)-QCEI(1)*DRI/RI(1))/RI(1)
7301 IF(RI(2).LT.EPS)GOTO 7302
DQUCE2=(DQCEI(2)+QCEI(2)*DRI/RI(2))/RI(2)
7302 DQUGI1=CCC*(DTMU(1)-DTMI(1))
DQUGI2=CCC*(DTMU(2)-DTMI(1))
DQCON1=COEFF*DER1
DQCON2=COEFF*DER2
YMCGA=XMCGA(I,J)
YMCUO=XMCUO(I,J)
DDTMU(1)=(DQFOU-DQUGI1)/YMCUO
DDTMU(2)=(DQFOU-DQUGI2)/YMCUO
DDTMI(1)=(DQUGI1+DQCON1-DQUCE1)/YMCGA
DDTMI(2)=(DQUGI2+DQCON2-DQUCE2)/YMCGA
YLIM=.05
YS=XL(I)/N1
Y1=RI(1)*YS
Y2=RI(2)*YS
DY1=DRI*YS
DY2=-DRI*YS
YZ=DV(I,1)*(TMI(1)-TMI(2))/SCAPA(I)
DYZ=(DDV(I,1)*(TMI(1)-TMI(2))+DV(I,1)*(DTMI(1)-DTMI(2)))/SCAPA(I)
IF(DV(I,1).LT.0.)GOTO 7400
IF(Y1.LT.YLIM)GOTO 7310
DDTMI(1)=DDTMI(1)-(DYZ-YZ*DY1/Y1)/Y1
GOTO 7500
7310 DTERC=DYZ/YLIM
IF(RI(1).LT.1.D-3)GOTO 7320
DDTMI(1)=DDTMI(1)-DTERC
7320 I1=I
J1=ISLNI-1
IF(J1.GE.1)GOTO 7330
I1=I-1
J1=NASL(I1)
7330 IF(I1.LT.IBCH.OR.I1.GT.IHCH)GOTO 7500
DTERC=XMCGA(I,J)*(DYZ*(1.-Y1/YLIM)-YZ*DY1/YLIM)/(YS*XMCGA(I1,J1))
DDTGA(I1,J1)=DDTGA(I1,J1)-DTERC
7400 CONTINUE
IF(Y2.LT.YLIM)GOTO 7410
DDTMI(2)=DDTMI(2)-(DYZ-YZ*DY2/Y2)/Y2
GOTO 7500
7410 DTERC=DYZ/YLIM
IF(RI(2).LT.1.D-3)GOTO 7420
DDTMI(2)=DDTMI(2)-DTERC
7420 I1=I
J1=ISLNI+1
IF(J1.LE.N1)GOTO 7430
I1=I+1
J1=1
7430 IF(I1.LT.IBCH.OR.I1.GT.IHCH)GOTO 7500
DTERC=XMCGA(I,J)*(DYZ*(1.-Y2/YLIM)-YZ*DY2/YLIM)/(YS*XMCGA(I1,J1))
DDTGA(I1,J1)=DDTGA(I1,J1)-DTERC
7500 CONTINUE
RETURN
END