CAMP 1.0.0
Chemistry Across Multiple Phases
Public Member Functions | List of all members
camp_sub_model_factory::sub_model_factory_t Type Reference

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.
 

Detailed Description

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.

Member Function/Subroutine Documentation

◆ bin_pack()

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.

Parameters
[in]thisSub-model factory
[in]sub_modelSub-model to pack
[in,out]bufferMemory buffer
[in,out]posCurrent buffer position
[in]commMPI communicator

Definition at line 60 of file sub_model_factory.F90.

◆ bin_unpack()

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.

Returns
Unpacked sub-model
Parameters
[in]thisSub-model factory
[in,out]bufferMemory buffer
[in,out]posCurrent buffer position
[in]commMPI communicator

Definition at line 62 of file sub_model_factory.F90.

◆ create()

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.

Returns
A new sub-model
Parameters
[in]thisSub-model factory
[in]type_nameType of the sub-model

Definition at line 50 of file sub_model_factory.F90.

◆ get_type()

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.

Parameters
[in]thisSub-model factory
[in]sub_modelSub-model to get type of

Definition at line 54 of file sub_model_factory.F90.

◆ initialize_update_data()

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.

Parameters
[in]thisSub-model factory
[in,out]sub_modelSub-model to be updated
[out]update_dataUpdate data object

Definition at line 56 of file sub_model_factory.F90.

◆ load()

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.

Returns
A new sub-model
Parameters
[in]thisSub-model factory
[in]jsonJSON core
[in]j_objJSON object

Definition at line 52 of file sub_model_factory.F90.

◆ pack_size()

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.

Parameters
thisSub-model factory
[in]sub_modelSub-model to pack
[in]commMPI communicator

Definition at line 58 of file sub_model_factory.F90.


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