PROGRAM MERGESYN REAL*8 LINDAT8(14) REAL*4 LINDAT(28) DIMENSION XMU(20),QMU(40),WLEDGE(200),TITLE(74) REAL*8 TEFF,GLOG,TITLE,WBEGIN,RESOLU,XMU,WLEDGE,RATIO REAL*8 QMU REAL*8 WBEGIN1,WBEGIN2,WLAST,WBEG,WMID,WEND,RATIOLG C READ(1)TEFF,GLOG,TITLE,WBEGIN1,RESOLU,NWL1,IFSURF,NMU,XMU,NEDGE, 1WLEDGE READ(2)TEFF,GLOG,TITLE,WBEGIN2,RESOLU,NWL2,IFSURF,NMU,XMU,NEDGE, 1WLEDGE READ(5,1)WBEG,WMID,WEND,ADDLINES 1 FORMAT(8F10.4) print *,wbeg,wmid,wend print *, wbegin1,nwl1 print *, wbegin2,nwl2 RATIO=1.+1./RESOLU RATIOLG=DLOG(RATIO) C C IXWBEGIN1=DLOG(WBEGIN1)/RATIOLG+.5D0 IXWBEGIN2=DLOG(WBEGIN2)/RATIOLG+.5D0 print *,ixwbegin1,ixwbegin2 C IXWBEG=DLOG(WBEG)/RATIOLG WBEGIN=DEXP(IXWBEG*RATIOLG) IF(WBEGIN.LT.WBEG)THEN IXWBEG=IXWBEG+1 WBEGIN=DEXP(IXWBEG*RATIOLG) ENDIF C IXWEND=DLOG(WEND)/RATIOLG WLAST=DEXP(IXWEND*RATIOLG) IF(WLAST.GE.WEND)IXWEND=IXWEND-1 LENGTH=IXWEND-IXWBEG+1 C IXWMID=DLOG(WMID)/RATIOLG WLAST=DEXP(IXWMID*RATIOLG) IF(WLAST.GE.WMID)IXWMID=IXWMID-1 print *,ixwbeg,ixwmid,ixwend C NMU2=NMU*2 NWL=LENGTH WRITE(3)TEFF,GLOG,TITLE,WBEGIN,RESOLU,NWL,IFSURF,NMU,XMU,NEDGE, 1WLEDGE print *,wbegin,nwl DO 5 IWL=1,NWL1 READ(1)(QMU(I),I=1,NMU2) IF(IXWBEGIN1+IWL-1.LT.IXWBEG)GO TO 5 IF(IXWBEGIN1+IWL-1.GT.IXWMID)GO TO 55 WRITE(3)(QMU(I),I=1,NMU2) 5 CONTINUE 55 DO 6 IWL=1,NWL2 READ(2)(QMU(I),I=1,NMU2) IF(IXWBEGIN2+IWL-1.LE.IXWMID)GO TO 6 IF(IXWBEGIN2+IWL-1.GT.IXWEND)GO TO 66 WRITE(3)(QMU(I),I=1,NMU2) 6 CONTINUE C 66 IF(ADDLINES.EQ.0.)THEN NLINES=0 WRITE(3)NLINES CALL EXIT ENDIF C C HAVE NOT FIGURED OUT HOW TO EDIT LINES SO TAKE EVERYTHING C INCLUDING DUPLICATES READ(1)NLINES1 READ(2)NLINES2 NLINES=NLINES1+NLINES2 WRITE(3)NLINES DO 8 I=1,NLINES1 READ(1)LINDAT8,LINDAT 8 WRITE(3)LINDAT8,LINDAT DO 9 I=1,NLINES2 READ(2)LINDAT8,LINDAT 9 WRITE(3)LINDAT8,LINDAT CALL EXIT END