PartMC
2.6.1
|
Aerosol nucleation functions. More...
Functions/Subroutines | |
subroutine | nucleate (nucleate_type, nucleate_source, env_state, gas_data, aero_data, aero_state, gas_state, del_t, allow_doubling, allow_halving) |
Do nucleation of the type given by the first argument. More... | |
subroutine | nucleate_sulf_acid (nucleate_source, env_state, gas_data, aero_data, aero_state, gas_state, del_t, allow_doubling, allow_halving) |
Nucleate sulfuric acid into aerosol particles, using a power-law dependence, for time del_t . More... | |
Variables | |
integer, parameter | nucleate_type_invalid = 0 |
Type code for unknown or invalid nucleation type. More... | |
integer, parameter | nucleate_type_sulf_acid = 1 |
Type code for H2SO4 to SO4 nucleation with quadratic rate. More... | |
character(len=aero_source_name_len), parameter | nucleate_source_name = "nucleate" |
Source name for nucleated particles. More... | |
Aerosol nucleation functions.
subroutine pmc_nucleate::nucleate | ( | integer, intent(in) | nucleate_type, |
integer, intent(in) | nucleate_source, | ||
type(env_state_t), intent(in) | env_state, | ||
type(gas_data_t), intent(in) | gas_data, | ||
type(aero_data_t), intent(in) | aero_data, | ||
type(aero_state_t), intent(inout) | aero_state, | ||
type(gas_state_t), intent(inout) | gas_state, | ||
real(kind=dp), intent(in) | del_t, | ||
logical, intent(in) | allow_doubling, | ||
logical, intent(in) | allow_halving | ||
) |
Do nucleation of the type given by the first argument.
[in] | nucleate_type | Type of nucleation. |
[in] | nucleate_source | Nucleate source number. |
[in] | env_state | Environment state. |
[in] | gas_data | Gas data. |
[in] | aero_data | Aerosol data. |
[in,out] | aero_state | Aerosol state. |
[in,out] | gas_state | Gas state. |
[in] | del_t | Time to perform nucleation for. |
[in] | allow_doubling | Whether to allow doubling of the population. |
[in] | allow_halving | Whether to allow halving of the population. |
Definition at line 31 of file nucleate.F90.
subroutine pmc_nucleate::nucleate_sulf_acid | ( | integer, intent(in) | nucleate_source, |
type(env_state_t), intent(in) | env_state, | ||
type(gas_data_t), intent(in) | gas_data, | ||
type(aero_data_t), intent(in) | aero_data, | ||
type(aero_state_t), intent(inout) | aero_state, | ||
type(gas_state_t), intent(inout) | gas_state, | ||
real(kind=dp), intent(in) | del_t, | ||
logical, intent(in) | allow_doubling, | ||
logical, intent(in) | allow_halving | ||
) |
Nucleate sulfuric acid into aerosol particles, using a power-law dependence, for time del_t
.
The modeled emission rate is , where is the concentration of and is a constant coefficient.
The reference is:
C. Kuang, P. H. McMurry, A. V. McCormick, and F. L. Eisele (2008), Dependence of nucleation rates on sulfuric acid vapor concentration in diverse atmospheric locations, J. Geophys. Res., 113, D10209, doi:10.1029/2007JD009253.
[in] | nucleate_source | Nucleate source number. |
[in] | env_state | Environment state. |
[in] | gas_data | Gas data. |
[in] | aero_data | Aerosol data. |
[in,out] | aero_state | Aerosol state. |
[in,out] | gas_state | Gas state. |
[in] | del_t | Time to perform nucleation for. |
[in] | allow_doubling | Whether to allow doubling of the population. |
[in] | allow_halving | Whether to allow halving of the population. |
Definition at line 83 of file nucleate.F90.
character(len=aero_source_name_len), parameter pmc_nucleate::nucleate_source_name = "nucleate" |
Source name for nucleated particles.
Definition at line 23 of file nucleate.F90.
integer, parameter pmc_nucleate::nucleate_type_invalid = 0 |
Type code for unknown or invalid nucleation type.
Definition at line 18 of file nucleate.F90.
integer, parameter pmc_nucleate::nucleate_type_sulf_acid = 1 |
Type code for H2SO4 to SO4 nucleation with quadratic rate.
Definition at line 20 of file nucleate.F90.