SUBROUTINE CHISQR(R_EST,ROBS,THETA_EST,THETAOBS,DRA,DDEC,PHI_ERR, 1 NPTS,DELETE,CHISQ1,DELRA,DELDEC) C================================================================== C Calculate distance from predicted to observed points on a binary C orbit as a fraction of the distance to the 68% error ellipse. C Note that DRA and DDEC are not strictly uncertainties in RA and C Dec, but uncertainties along the axes of the error ellipse that most C closely correspond to RA and Dec. The position angle of the RA axis C of the error ellipse (which is usually the MAJOR axis for the C Mark III) is PHI_ERR (radians, converted from degrees in READDATA). C Input variables are: C Arrays: C R_EST, THETA_EST Estimated R, Theta from TRUE2APP C ROBS, THETAOBS Measured R, Theta C DRA, DDEC Uncertainties along quasi-RA, quasi-Dec C PHI_ERR Position angle of error ellipse C Scalars: C NPTS Number of measured (RA, Dec) positions C DELETE Points to ignore C Output variables are: C Scalar: C CHISQ1 Chi^2 (not reduced Chi^2) C Array: C DELRA, DELDEC (Observed minus calculated) offsets in the C (quasi-RA, quasi-Dec) coordinate system C================================================================== C C Programming history: C 2 Feb 1990 Original version: J.T. Armstrong C 25 Apr 1991 Revised for DRA, DDEC coords: JTA C C================================================================== IMPLICIT UNDEFINED (A-Z) INCLUDE 'PARAMETR.INC' INTEGER*4 NPTS, DEL_COUNT, I REAL*8 CHISQ1, R_EST(MAXPTS), THETA_EST(MAXPTS) REAL*8 ROBS(MAXPTS), THETAOBS(MAXPTS), DRA(MAXPTS) REAL*8 DDEC(MAXPTS), DELRA(MAXPTS), DELDEC(MAXPTS) REAL*8 PHI_ERR(MAXPTS), SIG2RA, SIG2D, CHIRA, CHIDEC LOGICAL DELETE(MAXPTS) CHISQ1 = 0. DEL_COUNT = 0 C WRITE(PR,*) ' CHISQR: NPTS = ', NPTS D WRITE(PR,100) 100 FORMAT(' SIG DEL CHI^2 SIG', 1 ' DEL CHI^2',/ 2 ' I R_OBS R_EST TH_OBS TH_EST RA RA RA DEC', 3 ' DEC DEC ') DO I = 1, NPTS IF(.NOT.DELETE(I)) THEN SIG2RA = 1./(DRA(I)*DRA(I)) SIG2D = 1./(DDEC(I)*DDEC(I)) DELRA(I) = ROBS(I)*SIN(THETAOBS(I)-PHI_ERR(I)+PI/2.) 1 -R_EST(I)*SIN(THETA_EST(I)-PHI_ERR(I)+PI/2.) CHIRA = DELRA(I)*DELRA(I)*SIG2RA DELDEC(I) = ROBS(I)*COS(THETAOBS(I)-PHI_ERR(I)+PI/2.) 1 -R_EST(I)*COS(THETA_EST(I)-PHI_ERR(I)+PI/2.) CHIDEC = DELDEC(I)*DELDEC(I)*SIG2D CHISQ1 = CHISQ1+CHIRA+CHIDEC D WRITE(PR,110) I,ROBS(I),R_EST(I),THETAOBS(I),THETA_EST(I), D 1 DRA(I),DELRA(I),CHIRA,DDEC(I),DELDEC(I),CHIDEC D ELSE D WRITE(PR,111) I END IF END DO D WRITE(PR,'(A,F8.3)') ' CHISQR: CHI^2 = ',CHISQ1 110 FORMAT(1X,I2,2(F6.2),F6.1,F7.1,6(F6.2)) 111 FORMAT(1X,I2,': THIS POINT DELETED') C Example for FORMAT 110: C 10 12.07 12.03 135.2 131.1 0.71 1.22 13.17 1.84 2.16 11.42 RETURN END