subroutine rapidprint_2018(probridisc, probrilog, probribay, + lush, probricons72h) c c subroutine rapidprint_2018.f c c Last Updated: March 4, 2018 c c Author: c Christopher M Rozoff (chris.rozoff@ssec.wisc.edu) c Last Modified: December, 16 2016 by J. Kaplan (john.kaplan@noaa.gov) c to print RII probabilities out to 72h. c Note: This subroutine can be run if logistic and Bayesian c routines are only run out to 48 h by c setting the setmissing variable to .true. c c Purpose: This subroutine prints out all of the c probabilities of RI from the SHIPS-RII, Bayesian, and c logistic regression models and their consensus. c This output includes a 4 x 7 matrix of probabilities c for the RI thresholds of 20 kt / 12 h, 25 kt / 24 h, c 30 kt / 24 h, 35 kt / 24 h, 40 kt / 24 h, 45 kt / 36 h, c 55 kt / 48 h, and 65 kt / 72 h. c c subroutine inputs: c c probridisc: SHIPS-RII probabilities for all RI definitions c probrilog : Logistic regression model probs for all c RI definitions c probribay : Bayesian model probs for all RI definitions c lush : Output unit number of SHIPS log file c c other relevant variables: c probricons : Consensus probability of RI c Nindx : number of RI index thresholds computed c c c setmissing: logical variable that should be set to true c if only the SHIPS-RII is producing 72h-h probability c forecasts and the bayesian and logistic models are not. c Otherwise set this variable to false when 72-h RI c Probabilities are available from the SHIPS-RII, Bayesian, c and Logisistic RI models. c ------------------------------------------------------------------------------ c c parameter (Nindx = 8) logical setmissing Data setmissing/.false./ c c input c dimension probridisc(Nindx), probrilog(Nindx), probribay(Nindx) dimension probridisc72h(Nindx), probrilog72h(Nindx) dimension probribay72h(Nindx) c c output c dimension probricons72h(Nindx) c c internal variables c integer i c do i=1,Nindx probridisc72h(i)=probridisc(i) enddo c if(setmissing)then probribay72h(Nindx)= 999. probrilog72h(Nindx) = 999. do i=1,Nindx-1 probrilog72h(i) = probrilog(i) probribay72h(i) = probribay(i) enddo Else do i=1,Nindx probrilog72h(i) = probrilog(i) probribay72h(i) = probribay(i) enddo endif c do i = 1, Nindx if (probridisc72h(i) .gt. 100. .or. + probrilog72h(i) .gt. 100. + .or. probribay72h(i) .gt. 100.) then probricons72h(i) = 999. else probricons72h(i) = (probridisc72h(i) + + probrilog72h(i) + probribay72h(i)) / 3.0 endif enddo c write(lush, 600) 600 format(' ') write(lush,601) 601 format('Matrix of RI probabilities') write(lush, 602) 602 format('---------------------------------------------', + '---------------------------------') write(lush, 608) ' RI (kt / h)', '| 20/12', '| 25/24', + '| 30/24', '| 35/24', '| 40/24', '| 45/36', '| 55/48', + ' |65/72' write(lush,602) c write(lush, 305) 'SHIPS-RII: ', + probridisc72h(1), '%', probridisc72h(2), '%', + probridisc72h(3), '%', probridisc72h(4), '%', + probridisc72h(5), '%', probridisc72h(6), '%', + probridisc72h(7), '%', probridisc72h(8), '%' write(lush, 305) 'Logistic: ', + probrilog72h(1), '%', probrilog72h(2), '%', + probrilog72h(3), '%', probrilog72h(4), '%', + probrilog72h(5), '%', probrilog72h(6), '%', + probrilog72h(7), '%', probrilog72h(8), '%' write(lush, 305) 'Bayesian: ', + probribay72h(1), '%', probribay72h(2), '%', + probribay72h(3), '%', probribay72h(4), '%', + probribay72h(5), '%', probribay72h(6), '%', + probribay72h(7), '%', probribay72h(8), '%' write(lush, 970) 'Consensus:', + probricons72h(1), '%', probricons72h(2), '%', + probricons72h(3), '%', probricons72h(4), '%', + probricons72h(5), '%', probricons72h(6), '%', + probricons72h(7), '%', probricons72h(8), '%' c 608 format(1x, a12,2x, 8(a7,1x)) 305 format(1x, a13, 8(2x, f5.1,a1)) 970 format(a13,1x,8(2x,f5.1,a1)) c return end