Functions/Subroutines

pmc_mosaic Module Reference

Interface to the MOSAIC aerosol and gas phase chemistry code. More...

Functions/Subroutines

logical mosaic_support ()
 Whether MOSAIC support is compiled in.
subroutine mosaic_init (bin_grid, env_state, del_t, do_optical)
 Initialize all MOSAIC data-structures.
subroutine mosaic_cleanup ()
 Clean-up after running MOSAIC, deallocating memory.
subroutine mosaic_from_partmc (bin_grid, env_state, aero_data, aero_weight, aero_state, gas_data, gas_state)
 Map all data PartMC -> MOSAIC.
subroutine mosaic_to_partmc (bin_grid, env_state, aero_data, aero_weight, aero_state, gas_data, gas_state)
subroutine mosaic_timestep (bin_grid, env_state, aero_data, aero_weight, aero_state, gas_data, gas_state, do_optical)
 Do one timestep with MOSAIC.
subroutine mosaic_aero_optical (bin_grid, env_state, aero_data, aero_state, gas_data, gas_state)
 Compute the optical properties of each aerosol particle. FIXME: currently disabled.

Detailed Description

Interface to the MOSAIC aerosol and gas phase chemistry code.


Function/Subroutine Documentation

subroutine pmc_mosaic::mosaic_aero_optical ( type(bin_grid_t),intent(in)  bin_grid,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_state_t),intent(inout)  aero_state,
type(gas_data_t),intent(in)  gas_data,
type(gas_state_t),intent(in)  gas_state 
)

Compute the optical properties of each aerosol particle. FIXME: currently disabled.

At the moment we are computing the aerosol optical properties every timestep from withing mosaic_timestep. This decision should be re-evaluated at some point in the future.

Parameters:
bin_gridBin grid.
env_stateEnvironment state.
aero_dataAerosol data.
aero_stateAerosol state.
gas_dataGas data.
gas_stateGas state.
subroutine pmc_mosaic::mosaic_cleanup (  )

Clean-up after running MOSAIC, deallocating memory.

subroutine pmc_mosaic::mosaic_from_partmc ( type(bin_grid_t),intent(in)  bin_grid,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
type(aero_state_t),intent(in)  aero_state,
type(gas_data_t),intent(in)  gas_data,
type(gas_state_t),intent(in)  gas_state 
)

Map all data PartMC -> MOSAIC.

Parameters:
bin_gridBin grid.
env_stateEnvironment state.
aero_dataAerosol data.
aero_weightAerosol weight.
aero_stateAerosol state.
gas_dataGas data.
gas_stateGas state.
subroutine pmc_mosaic::mosaic_init ( type(bin_grid_t),intent(in)  bin_grid,
type(env_state_t),intent(inout)  env_state,
real(kind=dp),intent(in)  del_t,
logical,intent(in)  do_optical 
)

Initialize all MOSAIC data-structures.

Parameters:
bin_gridBin grid.
env_stateEnvironment state.
del_tTimestep for coagulation.
do_opticalWhether to compute optical properties.
logical pmc_mosaic::mosaic_support (  )

Whether MOSAIC support is compiled in.

subroutine pmc_mosaic::mosaic_timestep ( type(bin_grid_t),intent(in)  bin_grid,
type(env_state_t),intent(inout)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
type(aero_state_t),intent(inout)  aero_state,
type(gas_data_t),intent(in)  gas_data,
type(gas_state_t),intent(inout)  gas_state,
logical,intent(in)  do_optical 
)

Do one timestep with MOSAIC.

We currently also compute aerosol optical properties within this subroutine. In principle this could be done at data analysis time, rather than inside the timestepper. It's not clear if this really matters, however. Because of this mosaic_aero_optical() is currently disabled.

Parameters:
bin_gridBin grid.
env_stateEnvironment state.
aero_dataAerosol data.
aero_weightAerosol weight.
aero_stateAerosol state.
gas_dataGas data.
gas_stateGas state.
do_opticalWhether to compute optical properties.
subroutine pmc_mosaic::mosaic_to_partmc ( type(bin_grid_t),intent(in)  bin_grid,
type(env_state_t),intent(inout)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
type(aero_state_t),intent(inout)  aero_state,
type(gas_data_t),intent(in)  gas_data,
type(gas_state_t),intent(inout)  gas_state 
)
Parameters:
bin_gridBin grid.
env_stateEnvironment state.
aero_dataAerosol data.
aero_weightAerosol weight.
aero_stateAerosol state.
gas_dataGas data.
gas_stateGas state.