C********************************************************* C* FORTRAN PROGRAM TO READ AND PRINT THE HISTORICAL * C* CLIMATOLOGY NETWORK (HCN) STATION HISTORY * C FILE (SHF94.ASC). * C********************************************************* INTEGER I, STACOD, DIVISION CHARACTER*2 STATE CHARACTER*30 STANAME CHARACTER*16 COUNTY CHARACTER*25 XREF C INTEGER STACOD2, MOBEG, DAYBEG, YRBEG INTEGER MOEND, DAYEND, YREND CHARACTER SUSP(15) INTEGER LATDEG, LATMIN, LONGDEG, LONGMIN INTEGER DISTANCE, ELEV, DISTPO CHARACTER DPLUNIT, DPOUNIT CHARACTER*3 DIRECT, DIRECTPO CHARACTER*28 NAME CHARACTER*10 QUALIF CHARACTER INSTRU(36) CHARACTER*2 PCPOT, TMPOT, PCPHT, TMPHT CHARACTER PUB(16) CHARACTER*46 OBSNAME INTEGER NUMOBS C********************************************************* C* OPEN FILES FOR INPUT/OUTPUT * C********************************************************* OPEN(UNIT=5,FILE='shf94.asc') OPEN(UNIT=6,FORM='PRINT') C********************************************************* C* READ AND PRINT THE STATION HISTORIES FOR EACH * C* STATION. FIRST RECORD HAS STATION CODE, STATE * C* ABBREVIATION, DIVISION NUMBER, AND STATION AND * C* COUNTY NAME. FOLLOWING RECORDS CONTAIN OBSERVER, * C* EQUIPMENT, AND PUBLICATION DATA FOR EACH STATION. * C********************************************************* 10 READ (5,100) STACOD, STATE, DIVISION, STANAME, 1 COUNTY, XREF WRITE (6,105) STACOD, STATE, DIVISION, STANAME, 1 COUNTY, XREF 20 READ (5,110,END=999) STACOD2 BACKSPACE 5 IF (STACOD .NE. STACOD2) GOTO 10 READ (5,115) STACOD2, MOBEG, DAYBEG, YRBEG, 1 MOEND, DAYEND, YREND, (SUSP(I),I=1,15), LATDEG, LATMIN, 1 LONGDEG, LONGMIN, DISTANCE, DPLUNIT, DIRECT, 1 ELEV, DISTPO, DPOUNIT, DIRECTPO, NAME, QUALIF, 1 (INSTRU(I),I=1,36), PCPOT, TMPOT, PCPHT, TMPHT, 1 (PUB(I),I=1,16), OBSNAME, NUMOBS WRITE (6,120) STACOD2, MOBEG, DAYBEG, YRBEG, 1 MOEND, DAYEND, YREND, (SUSP(I),I=1,15), LATDEG, LATMIN, 1 LONGDEG, LONGMIN, DISTANCE, DPLUNIT, DIRECT, 1 ELEV, DISTPO, DPOUNIT, DIRECTPO, NAME, QUALIF, 1 (INSTRU(I),I=1,36), PCPOT, TMPOT, PCPHT, TMPHT, 1 (PUB(I),I=1,16), OBSNAME, NUMOBS GOTO 20 C 100 FORMAT(1I6,1X,1A2,1X,1I2,1X,1A30,1X,1A16,1X,1A25) 105 FORMAT(1X,1I6,1X,1A2,1X,1I2,1X,1A30,1X,1A16,1X,1A25) 110 FORMAT(1I6) 115 FORMAT(1I6,2(2(1X,1I2),1X,1I4),1X,15A1,1X,1I3,1X,1I2,1X, 1 1I4,1X,1I2,1X,1I3,1A1,1A3,1X,1I5,1X,1I4,1A1, 1 1A3,1X,1A28,1X,1A10,1X,36A1,2(1X,2A2),1X,16A1,1X, 1 1A46,1X,1I2) 120 FORMAT(1X,1I6,2(2(1X,1I2),1X,1I4),1X,15A1,1X,1I3,1X,1I2,1X, 1 1I4,1X,1I2,1X,1I3,1A1,1A3,1X,1I5,1X,1I4,1A1, 1 1A3,1X,1A28,1X,1A10,1X,36A1,2(1X,2A2),1X,16A1,1X, 1 1A46,1X,1I2) C********************************************************* C* CLOSE FILES AND EXIT GRACEFULLY * C********************************************************* 999 CLOSE(UNIT=5) CLOSE(UNIT=6) STOP END