SUBROUTINE DDRAD(KFILDO,CCALL,XP,YP,LTAG,LTAGPT,NOPTR, 1 LNDSEA,XDATA,NSTA,ND1,R,IQUAL, 2 NPASS,NPASR,LAUGBO,DDMULT,VRAD,IER) C C MARCH 2012 GLAHN MDL C APRIL 2012 GLAHN MADE RADII FOR LAST TWO PASSES C FUNCTION OF CLOSEST DISTANCE; C REMOVED +1 FROM RADIUS CALCULATION C AUGUST 2013 GLAHN MODIFIED PURPOSE AND COMMENT C SEPTEMBER 2013 GLAHN CHANGED "3" TO "3." IN 3 PLACES C IN IF TESTS; REMOVED STATEMENT C THAT MADE SOME RESULTS INCORRECT C SEPTEMBER 2013 GLAHN CHANGED DIAGNOSTICS; STATEMENT NOS. C SEPTEMBER 2013 GLAHN MODIFIED TO PRINT CALL LETTERS OF C CLOSEST STATIONS; ADDED ARRAYS C CCSTA1( ) AND CCSTA2; CORRECTED C ERROR C ON TEST STATEMENT; MODIFIED C COMPUTATION FOR PASSES BEFORE LAST 2 C SEPTEMBER 2013 GLAHN ADDED TEST ON LTAG( ) BELOW 120 C SEPTEMBER 2013 GLAHN MAD MINIMUM DISTANCE 10 C OCTOBER 2013 GLAHN MADE ONLY LAST PASS DEPENDENT ON C CLOSEST DISTANCE C OCTOBER 2013 GLAHN MODIFIED THE LAST PASS LOOP TO BE C NEARLY THE SAME AS THE OTHERS C OCTOBER 2013 GLAHN MODIFIED TO NOT MIX LAND IN SEARCHES C FOR LAND/LAKE C OCTOBER 2013 GLAHN CORRECTION FOR LAST PASS C OCTOBER 2013 GLAHN NEW RANGE OF RADIUS CHANGED FROM C OLD R-OLD R/2 TO OLD R*1.5-OLD R/2 C OCTOBER 2013 GLAHN RADIUS FOR TYPE 3 WILL NOT CONSIDER C TYPE 6 STATION C NOVEMBER 2013 GLAHN RADII SET TO 80 FOR BGRUT C NOVEMBER 2013 GLAHN CORRECTION OF ERROR FOR TYPE 3; C SET VRAD(K,5)=80 VICE 40 FOR BGRUT C NOVEMBER 2013 GLAHN TYPE 6 CHANGED TO ACCEPT 9 C NOVEMBER 2013 GLAHN REMOVED BRRUT = 80 C JUNE 2014 GLAHN REMOVED IER = 777 COMMENT C JULY 2014 GLAHN MODIFIED TO NOT USE STATIONS WITHIN C X GRIDLENGTH OF ANOTHER [X IS C HARDCODED BELOW 1440: IF(DIST1.LT.0.)] C JULY 2014 GLAHN ADDED IQUAL( , ) AND NOPTR TO CALL; C TOSSED CLOSE STATIONS C NOVEMBER 2014 GLAHN ADDED ALTERNATE FORMULA WHEN FLAG C IN NOPTR NE 0. ADDED TO FORMATS 1447 C AND 1448 C C PURPOSE C TO ADJUST THE VARIABLE RADIUS FOR EACH STATION AS A C FUNCTION OF THE DISTANCES TO THE CLOSEST TWO STATIONS FOR C PASSES NPASR TO NPASS. THE RADIUS FOR EACH STATION FOR C THE LAST PASS NPASS IS A FUNCTION OF THE DISTANCE TO THE C CLOSEST STATION, PROVIDED NPASR IS < NPASS. THE STATION C RADII FOR THE OTHER PASSES, FROM NPASR TO NPASS-2, IF ANY, C ARE A FUNCTION OF THE DISTANCE TO THE 2ND CLOSEST STATION. C THE MULTIPLICATIVE FACTORS PER PASS J ARE INPUT IN C DDMULT(J). DISTANCES ARE NOT ALLOWED TO BE < 3 FOR THIS C PURPOSE. THE MINIMUM RADIUS ALLOWED IS 10. C C WHEN TWO STATIONS ARE WITHIN 1.5 GRIDLENGTH OF EACH OTHER, C ONLY ONE IS USED. IF EITHER STATION'S CALL LETTERS STARTS C WITH "K", IT IS KEPT. IF NOT, THE VALUES ARE AVERAGED FOR C ONE AND KEPT, THE OTHER IS TOSSED (XDATA( ) SET = 9999.) C IF THERE ARE MULTIPLE AVERAGES, THE FINAL VALUE IS THE C AVERAGE OF ALL. C C THE SEARCH ALGORITHM IS PATTERNED AFTER CLOS2. C C DATA SET USE C KFILDO - UNIT NUMBER FOR OUTPUT (PRINT) FILE. (OUTPUT) C C VARIABLES C KFILDO = UNIT NUMBER FOR OUTPUT (PRINT) FILE. (INPUT) C CCALL(K) = CALL LETTERS OF STATIONS (K=1,NSTA). C (CHARACTER*8) (INPUT) C XP(J) = X-POSITION OF STATION J ON GRID (J=1,NSTA). C (INPUT) C YP(J) = Y-POSITION OF STATION J ON GRID (J=1,NSTA). C (INPUT) C LTAG(J) = DON'T USE THIS STATION IF LTAG( ) GT 0 C (J=1,NSTA). (INPUT) C LTAGPT(K) = FOR STATION K (K=1NSTA), C 1 = AUGMENTED DATA (FIRST PASS) C 2 = AUGMENTED DATA (2ND PASS) C 3 = BOGUS DATA C 0 = EVERYTHING ELSE C NOPTR = CRITERION FOR TOSSING DUPLICATE STAIONS * 1000 C + ALTERNATE EQUATION FLAG. (INPUT) C LNDSEA(K) = LAND/SEA INFLUENCE FLAG FOR EACH STATION C (K=1,ND1). C 0 = WILL BE USED FOR ONLY OCEAN WATER (=0) C GRIDPOINTS. C 3 = WILL BE USED FOR ONLY INLAND WATER (=3) C GRIDPOINTS. C 6 = WILL BE USED FOR BOTH INLAND WATER (=3) C AND LAND (=9) GRIDPOINTS. C 9 = WILL BE USED FOR ONLY LAND (=9) GRIDPOINTS. C (INPUT) C XDATA(J) = THE DATA FOR WHICH TO FIND THE DENSITY C (J=1,ND1). (INPUT) C NSTA = NUMBER OF STATIONS IN LIST. (INPUT) C ND1 = MAXIMUM NUMBER OF STATIONS THAT CAN BE DEALT C WITH. (INPUT) C R(J) = (R(J) J=1,6)= RADIUS READ FROM U405A.CN FILE. C THE DEFAULT RADIUS OF INFLUENCE. (INPUT) C IQUAL(K,I) = THE QUALITY VALUES FROM THE STATION DICTIONARY C FOR FIVE POSSIBLE DATA TYPES (K=1,ND1) (I=1,5). C (INPUT) C NPASS = NUMBER OF ANALYSIS PASSES. (INPUT) C NPASR = NUMBER OF THE PASS TO START MODIFICATION C OF RADII. (INPUT) C LAUGBO = INDICATOR OF WHICH DATA TO USE IN CALCULATING C RADII. VALUES CORRESPOND TO LATGPT( ). C 0 = USE ONLY BASE DATA C 1 = USE 1ST PASS AUGMENTED DATA C 2 = USE ALL AUGMENTED DATA C 3 = USE ALL DATA, AUGMENTED AND BOGUS C (INPUT) C DDMULT(J) = (DDMULT(J) J=1,6) HOLDS THE MULTIPLYING C FACTORS TO USE FOR PASSES 2 THROUGH 6, WHEN C SO INDICATED BY NPASR. DDMULT(1) WILL NOT BE C USED. (INPUT) C VRAD(K,J) = ((VRAD(K,J), J=1,6), K=1,NSTA) HOLDS THE C VARIABLE RADII (INPUT) THEN MODIFIED. C (INPUT/OUTPUT) C IER = STATUS RETURN C 0 = GOOD. C SAV1 = DISTANCE SQUARED TO CLOSEST STATION. (INTERNAL) C SAV2 = DISTANCE SQUARED TO 2ND CLOSEST STATION. C (INTERNAL) C DISTSQ = DISTANCE (IN GRID UNITS) SQUARED BETWEEN TWO C STATIONS. (INTERNAL) C CCSTA1(K) = CALL LETTERS OF CLOSEST STATION. (CHARACTER) C (INTERNAL) C CCSTA2(K) = CALL LETTERS OF 2ND CLOSEST STATION. C (CHARACTER) (INTERNAL) C NSTA1(K) = THE NUMBER IN THE LIST OF THE CLOSEST STATION. C (INTERNAL) C NSTA2(K) = THE NUMBER IN THE LIST OF THE 2ND CLOSEST C STATION. (INTERNAL) C NALT = WHEN NE 0, USE ALTERNATE EQUATION. INPUT AS C FLAG IN NOPTR. (INTERNAL) C 1 2 3 4 5 6 7 X C C NONSYSTEM SUBROUTINES CALLED C NONE. C CHARACTER*8 CCALL(ND1),CCSTA1,CCSTA2 C DIMENSION XP(ND1),YP(ND1),LTAG(ND1),LNDSEA(ND1),XDATA(ND1), 1 LTAGPT(ND1),IQUAL(ND1,5) DIMENSION CCSTA1(ND1),CCSTA2(ND1) C CCSTA1( ) AND CCSTA2( ) ARE AUTOMATIC ARRAYS. DIMENSION NSTA1(ND1),NSTA2(ND1) C NSTA1( ) AND NSTA2( ) ARE AUTOMATIC ARRAYS. DIMENSION VRAD(ND1,6) DIMENSION DDMULT(6),R(6) C CALL TIMPR(KFILDO,KFILDO,'START DDRAD ') C IER=0 C D WRITE(KFILDO,105)NPASS,NPASR,LAUGBO,(R(J),J=1,6), D 1 (DDMULT(J),J=NPASR,NPASS) D105 FORMAT(/' IN DDRAD--NPASS,NPASR,LAUGBO,', D 1 '(R(J),J=1,6),(DDMULT(J),J=NPASR,NPASS)', D 2 3I3,6F6.2/6X,5F6.2) C KDUPET=0 C KDUPET IS A COUNT OF THE TOTAL NUMBER OF STATIONS TOSSED C BECAUSE OF CLOSENESS. C NALT=NOPTR-(NOPTR/1000)*1000 C IF(NALT.NE.0)THEN WRITE(KFILDO,1055)NALT 1055 FORMAT(/' ALTERNATE FORMULA',I2,' BEING USED IN', 1 ' RADIUS COMPUTATION.') ENDIF C CCCC DO 1051 K=1,NSTA CCCC WRITE(KFILDO,1050)CCALL(K),(IQUAL(K,J),J=1,5) CCCC 1050 FORMAT(' STATIONS AND QUALITY FLAGS',/, CCCC 1 (5X,A8,5I4)) CCCC 1051 CONTINUE C DO 150 K=1,NSTA KDUPE=0 C KDUPE COUNTS THE NUMBER OF CLOSE STATIONS TO C STATION K THAT WRE TOSSED. 106 NCOUNT=0 C NCOUNT COUNTS THE NUMBER OF SEARCHES PER STATION. C UPDATED IF RADIUS HAS TO BE INCREASED. IF(XDATA(K).GT.9998.5)GO TO 150 C DO NOT USE STATION WITH MISSING DATA. IF(LTAG(K).GT.0)GO TO 150 C DO NOT USE STATION WHEN LTAG( ) > 0. RR=R(1) C RR = SEARCH RADIUS. C TEMPORARY VALUE OF R(1) IN CASE IT NEEDS TO BE INCREASED. RSQ=RR*RR+.01 C THE SMALL CONSTANT IS ADDED TO ASSURE A POINT IS NOT C MISSED BECAUSE OF ROUNDOFF. 110 SAV1=999999. SAV2=999999. CCSTA1(K)=' ' CCSTA2(K)=' ' NSTA1(K)=1 NSTA2(K)=1 C NSTA1( ) AND NSTA2( ) ARE SET TO 1 FOR SAFETY, AS THEY C ARE USED AS INDICES. C 120 DO 140 L=1,NSTA IF(XDATA(L).GT.9998.5)GO TO 140 C DO NOT USE STATION WITH MISSING DATA. IF(LTAG(L).GT.0)GO TO 140 C DO NOT USE STATION WHEN LTAG( ) > 0. IF(ABS(XP(K)-XP(L)).GT.RR)GO TO 140 IF(ABS(YP(K)-YP(L)).GT.RR)GO TO 140 C IN A LONG LIST OF STATIONS, THE ABOVE TWO TESTS SHOULD BE C MORE EFFICIENT THAN ALWAYS CALCULATING THE DISTANCE. C ALSO, THEY SHOULD RULE OUT MORE THAN THE OTHER TESTS. IF(L.EQ.K)GO TO 140 C THIS STATEMENT WON'T SCREEN OUT BUT ONE. C IF(LNDSEA(K).EQ.9.AND.LNDSEA(L).LE.3)GO TO 140 C TYPE 9 USES TYPES 9 AND 6. C IF(LNDSEA(K).EQ.3.AND.LNDSEA(L).NE.3)GO TO 140 C ONLY TYPE 3 IS USED WITH ONLY TYPE 3, NOT TYPE 6. C THIS CHANGE MADE NOON 10/28/13. C (THIS STATEMENT HAD "C" AND WAS REMOVED 11/17/13. THIS WOULD C HAVE HAD THE EFFECT OF USING ALL STATIONS FOR TYPE 3.) C IF(LNDSEA(K).EQ.6.AND.LNDSEA(L).EQ.0)GO TO 140 CCCC IF(LNDSEA(K).EQ.6.AND.(LNDSEA(L).EQ.0.OR.LNDSEA(L).EQ.9))GO TO 140 C THIS CHANGE MADE 11/19/13 C TYPE 6 STATION WILL ACCEPT TYPES 3,6 AND 9. C IF(LNDSEA(K).EQ.0.AND.LNDSEA(L).GT.0)GO TO 140 C TYPE 0 ONLY USES TYPE 0. C C MAKE SURE ONLY STATIONS DESIGNATED BY LAUGBO ARE USED FOR C NEIGHBORS. EACH TYPE OF STATION IS TREATED THE SAME C FOR GETTING A NEIGHBOR. IT IS THE POTENTIAL NEIGHBOR THAT C LAUGBO PERTAINS TO. C IF(LAUGBO.EQ.0)THEN IF(LTAGPT(L).GT.0)GO TO 140 ELSEIF(LAUGBO.EQ.1)THEN IF(LTAGPT(L).GT.1)GO TO 140 ELSEIF(LAUGBO.EQ.2)THEN IF(LTAGPT(L).GT.2)GO TO 140 ENDIF C DISTSQ=(XP(K)-XP(L))**2+(YP(K)-YP(L))**2 C IF(DISTSQ.LT.RSQ)THEN IF(SAV2.LE.DISTSQ)GO TO 140 IF(SAV1.GT.DISTSQ)GO TO 130 SAV2=DISTSQ CCSTA2(K)=CCALL(L) NSTA2(K)=L GO TO 140 C 130 SAV2=SAV1 CCSTA2(K)=CCSTA1(K) NSTA2(K)=NSTA1(K) SAV1=DISTSQ CCSTA1(K)=CCALL(L) NSTA1(K)=L ENDIF C 140 CONTINUE C IF(SAV2.GT.999998.5)THEN C D WRITE(KFILDO,142)CCALL(K) D142 FORMAT(/,' ###CANNOT FIND TWO CLOSEST STATIONS TO =',A8, D 1 ' IN DDRAD.') NCOUNT=NCOUNT+1 C IF(NCOUNT.LT.5)THEN RR=RR*2 RSQ=RR*RR+.01 C CCCC WRITE(KFILDO,143)RR CCCC 143 FORMAT(' INCREASE RADIUS OF SEARCH TO ',F7.1, CCCC 1 ' GRIDLENGTHS.') C GO TO 110 ELSE WRITE(KFILDO,144) 144 FORMAT(' DO NOT CHANGE RADIUS FOR THIS STATION.') GO TO 150 ENDIF C ELSE DIST1=SQRT(SAV1) DIST2=SQRT(SAV2) ENDIF C CCCC WRITE(KFILDO,1440)K,CCALL(K),LNDSEA(K),DIST1,DIST2, CCCC 1 (VRAD(K,J),J=1,6) CCCC 1440 FORMAT(/' AT 1440--K,CCALL(K),LNDSEA(K),DIST1,DIST2,', CCCC 1 '(VRAD(K,J),J=1,6)',I6,2X,A8,I2,8F7.1) C C REMOVE STATIONS THAT ARE WITHIN X GRIDLENGTH GRIDLENGTH OF C EACH OTHER. IF ONE OF THE STATIONS CALL LETTERS STARTS C WITH K, KEEP IT. C IF(DIST1.LT.REAL(NOPTR)/1000.)THEN C WITH X SET AT ZERO, THIS SECTION OF CODE IS BYPASSED. WRITE(KFILDO,1441)DIST1,CCALL(K),CCSTA1(K), 1 XDATA(K),XDATA(NSTA1(K)), 2 IQUAL(K,5),IQUAL(NSTA1(K),5), 3 LTAGPT(K),LTAGPT(NSTA1(K)) 1441 FORMAT(/' AT 1441 IN DDRAD--DIST1,CCALL(K),CCSTA1(K)', 1 F8.2,2X,2A8,2F9.2,5X,2I3,5X,2I3) C IF(IQUAL(K,5).EQ.1.AND.IQUAL(NSTA1(K),5).NE.1)THEN WRITE(KFILDO,1442)CCALL(K),CCSTA1(K) 1442 FORMAT(' STATION ',A8,' IS QUALITY = 1 ', 1 ' TOSS ',A8) C ELIMINATE DUPE, USE STATION CCALL(K). XDATA(NSTA1(K))=9999. WRITE(KFILDO,1445)XDATA(K),XDATA(NSTA1(K)) KDUPE=KDUPE+1 KDUPET=KDUPET+1 C IF(KDUPE.GT.1)THEN WRITE(KFILDO,1443)CCALL(K),KDUPE 1443 FORMAT(' MULTIPLE CLOSE STATIONS TO STATION ', 1 A8,' =',I4) ENDIF C GO TO 106 C SEARCH AGAIN FOR ANOTHER CLOSE STATION TO CCALL(K). ELSEIF(IQUAL(NSTA1(K),5).EQ.1.AND.IQUAL(K,5).NE.1)THEN WRITE(KFILDO,1442)CCSTA1(K),CCALL(K) C ELIMINATE DUPE, USE STATION CCSTA1(K). XDATA(K)=9999. KDUPET=KDUPET+1 WRITE(KFILDO,1445)XDATA(K),XDATA(NSTA1(K)) GO TO 150 C STATION CCALL(K) IS ELIMINATED, SO DON'T SEARCH AGAIN. ELSE C BOTH STATIONS HAVE THE SAME QUALITY FLAG. AVERAGE C VALUES AND KEEP ONLY ONE, UNLESS ONE IS BASE AND THE C OTHER IS AUGMENTED, THEN KEEP THE BASE. IF((LTAGPT(K).EQ.0.AND.LTAGPT(NSTA1(K)).EQ.0).OR. 1 (LTAGPT(K).NE.0.AND.LTAGPT(NSTA1(K)).NE.0))THEN C STATIONS ARE BOTH AUGMENTED OR BOGUS OR BOTH ARE C NON-AUGMENTED OR BOGUS. WRITE(KFILDO,1444)CCALL(K),XDATA(K), 1 CCSTA1(K),XDATA(NSTA1(K)) 1444 FORMAT(' AVERAGING STATIONS',2(2X,A8,F6.2)) C KDUPE=KDUPE+1 KDUPET=KDUPET+1 XDATA(K)=(XDATA(K)*KDUPE+XDATA(NSTA1(K)))/(KDUPE+1) C THIS ACCOUNTS FOR THERE BEING MORE THAN ONE CLOSE C STATION, SO THAT THE AVERAGE IS CORRECT. XDATA(NSTA1(K))=9999. WRITE(KFILDO,1445)XDATA(K),XDATA(NSTA1(K)) 1445 FORMAT(32X,' NEW VALUES ARE',2F9.2) C IF(KDUPE.GT.1)THEN WRITE(KFILDO,1443)CCALL(K),KDUPE ENDIF C GO TO 106 ELSEIF(LTAGPT(K).EQ.0)THEN C USE STATION K AS IT IS NOT AUGMENTED AND THE OTHER IS. XDATA(NSTA1(K))=9999. WRITE(KFILDO,4568)CCALL(K),CCSTA1(K), 1 XDATA(K),XDATA(NSTA1(K)) 4568 FORMAT(' STATION ',A8,'IS BASE, ',A8,'IS NOT,', 1 ' KEEPING BASE, VALUES ARE,',2F9.2) KDUPE=KDUPE+1 KDUPET=KDUPET+1 C IF(KDUPE.GT.1)THEN WRITE(KFILDO,1443)CCALL(K),KDUPE ENDIF C GO TO 106 C SEARCH AGAIN FOR STATION CLOSE TO K. ELSE C USE STATION NSTA1(K) AS IT IS NOT AUGMENTED AND THE C OTHER IS. XDATA(K)=9999. KDUPE=KDUPE+1 KDUPET=KDUPET+1 WRITE(KFILDO,4568)CCSTA1(K),CCALL(K), 1 XDATA(K),XDATA(NSTA1(K)) C IF(KDUPE.GT.1)THEN WRITE(KFILDO,1443)CCALL(K),KDUPE ENDIF C GO TO 150 C STATION CCALL(K) IS ELIMINATED, SO DON'T SEARCH AGAIN. C ENDIF C ENDIF C ENDIF C DO 145 M=NPASS,NPASR,-1 VSAVE=VRAD(K,M) C C THE VARIABLE RADIUS, STARTING WITH PASS NPASR, IS A FUNCTION C OF THE DISTANCE TO THE 2ND CLOSEST STATION, EXCEPT FOR PASS C NAPSS (THE LAST ONE), AND THEN IT IS A FUNCTION OF THE C DISTANCE TO THE CLOSEST STATION. C IF(M.GE.NPASS)THEN C C THIS IS FOR THE LAST PASS. C IF(DIST1.LT.3.)THEN C IF STATIONS ARE PRACTICALLY ON TOP OF EACH OTHER, C DON'T CONSIDER THAT DISTANCE, BUT GO TO THE NEXT C ONE. AT 2.5 KM GRID, THIS IS ONLY 7.5 KM OR ABOUT C 4 MILES. THE STATIONS WITHIN 1.5 GRIDLENGTH OF C OTHERS HAVE ALREADY BEEN SCREENED OUT. C D WRITE(KFILDO,1446)CCALL(K),M,DIST1,DIST2 D1446 FORMAT(' ###GOING TO 2ND CLOSEST STATION IN DDRAD', D 1 ' FOR STATION ',A8,' PASS',I3, D 2 ' DISTANCE TO TWO CLOSEST STATIONS =',2F6.2, D 3 ' GRIDLENGTHS.') C IF(DIST2.LT.3.)THEN VRAD(K,M)=MAX(MIN(DDMULT(M)*3.,VSAVE*1.5),VSAVE/2.) C THIS LIMITS THE RADIUS TO GE 3 GRIDLENGTHS, WHICH C IS KEYED TO CORBC5. (CHANGED TO 10.) C WHEN DIST1 AND DIST2 ARE BOTH < 3, VRAD IS NOT C LIMITED TO 10. C D WRITE(KFILDO,1447)CCALL(K),M,VRAD(K,M) D1447 FORMAT(' GOING TO 3 GRIDLENGTHS FOR DISTANCE', D 1 ' FOR STATION ',A8,' ANALYSIS PASS',I3, D 2 ', RADIUS =',F5.1) ELSE VRAD(K,M)=MAX 1 (MIN(DDMULT(M)*DIST2,VSAVE*1.5),VSAVE/2.,10.) ENDIF C ELSEIF(NALT.EQ.0)THEN VRAD(K,M)=MAX(MIN(DDMULT(M)*DIST1,VSAVE*1.5),VSAVE/2.,10.) ELSE VRAD(K,M)=MAX(DDMULT(M)*DIST1,VSAVE/2.,10.) C THIS CONSIDERS BETTER THE DISTANCE TO 1ST THE STATION. C IT NEVER GOES BELOW 10. ENDIF C ELSE C C THIS IS FOR THE PASSES BEFORE THE LAST ONE. C IF(DIST2.LT.3.)THEN VRAD(K,M)=MAX(MIN(DDMULT(M)*3.,VSAVE*1.5),VSAVE/2.) C WHEN DIST2 < 3, DIST1 WILL BE ALSO, AND VRAD IS C NOT LIMITED BY 10. C D WRITE(KFILDO,1448)CCALL(K),M,VRAD(K,M) D1448 FORMAT(' GOING TO 3 GRIDLENGHTS FOR DISTANCE', D 1 ' FOR STATION ',A8,' ANALYSIS PASS',I3, D 2 ', RADIUS =',F5.1) C ELSEIF(NALT.EQ.0)THEN VRAD(K,M)=MAX(MIN(DDMULT(M)*DIST2,VSAVE*1.5),VSAVE/2.,10.) C THIS GIVES A MINIMUM OF THE ORIGINAL/2 AND C A MAXIMUM OF THE LARGER OF THE ORIGINAL AND 10. C ELSE VRAD(K,M)=MAX(DDMULT(M)*DIST2,VSAVE/2.,10.) C THIS CONSIDERS BETTER THE DISTANCE TO THE 2ND STATION. C IT NEVER GOES BELOW 10. ENDIF C ENDIF C CCCCC SPECIAL CONSIDERATION FOR BGRUT IN GREAT SALT LAKE. IT CCCCC IS THE ONLY MOS STATION, AND SHOULD HEAVILY INFLUENCE CCCCC ALL THE LAKE IN THE LATER PROJECTIONS. SET ITS RADIUS. C CCCC IF(CCALL(K).EQ.'BGRUT ')THEN CCCC VRAD(K,1)=80. CCCC VRAD(K,2)=80. CCCC VRAD(K,3)=80. CCCC VRAD(K,4)=80. CCCC VRAD(K,5)=80. CCCC VRAD(K,6)=80. CCCC ENDIF C CCCCD WRITE(KFILDO,1449)K,CCALL(K),XDATA(K),LTAG(K), CCCCD 1 CCSTA1(K),CCSTA2(K),M, CCCCD 2 DIST1,DIST2,VSAVE,VRAD(K,M), CCCCD 3 (VRAD(K,N),N=1,NPASS) CCCCD1449 FORMAT(/' AT 1449 IN DDRAD--K,CCALL(K),XDATA(K),LTAG(L),', CCCCD 1 'CCSTA1(K),CCSTA2(K),M,', CCCCD 2 ' DIST1,DIST2, VSAVE,VRAD(K,M),(VRAD(K,N),N=1,NPASS)',/, CCCCD 3 14X,I6,2X,A8,F7.1,I4,7X,2A8,I4,4F7.1,6F6.1/) C 145 CONTINUE C D WRITE(KFILDO,1450)K,CCALL(K),LNDSEA(K),DIST1,DIST2, D 1 (VRAD(K,J),J=1,6),LTAGPT(K) D1450 FORMAT(' AT 1450--K,CCALL(K),LNDSEA(K),DIST1,DIST2,', D 1 '(VRAD(K,J),J=1,6)',I6,2X,A8,I2,8F7.1,I2) C 150 CONTINUE C WRITE(KFILDO,155)KDUPET 155 FORMAT(/' NUMBER OF STATIONS TOSSED IN DDRAD BECAUSE OF', 1 ' CLOSENESS =',I6) CCC WRITE(KFILDO,159)(K,CCALL(K),XDATA(K),LTAG(K),LTAGPT(K), CCC 1 (VRAD(K,M),M=1,6),K=1,NSTA) CCC 159 FORMAT(/' AT 159 IN DDRAD--K,CCALL(K),XDATA(K),LTAG(K),LTAGPT(K),' CCC 1 ,'(VRAD(K,M),M=1,6)',/,(I6,2X,A8,F8.1,2I4,6F8.2)) C CALL TIMPR(KFILDO,KFILDO,'END DDRAD ') RETURN END