SUBROUTINE WRITE implicit integer (a-z) ******************************************************************* INCLUDE 'dat3.com' *** PCPIND = ' ' IF (PCPFLG .EQ. 1 .AND. PCPTOT .NE. 99.99) PCPIND = 'A' IF (PCPFLG .EQ. 2 .AND. PCPTOT .NE. 99.99) PCPIND = 'B' IF (PCPFLG .EQ. 3 .AND. PCPTOT .NE. 99.99) PCPIND = 'C' IF (PCPFLG .EQ. 4 .AND. PCPTOT .NE. 99.99) PCPIND = 'D' IF (PCPFLG .EQ. 5 .AND. PCPTOT .NE. 99.99) PCPIND = 'E' IF (PCPFLG .EQ. 6 .AND. PCPTOT .NE. 99.99) PCPIND = 'F' IF (PCPFLG .EQ. 7 .AND. PCPTOT .NE. 99.99) PCPIND = 'G' IF (PCPFLG .EQ. 8 .AND. PCPTOT .NE. 99.99) PCPIND = 'H' IF (PCPFLG .EQ. 9 .AND. PCPTOT .NE. 99.99) PCPIND = 'H' IF (PCPFLG .EQ. 10 .AND. PCPTOT .NE. 99.99) PCPIND = 'I' *** *** A, B, C, D = 6-HOURLY AMOUNTS USED IN DAILY TOTAL (A = 1 REPORT, *** B = 2, C = 3, D = 4) *** E, F = 12-HOURLY AMOUNTS USED IN DAILY TOTAL (E = 1 REPORT, F = 2) *** G = 24-HOURLY AMOUNT USED FOR DAILY TOTAL *** H = 6 OR 12-HOURLY AMOUNT USED (FLG 8 = 6-HOURLY, FLG 9 = 12-HOURLY), *** WITH A ZERO TOTAL FOR THE DAY--BUT SOME PRECIP WAS REPORTED IN THE *** PRESENT WEATHER REPORTS (COULD = TRACE) *** I = NO PRECIP REPORTED OF ANY KIND, BUT STN DID NOT EXPLICITLY *** REPORT 0 FOR THE DAY *** IF (TTCNT .GT. 99) TTCNT = 99 IF (TDDCNT .GT. 99) TDDCNT = 99 IF (SLPCNT .GT. 99) SLPCNT = 99 IF (STPCNT .GT. 99) STPCNT = 99 IF (VISCNT .GT. 99) VISCNT = 99 IF (SPDCNT .GT. 99) SPDCNT = 99 IF (TTCNT .GE. 4 .AND. TTAVG .NE. 9999.9) THEN WRITE (21,950) STNPRV,WBANPRV,YRPRV,MOPRV,DAPRV,TTAVG,TTCNT, - TDDAVG,TDDCNT,SLPAVG,SLPCNT,STPAVG,STPCNT,VISAVG,VISCNT, - SPDAVG,SPDCNT, - SPDMAX,GSTALL,MAXTMP,MAXFLG,MINTMP,MINFLG,PCPTOT,PCPIND, - SNDPIN,FOG,RAIN,SNOW,HAIL,THNDER,TORN !AB 950 FORMAT (I6,2X,J4,J2,J2,2X,F6.1,1X,I2,2X,F6.1,1X, 950 FORMAT (I6.6,1x,i5.5,2X,I4.4,I2.2,I2.2,2X,F6.1,1X,I2,2X, - F6.1,1x,I2,2X,F6.1,1X,I2,2X,F6.1,1X,I2,2X,F5.1,1X,I2,2X, - F5.1,1X,I2, - 2X,F5.1,2X,F5.1,2X,F6.1,A1,1X,F6.1,A1,1X,F5.2,A1,1X, - F5.1,2X,6I1) OPCNT = OPCNT + 1 IF (PCPFLG .NE. 7 .AND. STNPRV .EQ. STN) PCPPRV = PCPTOT IF (PCPFLG .EQ. 7 .AND. STNPRV .EQ. STN) PCP24P = PCPTOT IF (PCPFLG .EQ. 7 .AND. STNPRV .EQ. STN) THEN HR24CK = HR24P ELSE HR24CK = 99 END IF IF ((PCPFLG.GE.1.AND.PCPFLG.LE.4.AND.STNPRV.EQ.STN) .OR. - (PCPFLG .EQ. 8 .AND. STNPRV .EQ. STN)) THEN HR06CK = HR06P *** print*,HR06P ! added code ELSE HR06CK = 99 END IF IF ((PCPFLG.GE.5.AND.PCPFLG.LE.6.AND.STNPRV.EQ.STN) .OR. - (PCPFLG .EQ. 9 .AND. STNPRV .EQ. STN)) THEN HR12CK = HR12P ELSE HR12CK = 99 END IF *** *** HR24CK = HR OF PREVIOUS DAY WITH 24-HOUR PRECIP AMOUNT REPORTED *** AND USED IN THE DAILY TOTAL (0 or GREATER) *** HR06CK = LAST HR OF PREVIOUS DAY WITH 06-HOUR PRECIP AMOUNT REPORTED *** AND USED IN THE DAILY TOTAL (GREATER THAN 0) *** HR12CK = LAST HR OF PREVIOUS DAY WITH 12-HOUR PRECIP AMOUNT REPORTED *** AND USED IN THE DAILY TOTAL (GREATER THAN 0) *** HR24P = 99 HR06P = 99 HR12P = 99 HRDIF = 99 STNOP = STNPRV ELSE END IF *** *** RESET COUNTERS, ETC. *** TTCNT = 0 TDDCNT = 0 SLPCNT = 0 STPCNT = 0 MAXCNT = 0 MINCNT = 0 SPDCNT = 0 GSTCNT = 0 GSTCN2 = 0 VISCNT = 0 TTSUM = 0. TDDSUM = 0. SLPSUM = 0. STPSUM = 0. MAXSUM = 0. MINSUM = 0. SPDSUM = 0. VISSUM = 0. YRPRV = YEAR MOPRV = MO DAPRV = DA STNPRV = STN WBANPRV = WBAN LATPRV = LAT ELVPRV = STNELV SPDPRV = 0.0 GSTPRV = 0.0 GSTPR2 = 0.0 MAXTMP = 9999.9 MINTMP = 9999.9 MAXPRV = 9999.9 MINPRV = 9999.9 THRMAX = -999.9 THRMIN = 9999.9 MAXDIF = -999.9 MINDIF = -999.9 MAXFLG = ' ' MINFLG = ' ' SNDPIN = 999.9 SPDMAX = 0.0 GSTMAX = 0.0 GSTALL = 999.9 GSTMX2 = 0.0 PCP6A = 99.99 PCP6B = 99.99 PCP6C = 99.99 PCP6D = 99.99 PCP6 = 99.99 PCP12A = 99.99 PCP12B = 99.99 PCP12 = 99.99 PCP24 = 99.99 TTAVG = 9999.9 TDDAVG = 9999.9 SLPAVG = 9999.9 STPAVG = 9999.9 VISAVG = 999.9 SPDAVG = 999.9 PCPTOT = 99.99 PCPRAT = 99.99 RAIN = 0 SNOW = 0 HAIL = 0 FOG = 0 THNDER = 0 TORN = 0 INDA12 = 0 P00 = 0 P06 = 0 P12 = 0 P18 = 0 P24 = 0 PCPFLG = 0 RETURN END ! ----------END SUBROUTINE: WRITE ------------