CAMP 1.0.0
Chemistry Across Multiple Phases
|
Factory type for sub-models. More...
Public Member Functions | |
procedure | create (this, type_name) |
Create a new sub-model by type name. | |
procedure | load (this, json, j_obj) |
Create a new aerosol representation from input data. | |
procedure | get_type (this, sub_model) |
Get the aerosol representation type. | |
procedure | initialize_update_data (this, sub_model, update_data) |
Get a new update data object. | |
procedure | pack_size (this, sub_model, comm) |
Determine the number of bytes required to pack a given sub-model. | |
procedure | bin_pack (this, sub_model, buffer, pos, comm) |
Pack a given sub-model onto the buffer, advancing position. | |
procedure | bin_unpack (this, buffer, pos, comm) |
Unpack a sub-model from the buffer, advancing position. | |
Factory type for sub-models.
Provides new instances of type extending sub_model_data_t by name or from input file data
Definition at line 47 of file sub_model_factory.F90.
procedure camp_sub_model_factory::sub_model_factory_t::bin_pack | ( | class(sub_model_factory_t), intent(in) | this, |
class(sub_model_data_t), intent(in) | sub_model, | ||
character, dimension(:), intent(inout) | buffer, | ||
integer, intent(inout) | pos, | ||
integer, intent(in) | comm | ||
) |
Pack a given sub-model onto the buffer, advancing position.
[in] | this | Sub-model factory |
[in] | sub_model | Sub-model to pack |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 60 of file sub_model_factory.F90.
procedure camp_sub_model_factory::sub_model_factory_t::bin_unpack | ( | class(sub_model_factory_t), intent(in) | this, |
character, dimension(:), intent(inout) | buffer, | ||
integer, intent(inout) | pos, | ||
integer, intent(in) | comm | ||
) |
Unpack a sub-model from the buffer, advancing position.
[in] | this | Sub-model factory |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 62 of file sub_model_factory.F90.
procedure camp_sub_model_factory::sub_model_factory_t::create | ( | class(sub_model_factory_t), intent(in) | this, |
character(len=*), intent(in) | type_name | ||
) |
Create a new sub-model by type name.
[in] | this | Sub-model factory |
[in] | type_name | Type of the sub-model |
Definition at line 50 of file sub_model_factory.F90.
procedure camp_sub_model_factory::sub_model_factory_t::get_type | ( | class(sub_model_factory_t), intent(in) | this, |
class(sub_model_data_t), intent(in) | sub_model | ||
) |
Get the aerosol representation type.
[in] | this | Sub-model factory |
[in] | sub_model | Sub-model to get type of |
Definition at line 54 of file sub_model_factory.F90.
procedure camp_sub_model_factory::sub_model_factory_t::initialize_update_data | ( | class(sub_model_factory_t), intent(in) | this, |
class(sub_model_data_t), intent(inout) | sub_model, | ||
class(sub_model_update_data_t), intent(out) | update_data | ||
) |
Get a new update data object.
[in] | this | Sub-model factory |
[in,out] | sub_model | Sub-model to be updated |
[out] | update_data | Update data object |
Definition at line 56 of file sub_model_factory.F90.
procedure camp_sub_model_factory::sub_model_factory_t::load | ( | class(sub_model_factory_t), intent(in) | this, |
type(json_core), intent(in), pointer | json, | ||
type(json_value), intent(in), pointer | j_obj | ||
) |
Create a new aerosol representation from input data.
[in] | this | Sub-model factory |
[in] | json | JSON core |
[in] | j_obj | JSON object |
Definition at line 52 of file sub_model_factory.F90.
procedure camp_sub_model_factory::sub_model_factory_t::pack_size | ( | class(sub_model_factory_t) | this, |
class(sub_model_data_t), intent(in) | sub_model, | ||
integer, intent(in) | comm | ||
) |
Determine the number of bytes required to pack a given sub-model.
this | Sub-model factory | |
[in] | sub_model | Sub-model to pack |
[in] | comm | MPI communicator |
Definition at line 58 of file sub_model_factory.F90.