PartMC
2.6.1
|
The aero_particle_array_t structure and assoicated subroutines. More...
Data Types | |
type | aero_particle_array_t |
1-D array of particles, used by aero_state to store the particles. More... | |
Functions/Subroutines | |
elemental integer function | aero_particle_array_n_part (aero_particle_array) |
Return the current number of particles. More... | |
subroutine | aero_particle_array_zero (aero_particle_array) |
Resets an aero_particle_array to contain zero particles. More... | |
subroutine | aero_particle_array_realloc (aero_particle_array, new_length) |
Changes the given aero_particle_array to exactly the given new_length. More... | |
subroutine | aero_particle_array_enlarge (aero_particle_array, n) |
Possibly enlarges the given array, ensuring that it is at least of size n. More... | |
subroutine | aero_particle_array_shrink (aero_particle_array) |
Possibly shrinks the storage of the given array, ensuring that it can still store the allocated particles. More... | |
subroutine | aero_particle_array_add_particle (aero_particle_array, aero_particle) |
Adds the given particle to the end of the array. More... | |
subroutine | aero_particle_array_remove_particle (aero_particle_array, index) |
Removes the particle at the given index. More... | |
integer function | pmc_mpi_pack_size_apa (val) |
Determines the number of bytes required to pack the given value. More... | |
subroutine | pmc_mpi_pack_aero_particle_array (buffer, position, val) |
Packs the given value into the buffer, advancing position. More... | |
subroutine | pmc_mpi_unpack_aero_particle_array (buffer, position, val) |
Unpacks the given value from the buffer, advancing position. More... | |
subroutine | aero_particle_array_check (aero_particle_array, aero_data, continue_on_error) |
Check that the particle array data is consistent. More... | |
The aero_particle_array_t structure and assoicated subroutines.
subroutine pmc_aero_particle_array::aero_particle_array_add_particle | ( | type(aero_particle_array_t), intent(inout) | aero_particle_array, |
type(aero_particle_t), intent(in) | aero_particle | ||
) |
Adds the given particle to the end of the array.
[in,out] | aero_particle_array | Array to add to. |
[in] | aero_particle | Particle to add. |
Definition at line 158 of file aero_particle_array.F90.
subroutine pmc_aero_particle_array::aero_particle_array_check | ( | type(aero_particle_array_t), intent(in) | aero_particle_array, |
type(aero_data_t), intent(in) | aero_data, | ||
logical, intent(in) | continue_on_error | ||
) |
Check that the particle array data is consistent.
[in] | aero_particle_array | Aerosol particle array to check. |
[in] | aero_data | Aerosol data. |
[in] | continue_on_error | Whether to continue despite error. |
Definition at line 279 of file aero_particle_array.F90.
subroutine pmc_aero_particle_array::aero_particle_array_enlarge | ( | type(aero_particle_array_t), intent(inout) | aero_particle_array, |
integer, intent(in) | n | ||
) |
Possibly enlarges the given array, ensuring that it is at least of size n.
[in,out] | aero_particle_array | Array to enlarge. |
[in] | n | Minimum new size of array. |
Definition at line 117 of file aero_particle_array.F90.
elemental integer function pmc_aero_particle_array::aero_particle_array_n_part | ( | type(aero_particle_array_t), intent(in) | aero_particle_array | ) |
Return the current number of particles.
[in] | aero_particle_array | Aerosol particle array. |
Definition at line 53 of file aero_particle_array.F90.
subroutine pmc_aero_particle_array::aero_particle_array_realloc | ( | type(aero_particle_array_t), intent(inout) | aero_particle_array, |
integer, intent(in) | new_length | ||
) |
Changes the given aero_particle_array to exactly the given new_length.
This function should not be called directly, but rather use aero_particle_array_enlarge() or aero_particle_array_shrink().
[in,out] | aero_particle_array | Array to reallocate. |
[in] | new_length | New length of the array. |
Definition at line 88 of file aero_particle_array.F90.
subroutine pmc_aero_particle_array::aero_particle_array_remove_particle | ( | type(aero_particle_array_t), intent(inout) | aero_particle_array, |
integer, intent(in) | index | ||
) |
Removes the particle at the given index.
[in,out] | aero_particle_array | Array to remove from. |
[in] | index | Index of particle to remove. |
Definition at line 178 of file aero_particle_array.F90.
subroutine pmc_aero_particle_array::aero_particle_array_shrink | ( | type(aero_particle_array_t), intent(inout) | aero_particle_array | ) |
Possibly shrinks the storage of the given array, ensuring that it can still store the allocated particles.
[in,out] | aero_particle_array | Array to shrink. |
Definition at line 139 of file aero_particle_array.F90.
subroutine pmc_aero_particle_array::aero_particle_array_zero | ( | type(aero_particle_array_t), intent(inout) | aero_particle_array | ) |
Resets an aero_particle_array to contain zero particles.
[in,out] | aero_particle_array | Structure to reset. |
Definition at line 69 of file aero_particle_array.F90.
subroutine pmc_aero_particle_array::pmc_mpi_pack_aero_particle_array | ( | character, dimension(:), intent(inout) | buffer, |
integer, intent(inout) | position, | ||
type(aero_particle_array_t), intent(in) | val | ||
) |
Packs the given value into the buffer, advancing position.
[in,out] | buffer | Memory buffer. |
[in,out] | position | Current buffer position. |
[in] | val | Value to pack. |
Definition at line 224 of file aero_particle_array.F90.
integer function pmc_aero_particle_array::pmc_mpi_pack_size_apa | ( | type(aero_particle_array_t), intent(in) | val | ) |
Determines the number of bytes required to pack the given value.
[in] | val | Value to pack. |
Definition at line 203 of file aero_particle_array.F90.
subroutine pmc_aero_particle_array::pmc_mpi_unpack_aero_particle_array | ( | character, dimension(:), intent(inout) | buffer, |
integer, intent(inout) | position, | ||
type(aero_particle_array_t), intent(inout) | val | ||
) |
Unpacks the given value from the buffer, advancing position.
[in,out] | buffer | Memory buffer. |
[in,out] | position | Current buffer position. |
[in,out] | val | Value to pack. |
Definition at line 251 of file aero_particle_array.F90.