PROGRAM INTEGRATE C INTEGRATES OVER A COMPUTED SPECTRUM FILE C READS STARTING AND STOPPING WAVELENGTHS ON TAPE 5 UNTIL EOF REAL*8 TEFF,GLOG,TITLE(74),WBEGIN,RESOLU,RATIO,RATIOLG,W1,W2,WEND REAL*8 Q2(40),SUM(20),SUMCONT(20),AV(20),AVCONT(20),R(20) REAL*8 ANGLE(20) DATA ANGLE/1.,.9,.8,.7,.6,.5,.4,.3,.25,.2,.15,.125,.1,.075,.05, 1 .025,.01,0.,0.,0./ WRITE(6,1) 1 FORMAT(19H1 W1 ,13H W2 ,12H SUM , 1 12H AVERAGE ,12H SUMCONT ,12H AVCONT ,10H R ) READ(7)TEFF,GLOG,TITLE,WBEGIN,RESOLU,NWL,IFSURF,NMU RATIO=1+1./RESOLU RATIOLG=DLOG(RATIO) PRINT *,NMU NMU2=NMU+NMU DO 29 INTERVAL=1,10000 READ(5,2,END=30)W1,W2 2 FORMAT(2F10.5) REWIND 7 READ(7) DO 40 MU=1,NMU SUM(MU)=0. 40 SUMCONT(MU)=0. W1=DMAX1(W1,WBEGIN) N1=DLOG(W1/WBEGIN)/RATIOLG+1.5 WEND=WBEGIN*RATIO**(NWL-1) IF(W2.EQ.0.)W2=1000000. N2=DLOG(W2/WBEGIN)/RATIOLG+1.5 N2=MIN0(NWL,N2) DO 23 IWL=1,N2 IF(IWL.LT.N1)THEN READ(7) GO TO 23 ENDIF READ(7)(Q2(I),I=1,NMU2) WAVE=WBEGIN*RATIO**(IWL-1) FREQ=2.99792458E17/WAVE DO 45 MU=1,NMU HLAM=Q2(MU)*FREQ/WAVE DLAM=WAVE/RESOLU SUM(MU)=SUM(MU)+HLAM*DLAM CONT=Q2(MU+NMU)*FREQ/WAVE 45 SUMCONT(MU)=SUMCONT(MU)+CONT*DLAM 23 CONTINUE 24 DO 50 MU=1,NMU R(MU)=SUM(MU)/SUMCONT(MU) DELW=(W2+W2/RESOLU/2.)-(W1-W1/RESOLU/2.) AV(MU)=SUM(MU)/DELW AVCONT(MU)=SUMCONT(MU)/DELW WRITE(6,25)ANGLE(MU),W1,W2,SUM(MU),AV(MU),SUMCONT(MU),AVCONT(MU), 1 R(MU) 25 FORMAT(F7.4,F12.5,F13.5,1P4E12.3,0PF10.5) 50 CONTINUE 29 CONTINUE 30 CALL EXIT END