C C ***** ***** ***** ***** ***** ***** C SUBROUTINE RDHEADR(IUNIT) C C ** Reads and prints out the 25-line header on a data file, then C assigns the header information to the variables used by C PRTHEADR_CRT and PRTHEADR_OBT. C C ** CREATED by L.M. Hartten 26 JAN 1994 C Based on PRTHEADR_CRT and PRTHEADR_OBT C C ** LAST MODIFIED by L.M. Hartten 31 MAR 1994 C C ** CALLED BY: C any program/subroutine which reads a data file C C ** CALLS TO: C C C C ** INPUT VARIABLES: C name type notes C ---------- ---- ---------------------------------------- C IUNIT I input unit C C ** OUTPUT VARIABLES: C name type notes C ---------- ---- ---------------------------------------- C none C C C ***** ***** ***** ***** ***** ***** C C *** Declarations C IMPLICIT NONE C CHARACTER BLANK CHARACTER*5 STAR5 CHARACTER*20 PGM C INTEGER IUNIT, I C CHARACTER*3 CH3 CHARACTER*4 CH4 CHARACTER*5 HDR6FLAG CHARACTER*6 CH6 CHARACTER*8 HDR2DATE,HDR6DATE,HDR6TIME CHARACTER*10 HDR4SITE CHARACTER*20 HDR2PGM CHARACTER*30 HDR4ID CHARACTER*32 HDR2SRC CHARACTER*46 HDR3TYPE,HDR7DATA,HDR8DATA,HDR9UNITS,HDR10UNITS CHARACTER*46 HDR11FMT,HDR12FMT CHARACTER*80 HDR1,HDR15,HDR16,HDR17,HDR18,HDR19,HDR20 CHARACTER*80 HDR21,HDR22,HDR23,HDR24,HDR25 C CHARACTER*80 HDRI(25), CTEMP C REAL HDR5LAT,HDR5LON,HDR13FIRST,HDR13DELTA,HDR14FLAG INTEGER HDR5ALT,HDR6JUL C DATA STAR5 /'*****'/ BLANK /' '/ PGM /'RDHEADR'/ C COMMON / HDR / 1 HDR1, HDR2DATE,HDR2PGM,HDR2SRC, 2 HDR3TYPE, HDR4SITE,HDR4ID, CH6, HDR5LAT,HDR5LON,HDR5ALT, 3 HDR6FLAG,HDR6DATE,HDR6TIME,CH3,HDR6JUL, HDR7DATA, HDR8DATA, 4 HDR9UNITS, HDR10UNITS, HDR11FMT, HDR12FMT, CH4, 5 HDR13FIRST,HDR13DELTA, HDR14FLAG, 6 HDR15, HDR16, HDR17, HDR18, HDR19, HDR20, 7 HDR21, HDR22, HDR23, HDR24, HDR25 C C *** Start up subroutine C write(*,9995)STAR5,STAR5,STAR5,STAR5,STAR5,STAR5 write(*,*)BLANK write(*,*)'starting subroutine ', PGM C C *** Read header & echo to standard output C WRITE(*,*)BLANK DO 5 I=1,25 READ(IUNIT,3) HDRI(I) WRITE(*,3) HDRI(I) 3 FORMAT(A80) 5 CONTINUE C C *** Transfer parts of incoming header to header variables used C by PRTHEADR_CRT and PRTHEADR_OBT. C HDR1 = HDRI(1) C CTEMP=HDRI(2) IF (CTEMP(1:9).EQ.'Created: ') THEN HDR2DATE = CTEMP(35:42) HDR2PGM = CTEMP(49:68) HDR2SRC = BLANK ELSE IF (CTEMP(1:9).EQ.'Obtained:') THEN HDR2DATE = CTEMP(35:42) HDR2PGM = BLANK HDR2SRC = CTEMP(49:80) ELSE WRITE(*,*)'Error parsing HDRI(2)!!' END IF C CTEMP=HDRI(3) HDR3TYPE = CTEMP(35:80) C CTEMP=HDRI(4) HDR4SITE = CTEMP(35:44) HDR4ID = CTEMP(47:76) C CTEMP=HDRI(5) READ(CTEMP,50) HDR5LAT,HDR5LON,HDR5ALT C CTEMP=HDRI(6) READ(CTEMP,60) HDR6FLAG,HDR6DATE,HDR6TIME,HDR6JUL C CTEMP=HDRI(7) HDR7DATA = CTEMP(35:80) C CTEMP=HDRI(8) HDR8DATA = CTEMP(35:80) C CTEMP=HDRI(9) HDR9UNITS = CTEMP(35:80) C CTEMP=HDRI(10) HDR10UNITS = CTEMP(35:80) C CTEMP=HDRI(11) HDR11FMT = CTEMP(35:80) C CTEMP=HDRI(12) HDR12FMT = CTEMP(35:80) C CTEMP=HDRI(13) READ(CTEMP,130) HDR13FIRST,HDR13DELTA C CTEMP=HDRI(14) READ(CTEMP,140) HDR14FLAG C HDR15 = HDRI(15) HDR16 = HDRI(16) HDR17 = HDRI(17) HDR18 = HDRI(18) HDR19 = HDRI(19) HDR20 = HDRI(20) HDR21 = HDRI(21) HDR22 = HDRI(22) HDR23 = HDRI(23) HDR24 = HDRI(24) HDR25 = HDRI(25) C C *** Original formats used in PRTHEADR_CRT and PRTHEADR_OBT, plus C formats used here to read in header variables. C C 50 FORMAT('Location [lat,lon,alt]:', C 1 11X,F6.2,'deg, ',F7.2,'deg, ',I5,'m') 50 FORMAT(34X,F6.2,5X,F7.2,5X,I5) C C 60 FORMAT('GMT Time at ',A5,', Julian day:', C 1 4X,A8,1X,A8,', ',I3) 60 FORMAT(12X,A5,17X,A8,1X,A8,2X,I3) C C 130 FORMAT('First Valid Ob., Delta:',11X,F7.2,'m, ',F7.2,'m') 130 FORMAT(34X,F7.2,3X,F7.2) C C 140 FORMAT('Bad Flag:',25X,F7.1) 140 FORMAT(34X,F7.1) C C *** Finish up subroutine C write(*,*)'ending subroutine ',PGM write(*,*)BLANK write(*,9995)STAR5,STAR5,STAR5,STAR5,STAR5,STAR5 C 9995 format(1X,5(A5,5X),A5) C RETURN END