PartMC  2.6.1
Functions/Subroutines
pmc_mosaic Module Reference

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

Functions/Subroutines

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

Detailed Description

Interface to the MOSAIC aerosol and gas phase chemistry code.

Function/Subroutine Documentation

◆ mosaic_aero_optical()

subroutine pmc_mosaic::mosaic_aero_optical ( 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
[in]env_stateEnvironment state.
[in]aero_dataAerosol data.
[in,out]aero_stateAerosol state.
[in]gas_dataGas data.
[in]gas_stateGas state.

Definition at line 430 of file mosaic.F90.

◆ mosaic_aero_optical_init()

subroutine pmc_mosaic::mosaic_aero_optical_init ( 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 for initial timestep.

Parameters
[in]env_stateEnvironment state.
[in]aero_dataAerosol data.
[in,out]aero_stateAerosol state.
[in]gas_dataGas data.
[in]gas_stateGas state.

Definition at line 488 of file mosaic.F90.

◆ mosaic_cleanup()

subroutine pmc_mosaic::mosaic_cleanup

Clean-up after running MOSAIC, deallocating memory.

Definition at line 129 of file mosaic.F90.

◆ mosaic_from_partmc()

subroutine pmc_mosaic::mosaic_from_partmc ( type(env_state_t), intent(in)  env_state,
type(aero_data_t), intent(in)  aero_data,
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
[in]env_stateEnvironment state.
[in]aero_dataAerosol data.
[in]aero_stateAerosol state.
[in]gas_dataGas data.
[in]gas_stateGas state.

Definition at line 146 of file mosaic.F90.

◆ mosaic_init()

subroutine pmc_mosaic::mosaic_init ( type(env_state_t), intent(inout)  env_state,
type(aero_data_t), intent(in)  aero_data,
real(kind=dp), intent(in)  del_t,
logical, intent(in)  do_optical 
)

Initialize all MOSAIC data-structures.

Parameters
[in,out]env_stateEnvironment state.
[in]aero_dataAerosol data.
[in]del_tTimestep for coagulation.
[in]do_opticalWhether to compute optical properties.

Definition at line 37 of file mosaic.F90.

◆ mosaic_support()

logical function pmc_mosaic::mosaic_support

Whether MOSAIC support is compiled in.

Definition at line 24 of file mosaic.F90.

◆ mosaic_timestep()

subroutine pmc_mosaic::mosaic_timestep ( type(env_state_t), intent(inout)  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(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
[in,out]env_stateEnvironment state.
[in]aero_dataAerosol data.
[in,out]aero_stateAerosol state.
[in]gas_dataGas data.
[in,out]gas_stateGas state.
[in]do_opticalWhether to compute optical properties.

Definition at line 366 of file mosaic.F90.

◆ mosaic_to_partmc()

subroutine pmc_mosaic::mosaic_to_partmc ( type(env_state_t), intent(inout)  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(inout)  gas_state 
)

Map all data MOSAIC -> PartMC.

Parameters
[in,out]env_stateEnvironment state.
[in]aero_dataAerosol data.
[in,out]aero_stateAerosol state.
[in]gas_dataGas data.
[in,out]gas_stateGas state.

Definition at line 272 of file mosaic.F90.