This module is more library code whereas the individual microphysics schemes contains specific details needed for the final computation, so refer to location within each schemes calling the routine named rayleigh_soak_wetgraupel. More...
Functions/Subroutines | |
subroutine, public | radar_init |
complex *16 function, private | m_complex_water_ray (lambda, T) |
complex *16 function, private | m_complex_ice_maetzler (lambda, T) |
subroutine, public | rayleigh_soak_wetgraupel (x_g, a_geo, b_geo, fmelt, meltratio_outside, m_w, m_i, lambda, C_back, mixingrule, matrix, inclusion, host, hostmatrix, hostinclusion) |
ingroup thompson_radar More... | |
complex *16 function, private | get_m_mix_nested (m_a, m_i, m_w, volair, volice, volwater, mixingrule, host, matrix, inclusion, hostmatrix, hostinclusion, cumulerror) |
complex *16 function, private | get_m_mix (m_a, m_i, m_w, volair, volice, volwater, mixingrule, matrix, inclusion, error) |
complex *16 function, private | m_complex_maxwellgarnett (vol1, vol2, vol3, m1, m2, m3, inclusion, error) |
real function, private | gammln (XX) |
real function, private | wgamma (y) |
Variables | |
integer, parameter, public | nrbins = 50 |
double precision, dimension(nrbins+1), public | xxdx |
double precision, dimension(nrbins), public | xxds |
double precision, dimension(nrbins), public | xdts |
double precision, dimension(nrbins), public | xxdg |
double precision, dimension(nrbins), public | xdtg |
double precision, parameter, public | lamda_radar = 0.10 |
double precision, public | k_w |
double precision, public | pi5 |
double precision, public | lamda4 |
complex *16, public | m_w_0 |
complex *16, public | m_i_0 |
double precision, dimension(nrbins+1), public | simpson |
double precision, dimension(3), parameter, public | basis = (/1.d0/3.d0, 4.d0/3.d0, 1.d0/3.d0/) |
real, dimension(4), public | xcre |
real, dimension(4), public | xcse |
real, dimension(4), public | xcge |
real, dimension(4), public | xcrg |
real, dimension(4), public | xcsg |
real, dimension(4), public | xcgg |
real, public | xam_r |
real, public | xbm_r |
real, public | xmu_r |
real, public | xobmr |
real, public | xam_s |
real, public | xbm_s |
real, public | xmu_s |
real, public | xoams |
real, public | xobms |
real, public | xocms |
real, public | xam_g |
real, public | xbm_g |
real, public | xmu_g |
real, public | xoamg |
real, public | xobmg |
real, public | xocmg |
real, public | xorg2 |
real, public | xosg2 |
real, public | xogg2 |
integer, parameter, public | slen = 20 |
character(len=slen), public | mixingrulestring_s |
character(len=slen), public | matrixstring_s |
character(len=slen), public | inclusionstring_s |
character(len=slen), public | hoststring_s |
character(len=slen), public | hostmatrixstring_s |
character(len=slen), public | hostinclusionstring_s |
character(len=slen), public | mixingrulestring_g |
character(len=slen), public | matrixstring_g |
character(len=slen), public | inclusionstring_g |
character(len=slen), public | hoststring_g |
character(len=slen), public | hostmatrixstring_g |
character(len=slen), public | hostinclusionstring_g |
double precision, parameter | melt_outside_s = 0.9d0 |
Single melting snow/graupel particle 90% meltwater on external sfc. More... | |
double precision, parameter | melt_outside_g = 0.9d0 |
The bulk of this code originated from Ulrich Blahak (Germany) and was adapted to WRF by G. Thompson. This version of code is only intended for use when Rayleigh scattering principles dominate and is not intended for wavelengths in which Mie scattering is a significant portion. Therefore, it is well-suited to use with 5 or 10 cm wavelength like USA NEXRAD radars. This code makes some rather simple assumptions about water coating on outside of frozen species (snow/graupel). Fraction of meltwater is simply the ratio of mixing ratio below melting level divided by mixing ratio at level just above highest T>0C. Also, immediately 90% of the melted water exists on the ice's surface and 10% is embedded within ice. No water is "shed" at all in these assumptions. The code is quite slow because it does the reflectivity calculations based on 50 individual size bins of the distributions.