C----------------------------------------------------------------------- C BINFIT.INC C----------------------------------------------------------------------- C This common block is used by the program BINFIT and most of its C associated subroutines, via INCLUDE statements. C C 29-Dec-1990 J.T. Armstrong C IMPLICIT UNDEFINED (A-Z) C These are put in as parameters: INTEGER*4 MXFILT,MXBAS,MAXWPB,MXREC,MAXIT,MXMOD,MXFILES INTEGER*4 INC,OUTC,INMOD,OUTDAT, NUSTEPS, SIGMAX, GAMMAX, MXPARM REAL*8 PI,DEGRAD,RADHRS,TWOPI,HALFPI,SIDR REAL*8 C,VELC,MAS2RAD,DMAGMAX,LONG,LAT CHARACTER*1 VARIED,FIXED PARAMETER (MXFILT=3) ! Max. no. of filters PARAMETER (MXBAS=38) ! Max. no. of baselines PARAMETER (MAXWPB=7) ! Max. words per baseline PARAMETER (MXFILES=100) ! Max. no of data files PARAMETER (MXREC=200) ! Max. data records PARAMETER (MXMOD=2) ! Max. no. of components PARAMETER (MXPARM=MXMOD*MXFILT*8) ! Max. no. of parameters PARAMETER (MAXIT=100) ! Max # iterations in Gridls and Gradls PARAMETER (INC=5) ! Console input PARAMETER (OUTC=6) ! Console output PARAMETER (INMOD=9) ! Input model unit PARAMETER (OUTDAT=10) ! Output for data, residuals PARAMETER (NUSTEPS=6) ! No. steps in freq. integral PARAMETER (SIGMAX=100) ! Max. steps in radial integral PARAMETER (GAMMAX=360) ! Max. setps in azimuthal integral PARAMETER (LONG=118.059167) ! Mt. Wilson west longitude (deg) PARAMETER (LAT=34.2166944) ! Mt. Wilson latitude (deg) C Conversion factors PARAMETER (PI=3.14159265358979D0) ! pi PARAMETER (DEGRAD=PI/180.D0) ! radians per degree PARAMETER (RADHRS=1.D0/(DEGRAD*15.D0)) ! Hours of UT per radian PARAMETER (TWOPI=2.0D0*PI) ! pi*2 PARAMETER (HALFPI=PI/2.D0) ! pi/2 PARAMETER (SIDR=1.0027379093) ! sec of ST per sec of UT PARAMETER (VELC=299792458.D0) ! speed of light (m/s) PARAMETER (C=299792458.D0) ! speed of light (m/s) PARAMETER (MAS2RAD=PI/(180.D0*3600.D0*1000.D0)) ! radians per mas PARAMETER (VARIED='v', FIXED=' ') C Maximum DELMAG allowed; all components more than DMAGMAX magnitudes C fainter than the brightest component will be deleted. PARAMETER (DMAGMAX=10.) ! Max. magnitude difference C---------------------------------------------------------- C TYPE DECLARATIONS REAL*8 C Binary model parameters: 1 SEP(MXMOD,MXFILT), POSANG(MXMOD,MXFILT), DIAM(MXMOD,MXFILT), 2 DRATIO(MXMOD,MXFILT), DELMAG(MXMOD,MXFILT), 3 COLOR(MXMOD,MXFILT), FLUX(MXMOD,MXFILT), 3 FLUXTOT(MXMOD,MXFILT), SEPRAD(MXMOD,MXFILT), 4 PARAD(MXMOD,MXFILT), DIAMRAD(MXMOD,MXFILT) real*8 dsep,dposang,mepoch3 REAL*8 1 PARM(MXMOD,MXFILT,8), DELTAP(MXMOD,MXFILT,8), 2 PARMSTRT(MXMOD,MXFILT,8), PARMSAV(MXMOD,MXFILT,8), 3 PUNCERTU(MXMOD,MXFILT,8), PUNCERT0(MXMOD,MXFILT,8), 4 PUNCERTD(MXMOD,MXFILT,8), 5 PARM1D(MXPARM), DELTAP1D(MXPARM), 6 PARMST1D(MXPARM), PARMSV1D(MXPARM), 7 PUNCERT3D(MXPARM,-1:1) C For maximum entropy: C REAL*8 SIGCAL(MXFILT) C From the data file: REAL*8 1 UDATA(MXREC,MXFILT), VDATA(MXREC,MXFILT), UVRAD(MXREC,MXFILT), 2 DELAY(MXREC,MXFILT), VIS2(MXREC,MXFILT), VISERR(MXREC,MXFILT), 3 OBSVIS2(MXREC,MXFILT), HOURS(MXREC), TJD(MXREC), 4 RESID(MXREC,MXFILT) C For fake data: REAL*8 FRACERR(MXFILT), ABSERR(MXFILT) COMPLEX*16 VISTOT(MXREC,MXFILT) C Variables used in the calculation of agreement factors: REAL*8 FCHISQ(MXFILT), TCHISQ, FCHISQ0(MXFILT), TCHISQ0, CONF INTEGER*4 NFILES, NDATA, NFILT, NCOMP, NPARM, 1 NZVIS(MXFILT), NZTOT, NVPAR(MXFILT), NVPARTOT, LISTA(MXPARM), 2 ITER, NVER, NYEAR, NDAY, BASELINE(MXREC), DATE, STARNO REAL*8 1 RAP, DECP, GASTM, FREQ, 2 LAMBDA0(MXFILT), DLAMBDA(MXFILT), LAM0(MXFILT), DLAM(MXFILT), 3 NU0(MXFILT), NUHI(MXFILT), NULO(MXFILT), DNU(MXFILT) CHARACTER*1 FLAG(MXMOD,MXFILT,8) CHARACTER*3 PARMNAME(MXPARM) CHARACTER*64 INDSN, MODDSN, METHOD, INFILE(MXFILES) CHARACTER*20 STARNAME LOGICAL*1 1 CCFLAG, VARY(MXMOD,MXFILT,8), VARY1D(MXPARM), FRSTRY C----------------------------------------------------------- C Non-COMMON block variables: LOGICAL*1 QUERY, LDUMMY CHARACTER*1 ANSWER INTEGER*4 ID, IB, IC, IG, I, J, K, L, JITER C----------------------------------------------------------- C COMMON blocks COMMON /MODEL/ 1 SEPRAD, PARAD, DIAMRAD, 2 PARM, DELTAP, PARMSTRT, PARMSAV, PUNCERTD, PUNCERT0, PUNCERTU, 3 TJD, HOURS, UDATA, VDATA, UVRAD, DELAY, 4 VISERR, VIS2, OBSVIS2, VISTOT, RESID C 5 ,SIGCAL common /gradient/ dsep, dposang, mepoch3 COMMON /LIMS/ NDATA, NZVIS, NZTOT, NCOMP, NFILT, NPARM, 1 NVER, NVPAR, NVPARTOT, LISTA, 2 ITER, NDAY, NYEAR, DATE, 3 FCHISQ, FCHISQ0, TCHISQ, TCHISQ0, FRACERR, ABSERR, CONF, 4 VARY, FRSTRY COMMON /MISC/ BASELINE, RAP, DECP, GASTM, FREQ, LAMBDA0, 1 DLAMBDA, LAM0, DLAM, NU0, NUHI, NULO, DNU, STARNO COMMON /STRINGS/ FLAG, INDSN, MODDSN, METHOD, STARNAME, PARMNAME COMMON /CONTROLC/ CCFLAG EQUIVALENCE ( SEP (1,1), PARM(1,1,1) ) EQUIVALENCE ( POSANG (1,1), PARM(1,1,2) ) EQUIVALENCE ( DIAM (1,1), PARM(1,1,3) ) EQUIVALENCE ( DRATIO (1,1), PARM(1,1,4) ) EQUIVALENCE ( DELMAG (1,1), PARM(1,1,5) ) EQUIVALENCE ( COLOR (1,1), PARM(1,1,6) ) EQUIVALENCE ( FLUX (1,1), PARM(1,1,7) ) EQUIVALENCE ( FLUXTOT(1,1), PARM(1,1,8) ) EQUIVALENCE ( PARM1D (1), PARM (1,1,1) ) EQUIVALENCE ( DELTAP1D(1), DELTAP (1,1,1) ) EQUIVALENCE ( PARMST1D(1), PARMSTRT(1,1,1) ) EQUIVALENCE ( PARMSV1D(1), PARMSAV (1,1,1) ) EQUIVALENCE ( PUNCERT3D(1,-1), PUNCERTD(1,1,1) ) EQUIVALENCE ( PUNCERT3D(1, 0), PUNCERT0(1,1,1) ) EQUIVALENCE ( PUNCERT3D(1, 1), PUNCERTU(1,1,1) ) EQUIVALENCE ( VARY1D(1), VARY(1,1,1) )