.
Non-equilibrium cloud formation
CloudMicrophysics.MicrophysicsNonEq — Module
Non-equilibrium bulk microphysics scheme, which includes:- condensation and evaporation of cloud liquid water and deposition and sublimation of cloud ice (relaxation to equilibrium)
CloudMicrophysics.MicrophysicsNonEq.τ_relax — Function
τ_relax(liquid)
τ_relax(ice)liquidorice- a type for cloud liquid water or ice
Returns the relaxation timescale for condensation and evaporation of cloud liquid water or the relaxation timescale for sublimation and deposition of cloud ice.
CloudMicrophysics.MicrophysicsNonEq.conv_q_vap_to_q_lcl_icl — Function
conv_q_vap_to_q_lcl_icl(params, q_sat, q_lcl)
conv_q_vap_to_q_lcl_icl(params, q_sat, q_icl)params- a struct with cloud water or ice free parametersq_sat- liquid water or ice equilibrium specific contentsq_lcl,q_icl- current cloud liquid water or cloud ice specific contants
Returns the cloud liquid water tendency due to condensation and evaporation or cloud ice tendency due to sublimation and vapor deposition. The tendency is obtained assuming a relaxation to equilibrium with a constant timescale and is based on the difference between specific contents in equilibrium at the current temperature and the current cloud condensate.
CloudMicrophysics.MicrophysicsNonEq.conv_q_vap_to_q_lcl_icl_MM2015 — Function
conv_q_vap_to_q_lcl_icl_MM2015(params, tps, q_tot, q_lcl, q_icl, q_rai, q_sno, ρ, T)params- a struct with cloud liquid water or ice free parameterstps- thermodynamics parameters structq_tot,q_lcl,q_icl,q_rai,q_sno- specific contents of total water, cloud liquid water and ice, rain and snow,ρ- air density [kg/m3]T- air temperature [K]
Returns the cloud liquid water tendency due to condensation and evaporation or cloud ice tendency due to sublimation and vapor deposition. The formulation is based on Morrison and Grabowski 2008 and Morrison and Milbrandt 2015.
It does NOT screen for small or negative values for humidities, so we suggest applying a limiter of choice to this function, when running it in a model.
CloudMicrophysics.MicrophysicsNonEq.terminal_velocity — Function
terminal_velocity(sediment, vel, ρ, q)sediment- a struct with sedimentation type (cloud liquid or ice)vel- a struct with terminal velocity parametersρₐ- air densityq- cloud liquid water or ice specific content
Returns the mass weighted average terminal velocity assuming a monodisperse size distribution with prescribed number concentration. The fall velocity of individual particles is parameterized following Chen et. al 2022, DOI: 10.1016/j.atmosres.2022.106171
0-moment precipitation microphysics
CloudMicrophysics.Microphysics0M — Module
Microphysics0MZero-moment bulk microphysics scheme that instantly removes moisture above certain threshold. This is equivalent to instanteneous conversion of cloud condensate into precipitation and precipitation fallout with infinite terminal velocity.
CloudMicrophysics.Microphysics0M.remove_precipitation — Function
remove_precipitation(params_0M, q_lcl, q_icl; q_vap_sat)
remove_precipitation(params_0M, q; q_vap_sat)params_0M- a struct with 0-moment parametersq- Thermodynamics PhasePartition struct (deprecated)q_lclandq_iclcloud liquid water and cloud ice specific contentsq_vap_sat- specific humidity at saturation
Returns the tota water (q_tot) tendency due to the removal of precipitation. The tendency is obtained assuming a relaxation with a constant timescale to a state with precipitable water removed. The threshold for when to remove q_tot is defined either by the condensate specific content or supersaturation. The thresholds and the relaxation timescale are defined Parameters0M struct.
1-moment precipitation microphysics
CloudMicrophysics.Microphysics1M — Module
One-moment bulk microphysics scheme, which includes:- terminal velocity of precipitation
- autoconversion of cloud liquid water into rain and of cloud ice into snow
- accretion due to collisions between categories of condensed species
- evaporation and sublimation of hydrometeors
- melting of snow into rain
CloudMicrophysics.Microphysics1M.get_v0 — Function
get_v0(v, ρ)v- a struct with bulk 1-moment terminal velocity parametersρ- air density (only forRain)
Returns the proportionality coefficient in terminal velocity(r/r0).
CloudMicrophysics.Microphysics1M.get_n0 — Function
get_n0(pdf, q_sno, ρ)pdf- a struct with parameters for snow, ice, and rain size distributionq_sno- snow specific content (only forSnow)ρ- air density (only forSnow)
Returns the intercept parameter of the assumed Marshall-Palmer distribution
CloudMicrophysics.Microphysics1M.lambda_inverse — Function
lambda_inverse(pdf, mass, q, ρ)pdf,mass- structs with particle size distribution and mass parametersq- specific content of rain, cloud ice or snowρ- air density
Returns the inverse of rate parameter of the assumed size distribution of particles (rain drops, ice crystals, snow crystals). The value is clipped at 1e-8.
CloudMicrophysics.Microphysics1M.terminal_velocity — Function
terminal_velocity(precip, vel, ρ, q)precip- a struct with precipitation type (rain or snow)vel- a struct with terminal velocity parametersρ- air densityq- rain or snow specific content
Returns the mass weighted average terminal velocity assuming a Marshall-Palmer (1948) distribution of particles. Fall velocity of individual rain drops is parameterized:
- assuming an empirical power-law relations for
velocity == Blk1MVelType - following Chen et. al 2022, DOI: 10.1016/j.atmosres.2022.106171, for
velocity == Chen2022VelType
CloudMicrophysics.Microphysics1M.conv_q_lcl_to_q_rai — Function
conv_q_lcl_to_q_rai(acnv, q_lcl, smooth_transition)acnv- 1M autoconversion parametersq_lcl- cloud liquid water specific contentsmooth_transition- a flag to switch on smoothing
Returns the q_rai tendency due to collisions between cloud droplets (autoconversion), parametrized following Kessler (1995).
CloudMicrophysics.Microphysics1M.conv_q_icl_to_q_sno_no_supersat — Function
conv_q_icl_to_q_sno_no_supersat(acnv, q_icl, smooth_transition)acnv- 1M autoconversion parametersq_icl- cloud ice specific contentsmooth_transition- a flag to switch on smoothing
Returns the q_sno tendency due to autoconversion from cloud ice. This is a simplified version of a snow autoconversion rate that can be used in simulations where there is no supersaturation (for example in TC.jl when using saturation adjustment).
CloudMicrophysics.Microphysics1M.conv_q_icl_to_q_sno — Function
conv_q_icl_to_q_sno(ice, aps, tps, q_tot, q_lcl, q_icl, q_rai, q_sno, ρ, T)ice- a struct with ice parametersaps- a struct with air propertiestps- a struct with thermodynamics parametersq_tot- total water specific contentq_lcl- cloud liquid water specific contentq_icl- cloud ice specific contentq_rai- rain specific contentq_sno- snow specific contentρ- air densityT- air temperature
Returns the q_sno tendency due to autoconversion from ice. Parameterized following Harrington et al. (1996) and Kaul et al. (2015).
CloudMicrophysics.Microphysics1M.accretion — Function
accretion(cloud, precip, vel, ce, q_clo, q_pre, ρ)cloud- type for cloud water or cloud iceprecip- type for rain or snowvel- a struct with terminal velocity parametersce- collision efficiency parametersq_clo- cloud liquid water or cloud ice specific contentq_pre- rain water or snow specific contentρ- air density
Returns the source of precipitating water (rain or snow) due to collisions with cloud water (liquid or ice).
CloudMicrophysics.Microphysics1M.accretion_rain_sink — Function
accretion_rain_sink(rain, ice, vel, ce, q_icl, q_rai, ρ)rain- rain type parametersice- ice type parametersvel- terminal velocity parameters for raince- collision efficiency parametersq_icl- cloud ice specific contentq_rai- rain water specific contentρ- air density
Returns the sink of rain water (partial source of snow) due to collisions with cloud ice.
CloudMicrophysics.Microphysics1M.accretion_snow_rain — Function
accretion_snow_rain(ce, type_i, type_j, blk1m_type_i, blk1m_type_j, q_i, q_j, ρ)ce- collision efficiency parametersi- snow for temperatures below freezing or rain for temperatures above freezingj- rain for temperatures below freezing or snow for temperatures above freezingtype_i,type_j- a type for snow or rainblk1mveltype_ti,blk1mveltype_tj- 1M terminal velocity parametersq_- specific content of snow or rainρ- air density
Returns the accretion rate between rain and snow. Collisions between rain and snow result in snow at temperatures below freezing and in rain at temperatures above freezing.
CloudMicrophysics.Microphysics1M.evaporation_sublimation — Function
evaporation_sublimation(params, vel, aps, tps, q_tot, q_lcl, q_icl, q_rai, q_snow, ρ, T)params- a struct with rain or snow parametersvel- a struct with terminal velocity parametersaps- a struct with air parameterstps- a struct with thermodynamics parametersq_tot- total water specific contentq_lcl- cloud liquid water specific contentq_icl- cloud ice specific contentq_rai- rain specific contentq_sno- snow specific contentρ- air densityT- air temperature
Returns the tendency due to rain evaporation or snow sublimation.
CloudMicrophysics.Microphysics1M.snow_melt — Function
snow_melt(snow, vel, aps, tps, q_sno, ρ, T)snow- snow parametersvel- terminal velocity parametersaps- air propertiestps- thermodynamics parametersq_sno- snow water specific contentρ- air densityT- air temperature
Returns the tendency due to snow melt.
2-moment precipitation microphysics
CloudMicrophysics.Microphysics2M — Module
Double-moment bulk microphysics parametrizations including:
- autoconversion, accretion, self-collection, breakup, mean terminal velocity of raindrops, and rain evaporation rates from Seifert and Beheng 2006.
- number concentration adjustment from Horn 2012.
- additional double-moment bulk microphysics autoconversion and accretion rates from: Khairoutdinov and Kogan 2000, Beheng 1994, Tripoli and Cotton 1980, and Liu and Daum 2004.
Size distributions
Parameters
CloudMicrophysics.Microphysics2M.pdf_cloud_parameters — Function
pdf_cloud_parameters(pdf_c, q, ρₐ, N)Return the parameters of the size distribution of cloud particles in terms of diameter.
The size distribution is given by:
n(D) = N₀c * D^νcD * exp(-λc * D^μcD)where
νcD = 3νc + 2μcD = 3μc
Arguments
pdf_c: Size distribution parameters for cloud droplets,CMP.CloudParticlePDF_SB2006q: Liquid mass content [kg/kg]ρₐ: Air density [kg/m³]N: Number concentration of the particle [1/m³]
Returns
(logN₀c, λc, νcD, μcD): Parameters of the generalized gamma distribution in terms of diameter
CloudMicrophysics.Microphysics2M.pdf_rain_parameters — Function
pdf_rain_parameters(pdf_r, qᵣ, ρₐ, Nᵣ)Return the parameters of the rain drop diameter distribution
n_r(D) = N_0 * exp(- D / Dr_mean)where
Dis the diameter of the raindrop,N_0[1/m³] is the number concentration of raindrops,Dr_mean[m] is the mean diameter of the raindrops.
Note: in SB2006, Eq. (83) the distribution is given as:
f(D) = N_0 * exp(- λ_r D)where λ_r ≡ 1 / Dr_mean [1/m] is the inverse of the mean diameter of the raindrops.
Arguments
pdf_r: struct containing size distribution parameters for rain. Can either beCMP.RainParticlePDF_SB2006_notlimitedorCMP.RainParticlePDF_SB2006_limited. For the latter, the values forN_0,Dr_mean, andxr_meanare limited to be within provided ranges.qᵣ: mass of rain water [kg]ρₐ: air density [kg/m³]Nᵣ: number of rain drops [1/m³]
Returns
- A
NamedTuplewith the fields(; N₀r, Dr_mean, xr_mean)
CloudMicrophysics.Microphysics2M.pdf_cloud_parameters_mass — Function
pdf_cloud_parameters_mass(pdf_c, q, ρₐ, N)Return the parameters of the size distribution of cloud particles in terms of mass.
See log_pdf_cloud_parameters_mass for more details.
CloudMicrophysics.Microphysics2M.pdf_rain_parameters_mass — Function
pdf_rain_parameters_mass(pdf_r::CMP.RainParticlePDF_SB2006, qᵣ, ρₐ, Nᵣ)Return the parameters of the rain drop diameter distribution in terms of mass.
As a function of diameter, the size distribution is given by:
n(D) = N₀r * exp(-D / Dr_mean)In terms of mass (x), the size distribution is given by:
f(x) = n(D(x)) * ∂D∂x(x)
= N₀ * exp(-D(x) / Dr_mean) * 2 / (π * ρw) * x^(-2/3)
= N₀ * 2 / (π * ρw) * x^(-2/3) * exp(- (6 / (π * ρw))^(1/3) / Dr_mean * x^(1/3))where
D(x) = (6x / (π * ρw))^(1/3)is the diameter of a raindrop of massx.∂D∂x(x) = (6 / (π * ρw))^(1/3) * x^(-2/3)is the derivative of the diameter with respect to the mass.
If we write the general form of the size distribution as:
f(x) = A * x^ν * exp(-B * x^μ)then we have that:
A = N₀ * 2 / (π * ρw)B = (6 / (π * ρw))^(1/3) / Dr_meanν = -2/3μ = 1/3
CloudMicrophysics.Microphysics2M.log_pdf_cloud_parameters_mass — Function
log_pdf_cloud_parameters_mass(pdf_c, q, ρₐ, N)Return the log of the parameters of the generalized gamma distribution of the form
f(x) = A * x^ν * exp(-B * x^μ), [Eq. (79) in Seifert and Beheng 2006, but using the symbol `B` instead of `λ`]where
B = [ x̄ Γ(z₁) / Γ(z₂) ]^(-μ)
A = μ N B^(z₁) / Γ(z₁)
z₁ = (ν + 1) / μ
z₂ = (ν + 2) / μThat is,
log(B) = - μ [ log(x̄) + logΓ(z₁) - logΓ(z₂) ]
log(A) = log(μ) + log(N) + z₁ * log(B) - logΓ(z₁)Arguments
pdf_c: Size distribution parameters for cloud droplets,CMP.CloudParticlePDF_SB2006q: Liquid mass content [kg/kg]ρₐ: Air density [kg/m³]N: Number concentration of the particle [1/m³]
Returns
(logA, logB): Log of the parameters of the generalized gamma distribution
Size distributions
CloudMicrophysics.DistributionTools.size_distribution — Method
size_distribution(pdf::CMP.RainParticlePDF_SB2006, q, ρₐ, N)Return n(D), a function that computes the size distribution for rain particles at diameter D
Arguments
pdf: Rain size distribution parameters,CMP.RainParticlePDF_SB2006q: Rain water specific content [kg/kg]ρₐ: Density of air [kg/m³]N: Rain water number concentration [1/m³]
CloudMicrophysics.DistributionTools.size_distribution — Method
size_distribution(pdf::CMP.CloudParticlePDF_SB2006, q, ρₐ, N)Return n(D), a function that computes the size distribution for cloud particles at diameter D
The size distribution is given by:
n(D) = N₀c * D^(3νc + 2) * exp(-λc * D^(3μc))Arguments
pdf: Cloud size distribution parameters,CMP.CloudParticlePDF_SB2006q: Cloud water specific content [kg/kg]ρₐ: Density of air [kg/m³]N: Cloud water number concentration [1/m³]
CloudMicrophysics.Microphysics2M.size_distribution_value — Function
size_distribution_value(pdf, q, ρₐ, N, D)Return the size distribution value for a cloud or rain particle of diameter D.
See size_distribution for more details.
CloudMicrophysics.Microphysics2M.get_size_distribution_bounds — Function
get_size_distribution_bounds(pdf, q, ρₐ, N, p)Return the minimum and maximum diameters of a cloud or rain particle such that the size distribution is within (1 - p) to (p) probability of the true size distribution.
Arguments
pdf: Size distribution parameters for cloud or rain,CMP.RainParticlePDF_SB2006orCMP.CloudParticlePDF_SB2006q: mass mixing ratio of cloud or rain waterρₐ: density of airN: number mixing ratio of cloud or rainp: probability level (0 ≤ p ≤ 1)
Returns
D_min, D_max: minimum and maximum diameters of a cloud or rain particle such that the size distribution is within (1 - p) to (p) probability of the true size distribution. All inputs and output diameters are in base SI units. The bounds are calculated through quantile functions of the size distribution.
Rates
CloudMicrophysics.Microphysics2M.LclRaiRates — Type
A structure containing the rates of change of the specific contents and number densities of cloud liquid water and rain water.
CloudMicrophysics.Microphysics2M.autoconversion — Function
autoconversion(acnv, pdf_c, q_lcl, q_rai, ρ, N_lcl)Compute autoconversion rates
Arguments
acnv: Autoconversion parameters,CMP.AcnvSB2006pdf_c: Cloud size distribution parameters,CMP.CloudParticlePDF_SB2006q_lcl: Cloud liquid water specific content [kg/kg]q_rai: Rain water specific content [kg/kg]ρ: Air density [kg/m³]N_lcl: Cloud droplet number density [1/m³]
Returns
LclRaiRateswithq_lcl,N_lcl,q_rai,N_raitendencies due to collisions between cloud droplets (autoconversion)
CloudMicrophysics.Microphysics2M.accretion — Function
accretion(accr, q_lcl, q_rai, ρ, N_lcl)Compute accretion rate
Arguments
accr: Accretion parameters,CMP.AccrSB2006q_lcl: Cloud liquid water specific content [kg/kg]q_rai: Rain water specific content [kg/kg]ρ: Air density [kg/m³]N_lcl: Cloud droplet number density [1/m³]
Returns
LclRaiRateswithq_lcl,N_lcl,q_rai,N_raitendencies due to collisions between raindrops and cloud droplets (accretion)
accretion(accretion_scheme, q_lcl, q_rai, ρ)accretion_scheme- type for 2-moment rain accretion parameterizationq_lcl- cloud liquid water specific contentq_rai- rain water specific contentρ- air density (forKK2000TypeandBeheng1994Type)
Returns the accretion rate of rain, parametrized following
- Khairoutdinov and Kogan (2000) for
scheme == KK2000Type - Beheng (1994) for
scheme == B1994Type - Tripoli and Cotton (1980) for
scheme == TC1980Type
CloudMicrophysics.Microphysics2M.cloud_liquid_self_collection — Function
cloud_liquid_self_collection(acnv, pdf_c, q_lcl, ρ, dN_lcl_dt_au)Compute cloud liquid self-collection rate
Arguments
acnv: 2-moment autoconversion parameterization,CMP.AcnvSB2006pdf_c: Cloud size distribution parameters,CMP.CloudParticlePDF_SB2006q_lcl: Cloud liquid water specific content [kg/kg]ρ: Air density [kg/m³]dN_lcl_dt_au: Rate of change of cloud droplets number density due to autoconversion [1/m³/s]
Returns
- The cloud droplets number density tendency due to collisions of cloud droplets that produce larger cloud droplets (self-collection)
CloudMicrophysics.Microphysics2M.autoconversion_and_cloud_liquid_self_collection — Function
autoconversion_and_cloud_liquid_self_collection(scheme, q_lcl, q_rai, ρ, N_lcl)Compute autoconversion and cloud liquid self-collection rates
Arguments
scheme: 2-moment rain autoconversion parameterization,CMP.SB2006q_lcl: Cloud liquid water specific content [kg/kg]q_rai: Rain water specific content [kg/kg]ρ: Air density [kg/m³]N_lcl: Cloud droplet number density [1/m³]
Returns
(au, sc): ANamedTuplecontaining the autoconversion rate and the cloud liquid self-collection rate.
CloudMicrophysics.Microphysics2M.rain_self_collection — Function
rain_self_collection(pdf, self, q_rai, ρ, N_rai)Compute the rain self-collection rate
Arguments
pdf: Rain size distribution parameters,CMP.RainParticlePDF_SB2006self: Rain self-collection parameters,CMP.SelfColSB2006q_rai: Rain water specific content [kg/kg]ρ: Air density [kg/m³]N_rai: Raindrops number density [1/m³]
Returns
- The raindrops number density tendency due to collisions of raindrops that produce larger raindrops (self-collection).
CloudMicrophysics.Microphysics2M.rain_breakup — Function
rain_breakup(pdf, brek, q_rai, ρ, N_rai, dN_rai_dt_sc)Compute the raindrops number density tendency due to breakup of raindrops
Arguments
pdf: Rain size distribution parameters,CMP.RainParticlePDF_SB2006brek: Rain breakup parameters,CMP.BreakupSB2006q_rai: Rain water specific contentρ: Air densityN_rai: Raindrops number densitydN_rai_dt_sc: Rate of change of raindrops number density due to self-collection
Returns
- The raindrops number density tendency due to breakup of raindrops that produce smaller raindrops
CloudMicrophysics.Microphysics2M.rain_self_collection_and_breakup — Function
rain_self_collection_and_breakup(params, q_rai, ρ, N_rai)Compute the raindrops self-collection and breakup rates.
Arguments
params: 2-moment rain size distribution parameters,CMP.SB2006including raindrop size distribution, self collection, and breakup parametersq_rai: Rain water specific contentρ: Air densityN_rai: Raindrops number density
Returns
(sc, br): ANamedTuplecontaining the raindrops self-collection and breakup rates, respectively.
CloudMicrophysics.Microphysics2M.rain_terminal_velocity — Function
rain_terminal_velocity(SB2006, vel, q_rai, ρ, N_rai)Compute the raindrops terminal velocity.
Arguments
pdf_r: Rain size distribution parameters,CMP.RainParticlePDF_SB2006vel: Terminal velocity parameters,CMP.Chen2022VelTypeRainq_rai: Rain water specific contentρ: Air densityN_rai: Raindrops number density
Returns
A tuple containing the number and mass weigthed mean fall velocities of raindrops in [m/s]. Assuming an exponential size distribution from Seifert and Beheng 2006 for scheme == SB2006Type Fall velocity of individual rain drops is parameterized:
- assuming an empirical relation similar to Rogers (1993) for
velo_scheme == SB2006VelType - following Chen et. al 2022, DOI: 10.1016/j.atmosres.2022.106171 for
velo_scheme == Chen2022Type
CloudMicrophysics.Microphysics2M.rain_evaporation — Function
rain_evaporation(evap, aps, tps, q_tot, q_lcl, q_icl, q_rai, q_sno, ρ, N_rai, T)evap- evaporation parameterization schemeaps- air propertiestps- thermodynamics parametersq_tot,q_lcl,q_icl,q_rai,q_sno- total water, cloud liquid water, cloud ice, rain and snow specific contents,ρ- air densityN_rai- raindrops number densityT- air temperature
Returns a named tuple containing the tendency of raindrops number density and rain water specific content due to rain rain_evaporation, assuming a power law velocity relation for fall velocity of individual drops and an exponential size distribution, for scheme == SB2006Type
CloudMicrophysics.Microphysics2M.conv_q_lcl_to_q_rai — Function
conv_q_lcl_to_q_rai(acnv, q_lcl, ρ, N_d; smooth_transition)acnv- 2-moment rain autoconversion parameterizationq_lcl- cloud liquid water specific contentρ- air densityN_d- prescribed cloud droplet number concentration
Returns the q_rai tendency due to collisions between cloud droplets (autoconversion), parametrized following:
- Khairoutdinov and Kogan (2000) for
scheme == KK2000Type - Beheng (1994) for
scheme == B1994Type - Tripoli and Cotton (1980) for
scheme == TC1980Type - Liu and Daum (2004) for
scheme ==LD2004Type
The Beheng1994Type, TC1980Type and LD2004Type of schemes additionally accept smooth_transition flag that smoothes their thershold behaviour if set to true. The default value is false.
CloudMicrophysics.Microphysics2M.number_increase_for_mass_limit — Function
number_increase_for_mass_limit(numadj, x_max, q, ρ, N)Compute the tendency (rate of change) of number concentration N required to ensure that the mean particle mass x = ρq / N does not exceed the upper limit x_max. Returns a positive tendency when the mean mass is too high (x > x_max), and zero otherwise. The method is based on Horn (2012, DOI: 10.5194/gmd-5-345-2012).
Arguments
numadj: Number concentration adjustment parameters (CMP.NumberAdjustmentHorn2012)q: Mass mixing ratio [kg/kg]ρ: Air density [kg/m³]N: Number concentration [1/m³]x_max: Maximum allowed mean particle mass [kg]
Returns
- The rate of change of number concentration [1/(m³·s)] needed to bring the mean mass within the upper bound.
CloudMicrophysics.Microphysics2M.number_decrease_for_mass_limit — Function
number_decrease_for_mass_limit(numadj, x_min, q, ρ, N)Compute the tendency (rate of change) of number concentration N required to ensure that the mean particle mass x = ρq / N does not fall below the lower limit x_min. Returns a negative tendency when the mean mass is too low (x < x_min), and zero otherwise. The method is based on Horn (2012, DOI: 10.5194/gmd-5-345-2012).
Arguments
numadj: Number concentration adjustment parameters (CMP.NumberAdjustmentHorn2012)q: Mass mixing ratio [kg/kg]ρ: Air density [kg/m³]N: Number concentration [1/m³]x_min: Minimum allowed mean particle mass [kg]
Returns
- The rate of change of number concentration [1/(m³·s)] needed to bring the mean mass within the lower bound.
Distribution tools for 2-moment microphysics
CloudMicrophysics.DistributionTools — Module
DistributionToolsA module containing tools for working with size distributions.
Currently, it contains tools for working with the generalized gamma distribution and the exponential distribution.
Mostly used for the 2-moment microphysics.
CloudMicrophysics.DistributionTools.generalized_gamma_quantile — Function
generalized_gamma_quantile(ν, μ, B, Y)Calculate the quantile (inverse cumulative distribution function) for a generalized gamma distribution parameterized in the form:
g(x) = A ⋅ x^ν ⋅ exp(-B ⋅ x^μ)Arguments
ν, μ, B: The PDF parametersY: The probability level (0 ≤ Y ≤ 1) for which to compute the quantile
Returns
x: The value x such that P(X ≤ x) = Y
CloudMicrophysics.DistributionTools.generalized_gamma_cdf — Function
generalized_gamma_cdf(ν, μ, B, x)Calculate the cumulative distribution function (CDF) for a generalized gamma distribution parameterized in the form:
g(x) = A * x^ν * exp(-B * x^μ)The CDF gives the probability P(X ≤ x).
Arguments
ν, μ, B: The PDF parametersx: The value at which to evaluate the CDF
Returns
p: The probability P(X ≤ x)
CloudMicrophysics.DistributionTools.exponential_cdf — Function
exponentialcdf(Dmean, D)
Calculate the cumulative distribution function (CDF) for an exponential distribution parameterized in the form:
n(D) = N₀ * exp(-D / D_mean)
where N₀ is a normalizing constant such that the total probability is 1.
Arguments
D_mean: The mean value of the distributionD: The point at which to evaluate the CDF (must be ≥ 0)
Returns
p: The probability P(X ≤ D)
CloudMicrophysics.DistributionTools.exponential_quantile — Function
exponential_quantile(D_mean, Y)Calculate the quantile (inverse cumulative distribution function) for an exponential distribution parameterized in the form:
n(D) = N₀ * exp(-D / D_mean)where N₀ is a normalizing constant such that the total probability is 1.
Arguments
Y: The probability level (0 ≤ Y ≤ 1) for which to compute the quantileD_mean: The mean value of the distribution
Returns
D: The value D such that P(X ≤ D) = Y
P3 scheme
CloudMicrophysics.P3Scheme — Module
Predicted particle properties scheme P3 for ice [23].
See online docs for more information.
Construct parameterization set
CloudMicrophysics.Parameters.ParametersP3 — Type
ParametersP3{FT}Parameters for P3 bulk microphysics scheme.
From Morrison and Milbrandt (2015) [23]
Fields
mass: Mass-size relation, e.g.MassPowerLawarea: Area-size relation, e.g.AreaPowerLawslope: Slope relation, e.g.SlopePowerLaworSlopeConstantvent: Ventilation relation, e.g.VentilationFactorρ_rim_local: Local rime density, e.g.LocalRimeDensityτ_wet: Wet growth time scale [s]ρ_i: Cloud ice density [kg m⁻³]ρ_l: Cloud liquid water density [kg m⁻³]T_freeze: Water freeze temperature [K]
CloudMicrophysics.Parameters.ParametersP3 — Method
ParametersP3(FT)Create a ParametersP3 object from a floating point type FT.
Examples
julia> import CloudMicrophysics.Parameters as CMP
julia> CMP.ParametersP3(Float64)
ParametersP3{Float64}
├── mass: MassPowerLaw
│ ├── α_va = 0.018537721864540644 [kg μm^(-β_va)]
│ └── β_va = 1.9 [-]
├── area: AreaPowerLaw
│ ├── γ = 0.2285 [μm^(2-σ)]
│ └── σ = 1.88 [-]
├── slope: SlopePowerLaw
│ ├── a = 0.00191 [m^b]
│ ├── b = 0.8 [-]
│ ├── c = 2.0 [-]
│ └── μ_max = 6.0 [-]
├── vent: VentilationFactor
│ ├── aᵥ = 0.78 [-]
│ └── bᵥ = 0.308 [-]
├── ρ_rim_local: LocalRimeDensity
│ ├── a = 51.0 [m^b]
│ ├── b = 114.0 [-]
│ ├── c = -5.5 [-]
│ └── ρ_ice = 916.7 [-]
├── τ_wet = 100.0 [s]
├── ρ_i = 916.7 [kg m⁻³]
├── ρ_l = 1000.0 [kg m⁻³]
└── T_freeze = 273.15 [K]CloudMicrophysics.Parameters.ParametersP3 — Method
ParametersP3(toml_dict::CP.ParamDict; [slope_law = :powerlaw])Create a ParametersP3 object from a ClimaParams TOML dictionary.
Arguments
toml_dict::CP.ParamDict: AClimaParamsTOML dictionaryslope_law: Slope law to use (:constantor, by default,:powerlaw)
Sub-parameterizations
CloudMicrophysics.Parameters.MassPowerLaw — Type
MassPowerLaw{FT}Parameters for mass(size) relation.
From measurements of mass grown by vapor diffusion and aggregation in midlatitude cirrus by Brown and Francis (1995) [24]
A part of the ParametersP3 parameter set.
The BF1995_mass_coeff_alpha parameter is provided in units of [g μm^(-β_va)] but the α_va field is stored in SI-like units of [kg m^(-β_va)] for consistency with the rest of the code.
Fields
α_va: Coefficient in mass(size) relation [kg m^(-β_va)]β_va: Coefficient in mass(size) relation [-]
CloudMicrophysics.Parameters.AreaPowerLaw — Type
AreaPowerLaw{FT}Parameters for area(size) relation.
\[A(D) = γ D^σ\]
where γ and σ are coefficients in area(size) for ice side plane, column, bullet, and planar polycrystal aggregates. Values are from Mitchell (1996) [25]
A part of the ParametersP3 parameter set.
Fields
γ: Scale [μm^(2-σ)]σ: Power [-]
CloudMicrophysics.Parameters.SlopeLaw — Type
SlopeLaw{FT}The top-level super-type for slope parameterizations.
See SlopePowerLaw and SlopeConstant for concrete implementations.
CloudMicrophysics.Parameters.SlopePowerLaw — Type
SlopePowerLaw{FT}Slope parameter μ as a power law in shape parameter λ:
\[μ(λ) = a λ^b - c\]
and is limited to:
\[0 ≤ μ ≤ μ_{max}\]
See also Eq. 3 in Morrison and Milbrandt (2015) [23]
A part of the ParametersP3 parameter set.
Fields
a: Scale [m^b]b: Power [-]c: Offset [-]μ_max: Upper limiter [-]
CloudMicrophysics.Parameters.SlopeConstant — Type
SlopeConstant{FT}Slope parameter μ as a constant:
\[μ(λ) = μ_{const}\]
A part of the ParametersP3 parameter set.
Fields
μ: Slope parameter μ [-]
CloudMicrophysics.Parameters.VentilationFactor — Type
VentilationFactor{FT}Parameters for ventilation factor:
\[F(D) = a_{v} + b_{v} N_{Sc}^{1/3} N_{Re}(D)^{1/2}\]
where N_{Sc} is the Schmidt number and N_{Re}(D) is the Reynolds number for a particle with diameter D.
From Seifert and Beheng (2006) [10], see also Eq. (13-61) in Pruppacher and Klett (2010) [65]
A part of the ParametersP3 parameter set.
Fields
aᵥ: Constant coefficient in ventilation factor [-]bᵥ: Linear coefficient in ventilation factor [-]
CloudMicrophysics.Parameters.LocalRimeDensity — Type
LocalRimeDensity{FT}
(ρ′_rim::LocalRimeDensity)(Rᵢ)Local rime density parameterization based on Cober and List (1993) [32], Eq. 16 and 17.
Given an instance ρ′_rim::LocalRimeDensity, obtain the local rime density for a given Rᵢ [m² s⁻¹ °C⁻¹] by calling ρ′_rim(Rᵢ).
The parameterization is given by:
\[ρ'_{rim} = a + b R_i + c R_i^2, \quad 1 ≤ R_i ≤ 8,\]
The range is extended to R_i ≤ 12, by linearly interpolating between ρ′_rim(8) and ρ_ice = 900 kg/m³. The latter is the solid bulk ice density.
For calculating Rᵢ, see compute_local_rime_density.
Obtain particle state
CloudMicrophysics.P3Scheme.P3State — Type
P3State{FT}State of the P3 scheme.
This struct bundles the P3 parameterizations params, the provided rime state (F_rim, ρ_rim), and the derived threshold variables (D_th, D_gr, D_cr, ρ_g).
To obtain a P3State object, use the get_state function.
Fields
params:CMP.ParametersP3objectL_ice: The ice mass concentration [kg/m³]N_ice: The ice number concentration [1/m³]F_rim: Rime mass fractionρ_rim: Rime density
CloudMicrophysics.P3Scheme.get_state — Function
get_state(params; L_ice, N_ice, F_rim, ρ_rim)Create a P3State from CMP.ParametersP3 and rime state parameters.
Arguments
params:CMP.ParametersP3object
Keyword arguments
L_ice: ice mass concentration [kg/m³]N_ice: ice number concentration [1/m³]F_rim: rime mass fraction [-],F_rim = L_rim / L_iceρ_rim: rime density [kg/m³],ρ_rim = L_rim / B_rim
Examples
```jldoctest julia> import CloudMicrophysics.Parameters as CMP, CloudMicrophysics.P3Scheme as P3
julia> FT = Float32;
julia> params = CMP.ParametersP3(FT);
julia> state = P3.getstate(params; Frim = FT(0.5), ρrim = FT(916.7)) P3State{Float32} ├── params = {MassPowerLaw, AreaPowerLaw, SlopePowerLaw, VentilationFactor} ├── Frim = 0.5 [-] └── ρ_rim = 916.7 [kg/m^3] ```
State relationships
CloudMicrophysics.P3Scheme.get_thresholds_ρ_g — Function
get_thresholds_ρ_g(state::P3State)
get_thresholds_ρ_g(params::CMP.ParametersP3, F_rim, ρ_rim)Returns
(; D_th, D_gr, D_cr, ρ_g): The thresholds for the size distribution, and the density of total (deposition + rime) ice mass for graupel [kg/m³]
See get_D_th, get_D_gr, get_D_cr, and get_ρ_g for more details.
CloudMicrophysics.P3Scheme.get_ρ_d — Function
get_ρ_d(mass::MassPowerLaw, F_rim, ρ_rim)
get_ρ_d(state::P3State)Exact solution for the density of the unrimed portion of the particle as function of the rime mass fraction F_rim, mass power law parameters mass, and rime density ρ_rim.
Arguments
mass:CMP.MassPowerLawparametersF_rim: rime mass fractionρ_rim: rime density
Returns
ρ_d: density of the unrimed portion of the particle [kg/m³]
Examples
julia> import CloudMicrophysics.Parameters as CMP,
ClimaParams as CP,
CloudMicrophysics.P3Scheme as P3
julia> FT = Float64;
julia> mass = CMP.MassPowerLaw(CP.create_toml_dict(FT));
julia> F_rim, ρ_rim = FT(0.5), FT(916.7);
julia> ρ_d = P3.get_ρ_d(mass, F_rim, ρ_rim)
488.9120789986412CloudMicrophysics.P3Scheme.get_ρ_g — Function
get_ρ_g(F_rim, ρ_rim, ρ_d)
get_ρ_g(mass::MassPowerLaw, F_rim, ρ_rim)Return the density of total (deposition + rime) ice mass for graupel [kg/m³]
Arguments
F_rim: rime mass fraction (L_rim / L_ice) [-]ρ_rim: rime density (L_rim / B_rim) [kg/m³]ρ_d: density of the unrimed portion of the particle [kg/m³], seeget_ρ_d
Returns
ρ_g: density of total (deposition + rime) ice mass for graupel [kg/m³]
Notes:
See Eq. 16 in [23].
CloudMicrophysics.P3Scheme.get_D_th — Function
get_D_th(mass::MassPowerLaw, ρ_i)Return the critical size separating spherical and nonspherical ice [meters]
See Eq. 8 in [23].
CloudMicrophysics.P3Scheme.get_D_gr — Function
get_D_gr(mass::MassPowerLaw, ρ_g)Return the size of equal mass for graupel and unrimed ice [meters]
See Eq. 15 in [23].
CloudMicrophysics.P3Scheme.get_D_cr — Function
get_D_cr(mass::MassPowerLaw, F_rim, ρ_g)Return the size of equal mass for graupel and partially rimed ice [meters]
See Eq. 14 in [23].
Derived quantities
Main particle methods
These methods are a function of the particle diameter, D.
CloudMicrophysics.P3Scheme.ice_mass — Function
ice_mass(state, D)
ice_mass(params, F_rim, ρ_rim, D)Return the mass of a particle based on where it falls in the particle-size-based properties regime.
Arguments
state: TheP3State, orparams, F_rim, ρ_rim: TheCMP.ParametersP3, rime mass fraction, and rime density,D: maximum particle dimension [m]
CloudMicrophysics.P3Scheme.ice_density — Function
ice_density(state::P3State, D)
ice_density(params::CMP.ParametersP3, F_rim, ρ_rim, D)Return the density of a particle at diameter D
Arguments
state: TheP3State, orparams, F_rim, ρ_rim: TheCMP.ParametersP3, rime mass fraction, and rime density,D: maximum particle dimension [m]
Notes:
The density of nonspherical particles is assumed to be the particle mass divided by the volume of a sphere with the same D [23]. Needed for aspect ratio calculation, so we assume zero liquid fraction.
CloudMicrophysics.P3Scheme.∂ice_mass_∂D — Function
∂ice_mass_∂D(state::P3State, D)
∂ice_mass_∂D(params::CMP.ParametersP3, F_rim, ρ_rim, D)Return the derivative of the ice mass with respect to the particle diameter.
CloudMicrophysics.P3Scheme.ice_area — Function
ice_area(state::P3State, D)
ice_area(params::CMP.ParametersP3, F_rim, ρ_rim, D)Return the cross-sectional area of a particle based on where it falls in the particle-size-based properties regime.
Arguments
state:P3Stateobject, orparams, F_rim, ρ_rim: TheCMP.ParametersP3, rime mass fraction, and rime density,D: maximum particle dimension [m]
CloudMicrophysics.P3Scheme.ϕᵢ — Function
ϕᵢ(state::P3State, D)
ϕᵢ(params::CMP.ParametersP3, F_rim, ρ_rim, D)Returns the aspect ratio (ϕ) for an ice particle
Arguments
state: TheP3State, orparams, F_rim, ρ_rim: TheCMP.ParametersP3, rime mass fraction, and rime density,D: maximum dimension of ice particle [m]
Notes
The density of nonspherical particles is assumed to be equal to the particle mass divided by the volume of a spherical particle with the same D_max [23]. Assuming zero liquid fraction and oblate shape.
Distribution parameters
CloudMicrophysics.P3Scheme.get_μ — Function
get_μ(slope::CMP.SlopeLaw, logλ)
get_μ(state::P3State, logλ)Compute the slope parameter μ
Arguments
slope:CMP.SlopeLawobject, orstate:P3Stateobject, orparams:CMP.ParametersP3objectlogλ: The log of the slope parameter [log(1/m)]
CloudMicrophysics.P3Scheme.get_logN₀ — Function
get_logN₀(N_ice, μ, logλ)Compute log(N₀) given the state, N, and logλ,
N = N₀ ∫ G(D) dD
log N₀ = log N - log(∫G(D) dD)
= log(N) - log( ∫D^μ e^{-λD} dD )
= log(N) - M⁰Arguments
N_ice: The number concentration [1/m³]μ: The shape parameter [-]logλ: The log of the slope parameter [log(1/m)]
CloudMicrophysics.P3Scheme.get_distribution_logλ — Function
get_distribution_logλ(params, L_ice, N_ice, F_rim, ρ_rim; [logλ_min, logλ_max])
get_distribution_logλ(state; [logλ_min, logλ_max])Solve for the distribution parameters given the state, and the mass (L) and number (N) concentrations.
The assumed distribution is of the form
\[N′(D) = N₀ D^μ e^{-λD}\]
where N′(D) is the number concentration at diameter D and μ is the slope parameter. The slope parameter is parameterized, e.g. CMP.SlopePowerLaw or CMP.SlopeConstant.
This algorithm solves for logλ = log(λ) and log_N₀ = log(N₀) given L_ice and N_ice by solving the equations:
\[\begin{align*} \log(L) &= \log ∫_0^∞ m(D) N′(D)\ \mathrm{d}D, \\ \log(N) &= \log ∫_0^∞ N′(D)\ \mathrm{d}D, \\ \end{align*}\]
where m(D) is the mass of a particle at diameter D (see ice_mass). The procedure is decribed in detail in the P3 docs.
Arguments
state:P3Stateobjectparams:CMP.ParametersP3objectL_ice: The mass concentration [kg/m³]N_ice: The number concentration [1/m³]F_rim: The rime mass fractionρ_rim: The rime density
Keyword arguments
logλ_min: The minimum value of the search bounds [log(1/m)], default islog(1e1)logλ_max: The maximum value of the search bounds [log(1/m)], default islog(1e7)
Distribution relationships
CloudMicrophysics.P3Scheme.logN′ice — Function
logN′ice(state, logλ)Compute the log of the ice particle number concentration at diameter D given the distribution dist
CloudMicrophysics.DistributionTools.size_distribution — Method
size_distribution(state::P3State, logλ)Return n(D), a function that computes the size distribution for ice particles at diameter D
Arguments
state: TheP3Statelogλ: The log of the slope parameter [log(1/m)]
CloudMicrophysics.P3Scheme.loggamma_inc_moment — Function
loggamma_inc_moment(D₁, D₂, μ, logλ, [k = 0], [scale = 1])Compute log(Iᵏ) where Iᵏ is the following integral:
``I^k = ∫_{D₁}^{D₂} G(D) D^k dD``$G(D) ≡ D^μ e^{-λD}$ is the (unnormalized) gamma kernel, and k is an arbitrary exponent.
If scale is provided, log(scale ⋅ Iᵏ) is returned.
With appropriate scaling, we can compute useful quantities like:
- the
k-th moment of the ice PSD, $M^k = N₀ I^k$ - combined power law and moment weighted integrals, $∫_{D₁}^{D₂} (aD^b) D^n K(D) dD ≡ a I^(b + n)$
Arguments
D₁: The minimum diameter [m]D₂: The maximum diameter [m]μ: The PSD shape parameter [-]logλ: The log of the PSD slope parameter [log(1/m)]k: An arbitrary exponent [-], default is0scale: The scale factor [-], default is1
Extended help
Implementation details
We can write ∫_D₁^D₂ G(D) D^k dD, where G(D) = D^μ e^{-λD} as: ∫_D₁^∞ G(D) D^k dD - ∫_D₂^∞ G(D) D^k dD with the transformation x = λD, and z = μ+k+1, each term can be written as: ∫_{Dᵢ}^∞ G(D) D^k dD = ∫_{λDᵢ}^∞ x^z e^{-x} dx / λ^z = Γ(z, λDᵢ) / λ^z where Γ(z, λDᵢ) = q ⋅ Γ(z) and q is the incomplete gamma function ratio given by (_, q) = SF.gamma_inc(z, x). This means that the integral ∫_{Dᵢ}^∞ G(D) D^k dD is computed as: Γ(z) ⋅ q / λ^z The full integral from D₁ to D₂ is then: Γ(z) ⋅ (q_D₁ - q_D₂) / λ^z In log-space, this is: - z log(λ) + logΓ(z) + log(q_D₁ - q_D₂)
CloudMicrophysics.P3Scheme.loggamma_moment — Function
loggamma_moment(μ, logλ; [k = 0], [scale = 1])Compute log(scale ⋅ ∫_0^∞ G(D) D^k dD), where G(D) ≡ D^μ e^{-λD} is the (unnormalized) gamma kernel, k is an arbitrary exponent, and scale is a scale factor.
Arguments
μ: The PSD shape parameter [-]logλ: The log of the PSD slope parameter [log(1/m)]
Keyword arguments
k: An arbitrary exponent [-], default is0scale: The scale factor [-], default is1.
The implementation follows the same logic as loggamma_inc_moment, but with D₁ = 0 and D₂ = ∞, which implies q_D₁ = 1 and q_D₂ = 0.
CloudMicrophysics.P3Scheme.logmass_gamma_moment — Function
logmass_gamma_moment(state, logλ; [n=0])Compute log(∫_0^∞ Dⁿ m(D) N′(D) dD) given the state and logλ. This is the log of the n-th moment of the mass-weighted PSD.
Arguments
state:P3Stateobjectμ: The shape parameter [-]logλ: The log of the slope parameter [log(1/m)]
Keyword arguments
n: The order of the moment, default is0
Note:
- For
n = 0, this evaluates tolog(L/N₀) - For
n = 1, this evaluates to the (unnormalized) mass-weighted mean particle size, seeD_m
CloudMicrophysics.P3Scheme.logLdivN — Function
logLdivN(state, logλ)Compute log(L/N) given the state and logλ
Arguments
state:P3Stateobjectlogλ: The log of the slope parameter [log(1/m)]
Derived integral quantities
These methods integrate over the particle size distribution.
CloudMicrophysics.P3Scheme.D_m — Function
D_m(state::P3State, logλ)Compute the mass weighted mean particle size [m]
Parameters
state:P3Stateobjectlogλ: The log of the slope parameter [log(1/m)]
CloudMicrophysics.P3Scheme.ice_particle_terminal_velocity — Function
ice_particle_terminal_velocity(velocity_params, ρₐ, state::P3State; [use_aspect_ratio])
ice_particle_terminal_velocity(velocity_params, ρₐ, params::CMP.ParametersP3, F_rim, ρ_rim; [use_aspect_ratio])Returns the terminal velocity of a single ice particle as a function of its size (maximum dimension, D) using the Chen 2022 parametrization.
Arguments
state: AP3Statevelocity_params: ACMP.Chen2022VelTypewith terminal velocity parametersρₐ: Air density [kg/m³]
Keyword arguments
use_aspect_ratio: Bool flag set totrueif we want to consider the effects of particle aspect ratio on its terminal velocity (default:true)
CloudMicrophysics.P3Scheme.ice_terminal_velocity_number_weighted — Function
ice_terminal_velocity_number_weighted(
velocity_params::CMP.Chen2022VelType, ρₐ, state::P3State, logλ;
[use_aspect_ratio], [∫kwargs...],
)Return the terminal velocity of the number-weighted mean ice particle size.
Arguments
velocity_params: ACMP.Chen2022VelTypewith terminal velocity parametersρₐ: Air density [kg/m³]state: AP3Statelogλ: The log of the slope parameter [log(1/m)]
Keyword arguments
use_aspect_ratio: Bool flag set totrueif we want to consider the effects of particle aspect ratio on its terminal velocity (default:true)∫kwargs...: Additional optional keyword arguments to pass to the quadrature rule
See also ice_terminal_velocity_mass_weighted
CloudMicrophysics.P3Scheme.ice_terminal_velocity_mass_weighted — Function
ice_terminal_velocity_mass_weighted(velocity_params::CMP.Chen2022VelType, ρₐ, state::P3State, logλ; [use_aspect_ratio], [∫kwargs...])Return the terminal velocity of the mass-weighted mean ice particle size.
Arguments
velocity_params: ACMP.Chen2022VelTypewith terminal velocity parametersρₐ: Air density [kg/m³]state: AP3Statelogλ: The log of the slope parameter [log(1/m)]
Keyword arguments
use_aspect_ratio: Bool flag set totrueif we want to consider the effects of particle aspect ratio on its terminal velocity (default:true)∫kwargs...: Keyword arguments passed to the quadrature rule
Processes
Heterogeneous ice nucleation
CloudMicrophysics.P3Scheme.het_ice_nucleation — Function
het_ice_nucleation(pdf_c, p3, tps, q_lcl, N, T, ρₐ, p, aerosol)- aerosol - aerosol parameters (supported types: desert dust, illite, kaolinite)
- tps - thermodynamics parameters
- q_lcl - cloud liquid water specific content
- N_lcl - cloud droplet number concentration
- RH - relative humidity
- T - temperature
- ρₐ - air density
- dt - model time step
Returns a named tuple with ice number concentration and ice content hetergoeneous freezing rates from cloud droplets.
Ice melting
CloudMicrophysics.P3Scheme.ice_melt — Function
ice_melt(velocity_params::CMP.Chen2022VelType, aps, tps, Tₐ, ρₐ, dt, state, logλ; ∫kwargs...)Arguments
velocity_params:CMP.Chen2022VelTypeaps:CMP.AirPropertiestps: thermodynamics parametersTₐ: temperature (K)ρₐ: air densitydt: model time step (for limiting the tendnecy)state: aP3Stateobjectlogλ: the log of the slope parameter [log(1/m)]
Keyword arguments
∫kwargs...: Additional keyword arguments passed to the quadrature rule
Returns the melting rate of ice (QIMLT in Morrison and Mildbrandt (2015)).
Collisions with liquid droplets
CloudMicrophysics.P3Scheme.bulk_liquid_ice_collision_sources — Function
bulk_liquid_ice_collision_sources(
params, logλ, L_ice, F_rim, ρ_rim,
psd_c, psd_r, L_c, N_c, L_r, N_r,
aps, tps, vel, ρₐ, T,
)Computes the bulk rates for ice and liquid particle collisions.
Arguments
params: theCMP.ParametersP3logλ: the log of the slope parameter [log(1/m)]L_ice: ice water content [kg/m³]F_rim: riming fractionρ_rim: rime density [kg/m³]psd_c: aCMP.CloudParticlePDF_SB2006psd_r: aCMP.RainParticlePDF_SB2006L_c: cloud liquid water content [kg/m³]N_c: cloud liquid water number concentration [1/m³]L_r: rain water content [kg/m³]N_r: rain number concentration [1/m³]aps:CMP.AirPropertiestps: thermodynamics parametersvel: the velocity parameterization, e.g.CMP.Chen2022VelTypeρₐ: air density [kg/m³]T: temperature [K]
Returns
A NamedTuple of (; ∂ₜq_c, ∂ₜq_r, ∂ₜN_c, ∂ₜN_r, ∂ₜL_rim, ∂ₜL_ice, ∂ₜB_rim), where:
∂ₜq_c: cloud liquid water content tendency [kg/kg/s]∂ₜq_r: rain water content tendency [kg/kg/s]∂ₜN_c: cloud number concentration tendency [1/m³/s]∂ₜN_r: rain number concentration tendency [1/m³/s]∂ₜL_rim: riming mass tendency [kg/m³/s]∂ₜL_ice: ice water content tendency [kg/m³/s]∂ₜB_rim: rime volume tendency [m³/m³/s]
Supporting methods:
CloudMicrophysics.P3Scheme.volumetric_collision_rate_integrand — Function
volumetric_collision_rate_integrand(state, velocity_params, ρₐ)Returns a function that computes the volumetric collision rate integrand for ice-liquid collisions [m³/s]. The returned function takes ice and liquid particle diameters as arguments.
Arguments
state:P3Statevelocity_params: velocity parameterization, e.g.CMP.Chen2022VelTypeρₐ: air density
Returns
A function (D_ice, D_liq) -> E * K * |vᵢ - vₗ| where:
D_iceandD_liqare the (maximum) diameters of the ice and liquid particlesEis the collision efficiencyKis the collision cross sectionvᵢandvₗare the terminal velocities of ice and liquid particles
Note that E, K, vᵢ and vₗ are all, in general, functions of D_ice and D_liq.
This function is a component of integrals like
\[∫ ∫ E * K * |vᵢ - vₗ| * N'_i * N'_l dD_i dD_l\]
CloudMicrophysics.P3Scheme.compute_max_freeze_rate — Function
compute_max_freeze_rate(aps, tps, velocity_params, ρₐ, Tₐ, state)Returns a function max_freeze_rate(Dᵢ) that returns the maximum possible freezing rate [kg/s] for an ice particle of diameter Dᵢ [m]. Evaluates to 0 if T ≥ T_freeze.
Arguments
aps:CMP.AirPropertiestps:TDP.ThermodynamicsParametersvelocity_params: velocity parameterization, e.g.CMP.Chen2022VelTypeρₐ: air density [kg/m³]Tₐ: air temperature [K]state:P3State
This rate represents the thermodynamic upper limit to collisional freezing, which occurs when the heat transfer from the ice particle to the environment is balanced by the latent heat of fusion.
From Eq (A7) in Musil (1970), [31].
CloudMicrophysics.P3Scheme.compute_local_rime_density — Function
compute_local_rime_density(velocity_params, ρₐ, T, state)Provides a function ρ′_rim(Dᵢ, Dₗ) that computes the local rime density [kg/m³] for a given ice particle diameter Dᵢ [m] and liquid particle diameter Dₗ [m].
Arguments
velocity_params: velocity parameterization, e.g.CMP.Chen2022VelTypeρₐ: air density [kg/m³]T: temperature [K]state:P3State
Returns
A function that computes the local rime density [kg/m³] using the equation:
\[ρ'_{rim} = a + b R_i + c R_i^2\]
where
\[R_i = \frac{ 10^6 ⋅ D_{liq} ⋅ |v_{liq} - v_{ice}| }{ 2 T_{sfc} }\]
and $T_{sfc}$ is the surface temperature [°C], $D_{liq}$ is the liquid particle diameter [m], $v_{liq/ice}$ is the particle terminal velocity [m/s]. So the units of $R_i$ are [m² s⁻¹ °C⁻¹]. The units of $ρ'_{rim}$ are [kg/m³].
We assume for simplicity that $T_{sfc}$ equals $T$, the ambient air temperature. For real graupel, $T_{sfc}$ is slightly higher than $T$ due to latent heat release of freezing liquid particles onto the ice particle. Morrison & Milbrandt (2013) found little sensitivity to "realistic" increases in $T_{sfc}$.
See also LocalRimeDensity.
Extended help
Implementation follows Cober and List (1993), Eq. 16 and 17. See also the P3 fortran code, microphy_p3.f90, Line 3315-3323, which extends the range of the calculation to $R_i ≤ 12$, the upper limit of which then equals the solid bulk ice density, $ρ_ice = 916.7 kg/m^3$.
Note that Morrison & Milbrandt (2015) [23] only uses this parameterization for collisions with cloud droplets. For rain drops, they use a value near the solid bulk ice density, $ρ^* = 900 kg/m^3$. We do not consider this distinction, and use this parameterization for all liquid particles.
CloudMicrophysics.P3Scheme.get_liquid_integrals — Function
get_liquid_integrals(n, ∂ₜV, m_liq, ρ′_rim, liq_bounds; ∫kwargs...)Returns a function liquid_integrals(Dᵢ) that computes the liquid particle integrals for a given ice particle diameter Dᵢ.
Arguments
n: liquid particle size distribution functionn(D)∂ₜV: volumetric collision rate integrand function∂ₜV(Dᵢ, D)m_liq: liquid particle mass functionm_liq(D)ρ′_rim: local rime density functionρ′_rim(Dᵢ, D)liq_bounds: integration bounds for liquid particles
Keyword arguments
∫kwargs...: Additional keyword arguments passed to the quadrature rule
Notes
The function liquid_integrals(Dᵢ) returns a tuple (∂ₜN_col, ∂ₜM_col, ∂ₜB_col) of collision rates at Dᵢ, where:
∂ₜN_col: number collision rate [1/s]∂ₜM_col: mass collision rate [kg/s]∂ₜB_col: rime volume collision rate [m³/s]
CloudMicrophysics.P3Scheme.∫liquid_ice_collisions — Function
∫liquid_ice_collisions(
n_i, ∂ₜM_max, cloud_integrals, rain_integrals, ice_bounds; ∫kwargs...
)Computes the bulk collision rate integrands between ice and liquid particles.
Arguments
n_i: ice particle size distribution function n_i(D)∂ₜM_max: maximum freezing rate function ∂ₜM_max(Dᵢ)cloud_integrals: an instance ofget_liquid_integralsfor cloud particlesrain_integrals: an instance ofget_liquid_integralsfor rain particlesice_bounds: integration bounds for ice particles, fromintegral_bounds
Keyword arguments
∫kwargs...: Additional keyword arguments passed to the quadrature rule
Returns
A tuple of 8 integrands, see ∫liquid_ice_collisions for details.
∫liquid_ice_collisions(
state, logλ, psd_c, psd_r, L_c, N_c, L_r, N_r,
aps, tps, vel, ρₐ, T, m_liq
)Compute key liquid-ice collision rates and quantities. Used by bulk_liquid_ice_collision_sources.
Arguments
state:P3Statelogλ: the log of the slope parameter [log(1/m)]psd_c:CMP.CloudParticlePDF_SB2006psd_r:CMP.RainParticlePDF_SB2006L_c: cloud liquid water content [kg/m³]N_c: cloud liquid water number concentration [1/m³]L_r: rain water content [kg/m³]N_r: rain number concentration [1/m³]aps:CMP.AirPropertiestps:TDP.ThermodynamicsParametersvel: velocity parameterization, e.g.CMP.Chen2022VelTypeρₐ: air density [kg/m³]T: temperature [K]m_liq: liquid particle mass functionm_liq(D)
Returns
A tuple (QCFRZ, QCSHD, NCCOL, QRFRZ, QRSHD, NRCOL, ∫M_col, BCCOL, BRCOL, ∫𝟙_wet_M_col), where:
QCFRZ- Cloud mass collision rate due to freezing [kg/s]QCSHD- Cloud mass collision rate due to shedding [kg/s]NCCOL- Cloud number collision rate [1/s]QRFRZ- Rain mass collision rate due to freezing [kg/s]QRSHD- Rain mass collision rate due to shedding [kg/s]NRCOL- Rain number collision rate [1/s]∫M_col- Total collision rate [kg/s]BCCOL- Cloud rime volume source [m³/m³/s]BRCOL- Rain rime volume source [m³/m³/s]∫𝟙_wet_M_col- Wet growth indicator [kg/s]
Supporting integral methods
CloudMicrophysics.P3Scheme.integrate — Function
integrate(f, a, b, quad = ChebyshevGauss(100))Approximate the definite integral ∫ₐᵇ f(x) dx using Chebyshev-Gauss quadrature of the first kind.
Mathematical Background
This method transforms the integral to the standard interval [-1, 1] and applies Chebyshev-Gauss quadrature. The transformation is:
y = (2x - (a+b)) / (b-a) → x = (b-a)y/2 + (a+b)/2with Jacobian dx/dy = (b-a)/2.
The integral becomes:
∫ₐᵇ f(x) dx = (b-a)/2 ∫₋₁¹ f(x(y)) dyUsing the Chebyshev-Gauss quadrature identity:
∫₋₁¹ g(y) dy = ∫₋₁¹ [g(y)√(1-y²)] / √(1-y²) dy ≈ (π/n) ∑ᵢ₌₁ⁿ g(yᵢ)√(1-yᵢ²)where yᵢ = cos((2i-1)π/(2n)) are the Chebyshev nodes of the first kind.
Final Formula
∫ₐᵇ f(x) dx ≈ (b-a)π/(2n) ∑ᵢ₌₁ⁿ f(xᵢ)√(1-yᵢ²)where:
- yᵢ = cos((2i-1)π/(2n)) for i = 1, ..., n
- xᵢ = (b-a)yᵢ/2 + (a+b)/2
- All quadrature weights are equal: π/n
Arguments
f: Function to integratea,b: Integration bounds. Note: ifa ≥ b, oraorbisNaN,zero(f(a))is returned.
Keyword arguments
quad: Quadrature scheme, default:ChebyshevGauss(100)
Returns
Approximation to the definite integral ∫ₐᵇ f(x) dx
Notes
This method achieves spectral convergence for smooth functions and is particularly effective for analytic functions. The √(1-y²) weighting factor helps handle functions with mild singularities at the interval endpoints. Ref: https://en.wikipedia.org/wiki/Chebyshev–Gauss_quadrature
integrate(f, bnds...; quad = ChebyshevGauss(100))Integrate the function f over each subinterval of the integration bounds, bnds.
Arguments
f: Function to integratebnds: A tuple of bounds,(a, b, c, d, ...)quad: Quadrature scheme, default:ChebyshevGauss(100)
The integral is computed as the sum of the integrals over each subinterval, (a, b), (b, c), (c, d), ....
CloudMicrophysics.P3Scheme.ChebyshevGauss — Type
ChebyshevGauss(n)Quadrature scheme for Chebyshev-Gauss quadrature of the first kind.
Arguments
n: Number of quadrature points
Available methods
node(::ChebyshevGauss, i::FT, n) where {FT}
weight(::ChebyshevGauss, i::FT, n) where {FT}
inv_weight_fun(::ChebyshevGauss, y)node(quad, i, n): Return thei-th node of then-point Chebyshev-Gauss quadrature scheme.weight(quad, i, n): Return thei-th weight of then-point Chebyshev-Gauss quadrature scheme.inv_weight_fun(quad, y): Return the inverse of the weight functionw(x).
Mathematical Background
A method to approximate the value of integrals of the kind
∫_{-1}^{1} f(x) w(x) dx ≈ ∑_1^n f(x_i) wᵢ(x_i)where w(x) = 1 / √(1 - x^2) is the weight function, x_i are the nodes, and wᵢ are the weights.
If we are interested in only the integral of f(x), we can instead integrate g(x) = f(x) / w(x),
∫_{-1}^{1} g(x) w(x) dx ≈ ∑_1^n g(x_i) wᵢ(x_i) = ∑_1^n f(x_i) wᵢ(x_i) / w(x_i)References
- https://en.wikipedia.org/wiki/Chebyshev–Gauss_quadrature
- https://en.wikipedia.org/wiki/Gaussian_quadrature
CloudMicrophysics.P3Scheme.integral_bounds — Function
integral_bounds(state::P3State, logλ; p, moment_order = 0)Compute the integration bounds for the P3 size distribution,
Mⁿ = ∫_a^b Dⁿ * N′(D) dD = N₀ * ∫_a^b Dⁿ D^μ * exp(-λ * D) dDwhere Mⁿ is the n-th moment of the size distribution. Here n ≡ moment_order and a and b are the integration bounds. For a proper moment, a=0 and b=∞. For the numerical integration, a and b are determined by this function.
Arguments
state:P3Stateobjectlogλ: The log of the slope parameter [log(1/m)]p: The integration bounds are set to thep-th and1-p-th quantiles of the size distribution.moment_order: For integrands proportional to moments of the size distribution,moment_ordercan be used to indicate the order of the moment. May provide more accurate bounds; thus more accurate integration. Default:moment_order = 0.
Returns
bnds: The integration bounds (aTuple), for use in numerical integration (c.f.integrate).
Aerosol model
CloudMicrophysics.AerosolModel — Module
A container for information on aerosol size distribution
and chemical properties.
The size distribution is a sum of lognormal internally mixed modes.
The chemical composition can be expressed using kappa parameter
or hygroscopicity parameter B.CloudMicrophysics.AerosolModel.Mode_B — Type
Mode_BRepresents the sizes and chemical composition of aerosol particles in one size distribution mode. The mode is assumed to be made up of internally mixed components and follow a lognormal size distribution. The chemical composition of aerosol particles in this mode is described using the parameters from Abdul-Razzak and Ghan 2000.
CloudMicrophysics.AerosolModel.Mode_κ — Type
Mode_κRepresents the sizes and chemical composition of aerosol particles in one size distribution mode. The mode is assumed to be made up of internally mixed components and follow a lognormal size distribution. The chemical composition of aerosol particles in this mode is described using the parameters from Petters and Kreidenweis 2007.
CloudMicrophysics.AerosolModel.AerosolDistribution — Type
AerosolDistributionRepresents the aerosol size distribution as a tuple with different modes. All modes have to either be of type ModeB (Abdul-Razzak and Ghan 2000) or of type Modeκ (Petters and Kreidenweis 2007).
Constructors
AerosolDistribution(modes::T)Aerosol activation
CloudMicrophysics.AerosolActivation — Module
Aerosol activation scheme, which includes:- mean hygroscopicity for each mode of the aerosol size distribution
- critical supersaturation for each mode of the aerosol size distribution
- maximum supersaturation
- total number of particles actived
- total mass of particles actived
CloudMicrophysics.AerosolActivation.mean_hygroscopicity_parameter — Function
mean_hygroscopicity_parameter(ap, ad)ap- a struct with aerosol activation parametersad- a struct with aerosol distribution (B or κ based)
Returns a tuple of hygroscopicity parameters (one tuple element for each aerosol size distribution mode). The tuple is computed either as mass-weighted B parameters (Abdul-Razzak and Ghan 2000) or volume weighted kappa parameters (Petters and Kreidenweis 2007). Implemented via a dispatch based on aerosol distribution mode type.
CloudMicrophysics.AerosolActivation.max_supersaturation — Function
max_supersaturation(ap, ad, aip, tps, T, p, w, q_tot, q_liq, q_ice, N_liq, N_ice)ap- a struct with aerosol activation parametersad- a struct with aerosol distributionaip- a struct with air parameterstps- a struct with thermodynamics parametersT- air temperaturep- air pressurew- vertical velocityq_tot- total water specific contentq_liq- liquid water specific contentq_ice- ice water specific contentN_liq- liquid water number concentrationN_ice- ice water number concentration
Returns the maximum supersaturation.
CloudMicrophysics.AerosolActivation.N_activated_per_mode — Function
N_activated_per_mode(ap, ad, aip, tps, T, p, w, q_tot, q_liq, q_ice, N_liq, N_ice)ap- a struct with aerosol activation parametersad- aerosol distribution structaip- a struct with air parameterstps- a struct with thermodynamics parametersT- air temperaturep- air pressurew- vertical velocityq_tot- total water specific contentq_liq- liquid water specific contentq_ice- ice water specific contentN_liq- liquid water number concentrationN_ice- ice water number concentration
Returns the number of activated aerosol particles in each aerosol size distribution mode.
CloudMicrophysics.AerosolActivation.M_activated_per_mode — Function
M_activated_per_mode(ap, ad, aip, tps, T, p, w, q_tot, q_liq, q_ice, N_liq, N_ice)ap- a struct with aerosol activation parametersad- a struct with aerosol distribution parametersaip- a struct with air parameterstps- a struct with thermodynamics parametersT- air temperaturep- air pressurew- vertical velocityq_tot- total water specific contentq_liq- liquid water specific contentq_ice- ice water specific contentN_liq- liquid water number concentrationN_ice- ice water number concentration
Returns the mass of activated aerosol particles per mode of the aerosol size distribution.
CloudMicrophysics.AerosolActivation.total_N_activated — Function
total_N_activated(ap, ad, aip, tps, T, p, w, q_tot, q_liq, q_ice, N_liq, N_ice)ap- a struct with aerosol activation parametersad- aerosol distribution structaip- a struct with air propertiestps- a struct with thermodynamics parametersT- air temperaturep- air pressurew- vertical velocityq_tot- total water specific contentq_liq- liquid water specific contentq_ice- ice water specific contentN_liq- liquid water number concentrationN_ice- ice water number concentration
Returns the total number of activated aerosol particles.
CloudMicrophysics.AerosolActivation.total_M_activated — Function
total_M_activated(ap, ad, aip, tps, T, p, w, q_tot, q_liq, q_ice, N_liq, N_ice)ap- a struct with aerosol activation parametersad- aerosol distribution structaip- a struct with air propertiestps- a struct with thermodynamics parametersT- air temperaturep- air pressurew- vertical velocityq_tot- total water specific contentq_liq- liquid water specific contentq_ice- ice water specific contentN_liq- liquid water number concentrationN_ice- ice water number concentration
Returns the total mass of activated aerosol particles.
Artifact calling
CloudMicrophysics.ArtifactCalling — Module
Call artifacts from Artifacts.toml
CloudMicrophysics.ArtifactCalling.AIDA_ice_nucleation — Function
AIDA_ice_nucleation(data_file_name)data_file_name- name of the data file on Caltech box.
Returns the filepath of the data file in Caltech box.
Heterogeneous ice nucleation
CloudMicrophysics.HetIceNucleation — Module
Parameterization for heterogenous cloud ice nucleation.
CloudMicrophysics.HetIceNucleation.dust_activated_number_fraction — Function
dust_activated_number_fraction(dust, ip, Si, T)dust- a struct with dust parametersip- a struct with cloud ice nucleation parametersSi- ice saturation ratioT- air temperature [K]
Returns the number fraction of mineral dust particles acting as deposition nuclei (n ice nuclei / n dust particles). From Mohler et al 2006 Table 2 (averages from different measurements excluding those where a was not measured)
CloudMicrophysics.HetIceNucleation.MohlerDepositionRate — Function
MohlerDepositionRate(dust, ip, S_i, T, dSi_dt, N_aer)dust- a struct with dust parametersip- a struct with cloud ice nucleation parametersSi- ice saturationT- ambient temperaturedSi_dt- change in ice saturation over timeN_aer- number of unactivated aerosols
Returns the cloud ice nucleation rate from deposition. From Mohler et al 2006 equation 5.
CloudMicrophysics.HetIceNucleation.deposition_J — Function
deposition_J(dust, Δa_w)dust- a struct with dust parametersΔa_w- change in water activity [unitless].
Returns the deposition nucleation rate coefficient, J, in m^-2 s^-1 for different minerals in liquid droplets. The free parameters m and c are derived from China et al (2017) see DOI: 10.1002/2016JD025817 Returns zero for unsupported aerosol types.
CloudMicrophysics.HetIceNucleation.ABIFM_J — Function
ABIFM_J(dust, Δa_w)dust- a struct with dust parametersΔa_w- change in water activity [unitless].
Returns the immersion freezing nucleation rate coefficient, J, in m^-2 s^-1 for different minerals in liquid droplets. The free parameters m and c are taken from Knopf & Alpert 2013 see DOI: 10.1039/C3FD00035D Returns zero for unsupported aerosol types.
CloudMicrophysics.HetIceNucleation.P3_deposition_N_i — Function
P3_deposition_N_i(ip, T)ip- a struct with ice nucleation parameters,T- air temperature [K].
Returns the number of ice crystals nucleated via deposition nucleation with units of m^-3. From Thompson et al 2004 eqn 2 as used in Morrison & Milbrandt 2015.
CloudMicrophysics.HetIceNucleation.P3_het_N_i — Function
P3_het_N_i(ip, T, N_l, B, V_l, a, Δt)ip- a struct with ice nucleation parameters,T- air temperature [K],N_l- number of droplets [m^-3],B- water-type dependent parameter [cm^-3 s^-1],V_l- volume of droplets to be frozen [m^3],a- empirical parameter [C^-1],Δt- timestep.
Returns the number of ice nucleated within Δt via heterogeneous freezing with units of m^-3. From Pruppacher & Klett 1997 eqn (9-51) as used in Morrison & Milbrandt 2015.
CloudMicrophysics.HetIceNucleation.INP_concentration_frequency — Function
INP_concentration_frequency(params,INPC,T)params- a struct with INPC(T) distribution parametersINPC- concentration of ice nucleating particles [m^-3]T- air temperature [K]
Returns the relative frequency of a given INP concentration, depending on the temperature. Based on Frostenberg et al., 2023. See DOI: 10.5194/acp-23-10883-2023
CloudMicrophysics.HetIceNucleation.INP_concentration_mean — Function
INP_concentration_mean(T)T- air temperature [K]
Returns the logarithm of mean INP concentration (in m^-3), depending on the temperature. Based on the function μ(T) in Frostenberg et al., 2023. See DOI: 10.5194/acp-23-10883-2023
Homogeneous ice nucleation
CloudMicrophysics.HomIceNucleation — Module
Parameterization for homogeneous cloud ice nucleation
CloudMicrophysics.HomIceNucleation.homogeneous_J_cubic — Function
homogeneous_J_cubic(ip, Δa_w)ip- a struct with cloud ice nucleation parametersΔa_w- change in water activity [-].
Returns the homogeneous freezing nucleation rate coefficient, J, in m^-3 s^-1 for sulphuric acid solutions. Parameterization based on Koop 2000, DOI: 10.1038/35020537.
CloudMicrophysics.HomIceNucleation.homogeneous_J_linear — Function
homogeneous_J_linear(ip, Δa_w)ip- a struct with ice nucleation parametersΔa_w- change in water activity [-].
Returns the homogeneous freezing nucleation rate coefficient, J, in m^-3 s^-1 for sulphuric acid solutions. Parameterization derived from a linear fit of the Koop 2000 parameterization, DOI: 10.1038/35020537.
Cloud diagnostics
CloudMicrophysics.CloudDiagnostics — Module
Cloud diagnostics- radar reflectivity (1-moment and 2-moment)
- effective radius (1-moment and 2-moment)
CloudMicrophysics.CloudDiagnostics.radar_reflectivity_1M — Function
radar_reflectivity_1M(precip, q, ρ)precip- struct with 1-moment microphysics rain free parametersq- specific content of rainρ- air density
Returns logarithmic radar reflectivity for the 1-moment microphysics based on the assumed rain particle size distribution. Normalized by the reflectivty of 1 millimiter drop in a volume of 1m3. The values are clipped at -150 dBZ.
CloudMicrophysics.CloudDiagnostics.radar_reflectivity_2M — Function
radar_reflectivity_2M(structs, q_lcl, q_rai, N_lcl, N_rai, ρ_air)
- `structs` - structs microphysics 2-moment with SB2006 cloud droplets
and raindrops size distributions parameters
- `q_lcl` - cloud liquid water specific content
- `q_rai` - rain water specific content
- `N_lcl` - cloud droplet number density
- `N_rai` - rain droplet number density
- `ρ_air` - air densityReturns logarithmic radar reflectivity for the 2-moment microphysics SB2006 based on the assumed cloud and rain particle size distribuions. Normalized by the reflectivty of 1 millimiter drop in a volume of 1m3. The values are clipped at -150 dBZ.
CloudMicrophysics.CloudDiagnostics.effective_radius_const — Function
effective_radius_const(cloud_params)- cloud_params - a struct with cloud liquid or cloud ice parameters
Returns a constant assumed effective radius for clouds
CloudMicrophysics.CloudDiagnostics.effective_radius_Liu_Hallet_97 — Function
effective_radius_Liu_Hallet_97(q_lcl, q_rai, N_lcl, N_rai, ρ_air, ρ_w)
- `q_lcl` - cloud water specific content
- `q_rai` - rain water specific content
- `N_lcl` - cloud droplet number density
- `N_rai` - rain droplet number density
- `ρ_air` - air density
- `ρ_w` - water densityReturns effective radius using the "1/3" power law from Liu and Hallett (1997). If not provided by the user, it is assumed that there is no rain present and that the cloud droplet number concentration is 100 1/cm3.
CloudMicrophysics.CloudDiagnostics.effective_radius_2M — Function
effective_radius_2M(structs, q_lcl, q_rai, N_lcl, N_rai, ρ_air)
- `structs` - structs with SB2006 cloud droplets and raindrops
size distribution parameters
- `q_lcl` - cloud liquid water specific content
- `q_rai` - rain water specific content
- `N_lcl` - cloud droplet number density
- `N_rai` - rain droplet number density
- `ρ_air` - air densityReturns effective radius for the 2-moment microphysics scheme. Computed based on the assumed cloud and rain particle size distributions.
Common utility functions
CloudMicrophysics.Common — Module
Module for functions shared by different parameterizations.CloudMicrophysics.Common.G_func_liquid — Function
G_func_liquid(air_props, tps, T)air_props- struct with air parameterstps- struct with thermodynamics parametersT- air temperature
Utility function combining thermal conductivity and vapor diffusivity effects for vapor to liquid phase change.
CloudMicrophysics.Common.G_func_ice — Function
G_func_ice(air_props, tps, T)air_props- struct with air parameterstps- struct with thermodynamics parametersT- air temperature
Utility function combining thermal conductivity and vapor diffusivity effects. for vapor to ice phase change.
CloudMicrophysics.Common.logistic_function — Function
logistic_function(x, x_0, k)x- independent variablex_0- threshold value for xk- growth rate of the curve, characterizing steepness of the transition
Returns the value of the logistic function for smooth transitioning at thresholds. This is a normalized curve changing from 0 to 1 while x varies from 0 to Inf (for positive k). For x < 0 the value at x = 0 (zero) is returned. For x_0 = 0 H(x) is returned.
CloudMicrophysics.Common.logistic_function_integral — Function
logistic_function_integral(x, x_0, k)x- independent variablex_0- threshold value for xk- growth rate of the logistic function, characterizing steepness of the transition
Returns the value of the indefinite integral of the logistic function, for smooth transitioning of piecewise linear profiles at thresholds. This curve smoothly transition from y = 0 for 0 < x < x0 to y = x - x0 for x_0 < x.
CloudMicrophysics.Common.H2SO4_soln_saturation_vapor_pressure — Function
H2SO4_soln_saturation_vapor_pressure(prs, x, T)prs- a struct with H2SO4 solution free parametersx- wt percent sulphuric acid [unitless]T- air temperature [K].
Returns the saturation vapor pressure above a sulphuric acid solution droplet in Pa. x is, for example, 0.1 if droplets are 10 percent sulphuric acid by weight
CloudMicrophysics.Common.a_w_xT — Function
a_w_xT(H2SO4_prs, tps, x, T)H2SO4_prs- a struct with H2SO4 solution free parameterstps- a struct with thermodynamics parametersx- wt percent sulphuric acid [unitless]T- air temperature [K].
Returns water activity of H2SO4 containing droplet. x is, for example, 0.1 if droplets are 10 percent sulphuric acid by weight.
CloudMicrophysics.Common.a_w_eT — Function
a_w_eT(tps, e, T)tps- struct with thermodynamics parameterse- partial pressure of water [Pa]T- air temperature [K].
Returns water activity of pure water droplet. Valid when droplet is in equilibrium with surroundings.
CloudMicrophysics.Common.a_w_ice — Function
a_w_ice(tps, T)tps- struct with thermodynamics parametersT- air temperature [K].
Returns water activity of ice.
CloudMicrophysics.Common.Chen2022_vel_coeffs — Function
Chen2022_vel_coeffs(coeffs, ρₐ)
Chen2022_vel_coeffs(coeffs, ρₐ, ρᵢ)Compute the coefficients for the Chen 2022 terminal velocity parametrization.
Arguments
coeffs: a struct with terminal velocity free parametersCMP.Chen2022VelTypeRain: Fetch from Table B1CMP.Chen2022VelTypeSmallIce: Fetch from Table B2CMP.Chen2022VelTypeLargeIce: Fetch from Table B4
ρₐ: air density [kg/m³]ρᵢ: apparent density of ice particles [kg/m³], only used forCMP.Chen2022VelTypeSmallIceandCMP.Chen2022VelTypeLargeIce
See [12] for more details.
CloudMicrophysics.Common.Chen2022_monodisperse_pdf — Function
Chen2022_monodisperse_pdf(a, b, c)Arguments
a,b,c: free parameters defined in [12]
Returns
pdf(D): The monodisperse particle distribution function as a function of diameter,D, in [m/s].
CloudMicrophysics.Common.Chen2022_exponential_pdf — Function
Chen2022_exponential_pdf(a, b, c, λ_inv, k)- a, b, c, - free parameters defined in Chen etl al 2022
- λ_inv - inverse of the size distribution parameter
- k - size distribution moment for which we compute the bulk fall speed
Returns the addends of the bulk fall speed of rain or ice particles following Chen et al 2022 DOI: 10.1016/j.atmosres.2022.106171 in [m/s]. Assuming exponential size distribution and hence μ=0.
CloudMicrophysics.Common.volume_sphere_D — Function
volume_sphere_D(D)Calculate the volume of a sphere with diameter D.
\[V = D^3 * π / 6\]
See also volume_sphere_R.
CloudMicrophysics.Common.volume_sphere_R — Function
volume_sphere_R(R)Calculate the volume of a sphere with radius R.
\[V = (2R)^3 * π / 6\]
See also volume_sphere_D.
CloudMicrophysics.Common.ventilation_factor — Function
ventilation_factor(vent, aps, v_term)Returns a function that computes the ventilation factor for a particle as a function of its diameter, D.
The ventilation factor parameterizes the increase in the mass and heat exchange for falling particles.
Arguments
vent: Ventilation parameterization constants,CMP.VentilationFactoraps: Parameters with air properties,CMP.AirPropertiesv_term: A functionv_term(D)that returns the terminal velocity of a particle with diameterD
Returns
F_v(D): The ventilation factor as a function of diameter,D
See e.g. [10] Eq. (24), or CMP.VentilationFactor, for the definition of the ventilation factor.
Parameters
CloudMicrophysics.Parameters — Module
ParametersA module for CloudMicrophysics.jl free parameters.
CloudMicrophysics.Parameters.ParametersType — Type
ParametersType{FT}The top-level super-type for all cloud microphysics parameters
CloudMicrophysics.Parameters.AerosolType — Type
AerosolType{FT}The top-level super-type for all aerosol properties
CloudMicrophysics.Parameters.AerosolDistributionType — Type
AerosolDistributionTypeThe top-level super-type for all aerosol distribution types
CloudMicrophysics.Parameters.CloudCondensateType — Type
CloudCondensateType{FT}The top-level super-type for cloud condensate types (liquid and ice)
CloudMicrophysics.Parameters.PrecipitationType — Type
PrecipitationType{FT}The top-level super-type for precipitation types (rain and snow)
CloudMicrophysics.Parameters.TerminalVelocityType — Type
TerminalVelocityType{FT}The top-level super-type for terminal velocity parameterizations
CloudMicrophysics.Parameters.Precipitation2MType — Type
Precipitation2MTypeThe top-level super-type for 2-moment precipitation parameterizations
CloudMicrophysics.Parameters.AirProperties — Type
AirProperties{FT}Parameters with air properties.
Fields
K_therm: thermal conductivity of air [w/m/K]D_vapor: diffusivity of water vapor [m2/s]ν_air: kinematic viscosity of air [m2/s]
CloudMicrophysics.Parameters.WaterProperties — Type
WaterProperties{FT}Parameters with water properties.
Fields
ρw: density of liquid water [kg/m3]ρi: density of ice [kg/m3]
CloudMicrophysics.Parameters.ArizonaTestDust — Type
ArizonaTestDust{FT}Parameters for Arizona Test Dust from Mohler et al, 2006. DOI: 10.5194/acp-6-3007-2006
Fields
S₀_warm: S₀ for T > T_thr [-]S₀_cold: S₀ for T < T_thr [-]a_warm: a for T > T_thr [-]a_cold: a for T < T_thr [-]deposition_m: m coefficient for deposition nucleation J [-]deposition_c: c coefficient for deposition nucleation J [-]ABIFM_m: m coefficient for immersion freezing J [-]ABIFM_c: c coefficient for immersion freezing J [-]
CloudMicrophysics.Parameters.DesertDust — Type
DesertDust{FT}Parameters for desert dust from Knopf and Alpert 2013 DOI: 10.1039/C3FD00035D and from Mohler et al, 2006 DOI: 10.5194/acp-6-3007-2006
Fields
S₀_warm: S₀ for T > T_thr [-]S₀_cold: S₀ for T < T_thr [-]a_warm: a for T > T_thr [-]a_cold: a for T < T_thr [-]ABIFM_m: m coefficient for immersion freezing J [-]ABIFM_c: c coefficient for immersion freezing J [-]
CloudMicrophysics.Parameters.AsianDust — Type
AsianDust{FT}Parameters for Asian Dust
Fields
deposition_m: m coefficient for deposition nucleation J [-]deposition_c: c coefficient for deposition nucleation J [-]ABIFM_m: m coefficient for immersion freezing J [-]ABIFM_c: c coefficient for immersion freezing J [-]
CloudMicrophysics.Parameters.MiddleEasternDust — Type
MiddleEasternDust{FT}Parameters for Middle Eastern Dust
Fields
ABIFM_m: m coefficient for immersion freezing J [-]ABIFM_c: c coefficient for immersion freezing J [-]
CloudMicrophysics.Parameters.SaharanDust — Type
SaharanDust{FT}Parameters for Saharan Dust
Fields
deposition_m: m coefficient for deposition nucleation J [-]deposition_c: c coefficient for deposition nucleation J [-]
CloudMicrophysics.Parameters.Illite — Type
Illite{FT}Parameters for illite from Knopf and Alpert 2013 DOI: 10.1039/C3FD00035D
Fields
deposition_m: m coefficient for deposition nucleation J [-]deposition_c: c coefficient for deposition nucleation J [-]ABIFM_m: m coefficient for immersion freezing J [-]ABIFM_c: c coefficient for immersion freezing J [-]
CloudMicrophysics.Parameters.Kaolinite — Type
Kaolinite{FT}Parameters for kaolinite from Knopf and Alpert 2013 DOI: 10.1039/C3FD00035D and China et al 2017 DOI: 10.1002/2016JD025817
Fields
deposition_m: m coefficient for deposition nucleation J [-]deposition_c: c coefficient for deposition nucleation J [-]ABIFM_m: m coefficient for immersion freezing J [-]ABIFM_c: c coefficient for immersion freezing J [-]
CloudMicrophysics.Parameters.Feldspar — Type
Feldspar{FT}Parameters for Feldspar from Alpert et al 2022 DOI: 10.1039/D1EA00077B
Fields
deposition_m: m coefficient for deposition nucleation J [-]deposition_c: c coefficient for deposition nucleation J [-]
CloudMicrophysics.Parameters.Ferrihydrite — Type
Ferrihydrite{FT}Parameters for Ferrihydrite from Alpert et al 2022 DOI: 10.1039/D1EA00077B
Fields
deposition_m: m coefficient for deposition nucleation J [-]deposition_c: c coefficient for deposition nucleation J [-]
CloudMicrophysics.Parameters.Dust — Type
Dust{FT}Parameters for generic dust.
Fields
deposition_m: m coefficient for deposition nucleation J [-]deposition_c: c coefficient for deposition nucleation J [-]ABIFM_m: m coefficient for immersion freezing J [-]ABIFM_c: c coefficient for immersion freezing J [-]
CloudMicrophysics.Parameters.Seasalt — Type
Seasalt{FT}Parameters for seasalt
Fields
M: molar mass [kg/mol]ρ: density [kg/m3]ϕ: osmotic coefficient [-]ν: ion number [-]ϵ: water soluble mass fraction [-]κ: hygroscopicity parameter [-]
CloudMicrophysics.Parameters.Sulfate — Type
Sulfate{FT}Parameters for sulfate aerosol
Fields
M: molar mass [kg/mol]ρ: density [kg/m3]ϕ: osmotic coefficient [-]ν: ion number [-]ϵ: water soluble mass fraction [-]κ: hygroscopicity parameter [-]
CloudMicrophysics.Parameters.AerosolActivationParameters — Type
AerosolActivationParameters{FT}Parameters for Abdul-Razzak and Ghan 2000 aerosol activation scheme DOI: 10.1029/1999JD901161
Fields
M_w: molar mass of water [kg/mol]R: gas constant [J/mol/K]ρ_w: cloud water density [kg/m3]ρ_i: cloud ice density [kg/m3]σ: surface tension of water [N/m]g: gravitational_acceleration [m/s2]f1: scaling coefficient in Abdul-Razzak and Ghan 2000 [-]f2: scaling coefficient in Abdul-Razzak and Ghan 2000 [-]g1: scaling coefficient in Abdul-Razzak and Ghan 2000 [-]g2: scaling coefficient in Abdul-Razzak and Ghan 2000 [-]p1: power of (zeta / eta) in Abdul-Razzak and Ghan 2000 [-]p2: power of (S_m^2 / (zeta + 3 * eta)) in Abdul-Razzak and Ghan 2000 [-]
CloudMicrophysics.Parameters.IceNucleationParameters — Type
IceNucleationParameters{FT, DEP, HOM, P3_type}Parameters for ice nucleation
Fields
depositionhomogeneousp3
CloudMicrophysics.Parameters.Frostenberg2023 — Type
Frostenberg2023{FT}Parameters for frequency distribution of INP concentration DOI: 10.5194/acp-23-10883-2023
Fields
σ: standard deviationa: coefficientb: coefficient
CloudMicrophysics.Parameters.H2SO4SolutionParameters — Type
H2SO4SolutionParameters{FT}Parameters for water activity of H2SO4 solutions from Luo et al 1995. DOI: 10.1029/94GL02988
Fields
T_max: max temperature for which the parameterization is valid [K]T_min: min temperature for which the parameterization is valid [K]w_2: coefficient [-]c1: coefficient [-]c2: coefficient [-]c3: coefficient [-]c4: coefficient [-]c5: coefficient [-]c6: coefficient [-]c7: coefficient [-]
CloudMicrophysics.Parameters.Mohler2006 — Type
Mohler2006{FT}Parameters for ice nucleation from Mohler et al 2006 DOI: 10.5194/acp-6-3007-2006
Fields
Sᵢ_max: max allowed supersaturation [-]T_thr: threshold temperature [K]
CloudMicrophysics.Parameters.Koop2000 — Type
Koop2000{FT}Parameters for ice nucleation from Koop et al 2000 DOI: 10.1038/35020537
Fields
Δa_w_min: min Δaw [-]Δa_w_max: max Δaw [-]c₁: coefficient [-]c₂: coefficient [-]c₃: coefficient [-]c₄: coefficient [-]linear_c₁: coefficient [-]linear_c₂: coefficient [-]
CloudMicrophysics.Parameters.H2S04NucleationParameters — Type
H2S04NucleationParameters{FT}Parameters for pure sulfuric acid nucleation from Dunne et al 1016 DOI:10.1126/science.aaf2649
Fields
p_b_np_b_iu_b_nu_b_iv_b_nv_b_iw_b_nw_b_ip_t_np_t_iu_t_nu_t_iv_t_nv_t_iw_t_nw_t_ip_A_np_A_ia_na_i
CloudMicrophysics.Parameters.OrganicNucleationParameters — Type
OrganicNucleationParameters{FT}
Parameters for pure organic nucleation from Kirkby 2016 DOI: 10.1038/nature17953
Fields
a_1a_2a_3a_4a_5Y_MTO3Y_MTOHk_MTO3k_MTOHexp_MTO3exp_MTOH
CloudMicrophysics.Parameters.MixedNucleationParameters — Type
MixedNucleationParameters{FT}
Parameters for mixed organic and sulfuric acid nucleation from Riccobono et al 2014 DOI:10.1126/science.1243527
Fields
k_H2SO4orgk_MTOHexp_MTOH
CloudMicrophysics.Parameters.Parameters0M — Type
Parameters0M{FT}Parameters for zero-moment bulk microphysics scheme
Fields
τ_precip: precipitation timescale [s]qc_0: condensate specific content precipitation threshold [-]S_0: supersaturation precipitation threshold [-]
CloudMicrophysics.Parameters.ParticlePDFSnow — Type
ParticlePDFSnow{FT}A struct with snow size distribution parameters
Fields
μ: snow size distribution coefficient [1/m4]ν: snow size distribution coefficient [-]
CloudMicrophysics.Parameters.ParticlePDFIceRain — Type
ParticlePDFIceRain{FT}A struct with snow size distribution parameters
Fields
n0: Size distribution coefficient [1/m4]
CloudMicrophysics.Parameters.ParticleMass — Type
ParticleMass{FT}A struct with coefficients of the assumed mass(size) relationship for particles
m(r) = m0 χm (r/r0)^(me + Δm)
Fields
r0: particle length scale [m]m0: mass size relation coefficient [kg]me: mass size relation coefficient [-]Δm: mass size relation coefficient [-]χm: mass size relation coefficient [-]
CloudMicrophysics.Parameters.ParticleArea — Type
ParticleArea{FT}A struct with coefficients of the assumed crosssectionarea(size) relationship for particles
a(r) = a0 χa (r/r0)^(ae + Δa)
Fields
a0: cross section size relation coefficient [m2]ae: cross section size relation coefficient [-]Δa: cross section size relation coefficient [-]χa: cross section size relation coefficient [-]
CloudMicrophysics.Parameters.SnowAspectRatio — Type
SnowAspectRatio{FT}A struct with aspect ratio coefficients
Fields
ϕ: aspect ratio [-]κ: power law coefficient in terminal velocity parameterization from Chen et al 2022 [-]
CloudMicrophysics.Parameters.Ventilation — Type
Ventilation{FT}A struct with ventilation coefficients
Fields
a: ventilation coefficienta[-]b: ventilation coefficientb[-]
CloudMicrophysics.Parameters.Acnv1M — Type
Acnv1M{FT}A struct with autoconversion parameters
Fields
τ: autoconversion timescale [s]q_threshold: condensate specific content autoconversion threshold [-]k: threshold smooth transition steepness [-]
CloudMicrophysics.Parameters.CloudLiquid — Type
CloudLiquid{FT}The parameters and type for cloud liquid water condensate
Fields
τ_relax: condensation evaporation non_equil microphysics relaxation timescale [s]ρw: water density [kg/m3]r_eff: effective radius [m]
CloudMicrophysics.Parameters.CloudIce — Type
CloudIce{FT, MS}The parameters and type for cloud ice condensate
Fields
pdf: a struct with size distribution parametersmass: a struct with mass size relation parametersr0: particle length scale [m]r_ice_snow: ice snow threshold radius [m]τ_relax: deposition sublimation non_equil microphysics relaxation timescale [s]ρᵢ: cloud ice apparent density [kg/m3]r_eff: effective radius [m]
CloudMicrophysics.Parameters.Rain — Type
Rain{FT, MS, AR, VT, AC}The parameters and type for rain
Fields
pdf: a struct with size distribution parametersmass: a struct with mass size relation parametersarea: a struct with cross section size relation parameersvent: a struct with ventilation coefficientsacnv1M: a struct with cloud water to rain autoconversion parametersr0: particle length scale [m]
CloudMicrophysics.Parameters.Snow — Type
Snow{FT, PD, MS, AR, VT, AP, AC}The parameters and type for snow
Fields
pdf: a struct with size distribution parametersmass: a struct with mass size relation parametersarea: a struct with cross section size relation parameersvent: a struct with ventilation coefficientsaspr: a struct with aspect ratio parametersacnv1M: a struct with ice to snow autoconversion parametersr0: particle length scale [m]T_freeze: freezing temperature of water [K]ρᵢ: snow apparent density [kg/m3]
CloudMicrophysics.Parameters.CollisionEff — Type
CollisionEff{FT}Collision efficiency parameters for the 1-moment scheme
Fields
e_lcl_rai: cloud liquid-rain collision efficiency [-]e_lcl_sno: cloud liquid-snow collision efficiency [-]e_icl_rai: cloud ice-rain collision efficiency [-]e_icl_sno: cloud ice-snow collision efficiency [-]e_rai_sno: rain-snow collision efficiency [-]
CloudMicrophysics.Parameters.KK2000 — Type
KK2000The type and parameters for 2-moment precipitation formation by Khairoutdinov and Kogan (2000)
DOI:10.1175/1520-0493(2000)128<0229:ANCPPI>2.0.CO;2
Fields
acnv: Autoconversion parametersaccr: Accretion parameters
CloudMicrophysics.Parameters.AcnvKK2000 — Type
AcnvKK2000Khairoutdinov and Kogan (2000) autoconversion parameters
Fields
A: Autoconversion coefficient Aa: Autoconversion coefficient ab: Autoconversion coefficient bc: Autoconversion coefficient c
CloudMicrophysics.Parameters.AccrKK2000 — Type
AccrKK2000Khairoutdinov and Kogan (2000) accretion parameters
Fields
A: Accretion coefficient Aa: Accretion coefficient ab: Accretion coefficient b
CloudMicrophysics.Parameters.B1994 — Type
B1994The type and parameter for 2-moment precipitation formation by Beheng (1994) DOI: 10.1016/0169-8095(94)90020-5
Fields
acnv: Autoconversion coeff Caccr: Autoconversion coeff a
CloudMicrophysics.Parameters.AcnvB1994 — Type
AcnvB1994Beheng (1994) autoconversion parameters
Fields
C: Autoconversion coeff Ca: Autoconversion coeff ab: Autoconversion coeff bc: Autoconversion coeff cN_0: Autoconversion coeff N_0d_low: Autoconversion coeff d_lowd_high: Autoconversion coeff d_highk: Threshold for smooth tranistion steepness
CloudMicrophysics.Parameters.AccrB1994 — Type
AccrB1994Beheng (1994) accretion parameters
Fields
A: Accretion coefficient A
CloudMicrophysics.Parameters.TC1980 — Type
TC1980The type and parameters for 2-moment precipitation formation by Tripoli and Cotton (1980)
DOI: 10.1175/1520-0450(1980)019<1037:ANIOSF>2.0.CO;2
Fields
acnv: Autoconversion parametersaccr: Accretion parameters
CloudMicrophysics.Parameters.AcnvTC1980 — Type
AcnvTC1980Tripoli and Cotton (1980) autoconversion parameters
Fields
a: Autoconversion coefficient ab: Autoconversion coefficient bD: Autoconversion coefficient Dr_0: Autoconversion coefficient r_0me_liq: Autoconversion coefficient me_liqm0_liq_coeff: Autoconversion coefficient m0liqcoeffk: Threshold for smooth tranistion steepness
CloudMicrophysics.Parameters.AccrTC1980 — Type
AccrTC1980Tripoli and Cotton (1980) accretion parameters
Fields
A: Accretion coefficient A
CloudMicrophysics.Parameters.LD2004 — Type
LD2004The type and parameters for 2-moment precipitation formation by Liu and Daum (2004)
DOI: 10.1175/1520-0469(2004)061<1539:POTAPI>2.0.CO;2
Fields
R_6C_0: Autoconversion coefficient R6C0E_0: Autoconversion coefficient E_0ρ_w: liquid water density [kg/m3]k: Threshold for smooth tranistion steepness
CloudMicrophysics.Parameters.VarTimescaleAcnv — Type
VarTimescaleAcnvThe type for 2-moment precipitation formation based on the 1-moment parameterization with variable time scale Azimi et al (2023)
Fields
τ: Timescale [s]α: Powerlaw coefficient [-]
CloudMicrophysics.Parameters.SB2006 — Type
SB2006The type and parameters for 2-moment precipitation formation by Seifert and Beheng (2006). The pdf_r type choses between running with or without limiters on raindrop size distribution parameters
DOI: 10.1007/s00703-005-0112-4
Fields
pdf_c: Cloud particle size distribution parameterspdf_r: Rain particle size distribution parametersacnv: Autoconversion parametersaccr: Accretion parametersself: Rain selfcollection parametersbrek: Rain breakup parametersevap: Rain evaporation parametersnumadj: Number concentration adjustment parameter
CloudMicrophysics.Parameters.RainParticlePDF_SB2006 — Type
RainParticlePDF_SB2006Abstract type for the size distribution parameters of rain particles
See RainParticlePDF_SB2006_limited and RainParticlePDF_SB2006_notlimited for the concrete types.
CloudMicrophysics.Parameters.RainParticlePDF_SB2006_limited — Type
RainParticlePDF_SB2006_limitedRain size distribution parameters from SB2006 including the limiters on drop maximum mass and the size distribution coefficinets N0 and lambda
Fields
νr: Raindrop size distribution coefficient νrμr: Raindrop size distribution coefficient μrxr_min: Raindrop minimal massxr_max: Raindrop maximum massN0_min: Raindrop size distribution coefficient N0 minN0_max: Raindrop size distribution coefficient N0 maxλ_min: Raindrop size distribution coefficient lambda minλ_max: Raindrop size distribution coefficient lambda maxρw: Cloud liquid water density [kg/m3]ρ0: Reference air density [kg/m3]
CloudMicrophysics.Parameters.RainParticlePDF_SB2006_notlimited — Type
RainParticlePDF_SB2006Rain size distribution parameters from SB2006 but without the limiters
Fields
νr: Raindrop size distribution coefficient νrμr: Raindrop size distribution coefficient μrxr_min: Raindrop minimum massxr_max: Raindrop maximum massρw: Cloud liquid water density [kg/m3]ρ0: Reference air density [kg/m3]
CloudMicrophysics.Parameters.CloudParticlePDF_SB2006 — Type
CloudParticlePDF_SB2006Cloud droplets size distribution parameters from SB2006
Fields
νc: Cloud droplet size distribution coefficient νcμc: Cloud droplet size distribution coefficient μcxc_min: Cloud droplets minimum massxc_max: Cloud droplets maximum massρw: Cloud liquid water density [kg/m3]
CloudMicrophysics.Parameters.AcnvSB2006 — Type
AcnvSB2006Autoconversion parameters from SB2006
Fields
kcc: Collection kernel coefficientx_star: Minimum mass of rain dropletsρ0: Reference air density [kg/m3]A: Autoconversion correcting function coeff Aa: Autoconversion correcting function coeff ab: Autoconversion correcting function coeff b
CloudMicrophysics.Parameters.AccrSB2006 — Type
AccrSB2006Accretion parameters from SB2006
Fields
kcr: Collection kernel coefficient Kcrτ0: Accretion correcting function coefficient τ_0ρ0: Reference air density [kg/m3]c: Accretion correcting function coefficient c
CloudMicrophysics.Parameters.SelfColSB2006 — Type
SelfColSB2006Rain selfcollection parameters from SB2006
Fields
krr: Collection kernel coefficient krrκrr: Collection kernel coefficient kappa rrd: Raindrop self collection coefficient d
CloudMicrophysics.Parameters.BreakupSB2006 — Type
BreakupSB2006Rain breakup parameters from SB2006
Fields
Deq: Raindrop equilibrium mean diamaterDr_th: Raindrop breakup mean diamater thresholdkbr: Raindrops breakup coefficient kbrκbr: Raindrops breakup coefficient kappa br
CloudMicrophysics.Parameters.EvaporationSB2006 — Type
EvaporationSB2006Rain evaporation parameters from SB2006
Fields
av: Ventillation coefficient abv: Ventillation coefficient bα: Rain evapoartion coefficient αβ: Rain evapoartion coefficient βρ0: Reference air density [kg/m3]
CloudMicrophysics.Parameters.NumberAdjustmentHorn2012 — Type
NumberAdjustmentHorn2012Number concentration adjustment parameter from Horn (2012, DOI: 10.5194/gmd-5-345-2012)
Fields
τ: Number concentration adjustment timescale [s]
CloudMicrophysics.Parameters.Blk1MVelType — Type
Blk1MVelTypeThe type for precipitation terminal velocity from the simple 1-moment scheme (defined for rain and snow)
Fields
rainsnow
CloudMicrophysics.Parameters.Blk1MVelTypeRain — Type
Blk1MVelTypeRainThe type for precipitation terminal velocity from the simple 1-moment scheme for rain
Fields
r0: particle length scale [m]ve: rain terminal velocity size relation coefficient [-]Δv: rain terminal velocity size relation coefficient [-]χv: rain terminal velocity size relation coefficient [-]ρw: cloud water density [kg/m3]C_drag: rain drop drag coefficient [-]grav: gravitational acceleration [m/s2]
CloudMicrophysics.Parameters.Blk1MVelTypeSnow — Type
Blk1MVelTypeSnowThe type for precipitation terminal velocity from the simple 1-moment scheme for snow
Fields
r0: particle length scale [m]ve: snow terminal velocity size relation coefficient [-]Δv: snow terminal velocity size relation coefficient [-]χv: snow terminal velocity size relation coefficient [-]v0: snow terminal velocity size relation coefficient [m/s]
CloudMicrophysics.Parameters.StokesRegimeVelType — Type
StokesRegimeVelTypeThe type for precipitation terminal velocity in the Stokes regime (Re < 1)
Fields
ρwν_airgrav
CloudMicrophysics.Parameters.SB2006VelType — Type
SB2006VelTypeThe type for precipitation terminal velocity from Seifert and Beheng 2006
Fields
ρ0aRbRcRρwν_airgrav
CloudMicrophysics.Parameters.Chen2022VelType — Type
Chen2022VelTypeThe type for precipitation terminal velocity from Chen et al 2022 DOI: 10.1016/j.atmosres.2022.106171 (defined for rain, snow and cloud ice)
Fields
rainsmall_icelarge_ice
CloudMicrophysics.Parameters.Chen2022VelTypeSmallIce — Type
Chen2022VelTypeSmallIceThe type for precipitation terminal velocity from Chen et al 2022 for small ice. See Table B3 for parameter definitions. DOI: 10.1016/j.atmosres.2022.106171
Fields
ABCEFGcutoff: cutoff for small vs large ice particle dimension [m]
CloudMicrophysics.Parameters.Chen2022VelTypeLargeIce — Type
Chen2022VelTypeLargeIceThe type for precipitation terminal velocity from Chen et al 2022 for large ice. See Table B4 for parameter definitions. DOI: 10.1016/j.atmosres.2022.106171
Fields
ABCEFGHcutoff: cutoff for small vs large ice particle dimension [m]
CloudMicrophysics.Parameters.Chen2022VelTypeRain — Type
Chen2022VelTypeRainThe type for precipitation terminal velocity from Chen et al 2022 for rain. See Table B1 for parameter definitions. DOI: 10.1016/j.atmosres.2022.106171
Fields
ρ0aa3_powbb_ρc
Precipitation susceptibility
CloudMicrophysics.PrecipitationSusceptibility.precipitation_susceptibility_autoconversion — Function
precipitation_susceptibility_autoconversion(param_set, scheme, q_lcl, q_rai, ρ, N_lcl)scheme- type for 2-moment rain autoconversion parameterizationq_lcl- cloud liquid water specific contentq_rai- rain water specific contentρ- air densityN_lcl- cloud droplet number density
Returns the precipitation susceptibility rates due to autoconversion as a precip_susceptibility_rates object, using automatic differentiation. Works for any 2-moment scheme, as long as autoconversion is defined for it.
CloudMicrophysics.PrecipitationSusceptibility.precipitation_susceptibility_accretion — Function
precipitation_susceptibility_accretion(param_set, scheme, q_lcl, q_rai, ρ, N_lcl)scheme- type for 2-moment rain autoconversion parameterizationq_lcl- cloud liquid water specific contentq_rai- rain water specific contentρ- air densityN_lcl- cloud droplet number density
Returns the precipitation susceptibility rates due to accretion as a precip_susceptibility_rates object, using automatic differentiation. Works for any 2-moment scheme, as long as accretion is defined for it.