function get_cif2002_rainrate,site,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] ; ; *** These are from Cifelli et al. 2011 for Great Plains ; ; 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(site eq 'PHMO' or site eq 'PHKM' or site eq 'PHWA' or site eq 'PHKI') then begin ; ; *** Harvey ZR ; print,'RC Harvey ZR' ; R_dbz = 0.01*(zlin^0.833) ; end if(NOT KEYWORD_SET(MISSING)) then missing=-32767.0 if(dbz eq missing) then begin method = MISSING ret=[MISSING, MISSING] print,ret return,ret endif ; ; *** These are from Cifelli et al. 2002 for LBA ; zlin = 10D^(0.1*dbz) R_kdp_zdr = 87.6*(kdp^0.934)*10^(-0.159*zdr) R_dbz_zdr = 6.7 * 1E-3*(zlin^0.927) * 10^(-0.3433*zdr) R_kdp = 53.8*kdp^0.85 R_dbz = 0.02180*(zlin^0.7) ; if(site eq 'PHMO' or site eq 'PHKM' or site eq 'PHWA' or site eq 'PHKI') then begin ; if(site eq 'KLTX' or site eq 'KRAX' or site eq 'KMHX') then begin ; if(site eq 'KEVX' or site eq 'KMXX' or site eq 'KJGX') then begin ; ; *** Harvey ZR ; print,'RC Harvey ZR' ; R_dbz = 0.01*(zlin^0.833) ; end if(hid eq 3 or hid eq 4 or hid eq 6 or hid eq 8) then begin method = MISSING ret=[MISSING, MISSING] ; print,ret return,ret endif ; ; *** For rain only ; if(kdp ge 1.0 and dbz ge 35) then begin if(zdr ge 0.5) then begin method = 1 RR = R_kdp_zdr endif else begin method = 2 RR = R_kdp endelse ret=[RR, method] ; print,ret return,ret endif else begin if(dbz gt missing) then begin if(zdr ge 0.5) then begin method = 3 RR = R_dbz_zdr endif else begin method = 4 RR = R_dbz endelse endif else begin method = MISSING RR = 0 endelse ret=[RR, method] ; print,ret return,ret endelse end