PartMC  2.3.0
Data Types | Public Member Functions | List of all members
pmc_aero_binned Module Reference

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. More...
 
subroutine aero_binned_allocate_size (aero_binned, n_bin, n_spec)
 Allocate an aero_binned_t of the given size. More...
 
subroutine aero_binned_deallocate (aero_binned)
 Free internal memory in an aero_binned_t structure. 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_copy (aero_binned_from, aero_binned_to)
 Copy one aero_binned_t structure to another. 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...
 

Detailed Description

The aero_binned_t structure and associated subroutines.

Definition at line 9 of file aero_binned.F90.

Member Function/Subroutine Documentation

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.

Parameters
[in,out]aero_binnedBase aero_binned_t structure that will be added to.
[in]aero_binned_deltaStructure 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.

Parameters
[in,out]aero_binnedBase aero_binned_t structure to add to.
[in]bin_gridBin grid.
[in]aero_dataAerosol data.
[in]aero_distThe aero_dist_t structure to add.

Definition at line 221 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.

Parameters
[in,out]aero_binnedBase aero_binned_t structure that will be added to.
[in]aero_binned_deltaStructure to add to aero_binned.
[in]alphaScale factor.

Definition at line 124 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.

Parameters
[out]aero_binnedStructure 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.

Parameters
[out]aero_binnedStructure to be allocated.
[in]n_binNumber of aerosol bins to allocate (typically bin_grid%n_bin).
[in]n_specNumber 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.

Parameters
[in]aero_binned_fromBase aero_binned_t structure to copy from.
[in,out]aero_binned_toStructure to copy to.

Definition at line 198 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.

Parameters
[in,out]aero_binnedStructure 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.

Parameters
[in,out]aero_binnedAero_binned to write.
[in]ncidNetCDF file ID, in data mode.
[in]bin_gridbin_grid structure.
[in]aero_dataaero_data structure.

Definition at line 429 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.

Parameters
[in,out]aero_binnedBase aero_binned to scale.
[in]alphaScale factor.

Definition at line 162 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.

Parameters
[in,out]aero_binnedBase aero_binned_t structure that will be scaled.
[in]alpha_arrayStructure to scale aero_binned.

Definition at line 177 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.

Parameters
[in,out]aero_binnedBase aero_binned_t structure that will be subtracted from.
[in]aero_binned_deltaStructure to subtract from aero_binned.

Definition at line 145 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.

Parameters
[in,out]aero_binnedStructure 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.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in]valStructure to pack.

Definition at line 267 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.

Parameters
[in]valStructure to pack.

Definition at line 251 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.

Parameters
[in]valPer-process value to average.
[in,out]val_avgAveraged result (only valid on root process).

Definition at line 318 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.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in,out]valStructure to unpack into (must not be allocated).

Definition at line 293 of file aero_binned.F90.


The documentation for this module was generated from the following file: