SUBROUTINE CLISTRES C This subroutine lists the data and residuals from a binary fit to C a file OUTDAT C C J.T. Armstrong 14 Jan 1991 C================================================================== INCLUDE 'BINFIT.INC' CHARACTER*64 DATNAM, MODNAM CHARACTER*24 MESSAGE CHARACTER*80 HISTRY INTEGER*4 VLBOPE, GETIN, IER, LEN1, OUTDEV REAL*8 TJDINT, TJDPRIME WRITE(OUTC,*) ' Enter name of file for data and residuals: ' READ(INC,*) DATNAM INQUIRE (UNIT=INMOD,NAME=MODNAM) INQUIRE (UNIT=OUTDAT,NAME=DATNAM) CLOSE (UNIT=INMOD) 10 IER = VLBOPE(OUTDAT, DATNAM, 'TEXT', 'NEW', DATNAM) IF(IER.NE.1) THEN IER=GETIN(DATNAM,' Enter name of file for data and residuals: ', 1 L) IF(IER.NE.1) CALL EXIT GO TO 10 END IF CALL MKHIST('BINFIT','14 Jan 1991',HISTRY) L = LEN1(HISTRY) WRITE(OUTDAT,1000) '!',HISTRY(1:L) L = LEN1(INDSN) WRITE (OUTDAT,1000) '! Input data file: ',INDSN(1:L) L = LEN1(MODNAM) WRITE (OUTDAT,1000) '! Final model file: ',MODNAM(1:L) WRITE (OUTDAT,1001) STARNAME,NDAY,NYEAR WRITE (OUTDAT,1000) '! Filter Width Reduced Degrees of' WRITE (OUTDAT,1000) '! Chi squared Freedom' DO IG=1,NFILT WRITE (OUTDAT,1002) LAMBDA0(IG),DLAMBDA(IG),FCHISQ(IG), 1 NZVIS(IG)-NVPAR(IG) END DO WRITE (OUTDAT,1003) ' Reduced chi squared for all data: ',TCHISQ WRITE (OUTDAT,1004) ' Number of ind. data points: ',NZTOT WRITE (OUTDAT,1004) ' Degrees of freedom: ',NZTOT-NVPARTOT WRITE (OUTDAT,1000) ' Final model:' OUTDEV=OUTDAT CALL CWRITEMD(OUTDEV,' ',PARM,0,0) TJDINT = FLOAT(INT(TJD(1))) WRITE (OUTDAT,1005) ' Julian date to add to JD+ below: ',TJDINT WRITE (OUTDAT,1003) ' First data point is at UT = ',HOURS(1) WRITE (OUTDAT,1000) ' Data and model for first three filters: ' WRITE (OUTDAT,1006) DO ID=1,NDATA TJDPRIME = TJD(ID)-TJDINT WRITE(OUTDAT,1007) TJDPRIME, 1 OBSVIS2(ID,1), VISERR(ID,1), VIS2(ID,1), RESID(ID,1), 2 OBSVIS2(ID,2), VISERR(ID,2), VIS2(ID,2), RESID(ID,2), 3 OBSVIS2(ID,3), VISERR(ID,3), VIS2(ID,3), RESID(ID,3) END DO write(outdat,1008)mepoch3,(mepoch3-tjdint-0.5)*86400. C IF (NFILT.EQ.4) THEN C WRITE (OUTDAT,1000) ' ' C WRITE (OUTDAT,1000) ' Data and model for fourth filter: ' C DO ID=1,NDATA C WRITE(OUTDAT,1007) TJDPRIME, C 1 OBSVIS2(ID,4), VISERR(ID,4), VIS2(ID,4), RESID(ID,4) C END DO C ELSE IF (NFILT.EQ.5) THEN C WRITE (OUTDAT,1000) ' ' C WRITE (OUTDAT,1000) ' Data, model for fourth, fifth filters: ' C DO ID=1,NDATA C WRITE(OUTDAT,1007) TJDPRIME, C 1 OBSVIS2(ID,4), VISERR(ID,4), VIS2(ID,4), RESID(ID,4), C 2 OBSVIS2(ID,5), VISERR(ID,5), VIS2(ID,5), RESID(ID,5) C END DO C ELSE IF (NFILT.EQ.6) THEN C WRITE (OUTDAT,1000) ' ' C WRITE (OUTDAT,1000) ' Data, model for filters four to six: ' C DO ID=1,NDATA C WRITE(OUTDAT,1007) TJDPRIME, C 1 OBSVIS2(ID,4), VISERR(ID,4), VIS2(ID,4), RESID(ID,4), C 2 OBSVIS2(ID,5), VISERR(ID,5), VIS2(ID,5), RESID(ID,5), C 3 OBSVIS2(ID,6), VISERR(ID,6), VIS2(ID,6), RESID(ID,6) C END DO C END IF WRITE (OUTDAT,1000) ' End of data.' CLOSE(OUTDAT) RETURN 1000 FORMAT (A,A,A,A) 1001 FORMAT ('! Source: ',A,' Day: ',I4,' Year: ',I5) 1002 FORMAT ('!',3X,F5.1,' nm',2X,F3.0,' nm',3X,F8.3,3X,I4) 1003 FORMAT ('!',(A), F8.3 ) 1004 FORMAT ('!',(A), I4 ) 1005 FORMAT ('!',(A), F14.4 ) 1006 FORMAT (' JD+ Obs V2 V2err V2mod Resid', 1 ' Obs V2 V2err V2mod Resid', 2 ' Obs V2 V2err V2mod Resid') 1007 FORMAT (1X,F7.4,3(1X,F6.3,1X,F6.3,1X,F6.3,1X,F7.4)) 1008 format(' mean JD+ epoch= ',f14.6,', sec. since 0 UT=',f6.0) C Ruler line: C.+t.tttt +o.vis +v.err +v.mod +r.esid +o.vis +v.err +v.mod +r.esid +o.vis +v.err +v.mod +r.esid END