← Back to Documentation Home
CCPP SciDoc v8.0.0  v8.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
module_mp_radar Module Reference

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
 
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)
 

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.
 
double precision, parameter melt_outside_g = 0.9d0
 

Detailed Description

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.

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.

Function/Subroutine Documentation

◆ radar_init()

subroutine, public module_mp_radar::radar_init

Definition at line 72 of file module_mp_radar.F90.

◆ rayleigh_soak_wetgraupel()

subroutine, public module_mp_radar::rayleigh_soak_wetgraupel ( double precision, intent(in)  x_g,
double precision, intent(in)  a_geo,
double precision, intent(in)  b_geo,
double precision, intent(in)  fmelt,
double precision, intent(in)  meltratio_outside,
complex*16, intent(in)  m_w,
complex*16, intent(in)  m_i,
double precision, intent(in)  lambda,
double precision, intent(out)  c_back,
character(len=*), intent(in)  mixingrule,
character(len=*), intent(in)  matrix,
character(len=*), intent(in)  inclusion,
character(len=*), intent(in)  host,
character(len=*), intent(in)  hostmatrix,
character(len=*), intent(in)  hostinclusion 
)

Definition at line 265 of file module_mp_radar.F90.

Variable Documentation

◆ basis

double precision, dimension(3), parameter, public module_mp_radar::basis = (/1.d0/3.d0, 4.d0/3.d0, 1.d0/3.d0/)

Definition at line 46 of file module_mp_radar.F90.

◆ hostinclusionstring_g

character(len=slen), public module_mp_radar::hostinclusionstring_g

Definition at line 55 of file module_mp_radar.F90.

◆ hostinclusionstring_s

character(len=slen), public module_mp_radar::hostinclusionstring_s

Definition at line 55 of file module_mp_radar.F90.

◆ hostmatrixstring_g

character(len=slen), public module_mp_radar::hostmatrixstring_g

Definition at line 55 of file module_mp_radar.F90.

◆ hostmatrixstring_s

character(len=slen), public module_mp_radar::hostmatrixstring_s

Definition at line 55 of file module_mp_radar.F90.

◆ hoststring_g

character(len=slen), public module_mp_radar::hoststring_g

Definition at line 55 of file module_mp_radar.F90.

◆ hoststring_s

character(len=slen), public module_mp_radar::hoststring_s

Definition at line 55 of file module_mp_radar.F90.

◆ inclusionstring_g

character(len=slen), public module_mp_radar::inclusionstring_g

Definition at line 55 of file module_mp_radar.F90.

◆ inclusionstring_s

character(len=slen), public module_mp_radar::inclusionstring_s

Definition at line 55 of file module_mp_radar.F90.

◆ k_w

double precision, public module_mp_radar::k_w

Definition at line 43 of file module_mp_radar.F90.

◆ lamda4

double precision, public module_mp_radar::lamda4

Definition at line 43 of file module_mp_radar.F90.

◆ lamda_radar

double precision, parameter, public module_mp_radar::lamda_radar = 0.10

Definition at line 42 of file module_mp_radar.F90.

◆ m_i_0

complex*16, public module_mp_radar::m_i_0

Definition at line 44 of file module_mp_radar.F90.

◆ m_w_0

complex*16, public module_mp_radar::m_w_0

Definition at line 44 of file module_mp_radar.F90.

◆ matrixstring_g

character(len=slen), public module_mp_radar::matrixstring_g

Definition at line 55 of file module_mp_radar.F90.

◆ matrixstring_s

character(len=slen), public module_mp_radar::matrixstring_s

Definition at line 55 of file module_mp_radar.F90.

◆ melt_outside_g

double precision, parameter module_mp_radar::melt_outside_g = 0.9d0

Definition at line 63 of file module_mp_radar.F90.

◆ melt_outside_s

double precision, parameter module_mp_radar::melt_outside_s = 0.9d0

Single melting snow/graupel particle 90% meltwater on external sfc.

Definition at line 62 of file module_mp_radar.F90.

◆ mixingrulestring_g

character(len=slen), public module_mp_radar::mixingrulestring_g

Definition at line 55 of file module_mp_radar.F90.

◆ mixingrulestring_s

character(len=slen), public module_mp_radar::mixingrulestring_s

Definition at line 55 of file module_mp_radar.F90.

◆ nrbins

integer, parameter, public module_mp_radar::nrbins = 50

Definition at line 39 of file module_mp_radar.F90.

◆ pi5

double precision, public module_mp_radar::pi5

Definition at line 43 of file module_mp_radar.F90.

◆ simpson

double precision, dimension(nrbins+1), public module_mp_radar::simpson

Definition at line 45 of file module_mp_radar.F90.

◆ slen

integer, parameter, public module_mp_radar::slen = 20

Definition at line 54 of file module_mp_radar.F90.

◆ xam_g

real, public module_mp_radar::xam_g

Definition at line 51 of file module_mp_radar.F90.

◆ xam_r

real, public module_mp_radar::xam_r

Definition at line 49 of file module_mp_radar.F90.

◆ xam_s

real, public module_mp_radar::xam_s

Definition at line 50 of file module_mp_radar.F90.

◆ xbm_g

real, public module_mp_radar::xbm_g

Definition at line 51 of file module_mp_radar.F90.

◆ xbm_r

real, public module_mp_radar::xbm_r

Definition at line 49 of file module_mp_radar.F90.

◆ xbm_s

real, public module_mp_radar::xbm_s

Definition at line 50 of file module_mp_radar.F90.

◆ xcge

real, dimension(4), public module_mp_radar::xcge

Definition at line 48 of file module_mp_radar.F90.

◆ xcgg

real, dimension(4), public module_mp_radar::xcgg

Definition at line 48 of file module_mp_radar.F90.

◆ xcre

real, dimension(4), public module_mp_radar::xcre

Definition at line 48 of file module_mp_radar.F90.

◆ xcrg

real, dimension(4), public module_mp_radar::xcrg

Definition at line 48 of file module_mp_radar.F90.

◆ xcse

real, dimension(4), public module_mp_radar::xcse

Definition at line 48 of file module_mp_radar.F90.

◆ xcsg

real, dimension(4), public module_mp_radar::xcsg

Definition at line 48 of file module_mp_radar.F90.

◆ xdtg

double precision, dimension(nrbins), public module_mp_radar::xdtg

Definition at line 41 of file module_mp_radar.F90.

◆ xdts

double precision, dimension(nrbins), public module_mp_radar::xdts

Definition at line 41 of file module_mp_radar.F90.

◆ xmu_g

real, public module_mp_radar::xmu_g

Definition at line 51 of file module_mp_radar.F90.

◆ xmu_r

real, public module_mp_radar::xmu_r

Definition at line 49 of file module_mp_radar.F90.

◆ xmu_s

real, public module_mp_radar::xmu_s

Definition at line 50 of file module_mp_radar.F90.

◆ xoamg

real, public module_mp_radar::xoamg

Definition at line 51 of file module_mp_radar.F90.

◆ xoams

real, public module_mp_radar::xoams

Definition at line 50 of file module_mp_radar.F90.

◆ xobmg

real, public module_mp_radar::xobmg

Definition at line 51 of file module_mp_radar.F90.

◆ xobmr

real, public module_mp_radar::xobmr

Definition at line 49 of file module_mp_radar.F90.

◆ xobms

real, public module_mp_radar::xobms

Definition at line 50 of file module_mp_radar.F90.

◆ xocmg

real, public module_mp_radar::xocmg

Definition at line 51 of file module_mp_radar.F90.

◆ xocms

real, public module_mp_radar::xocms

Definition at line 50 of file module_mp_radar.F90.

◆ xogg2

real, public module_mp_radar::xogg2

Definition at line 52 of file module_mp_radar.F90.

◆ xorg2

real, public module_mp_radar::xorg2

Definition at line 52 of file module_mp_radar.F90.

◆ xosg2

real, public module_mp_radar::xosg2

Definition at line 52 of file module_mp_radar.F90.

◆ xxdg

double precision, dimension(nrbins), public module_mp_radar::xxdg

Definition at line 41 of file module_mp_radar.F90.

◆ xxds

double precision, dimension(nrbins), public module_mp_radar::xxds

Definition at line 41 of file module_mp_radar.F90.

◆ xxdx

double precision, dimension(nrbins+1), public module_mp_radar::xxdx

Definition at line 40 of file module_mp_radar.F90.