PartMC
2.2.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... | |
Public Member Functions | |
subroutine | aero_binned_allocate (aero_binned) |
Allocate an aero_binned_t. | |
subroutine | aero_binned_allocate_size (aero_binned, n_bin, n_spec) |
Allocate an aero_binned_t of the given size. | |
subroutine | aero_binned_deallocate (aero_binned) |
Free internal memory in an aero_binned_t structure. | |
subroutine | aero_binned_zero (aero_binned) |
Set all internal data in an aero_binned_t structure to zero. | |
subroutine | aero_binned_add (aero_binned, aero_binned_delta) |
Add two aero_binned_t structures together. | |
subroutine | aero_binned_sub (aero_binned, aero_binned_delta) |
Subtract one aero_binned_t structure from another. | |
subroutine | aero_binned_scale (aero_binned, alpha) |
Scale an aero_binned_t by a real number. | |
subroutine | aero_binned_copy (aero_binned_from, aero_binned_to) |
Copy one aero_binned_t structure to another. | |
subroutine | aero_binned_add_aero_dist (aero_binned, bin_grid, aero_data, aero_dist) |
Add an aero_dist_t to an aero_binned_t. | |
integer function | pmc_mpi_pack_size_aero_binned (val) |
Determine the number of bytes required to pack the structure. | |
subroutine | pmc_mpi_pack_aero_binned (buffer, position, val) |
Pack the structure into the buffer and advance position. | |
subroutine | pmc_mpi_unpack_aero_binned (buffer, position, val) |
Unpack the structure from the buffer and advance position. | |
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. | |
subroutine | aero_binned_output_netcdf (aero_binned, ncid, bin_grid, aero_data) |
Write full state. | |
subroutine | aero_binned_input_netcdf (aero_binned, ncid, bin_grid, aero_data) |
Read full state. |
The aero_binned_t structure and associated subroutines.
Definition at line 9 of file aero_binned.F90.
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 107 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 181 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_allocate | ( | type(aero_binned_t), intent(out) | aero_binned | ) |
Allocate an aero_binned_t.
[out] | aero_binned | Structure to be allocated. |
Definition at line 47 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_allocate_size | ( | type(aero_binned_t), intent(out) | aero_binned, |
integer, intent(in) | n_bin, | ||
integer, intent(in) | n_spec | ||
) |
Allocate an aero_binned_t of the given size.
[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 60 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_copy | ( | type(aero_binned_t), intent(in) | aero_binned_from, |
type(aero_binned_t), intent(inout) | aero_binned_to | ||
) |
Copy one aero_binned_t structure to another.
Symbolically does aero_binned_to = aero_binned_from.
[in] | aero_binned_from | Base aero_binned_t structure to copy from. |
[in,out] | aero_binned_to | Structure to copy to. |
Definition at line 158 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_deallocate | ( | type(aero_binned_t), intent(inout) | aero_binned | ) |
Free internal memory in an aero_binned_t structure.
[in,out] | aero_binned | Structure to free. |
Definition at line 79 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 360 of file aero_binned.F90.
subroutine pmc_aero_binned::aero_binned_output_netcdf | ( | type(aero_binned_t), intent(in) | aero_binned, |
integer, intent(in) | ncid, | ||
type(bin_grid_t), intent(in) | bin_grid, | ||
type(aero_data_t), intent(in) | aero_data | ||
) |
Write full state.
[in] | 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 293 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 141 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 124 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 227 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 211 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 278 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 253 of file aero_binned.F90.