PartMC  2.2.1
Data Types | Public Member Functions
pmc_aero_binned Module Reference

The aero_binned_t structure and associated subroutines. More...

List of all members.

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.

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 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.

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 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.

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 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.

Parameters:
[in]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 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.

Parameters:
[in,out]aero_binnedBase aero_binned to scale.
[in]alphaScale 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.

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 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.

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 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.

Parameters:
[in]valStructure 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.

Parameters:
[in]valPer-process value to average.
[in,out]val_avgAveraged 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.

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

Definition at line 253 of file aero_binned.F90.


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