C
	SUBROUTINE READCTRLFILE(UN,ERROR)
C
C	Read the necessary control information from a file opened on UN
C	into the appropriate COMMON blocks.  ERROR is set if there is one.
C	The version number assists in error checking.
C
C.....Check the version number
	READ(UN,108,ERR=900,END=900) VER,KFRB,KSS,KSTAT,KIND,KDLM,KPDF
	ERROR = ((VER.NE.VERSION).OR.(KFRB.GT.NFRAB).OR.
     +         (KSS.GT.NSS).OR.(KSTAT.GT.NSTAT).OR.
     +         (KIND.GT.NIND).OR.(KDLM.GT.NDLM).OR.(KPDF.GT.NPDF))
	IF (ERROR) THEN
	   WRITE(*,*) ' READCTRLFILE --> Incorrect file version number ',
     +              'or incompatable PARAMETER settings.'
	   WRITE(*,111) 'File    :',VER,KFRB,KSS,KSTAT,KIND,KDLM,KPDF
	   WRITE(*,111) 'Program :',VERSION,NFRAB,NSS,NSTAT,NIND,NDLM,
     +                           NPDF

	   RETURN
	ENDIF
C
C.....Input /CONTROL/
	READ(UN,101,ERR=900,END=900)
     +            CHKADR,FILE,IGTYPE,IGCONT,IGOPTN,IGCLEAN,ILIST,IAUX,
     +            IGROUP,IWEIGH,ISORT,IFILTER,ICHOOSE,IRECHOOSE,
     +            ICORRECT,IU,PU,AU
	READ(UN,109,ERR=900,END=900) INFILE,LFILE,AFILE
	READ(UN,107,ERR=900,END=900) (GFLAG(I),I=1,KFRB)
	READ(UN,107,ERR=900,END=900) (LFLAG(I),I=1,KFRB)
	READ(UN,107,ERR=900,END=900) (AFLAG(I),I=1,KFRB)
C.....Input /SELECT/
	READ(UN,102,ERR=900,END=900) 
     +                      MINSRC,MINDOPP,MAXDOPP,MPOSERR,MINLOBE,
     +                      MSRCSNR,VZMAX,VHMAX,VERRMAX,VOLMIN
C.....Input /STATION/
	READ(UN,103,ERR=900,END=900)
     +                      ILOC,LOCATION,SID,GEOLAT,GEOLON,BLAT,
     +                      BLONG,VELHMAX,VELZMAX,GYROFREQ,DIPANGLE
C.....Input /TIME/
	READ(UN,104,ERR=900,END=900)
     +                      STARTTIME,ENDTIME,ATIME,
     +                      CSTIME,CETIME,NR2DO
C.....Input /BOUNDS/
	READ(UN,105,ERR=900,END=900) NFRABS,TRUEHEIGHT
	READ(UN,106,ERR=900,END=900)
     +   (BFRQ(I,1),BFRQ(I,2),BRNG(I,1),BRNG(I,2),(BANG(I,J),J=1,4),
     +                                          NBSRC(I),I=1,NFRABS)
C
	RETURN
C
 101	FORMAT(1X,2L3,16I4)
 102	FORMAT(1X,6I4,2F10.2,F10.4,F10.7)
 103	FORMAT(1X,I3,A20,A3,8F10.3)
 104	FORMAT(1X,2E25.18,F10.2,2A17,I10)
 105	FORMAT(1X,I5,L3)
 106	FORMAT(1X,8F10.4,I6)
 107	FORMAT(1X,128L1)
 108	FORMAT(1X,F5.2,10I5)
 109	FORMAT(1X,3A30)
 111	FORMAT (1X,A10,' Version=',F5.2,/' NFRB=',I5,' NSS=',I5,
     +        ' NSTAT =',I5,' NIND=',I5,' NDLM=',I5,' NPDF=',I5)

C
 900  ERROR = .TRUE.
C
	RETURN
	END

