Document title: Subroutine UREAD for NDADS DE datatype UA
Project: DE
NDADS Datatype: UA
EID: SOFTWARE
Super-EID: SOFTWARE
There may be other documents also identified by this super-EID.
NDADS filename: DE2_UA_UREAD.FOR
TRF entry: b48492.for in NSSDC's controlled digital document library, Mar. 1999.
Document text follows:
----------------------

      SUBROUTINE UREAD(IDATE,ITIME,IERR,DATA)
C---------------------------------------------------------
C        Sequential read of DE UA records
C        A. E. Hedin 11/27/84
C     Output parameters:
C       IDATE - Date of data (YYDDD).
C       ITIME - Time of data (Millisec).
C       IERR  - Error return:
C               3XX Open error with XX VAX error code;
C               400  Read error;
C               800 No data within 20 days of request;
C               900 No further data.
C       DATA  - Array of data according to map established
C               in call to UROPEN.
C     I/O Units 92 and 94.
C     File names of the form SYS$UA:DEUAyyddd
C---------------------------------------------------------
      INTEGER DMAP(21),RMAP(21),TMAP(21)
      DIMENSION DATA(1),D(20)
      COMMON/U$COM/IOS,NW,IOPEN,NDATE,RMAP,TMAP
      DATA DMAP/20,1,2,3,4,5,6,7,8,9,10,11,12,13,14
     & ,15,16,17,18,19,20/
      IERR=0
      ITRANS=0
      IF(IOPEN.NE.9876) CALL UROPEN(0,0,IERR,DMAP)
      IF(IERR.NE.0) GOTO 60
   10 CONTINUE
        IDATE=NDATE
        READ(92,ERR=90,END=50) ITIME,(D(J),J=1,NW)
C       Transfer data if read successful
        DO 20 J=1,RMAP(1)
          K=TMAP(RMAP(J+1))
          IF(K.GT.0) THEN
            DATA(J)=D(K)
          ELSE
            DATA(J)=0.
          ENDIF
   20   CONTINUE
        GOTO 60
C       Go to new file
   50   CONTINUE
        CALL UROPEN(IDATE+1,0,IERR,RMAP)
        IF(IERR.EQ.0) GOTO 10
   60 CONTINUE
      RETURN
   90 CONTINUE
      IERR=400+IOS
      RETURN
      END