function get_cifelli_rainrate,dbz,zdr,kdp,rhv,hid,method,MISSING=missing ;+ ; Function that accepts DP radar parameters and returns the respective ; rain rate (and method) using the algorithm by Cifelli et al. 2011 (CSU-IC) ; "A New Dual-Polarization Radar Rainfall Algorithm: Application in ; Colorado Precipitation Events", 2011, JTECH, 28, 352-364. ; ; *** Check to see if the HID is ice species or liquid species. ; *** If ice, then do not calculate RR at this bin. ; *** -1: Bad Data ; *** 0: Unclassified [UC] ; *** 1: Drizzle [DZ] ; *** 2: Rain [RN] ; *** 3: Ice Crystals [CR] ; *** 4: Dry Snow [DS] ; *** 5: Wet Snow [WS] ; *** 6: Vertical Ice [VI] ; *** 7: Low Den Graup [LDG] ; *** 8: Hi Den Graup [HDG] ; *** 9: Hail [HA] ; *** 10: Big Drops [BD] if(NOT KEYWORD_SET(MISSING)) then missing=-32767.0 if(dbz eq missing) then begin method = MISSING return,MISSING endif zlin = 10D^(0.1*dbz) R_kdp_zdr = 90.8*(kdp^0.93)*10^(-0.169*zdr) R_kdp = 40.5*kdp^0.85 R_dbz_zdr = 6.7 * 1E-3*(zlin^0.927) * 10^(-0.343*zdr) R_dbz = 0.0170*(zlin^0.7143) if(hid eq 3 or hid eq 4 or hid eq 6 or hid eq 8) then begin method = MISSING return,MISSING endif ; ; *** For rain only ; if(kdp ge 0.3 and dbz ge 38) then begin if(zdr ge 0.5) then begin method = 1 RR = R_kdp_zdr endif else begin method = 2 RR = R_kdp endelse return,RR endif else begin if(zdr ge 0.5) then begin method = 3 RR = R_dbz_zdr endif else begin method = 4 RR = R_dbz endelse return,RR endelse ; ; *** For mixed phase and hail ; if(hid eq 5 or hid eq 7 or hid eq 9) then begin if(kdp ge 0.3 and dbz ge 38) then begin RR = R_kdp method = 5 endif else begin RR = 0.5 * R_dbz method = 6 endelse return,RR endif end