PartMC
2.6.1
|
The aero_binned_t structure and associated subroutines. More...
Data Types | |
type | aero_binned_t |
Aerosol number and volume distributions stored per bin. More... | |
Functions/Subroutines | |
logical function | aero_binned_is_allocated (aero_binned) |
Determine whether the aero_binned is correctly allocated. More... | |
subroutine | aero_binned_set_sizes (aero_binned, n_bin, n_spec) |
Set the number of bins and species in an aero_binned_t. More... | |
subroutine | aero_binned_zero (aero_binned) |
Set all internal data in an aero_binned_t structure to zero. More... | |
subroutine | aero_binned_add (aero_binned, aero_binned_delta) |
Add two aero_binned_t structures together. More... | |
subroutine | aero_binned_add_scaled (aero_binned, aero_binned_delta, alpha) |
Add a scaled aero_binned_t structure to an existing one. More... | |
subroutine | aero_binned_sub (aero_binned, aero_binned_delta) |
Subtract one aero_binned_t structure from another. More... | |
subroutine | aero_binned_scale (aero_binned, alpha) |
Scale an aero_binned_t by a real number. More... | |
subroutine | aero_binned_scale_by_array (aero_binned, alpha_array) |
Scales an aero_binned_t element-wise by an array of reals. More... | |
subroutine | aero_binned_add_aero_dist (aero_binned, bin_grid, aero_data, aero_dist) |
Add an aero_dist_t to an aero_binned_t. More... | |
integer function | pmc_mpi_pack_size_aero_binned (val) |
Determine the number of bytes required to pack the structure. More... | |
subroutine | pmc_mpi_pack_aero_binned (buffer, position, val) |
Pack the structure into the buffer and advance position. More... | |
subroutine | pmc_mpi_unpack_aero_binned (buffer, position, val) |
Unpack the structure from the buffer and advance position. More... | |
subroutine | pmc_mpi_reduce_avg_aero_binned (val, val_avg) |
Computes the average of the structure across all processes, storing the result on the root process. More... | |
subroutine | aero_binned_input_netcdf (aero_binned, ncid, bin_grid, aero_data) |
Read full state. More... | |
The aero_binned_t structure and associated subroutines.
subroutine pmc_aero_binned::aero_binned_add | ( | type(aero_binned_t), intent(inout) | aero_binned, |
type(aero_binned_t), intent(in) | aero_binned_delta | ||
) |
Add two aero_binned_t structures together.
Symbolically does aero_binned = aero_binned + aero_binned_delta.
[in,out] | aero_binned | Base aero_binned_t structure that will be added to. |
[in] | aero_binned_delta | Structure to add to aero_binned. |
Definition at line 109 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_add_aero_dist | ( | type(aero_binned_t), intent(inout) | aero_binned, |
type(bin_grid_t), intent(in) | bin_grid, | ||
type(aero_data_t), intent(in) | aero_data, | ||
type(aero_dist_t), intent(in) | aero_dist | ||
) |
Add an aero_dist_t to an aero_binned_t.
Symbolically does aero_binned = aero_binned + aero_dist.
[in,out] | aero_binned | Base aero_binned_t structure to add to. |
[in] | bin_grid | Bin grid. |
[in] | aero_data | Aerosol data. |
[in] | aero_dist | The aero_dist_t structure to add. |
Definition at line 227 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_add_scaled | ( | type(aero_binned_t), intent(inout) | aero_binned, |
type(aero_binned_t), intent(in) | aero_binned_delta, | ||
real(kind=dp), intent(in) | alpha | ||
) |
Add a scaled aero_binned_t
structure to an existing one.
Symbolically does aero_binned = aero_binned + alpha * aero_binned_delta.
[in,out] | aero_binned | Base aero_binned_t structure that will be added to. |
[in] | aero_binned_delta | Structure to add to aero_binned. |
[in] | alpha | Scale factor. |
Definition at line 135 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_input_netcdf | ( | type(aero_binned_t), intent(inout) | aero_binned, |
integer, intent(in) | ncid, | ||
type(bin_grid_t), intent(in) | bin_grid, | ||
type(aero_data_t), intent(in) | aero_data | ||
) |
Read full state.
[in,out] | aero_binned | Aero_binned to write. |
[in] | ncid | NetCDF file ID, in data mode. |
[in] | bin_grid | bin_grid structure. |
[in] | aero_data | aero_data structure. |
Definition at line 465 of file aero_binned.F90.
logical function pmc_aero_binned::aero_binned_is_allocated | ( | type(aero_binned_t), intent(in) | aero_binned | ) |
Determine whether the aero_binned
is correctly allocated.
[in] | aero_binned | Aerosol binned to check. |
Definition at line 52 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_scale | ( | type(aero_binned_t), intent(inout) | aero_binned, |
real(kind=dp), intent(in) | alpha | ||
) |
Scale an aero_binned_t by a real number.
Symbolically does aero_binned = aero_binned * alpha.
[in,out] | aero_binned | Base aero_binned to scale. |
[in] | alpha | Scale factor. |
Definition at line 189 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_scale_by_array | ( | type(aero_binned_t), intent(inout) | aero_binned, |
real(kind=dp), dimension(:), intent(in), allocatable | alpha_array | ||
) |
Scales an aero_binned_t element-wise by an array of reals.
[in,out] | aero_binned | Base aero_binned_t structure that will be scaled. |
[in] | alpha_array | Structure to scale aero_binned. |
Definition at line 206 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_set_sizes | ( | type(aero_binned_t), intent(inout) | aero_binned, |
integer, intent(in) | n_bin, | ||
integer, intent(in) | n_spec | ||
) |
Set the number of bins and species in an aero_binned_t.
[in,out] | aero_binned | Structure to be allocated. |
[in] | n_bin | Number of aerosol bins to allocate (typically bin_grid%n_bin ). |
[in] | n_spec | Number of aerosol species to allocate (typically aero_data%n_spec ). |
Definition at line 71 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_sub | ( | type(aero_binned_t), intent(inout) | aero_binned, |
type(aero_binned_t), intent(in) | aero_binned_delta | ||
) |
Subtract one aero_binned_t structure from another.
Symbolically does aero_binned = aero_binned - aero_binned_delta.
[in,out] | aero_binned | Base aero_binned_t structure that will be subtracted from. |
[in] | aero_binned_delta | Structure to subtract from aero_binned. |
Definition at line 163 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_zero | ( | type(aero_binned_t), intent(inout) | aero_binned | ) |
Set all internal data in an aero_binned_t structure to zero.
[in,out] | aero_binned | Structure to zero. |
Definition at line 92 of file aero_binned.F90.
subroutine pmc_aero_binned::pmc_mpi_pack_aero_binned | ( | character, dimension(:), intent(inout) | buffer, |
integer, intent(inout) | position, | ||
type(aero_binned_t), intent(in) | val | ||
) |
Pack the structure into the buffer and advance position.
See pmc_mpi for usage details.
[in,out] | buffer | Memory buffer. |
[in,out] | position | Current buffer position. |
[in] | val | Structure to pack. |
Definition at line 278 of file aero_binned.F90.
integer function pmc_aero_binned::pmc_mpi_pack_size_aero_binned | ( | type(aero_binned_t), intent(in) | val | ) |
Determine the number of bytes required to pack the structure.
See pmc_mpi for usage details.
[in] | val | Structure to pack. |
Definition at line 262 of file aero_binned.F90.
subroutine pmc_aero_binned::pmc_mpi_reduce_avg_aero_binned | ( | type(aero_binned_t), intent(in) | val, |
type(aero_binned_t), intent(inout) | val_avg | ||
) |
Computes the average of the structure across all processes, storing the result on the root process.
[in] | val | Per-process value to average. |
[in,out] | val_avg | Averaged result (only valid on root process). |
Definition at line 329 of file aero_binned.F90.
subroutine pmc_aero_binned::pmc_mpi_unpack_aero_binned | ( | character, dimension(:), intent(inout) | buffer, |
integer, intent(inout) | position, | ||
type(aero_binned_t), intent(inout) | val | ||
) |
Unpack the structure from the buffer and advance position.
See pmc_mpi for usage details.
[in,out] | buffer | Memory buffer. |
[in,out] | position | Current buffer position. |
[in,out] | val | Structure to unpack into (must not be allocated). |
Definition at line 304 of file aero_binned.F90.