SUBROUTINE RFLTNG(KFILDO,NDATE,FLT,FRFM,NXNY,IP22,NQC) C C MAY 2005 CHARBA MDL MOS-2000 C JUNE 2005 CHARBA SET MCASE AND MLTGE TO 0 ON EACH ENTRY. C AUGUST 2005 CHARBA ADDED IP22 TO THE ARGUMENT LIST FOR USE C IN WRITING A PRINT OUTPUT FILE. ALSO C ADDED NQC TO THE ARGUMENT LIST TO INDI- C CATE WHETHER THE ENTRY APPLIES BEFORE C THE QC OR AFTER THE QC. C C PURPOSE C TO COMPUTE RELATIVE FREQUENCIES OF LIGHTNING OCCURRENCE IN C GRIDBOXES AS A FUNCTION OF SPECIFIED THRESHOLDS OF THE C RADAR REFLECTIVITY IN THE SAME GRIDBOXES. C RFLTNG ENTRIES WHERE ICHK=0 OR 1, SUMMATIONS FOR THE NUMBER C OF CASES IN WHICH THE REFLECTIVITY IS GREATER OR EQUAL TO C THE MULTIPLE THRESHOLD VALUES ARE OBTAINED. THE NUMBER OF C CASES WHERE THE CORRESPONDING NUMBER OF CTG LIGHTNING C STRIKES EQUALS OR EXCEEDS A SPECIFIED THRESHOLD IS ALSO C SUMMED. THE SUMMATIONS ARE PERFORMED OVER THE ENTIRE INPUT C GRID AND OVER ALL RFLTNG CALLS. WHEN ICHK=2, THE RELATIVE C FREQUENCY FOR FOR EACH THRESHOLD IS COMPUTED AND PRINTED FOR C INSPECTION. C C DATA SET USE C KFILDO = DEFAULT UNIT NUMBER FOR OUTPUT (PRINT) FILE C C VARIABLES C KFILDO = DEFAULT UNIT NUMBER FOR OUTPUT (PRINT) FILE. C (INPUT) C NXNY = SIZE OF INPUT GRIDDED FIELDS; = NX * NY, C WHERE NX IS X-DIMENSION AND NY IS Y-DIMENSION OF C GRID. (INPUT) C FLT(J) = CONTAINS NUMBER OF CTG LIGHTNING STRIKES IN C GRIDBOX OVER 15-MIN PERIOD (J=1,NXNY). (INPUT) C FRFM(J) = RADAR REFLECTIVITY CATEGORY IN GRIDBOX AT C INSTANTANEOUS TIME (J=1,NXNY). (INPUT) C NRTH = NUMBER OF RADAR THRESHOLD VALUES. (PARAMETER) C THR(K) = THRESHOLD VALUES FOR RADAR REFLECTIVITY C CATEGORIES (K=1,NRTH). (INTERNAL) C THL = THRESHOLD VALUE FOR THE NUMBER OF CTG LIGHTNING C STRIKES, WHERE THE LIGHTNING EVENT =1 WHEN THE C NUMBER OF STRIKES IN GRIDBOX IS GE THL AND 0 C OTHERWISE. (INTERNAL) C SAMPLE(K) = SAMPLE SIZE CORRESPONDING TO THR(K) (K=1,NRTH). C (INTERNAL) C CNTL(K) = SUM OF LIGHTNING EVENTS CORRESPONDING TO C SAMPLE(K) (K=1,NRTH). (INTERNAL) C RFL(K) = RELATIVE FREQUENCY OF LIGHTNING EVENTS CORRES- C PONDING TO THR(K) (K=1,NRTH). (INTERNAL) C MCASE = TOTAL NUMBER OF CASES LOST DUE TO 9999. VALUES C IN RADAR DATA. (INTERNAL) C MLTGE = TOTAL NUMBER OF OF LIGHTNING EVENTS LOST DUE TO C 9999. VALUES IN RADAR DATA. (INTERNAL) C IP22 = UNIT NUMBER FOR WRITING A PRINT OUTPUT FILE C CONTAINING A TABLE OF STATISTICS THAT SHOWS C THE RELATIONSHIP BETWEEN LIGHTNING RELATIVE C FREQUENCY AND RCM RADAR REFLECTIVITY. C NQC = 0 FOR ENTRY BEFORE QC; =1 FOR ENTRY AFTER QC. C C NONSYSTEM SUBROUTINES CALLED C NONE C PARAMETER (RMISS=9999.,NRTH=6) C REAL FLT(NXNY),FRFM(NXNY),RFL(NRTH+1) REAL SAMPLE(NRTH+1),CNTL(NRTH+1) C REAL THL/1./,THR(NRTH)/0.5,1.5,2.5,3.5,4.5,5.5/ C C INTEGER MCASE/0/,MLTGE/0/ C MCASE=0 MLTGE=0 C C INITIALIZE TABULATION ARRAYS c DO 20 K=1,NRTH+1 CNTL(K)=0.0 SAMPLE(K)=0.0 20 CONTINUE C DO 50 N=1,NXNY C C ACCUMULATE NUMBER OF LIGHTNING EVENTS LOST DUE TO MISSING C CORRESPONDING RADAR DATA. C IF((FRFM(N).EQ.RMISS).AND.(FLT(N).GE.THL)) MLTGE=MLTGE+1 C C IF LIGHTNING OR RADAR DATA MISSING, SKIP OVER GRIDPOINT. C ALSO, ACCUMULATE NUMBER OF MISSING CASES. C IF(FLT(N).EQ.RMISS.OR.FRFM(N).EQ.RMISS)THEN MCASE=MCASE+1 GO TO 50 ENDIF C C ACCUMULATE CASES AND LIGHTNING EVENTS OVER DISCRETE C RADAR REFLECTIVITY CATEGORIES. C C IF RADAR VALUE LESS THAN LOWEST RADAR TH, TABULATE CASE AND C EXIT LOOP. C IF(FRFM(N).LT.THR(1)) THEN SAMPLE(1)=SAMPLE(1)+1.0 IF(FLT(N).GE.THL) CNTL(1)=CNTL(1)+1.0 GO TO 50 ENDIF C C IF RADAR VALUE GE HIGHEST RADAR TH, TABULATE CASE AND C EXIT LOOP. C IF(FRFM(N).GE.THR(NRTH)) THEN SAMPLE(NRTH+1)=SAMPLE(NRTH+1)+1.0 IF(FLT(N).GE.THL)THEN CNTL(NRTH+1)=CNTL(NRTH+1)+1.0 ENDIF GO TO 50 ENDIF C C IF RADAR VALUE GE TO LOWER RADAR TH AND LT HIGHER RADAR TH, C TABULATE CASE AND EXIT LOOP. C DO 40 K=1,NRTH-1 IF(FRFM(N).GE.THR(K).AND.FRFM(N).LT.THR(K+1)) THEN SAMPLE(K+1)=SAMPLE(K+1)+1.0 IF(FLT(N).GE.THL) CNTL(K+1)=CNTL(K+1)+1.0 GO TO 50 ENDIF 40 CONTINUE C 50 CONTINUE C C COMPUTE RELATIVE FREQUENCY FOR EACH DISCRETE CATEGORY. C DO 200 K=1,NRTH+1 IF(SAMPLE(K).EQ.0.0) THEN RFL(K)=9999. GO TO 200 ELSE RFL(K)=100.*CNTL(K)/SAMPLE(K) ENDIF 200 CONTINUE C C PRINT OUT STATISTICS C IF(NQC.EQ.0) THEN WRITE(IP22,210) 210 FORMAT(///,'FOLLOWING TABLE APPLIES BEFORE QC') ELSE WRITE(IP22,215) 215 FORMAT(///,'FOLLOWING TABLE APPLIES AFTER QC') ENDIF K=1 WRITE(IP22,220) K,THR(K),SAMPLE(K),CNTL(K),RFL(K) 220 FORMAT(//,' CATEGORY ',I3,' LT RADAR LEVEL ',F5.1,/, 1 ' NUMBER OF CASES = ',F12.0,/, 2 ' NUMBER OF LIGHTNING EVENTS = ',F12.0,/ 3 ' LIGHTNING RELATIVE FREQUENCY = ',F12.3) C DO 250 K=1,NRTH-1 WRITE(IP22,230) K,THR(K),THR(K+1),SAMPLE(K+1),CNTL(K+1), 1 RFL(K+1) 230 FORMAT(//,' CATEGORY ',I3,' GE RADAR LEVEL ',F5.1,' LT ', 1 'RADAR LEVEL ',F5.1,/, 2 ' NUMBER OF CASES = ',F12.0,/, 3 ' NUMBER OF LIGHTNING EVENTS = ',F12.0,/, 4 ' LIGHTNING RELATIVE FREQUENCY = ',F12.3) 250 CONTINUE C K=NRTH WRITE(IP22,260) K,THR(K),SAMPLE(K+1),CNTL(K+1),RFL(K+1) 260 FORMAT(//,' CATEGORY ',I3,' GE RADAR LEVEL ',F5.1,/, 1 ' NUMBER OF CASES = ',F12.0,/, 2 ' NUMBER OF LIGHTNING EVENTS = ',F12.0,/ 3 ' LIGHTNING RELATIVE FREQUENCY = ',F12.3) C WRITE(KFILDO,270) MCASE,MLTGE 270 FORMAT(//,' TOTAL NUMBER OF CASES LOST DUE TO 9999. VALUES FOR ', 1 'RADAR DATA = ',I15,/, 2 ' TOTAL NUMBER OF LIGHTNING EVENTS LOST DUE TO 9999. ', 3 'VALUES FOR RADAR DATA = ',I12) C RETURN END