pmc_aero_mode Namespace Reference

The aero_mode_t structure and associated subroutines. More...


Classes

struct  aero_mode_t
 An aerosol size distribution mode. More...

Functions

subroutine aero_mode_allocate (aero_mode)
 Allocates an aero_mode.
subroutine aero_mode_allocate_size (aero_mode, n_spec)
 Allocates an aero_mode of the given size.
subroutine aero_mode_deallocate (aero_mode)
 Free all storage.
subroutine aero_mode_copy (aero_mode_from, aero_mode_to)
 Copy an aero_mode.
subroutine num_conc_log_normal (mean_radius, log_sigma, bin_grid, num_conc)
 Compute a log-normal distribution, normalized so that sum(num_conc(k) * dlnr) = 1.
subroutine vol_conc_log_normal (mean_radius, log_sigma, bin_grid, vol_conc)
 Compute a log-normal distribution in volume.
subroutine num_conc_exp (mean_radius, bin_grid, num_conc)
 Exponential distribution in volume n(v) = 1 / mean_vol * exp(- v / mean_vol) Normalized so that sum(num_conc(k) * dlnr) = 1.
subroutine vol_conc_exp (mean_radius, bin_grid, vol_conc)
 Exponential distribution in volume.
subroutine num_conc_mono (radius, bin_grid, num_conc)
 Mono-disperse distribution. Normalized so that sum(num_conc(k) * dlnr) = 1.
subroutine vol_conc_mono (radius, bin_grid, vol_conc)
 Mono-disperse distribution in volume.
subroutine aero_mode_num_conc (aero_mode, bin_grid, aero_data, num_conc)
 Return the binned number concentration for an aero_mode.
subroutine aero_mode_vol_conc (aero_mode, bin_grid, aero_data, vol_conc)
 Return the binned per-species volume concentration for an aero_mode.
subroutine aero_mode_sample_radius (aero_mode, radius)
 Return a radius randomly sampled from the mode distribution.
subroutine spec_file_read_vol_frac (file, aero_data, vol_frac)
 Read volume fractions from a data file.
subroutine spec_file_read_aero_mode_shape (file, aero_mode)
 Read the shape (number concentration profile) of one mode of an aerosol distribution.
subroutine spec_file_read_aero_mode (file, aero_data, aero_mode, eof)
 Read one mode of an aerosol distribution (number concentration and volume fractions).
integer pmc_mpi_pack_size_aero_mode (val)
 Determines the number of bytes required to pack the given value.
subroutine pmc_mpi_pack_aero_mode (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi_unpack_aero_mode (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.

Variables

integer, parameter AERO_MODE_NAME_LEN = 300
 Maximum length of an aero_dist mode name.
integer, parameter AERO_MODE_TYPE_LEN = 100
 Maximum length of an aero_dist mode type.


Detailed Description

The aero_mode_t structure and associated subroutines.

Function Documentation

subroutine pmc_aero_mode::aero_mode_allocate ( type(aero_mode_t),intent(out)  aero_mode  ) 

Allocates an aero_mode.

Parameters:
aero_mode  Aerosol mode.

subroutine pmc_aero_mode::aero_mode_allocate_size ( type(aero_mode_t),intent(out)  aero_mode,
integer,intent(in)  n_spec 
)

Allocates an aero_mode of the given size.

Parameters:
aero_mode  Aerosol mode.
n_spec  Number of species.

subroutine pmc_aero_mode::aero_mode_copy ( type(aero_mode_t),intent(in)  aero_mode_from,
type(aero_mode_t),intent(inout)  aero_mode_to 
)

Copy an aero_mode.

Parameters:
aero_mode_from  Aerosol mode original.
aero_mode_to  Aerosol mode copy.

subroutine pmc_aero_mode::aero_mode_deallocate ( type(aero_mode_t),intent(inout)  aero_mode  ) 

Free all storage.

Parameters:
aero_mode  Aerosol mode.

subroutine pmc_aero_mode::aero_mode_num_conc ( type(aero_mode_t),intent(in)  aero_mode,
type(bin_grid_t),intent(in)  bin_grid,
type(aero_data_t),intent(in)  aero_data,
real*8,dimension(bin_grid%n_bin),intent(out)  num_conc 
)

Return the binned number concentration for an aero_mode.

Parameters:
aero_mode  Aero mode for which to compute number concentration.
bin_grid  Bin grid.
aero_data  Aerosol data.
num_conc  Number concentration (#(ln(r))d(ln(r))).

subroutine pmc_aero_mode::aero_mode_sample_radius ( type(aero_mode_t),intent(in)  aero_mode,
real*8,intent(out)  radius 
)

Return a radius randomly sampled from the mode distribution.

Parameters:
aero_mode  Aero_mode to sample radius from.
radius  Sampled radius (m).

subroutine pmc_aero_mode::aero_mode_vol_conc ( type(aero_mode_t),intent(in)  aero_mode,
type(bin_grid_t),intent(in)  bin_grid,
type(aero_data_t),intent(in)  aero_data,
real*8,dimension(bin_grid%n_bin, aero_data%n_spec),intent(out)  vol_conc 
)

Return the binned per-species volume concentration for an aero_mode.

Parameters:
aero_mode  Aero mode for which to compute volume concentration.
bin_grid  Bin grid.
aero_data  Aerosol data.
vol_conc  Volume concentration (V(ln(r))d(ln(r))).

subroutine pmc_aero_mode::num_conc_exp ( real*8,intent(in)  mean_radius,
type(bin_grid_t),intent(in)  bin_grid,
real*8,dimension(bin_grid%n_bin),intent(out)  num_conc 
)

Exponential distribution in volume n(v) = 1 / mean_vol * exp(- v / mean_vol) Normalized so that sum(num_conc(k) * dlnr) = 1.

Parameters:
mean_radius  Mean radius (m).
bin_grid  Bin grid.
num_conc  Number concentration (#(ln(r))d(ln(r))).

subroutine pmc_aero_mode::num_conc_log_normal ( real*8,intent(in)  mean_radius,
real*8,intent(in)  log_sigma,
type(bin_grid_t),intent(in)  bin_grid,
real*8,dimension(bin_grid%n_bin),intent(out)  num_conc 
)

Compute a log-normal distribution, normalized so that sum(num_conc(k) * dlnr) = 1.

Parameters:
mean_radius  Geometric mean radius (m).
log_sigma  log_10(geom. std dev) (1).
bin_grid  Bin grid.
num_conc  Number concentration (#(ln(r))d(ln(r))).

subroutine pmc_aero_mode::num_conc_mono ( real*8,intent(in)  radius,
type(bin_grid_t),intent(in)  bin_grid,
real*8,dimension(bin_grid%n_bin),intent(out)  num_conc 
)

Mono-disperse distribution. Normalized so that sum(num_conc(k) * dlnr) = 1.

Parameters:
radius  Radius of each particle (m^3).
bin_grid  Bin grid.
num_conc  Number concentration (#(ln(r))d(ln(r))).

subroutine pmc_aero_mode::pmc_mpi_pack_aero_mode ( character,dimension(:),intent(inout)  buffer,
integer,intent(inout)  position,
type(aero_mode_t),intent(in)  val 
)

Packs the given value into the buffer, advancing position.

Parameters:
buffer  Memory buffer.
position  Current buffer position.
val  Value to pack.

integer pmc_aero_mode::pmc_mpi_pack_size_aero_mode ( type(aero_mode_t),intent(in)  val  ) 

Determines the number of bytes required to pack the given value.

Parameters:
val  Value to pack.

subroutine pmc_aero_mode::pmc_mpi_unpack_aero_mode ( character,dimension(:),intent(inout)  buffer,
integer,intent(inout)  position,
type(aero_mode_t),intent(out)  val 
)

Unpacks the given value from the buffer, advancing position.

Parameters:
buffer  Memory buffer.
position  Current buffer position.
val  Value to pack.

subroutine pmc_aero_mode::spec_file_read_aero_mode ( type(spec_file_t),intent(inout)  file,
type(aero_data_t),intent(in)  aero_data,
type(aero_mode_t),intent(inout)  aero_mode,
logical  eof 
)

Read one mode of an aerosol distribution (number concentration and volume fractions).

Parameters:
file  Spec file.
aero_data  Aero_data data.
aero_mode  Aerosol mode.
eof  If eof instead of reading data.

subroutine pmc_aero_mode::spec_file_read_aero_mode_shape ( type(spec_file_t),intent(inout)  file,
type(aero_mode_t),intent(inout)  aero_mode 
)

Read the shape (number concentration profile) of one mode of an aerosol distribution.

Parameters:
file  Spec file.
aero_mode  Aerosol mode.

subroutine pmc_aero_mode::spec_file_read_vol_frac ( type(spec_file_t),intent(inout)  file,
type(aero_data_t),intent(in)  aero_data,
real*8,dimension(:),intent(out)  vol_frac 
)

Read volume fractions from a data file.

Parameters:
file  Spec file.
aero_data  Aero_data data.
vol_frac  Aerosol species volume fractions.

subroutine pmc_aero_mode::vol_conc_exp ( real*8,intent(in)  mean_radius,
type(bin_grid_t),intent(in)  bin_grid,
real*8,dimension(bin_grid%n_bin),intent(out)  vol_conc 
)

Exponential distribution in volume.

Parameters:
mean_radius  Mean radius (m).
bin_grid  Bin grid.
vol_conc  Volume concentration (V(ln(r))d(ln(r))).

subroutine pmc_aero_mode::vol_conc_log_normal ( real*8,intent(in)  mean_radius,
real*8,intent(in)  log_sigma,
type(bin_grid_t),intent(in)  bin_grid,
real*8,dimension(bin_grid%n_bin),intent(out)  vol_conc 
)

Compute a log-normal distribution in volume.

Parameters:
mean_radius  Geometric mean radius (m).
log_sigma  log_10(geom. std dev) (1).
bin_grid  Bin grid.
vol_conc  Volume concentration (V(ln(r))d(ln(r))).

subroutine pmc_aero_mode::vol_conc_mono ( real*8,intent(in)  radius,
type(bin_grid_t),intent(in)  bin_grid,
real*8,dimension(bin_grid%n_bin),intent(out)  vol_conc 
)

Mono-disperse distribution in volume.

Parameters:
radius  Radius of each particle (m^3).
bin_grid  Bin grid.
vol_conc  Volume concentration (V(ln(r))d(ln(r))).


Variable Documentation

integer,parameter pmc_aero_mode::AERO_MODE_NAME_LEN = 300

Maximum length of an aero_dist mode name.

integer,parameter pmc_aero_mode::AERO_MODE_TYPE_LEN = 100

Maximum length of an aero_dist mode type.


Generated on Mon Jun 15 15:56:22 2009 for PartMC by  doxygen 1.5.6