File: INIFOU.FT of Tape: Various/ETH/f2
(Source file text)
SUBROUTINE INIFOU(IOK) C COMMON /TITLE/ ADENT,GLOBAL,RUN,ICREAT COMMON /FITPAR/ JIT,FISTOP,AMARQI,UPMARQ,DNMARQ,VARI, $ UPVAR,DNVAR,VARMIN,MLOOP,LOOPLW,ISTART,ISTOP,ITEST,IDEFIX COMMON /PARAM/ DKHI,SHFACT,CHISQ,ITORQ,IDILA,DK,DL,HANG $ ,HUP,HDOWN,AMI,PS,PT,SOLLT,TEMP,TV,ES,AKL,AKV,CAP,EICH COMMON /PEAKS/ TASWI,KBLOW,KBLOW1,KMAX,K1,K3,CHI, $ Q(11,4),HIGHT(21),INDEX(21) COMMON /VECT/ C(44),D1(11,4),DIAGEL(44),D(44),E(44) COMMON /DATIN/ F(512),NP COMMON /CONST/ PI,TWOPI COMMON /PLOTC/ PLTBUF(400) COMMON /FAF/ A(2049),B(2049),N DIMENSION AR(44,44),Z(44,44) EQUIVALENCE (A,AR),(B,Z) INTEGER RUN REAL K3 LOGICAL ITORQ,IDILA,ITEST,TASWI C 501 FORMAT(A1,A2,A1,I2,A4) 502 FORMAT(A1,A2,A1,A2,A4) 503 FORMAT(F8.1) 504 FORMAT(I2,20(/F9.4)) 506 FORMAT(I6) C 615 FORMAT(1H0,T10,'--------------BAD FILE---------------', $ A1,A2,'D',I2,///) 620 FORMAT(1H0,T10,'----- FILE NUMBER ',I2, $ ' OUT OF RANGE -----',////) 625 FORMAT(1H0,T10,'----- END-OF-FILE AT FILE ',I3,' -----',///) C RUN=ISTART-1 GO TO 90 200 WRITE(3,615) ADENT,GLOBAL,RUN CDC REMOVE 2 90 CALL CHKEOF(EOF) READ(5,502) ADENT,GLOBAL,AMIST,AMIST,ICREAT CDC90 READ(5,502) ADENT,GLOBAL,AMIST,AMIST,ICREAT CDC REMOVE IF (EOF.EQ.0.) GO TO 93 CDC IF (EOF(5).EQ.0.) GO TO 93 RUN=RUN+1 WRITE(3,625) RUN STOP 93 IF (ADENT.NE.1HW.AND.ADENT.NE.1HM) GO TO 90 BACKSPACE 5 READ(5,501) ADENT,GLOBAL,AMIST,RUN,ICREAT IF (RUN.LT.ISTART) GO TO 90 IF (RUN.LE.ISTOP) GO TO 95 WRITE(3,620) RUN STOP 95 READ(5,506) NP IF (NP.LE.0.OR.NP.GT.512) GO TO 200 IF (AMIST.EQ.1HX) IOK=IOK+1 ISTART=RUN IF (IOK.NE.0) GO TO 101 DO 100 I=1,NP 100 READ(5,503) F(I) 101 IF (IOK.EQ.2) READ(5,504) IVAR,(AMIST,K=1,IVAR) READ(5,504) IVAR,DK,HANG,HUP,HDOWN,AMI,PS,PT,SOLLT,TEMP $ ,TV,SHIFT,PERMAS,ES,AKL,CHISQ,AKV,(AMIST,K=1,4) IF (IVAR.LE.20) GO TO 105 READ (5,503) (AMIST,K=21,IVAR) 105 IF (IOK.EQ.1) READ(5,504) IVAR,(AMIST,K=1,IVAR) IF (IOK.EQ.0) GO TO 106 DO 104 I=1,NP IF (IOK.EQ.2) READ(5,503) AMIST READ (5,503) F(I) IF (IOK.EQ.1) READ(5,503) AMIST 104 CONTINUE 106 IF (HUP.GT.20.) HUP=HUP/10000. IF (HDOWN.GT.20.) HDOWN=HDOWN/10000. IF (PT.GT.10.) PT=PT/1000. IF (TEMP.LT.1.) TEMP=5. IF (TEMP.GT.5.) TEMP=5. IF (IDEFIX.NE.0) CALL FILFOU DKHI=DK*HUP*.001 DL=DK*1.E-3*NP SHFACT=14.69*PERMAS*TEMP/(DK*HUP*PI) K1=1 DO 120 K=2,KMAX DO 117 I=1,4 117 Q(K,I)=0. 120 CONTINUE A0=0. A1=0. A2=0. A3=0. DO 30 IX=1,NP I=IX-1 FUNC=F(IX)/NP H2=FLOAT(I)/NP PLEG1=2.*H2-1. PLEG2=6.*H2*H2-6.*H2+1. PLEG3=20.*H2*H2*H2-30.*H2*H2+12.*H2-1. A0=A0+FUNC A1=A1+PLEG1*FUNC A2=A2+PLEG2*FUNC A3=A3+PLEG3*FUNC 30 CONTINUE Q(1,1)=A0 Q(1,2)=A1*3. Q(1,3)=A2*5. Q(1,4)=A3*7. CALL CAPFOU RETURN END