Data Types | Modules | Functions/Subroutines | Variables

aero_mode.F95 File Reference

The pmc_aero_mode module. More...

Data Types

type  pmc_aero_mode::aero_mode_t
 An aerosol size distribution mode. More...

Modules

module  pmc_aero_mode
 

The aero_mode_t structure and associated subroutines.


Functions/Subroutines

character(len=AERO_MODE_TYPE_LEN) pmc_aero_mode::aero_mode_type_to_string (type)
 Return a string representation of a kernel type.
subroutine pmc_aero_mode::aero_mode_allocate (aero_mode)
 Allocates an aero_mode.
subroutine pmc_aero_mode::aero_mode_allocate_size (aero_mode, n_spec)
 Allocates an aero_mode of the given size.
subroutine pmc_aero_mode::aero_mode_deallocate (aero_mode)
 Free all storage.
subroutine pmc_aero_mode::aero_mode_copy (aero_mode_from, aero_mode_to)
 Copy an aero_mode.
subroutine pmc_aero_mode::num_conc_log_normal (geom_mean_radius, log10_sigma_g, bin_grid, num_conc)
 Compute a log-normal distribution, normalized so that sum(num_conc(k) * log_width) = 1.
subroutine pmc_aero_mode::vol_conc_log_normal (geom_mean_radius, log10_sigma_g, bin_grid, vol_conc)
 Compute a log-normal distribution in volume.
subroutine pmc_aero_mode::num_conc_exp (radius_at_mean_vol, bin_grid, num_conc)
 Exponential distribution in volume

\[ n(v) = \frac{1}{\rm mean-vol} \exp(- v / {\rm mean-vol}) \]

Normalized so that sum(num_conc(k) * log_width) = 1.

subroutine pmc_aero_mode::vol_conc_exp (radius_at_mean_vol, bin_grid, vol_conc)
 Exponential distribution in volume.
subroutine pmc_aero_mode::num_conc_mono (radius, bin_grid, num_conc)
 Mono-disperse distribution. Normalized so that sum(num_conc(k) * log_width) = 1.
subroutine pmc_aero_mode::vol_conc_mono (radius, bin_grid, vol_conc)
 Mono-disperse distribution in volume.
subroutine pmc_aero_mode::aero_mode_num_conc (aero_mode, bin_grid, aero_data, num_conc)
 Return the binned number concentration for an aero_mode.
subroutine pmc_aero_mode::aero_mode_vol_conc (aero_mode, bin_grid, aero_data, vol_conc)
 Return the binned per-species volume concentration for an aero_mode.
real(kind=dp) pmc_aero_mode::aero_mode_weighted_num_conc (aero_mode, aero_weight)
 Return the weighted number concentration for an aero_mode.
subroutine pmc_aero_mode::aero_mode_sample_radius (aero_mode, aero_weight, radius)
 Return a radius randomly sampled from the mode distribution.
subroutine pmc_aero_mode::spec_file_read_vol_frac (file, aero_data, vol_frac)
 Read volume fractions from a data file.
subroutine pmc_aero_mode::spec_file_read_aero_mode (file, aero_data, aero_mode, eof)
 Read one mode of an aerosol distribution (number concentration, volume fractions, and mode shape).
integer pmc_aero_mode::pmc_mpi_pack_size_aero_mode (val)
 Determines the number of bytes required to pack the given value.
subroutine pmc_aero_mode::pmc_mpi_pack_aero_mode (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_aero_mode::pmc_mpi_unpack_aero_mode (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.

Variables

integer, parameter pmc_aero_mode::AERO_MODE_NAME_LEN = 300
 Maximum length of a mode name.
integer, parameter pmc_aero_mode::AERO_MODE_TYPE_LEN = 20
 Maximum length of a mode type.
integer, parameter pmc_aero_mode::AERO_MODE_TYPE_INVALID = 0
 Type code for an undefined or invalid mode.
integer, parameter pmc_aero_mode::AERO_MODE_TYPE_LOG_NORMAL = 1
 Type code for a log-normal mode.
integer, parameter pmc_aero_mode::AERO_MODE_TYPE_EXP = 2
 Type code for an exponential mode.
integer, parameter pmc_aero_mode::AERO_MODE_TYPE_MONO = 3
 Type code for a mono-disperse mode.

Detailed Description

The pmc_aero_mode module.