      SUBROUTINE XRY(IEOF,LONG,LAT)                                     00000100
      COMMON/INPDAT/NFC,NCH,ACCTIM,IOUT,GETS(2)                         00000200
      COMMON/INFO/ANS(500,8),SPECT(500,4,10),NFLAG(500),NC(500),NSPEC   00000300
      COMMON/RATIO/IDUM,D(1500,8)                                       00000400
      REAL LONG(2),LAT(2),ATEM(8),SAVTEM(8)                             00000500
      INTEGER CHSM(4,10),SPECT,TSPEC(9,4)                               00000600
      IF(ACCTIM.LE.64.0) GO TO 10                                       00000700
      WRITE(6,2000) ACCTIM                                              00000800
 2000 FORMAT(' ACCUMULATION TIME EXCEEDS 64 SECONDS, TIME= ',F6.1)      00000900
      NSPEC=0                                                           00001000
      GO TO 330                                                         00001100
   10 NSCOL=ACCTIM/8.0                                                  00001200
      NR=0                                                              00001300
      KK=0                                                              00001400
      IF(IEOF.EQ.-1) GO TO 70                                           00001500
      GO TO (20,80,70,70),IEOF                                          00001600
   20 DO 60 I=1,4                                                       00001700
      NP=496+I                                                          00001800
      DO 30 J=1,8                                                       00001900
   30 D(I,J)=ANS(NP,J)                                                  00002000
   60 CONTINUE                                                          00002100
      KK=4                                                              00002200
      GO TO 80                                                          00002300
   70 REWIND 9                                                          00002400
   80 M=0                                                               00002500
   90 IEOF=0                                                            00002600
  100 READ(9,END=300) NF,ATEM                                           00002700
      GET=ATEM(1)+4.0                                                   00002800
      READ(9,END=300) TSPEC                                             00002900
      IF(ATEM(1).LT.GETS(1)) GO TO 100                                  00003000
      IF(ATEM(1).LE.GETS(2)) GO TO 105                                  00003100
      IEOF=3                                                            00003200
      IF(M.EQ.0) GO TO 320                                              00003300
      GO TO 165                                                         00003400
  105 IF(ATEM(3).GT.LAT(1).OR.ATEM(3).LT.LAT(2)) GO TO 100              00003500
      IF(ATEM(4).GE.LONG(2).AND.ATEM(4).LE.LONG(1)) GO TO 110           00003600
      IF(M.EQ.0) GO TO 100                                              00003700
      IEOF=2                                                            00003800
      IF(NR.EQ.0.OR.NSCOL.EQ.1) GO TO 320                               00003900
      GO TO 165                                                         00004000
  110 KK=KK+1                                                           00004100
      DO 112 K=1,8                                                      00004200
  112 D(KK,K)=ATEM(K)                                                   00004300
      IF(NSCOL.GT.1) GO TO 130                                          00004400
      M=M+1                                                             00004500
      DO 120 J=1,4                                                      00004600
      ISUM=0                                                            00004700
      DO 115 K=1,9                                                      00004800
      IF(K.GE.NFC.AND.K.LE.NCH) ISUM=ISUM+TSPEC(K,J)                    00004900
  115 SPECT(M,J,K)=TSPEC(K,J)                                           00005000
      SPECT(M,J,10) =ISUM                                               00005100
  120 CONTINUE                                                          00005200
      NC(M)=1                                                           00005300
      NFLAG(M)=NF                                                       00005400
      ANS(M,1)=GET                                                      00005500
      IF(M.LT.500.AND.KK.LT.1500) GO TO 100                             00005600
      GO TO 310                                                         00005700
  130 NR=NR+1                                                           00005800
      IF(NR.GT.1) GO TO 140                                             00005900
      M=M+1                                                             00006000
      NC(M)=0                                                           00006100
      NFLAG(M)=NF                                                       00006200
      DO 135 J=1,4                                                      00006300
      DO 135 K=1,10                                                     00006400
  135 CHSM(J,K)=0                                                       00006500
      GO TO 142                                                         00006600
  140 IF(NR.GT.NSCOL) GO TO 160                                         00006700
      IF(NF.NE.NFLAG(M)) GO TO 160                                      00006800
      IF(GET-SAVTEM(NR-1).GE.10.1) GO TO 160                            00006900
  142 SAVTEM(NR)=GET                                                    00007000
      DO 155 J=1,4                                                      00007100
      ISUM=0                                                            00007200
      DO 150 K=1,9                                                      00007300
      IF(K.GE.NFC.AND.K.LE.NCH) ISUM=ISUM+TSPEC(K,J)                    00007400
      CHSM(J,K)=CHSM(J,K)+TSPEC(K,J)                                    00007500
  150 CONTINUE                                                          00007600
      CHSM(J,10)=CHSM(J,10)+ISUM                                        00007700
  155 CONTINUE                                                          00007800
      NC(M)=NC(M)+1                                                     00007900
      IF(KK.LT.1500) GO TO 100                                          00008000
      IEOF=1                                                            00008100
  160 NR=NR-1                                                           00008200
  165 DO 170 J=1,4                                                      00008300
      DO 170 K=1,10                                                     00008400
  170 SPECT(M,J,K)=CHSM(J,K)                                            00008500
      ANS(M,1)=(SAVTEM(NR)+SAVTEM(1))/2.0                               00008600
      NR=0                                                              00008700
      IF(M.EQ.500) IEOF=1                                               00008800
      IF(IEOF.NE.0) GO TO 320                                           00008900
      GO TO 130                                                         00009000
  300 IEOF=3                                                            00009100
  310 IEOF=IEOF+1                                                       00009200
  320 NSPEC=M                                                           00009300
  330 IF(NSPEC.GT.0) CALL XINTGN(KK)                                    00009400
      RETURN                                                            00009500
      END                                                               00009600
