pmc_aero_binned Namespace Reference

The aero_binned_t structure and associated subroutines. More...


Classes

struct  aero_binned_t
 Aerosol number and volume distributions stored per bin. More...

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_particle_in_bin (aero_binned, bin_grid, bin, comp_vol, aero_particle)
 Update aero_binned_t structure for the addition of the given particle whose bin is also given.
subroutine aero_binned_add_particle (aero_binned, bin_grid, comp_vol, aero_particle)
 Update aero_binned_t structure for the addition of the given particle.
subroutine aero_binned_remove_particle_in_bin (aero_binned, bin_grid, bin, comp_vol, aero_particle)
 Update aero_binned_t structure for the removal of the given particle whose bin is also given.
subroutine aero_binned_remove_particle (aero_binned, bin_grid, comp_vol, aero_particle)
 Update the aero_binned_t structure for the removal of the given particle.
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 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 processors, storing the result on the root processor.
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.

Function 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:
aero_binned  Base aero_binned_t structure that will be added to.
aero_binned_delta  Structure to add to aero_binned.

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:
aero_binned  Base aero_binned_t structure to add to.
bin_grid  Bin grid.
aero_data  Aerosol data.
aero_dist  The aero_dist_t structure to add.

subroutine pmc_aero_binned::aero_binned_add_particle ( type(aero_binned_t),intent(inout)  aero_binned,
type(bin_grid_t),intent(in)  bin_grid,
real*8,intent(in)  comp_vol,
type(aero_particle_t),intent(in)  aero_particle 
)

Update aero_binned_t structure for the addition of the given particle.

If the correct bin for the particle is already known then it is cheaper to call aero_binned_add_particle_in_bin().

Parameters:
aero_binned  Structure to update with the new particle.
bin_grid  Bin grid.
comp_vol  Computational volume (m^3).
aero_particle  Particle to add.

subroutine pmc_aero_binned::aero_binned_add_particle_in_bin ( type(aero_binned_t),intent(inout)  aero_binned,
type(bin_grid_t),intent(in)  bin_grid,
integer,intent(in)  bin,
real*8,intent(in)  comp_vol,
type(aero_particle_t),intent(in)  aero_particle 
)

Update aero_binned_t structure for the addition of the given particle whose bin is also given.

If the bin of the particle is not known the more expensive aero_binned_add_particle() can be used.

Parameters:
aero_binned  Structure to update with the new particle.
bin_grid  Bin grid.
bin  Bin number that new particle is in (must be correct).
comp_vol  Computational volume (m^3).
aero_particle  Particle to add.

subroutine pmc_aero_binned::aero_binned_allocate ( type(aero_binned_t),intent(out)  aero_binned  ) 

Allocate an aero_binned_t.

Parameters:
aero_binned  Structure to be allocated.

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:
aero_binned  Structure to be allocated.
n_bin  Number of aerosol bins to allocate (typically bin_grid%n_bin).
n_spec  Number of aerosol species to allocate (typically aero_data%n_spec).

subroutine pmc_aero_binned::aero_binned_copy ( type(aero_binned_t),intent(in)  aero_binned_from,
type(aero_binned_t),intent(out)  aero_binned_to 
)

Copy one aero_binned_t structure to another.

Symbolically does aero_binned_to = aero_binned_from.

Parameters:
aero_binned_from  Base aero_binned_t structure to copy from.
aero_binned_to  Structure to copy to.

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:
aero_binned  Structure to free.

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:
aero_binned  Aero_binned to write.
ncid  NetCDF file ID, in data mode.
bin_grid  bin_grid structure.
aero_data  aero_data structure.

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:
aero_binned  Aero_binned to write.
ncid  NetCDF file ID, in data mode.
bin_grid  bin_grid structure.
aero_data  aero_data structure.

subroutine pmc_aero_binned::aero_binned_remove_particle ( type(aero_binned_t),intent(inout)  aero_binned,
type(bin_grid_t),intent(in)  bin_grid,
real*8,intent(in)  comp_vol,
type(aero_particle_t),intent(in)  aero_particle 
)

Update the aero_binned_t structure for the removal of the given particle.

If the correct bin for the particle is already known then it is cheaper to call aero_binned_remove_particle_in_bin().

Parameters:
aero_binned  Structure to remove the particle from.
bin_grid  Bin grid.
comp_vol  Computational volume (m^3).
aero_particle  Particle to remove.

subroutine pmc_aero_binned::aero_binned_remove_particle_in_bin ( type(aero_binned_t),intent(inout)  aero_binned,
type(bin_grid_t),intent(in)  bin_grid,
integer,intent(in)  bin,
real*8,intent(in)  comp_vol,
type(aero_particle_t),intent(in)  aero_particle 
)

Update aero_binned_t structure for the removal of the given particle whose bin is also given.

If the bin of the particle is not known the more expensive aero_binned_remove_particle() can be used.

Parameters:
aero_binned  Structure to remove the particle from.
bin_grid  Bin grid.
bin  Bin number of the aero_particle.
comp_vol  Computational volume (m^3).
aero_particle  Particle to remove.

subroutine pmc_aero_binned::aero_binned_scale ( type(aero_binned_t),intent(inout)  aero_binned,
real*8,intent(in)  alpha 
)

Scale an aero_binned_t by a real number.

Symbolically does aero_binned = aero_binned * alpha.

Parameters:
aero_binned  Base aero_binned to scale.
alpha  Scale factor.

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:
aero_binned  Base aero_binned_t structure that will be subtracted from.
aero_binned_delta  Structure to subtract from aero_binned.

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:
aero_binned  Structure to zero.

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:
buffer  Memory buffer.
position  Current buffer position.
val  Structure to pack.

integer 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:
val  Structure to pack.

subroutine pmc_aero_binned::pmc_mpi_reduce_avg_aero_binned ( type(aero_binned_t),intent(in)  val,
type(aero_binned_t),intent(out)  val_avg 
)

Computes the average of the structure across all processors, storing the result on the root processor.

Parameters:
val  Per-processor value to average.
val_avg  Averaged result (only valid on root processor).

subroutine pmc_aero_binned::pmc_mpi_unpack_aero_binned ( character,dimension(:),intent(inout)  buffer,
integer,intent(inout)  position,
type(aero_binned_t),intent(out)  val 
)

Unpack the structure from the buffer and advance position.

See pmc_mpi for usage details.

Parameters:
buffer  Memory buffer.
position  Current buffer position.
val  Structure to unpack into (must not be allocated).


Generated on Mon Apr 26 17:13:31 2010 for PartMC by  doxygen 1.5.6