Classes | |
struct | aero_particle_t |
Single aerosol particle data structure. More... | |
Functions | |
subroutine | aero_particle_allocate (aero_particle) |
Allocates memory in an aero_particle_t. | |
subroutine | aero_particle_allocate_size (aero_particle, n_spec) |
Allocates an aero_particle_t of the given size. | |
subroutine | aero_particle_deallocate (aero_particle) |
Deallocates memory associated with an aero_particle_t. | |
subroutine | aero_particle_copy (aero_particle_from, aero_particle_to) |
Copies a particle. | |
subroutine | aero_particle_shift (aero_particle_from, aero_particle_to) |
Shift data from one aero_particle_t to another and free the first one. | |
subroutine | aero_particle_zero (aero_particle) |
Resets an aero_particle to be zero. | |
subroutine | aero_particle_new_id (aero_particle) |
Assigns a globally-unique new ID number to the particle. | |
subroutine | aero_particle_set_create_time (aero_particle, create_time) |
Sets the creation times for the particle. | |
subroutine | aero_particle_set_vols (aero_particle, vols) |
Sets the aerosol particle volumes. | |
real *8 | aero_particle_mass (aero_particle, aero_data) |
Total mass of the particle (kg). | |
real *8 | aero_particle_moles (aero_particle, aero_data) |
Total moles in the particle (1). | |
real *8 | aero_particle_volume (aero_particle) |
Total volume of the particle (m^3). | |
real *8 | aero_particle_density (aero_particle, aero_data) |
Average density of the particle (kg/m^3). | |
integer | aero_particle_in_bin (aero_particle, bin_grid) |
Find the bin number that contains a given particle. | |
real *8 | aero_particle_average_solute_quantity (aero_particle, aero_data, quantity) |
Returns the volume-average of the non-water elements of quantity. | |
real *8 | aero_particle_total_solute_quantity (aero_particle, aero_data, quantity) |
Returns the volume-total of the non-water elements of quantity. | |
real *8 | aero_particle_average_water_quantity (aero_particle, aero_data, quantity) |
Returns the water element of quantity. | |
real *8 | aero_particle_total_water_quantity (aero_particle, aero_data, quantity) |
Returns the volume-total of the water element of quantity. | |
real *8 | aero_particle_water_molec_weight (aero_data) |
Returns the water molecular weight. (kg/mole). | |
real *8 | aero_particle_solute_molec_weight (aero_particle, aero_data) |
Returns the average of the solute molecular weight (kg/mole). | |
real *8 | aero_particle_solute_num_ions (aero_particle, aero_data) |
Returns the average of the solute ion number (1). | |
real *8 | aero_particle_solute_solubility (aero_particle, aero_data) |
Returns the average of the solute solubilities (1). | |
real *8 | aero_particle_water_density (aero_data) |
Returns the water density (kg/m^3). | |
real *8 | aero_particle_solute_density (aero_particle, aero_data) |
Returns the average of the solute densities (kg/m^3). | |
real *8 | aero_particle_water_mass (aero_particle, aero_data) |
Returns the water mass (kg). | |
real *8 | aero_particle_solute_mass (aero_particle, aero_data) |
Returns the total solute mass (kg). | |
real *8 | aero_particle_solute_volume (aero_particle, aero_data) |
Returns the total solute volume (m^3). | |
real *8 | aero_particle_solute_kappa (aero_particle, aero_data) |
Returns the average of the solute kappas (1). | |
subroutine | aero_particle_coagulate (aero_particle_1, aero_particle_2, aero_particle_new) |
Coagulate two particles together to make a new one. | |
integer | pmc_mpi_pack_size_aero_particle (val) |
Determines the number of bytes required to pack the given value. | |
subroutine | pmc_mpi_pack_aero_particle (buffer, position, val) |
Packs the given value into the buffer, advancing position. | |
subroutine | pmc_mpi_unpack_aero_particle (buffer, position, val) |
Unpacks the given value from the buffer, advancing position. | |
Variables | |
integer, save | next_id = 1 |
Next unique ID number to use for a particle. |
subroutine pmc_aero_particle::aero_particle_allocate | ( | type(aero_particle_t),intent(inout) | aero_particle | ) |
subroutine pmc_aero_particle::aero_particle_allocate_size | ( | type(aero_particle_t),intent(inout) | aero_particle, | |
integer,intent(in) | n_spec | |||
) |
Allocates an aero_particle_t of the given size.
aero_particle | Particle to init. |
n_spec | Number of species. |
real*8 pmc_aero_particle::aero_particle_average_solute_quantity | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data, | |||
real*8,dimension(:),intent(in) | quantity | |||
) |
Returns the volume-average of the non-water elements of quantity.
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
quantity | Quantity to average. |
real*8 pmc_aero_particle::aero_particle_average_water_quantity | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data, | |||
real*8,dimension(:),intent(in) | quantity | |||
) |
Returns the water element of quantity.
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
quantity | Quantity to average. |
subroutine pmc_aero_particle::aero_particle_coagulate | ( | type(aero_particle_t),intent(in) | aero_particle_1, | |
type(aero_particle_t),intent(in) | aero_particle_2, | |||
type(aero_particle_t),intent(inout) | aero_particle_new | |||
) |
Coagulate two particles together to make a new one.
aero_particle_1 | First particle. |
aero_particle_2 | Second particle. |
aero_particle_new | Result particle. |
subroutine pmc_aero_particle::aero_particle_copy | ( | type(aero_particle_t),intent(in) | aero_particle_from, | |
type(aero_particle_t),intent(inout) | aero_particle_to | |||
) |
Copies a particle.
aero_particle_from | Reference particle. |
aero_particle_to | Destination particle (already alloced on entry). |
subroutine pmc_aero_particle::aero_particle_deallocate | ( | type(aero_particle_t),intent(inout) | aero_particle | ) |
real*8 pmc_aero_particle::aero_particle_density | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Average density of the particle (kg/m^3).
aero_particle | Particle. |
aero_data | Aerosol data. |
integer pmc_aero_particle::aero_particle_in_bin | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(bin_grid_t),intent(in) | bin_grid | |||
) |
Find the bin number that contains a given particle.
aero_particle | Particle. |
bin_grid | Bin_grid. |
real*8 pmc_aero_particle::aero_particle_mass | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Total mass of the particle (kg).
aero_particle | Particle. |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_moles | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Total moles in the particle (1).
aero_particle | Particle. |
aero_data | Aerosol data. |
subroutine pmc_aero_particle::aero_particle_new_id | ( | type(aero_particle_t),intent(inout) | aero_particle | ) |
Assigns a globally-unique new ID number to the particle.
aero_particle | Particle to set ID for. |
subroutine pmc_aero_particle::aero_particle_set_create_time | ( | type(aero_particle_t),intent(inout) | aero_particle, | |
real*8,intent(in) | create_time | |||
) |
Sets the creation times for the particle.
aero_particle | Particle to set time for. |
create_time | Creation time. |
subroutine pmc_aero_particle::aero_particle_set_vols | ( | type(aero_particle_t),intent(inout) | aero_particle, | |
real*8,dimension(size(aero_particle%vol),intent(in) | vols | |||
) |
Sets the aerosol particle volumes.
aero_particle | Particle. |
vols | New volumes. |
subroutine pmc_aero_particle::aero_particle_shift | ( | type(aero_particle_t),intent(inout) | aero_particle_from, | |
type(aero_particle_t),intent(inout) | aero_particle_to | |||
) |
Shift data from one aero_particle_t to another and free the first one.
This is roughly equivalent to aero_particle_copy(from, to) followed by aero_particle_deallocate(from), but faster and with different memory allocation requirements.
aero_particle_from | Reference particle (will be deallocated on return). |
aero_particle_to | Destination particle (not allocated on entry). |
real*8 pmc_aero_particle::aero_particle_solute_density | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute densities (kg/m^3).
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_kappa | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute kappas (1).
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_mass | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the total solute mass (kg).
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_molec_weight | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute molecular weight (kg/mole).
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_num_ions | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute ion number (1).
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_solubility | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute solubilities (1).
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_volume | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the total solute volume (m^3).
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_total_solute_quantity | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data, | |||
real*8,dimension(:),intent(in) | quantity | |||
) |
Returns the volume-total of the non-water elements of quantity.
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
quantity | Quantity to total. |
real*8 pmc_aero_particle::aero_particle_total_water_quantity | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data, | |||
real*8,dimension(:),intent(in) | quantity | |||
) |
Returns the volume-total of the water element of quantity.
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
quantity | Quantity to total. |
real*8 pmc_aero_particle::aero_particle_volume | ( | type(aero_particle_t),intent(in) | aero_particle | ) |
Total volume of the particle (m^3).
aero_particle | Particle. |
real*8 pmc_aero_particle::aero_particle_water_density | ( | type(aero_data_t),intent(in) | aero_data | ) |
Returns the water density (kg/m^3).
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_water_mass | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the water mass (kg).
aero_particle | Aerosol particle. |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_water_molec_weight | ( | type(aero_data_t),intent(in) | aero_data | ) |
Returns the water molecular weight. (kg/mole).
aero_data | Aerosol data. |
subroutine pmc_aero_particle::aero_particle_zero | ( | type(aero_particle_t),intent(inout) | aero_particle | ) |
Resets an aero_particle to be zero.
aero_particle | Particle to zero. |
subroutine pmc_aero_particle::pmc_mpi_pack_aero_particle | ( | character,dimension(:),intent(inout) | buffer, | |
integer,intent(inout) | position, | |||
type(aero_particle_t),intent(in) | val | |||
) |
Packs the given value into the buffer, advancing position.
buffer | Memory buffer. |
position | Current buffer position. |
val | Value to pack. |
integer pmc_aero_particle::pmc_mpi_pack_size_aero_particle | ( | type(aero_particle_t),intent(in) | val | ) |
Determines the number of bytes required to pack the given value.
val | Value to pack. |
subroutine pmc_aero_particle::pmc_mpi_unpack_aero_particle | ( | character,dimension(:),intent(inout) | buffer, | |
integer,intent(inout) | position, | |||
type(aero_particle_t),intent(out) | val | |||
) |
Unpacks the given value from the buffer, advancing position.
buffer | Memory buffer. |
position | Current buffer position. |
val | Value to pack. |
integer,save pmc_aero_particle::next_id = 1 |
Next unique ID number to use for a particle.