The sub_model_factory_t type and associated subroutines.  
More...
|  | 
| class(sub_model_data_t) function, pointer | create (this, type_name) | 
|  | Create a new sub-model by type name. 
 | 
|  | 
| class(sub_model_data_t) function, pointer | load (this, json, j_obj) | 
|  | Load a sub-model based on its type. 
 | 
|  | 
| integer(kind=i_kind) function | get_type (this, sub_model) | 
|  | Get the sub-model type as a constant. 
 | 
|  | 
| subroutine | initialize_update_data (this, sub_model, update_data) | 
|  | Initialize an update data object. 
 | 
|  | 
| integer(kind=i_kind) function | pack_size (this, sub_model, comm) | 
|  | Determine the size of a binary required to pack a sub-model. 
 | 
|  | 
| subroutine | bin_pack (this, sub_model, buffer, pos, comm) | 
|  | Pack the given value to the buffer, advancing position. 
 | 
|  | 
| class(sub_model_data_t) function, pointer | bin_unpack (this, buffer, pos, comm) | 
|  | Unpack the given value to the buffer, advancing position. 
 | 
|  | 
The sub_model_factory_t type and associated subroutines. 
◆ bin_pack()
  
  | 
        
          | subroutine camp_sub_model_factory::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 ) |  | private | 
 
Pack the given value to the buffer, advancing position. 
- Parameters
- 
  
    | [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 204 of file sub_model_factory.F90.
 
 
◆ bin_unpack()
  
  | 
        
          | class(sub_model_data_t) function, pointer camp_sub_model_factory::bin_unpack | ( | class(sub_model_factory_t), intent(in) | this, |  
          |  |  | character, dimension(:), intent(inout) | buffer, |  
          |  |  | integer, intent(inout) | pos, |  
          |  |  | integer, intent(in) | comm ) |  | private | 
 
Unpack the given value to the buffer, advancing position. 
- Returns
- Unpacked sub-model 
- Parameters
- 
  
    | [in] | this | Sub-model factory |  | [in,out] | buffer | Memory buffer |  | [in,out] | pos | Current buffer position |  | [in] | comm | MPI communicator |  
 
Definition at line 242 of file sub_model_factory.F90.
 
 
◆ create()
Create a new sub-model by type name. 
- Returns
- A new sub-model 
- Parameters
- 
  
    | [in] | this | Sub-model factory |  | [in] | type_name | Type of the sub-model |  
 
Definition at line 70 of file sub_model_factory.F90.
 
 
◆ get_type()
Get the sub-model type as a constant. 
- Parameters
- 
  
    | [in] | this | Sub-model factory |  | [in] | sub_model | Sub-model to get type of |  
 
Definition at line 144 of file sub_model_factory.F90.
 
 
◆ initialize_update_data()
Initialize an update data object. 
- Parameters
- 
  
    | [in] | this | Sub-model factory |  | [in,out] | sub_model | Sub-model to be updated |  | [out] | update_data | Update data object |  
 
Definition at line 168 of file sub_model_factory.F90.
 
 
◆ load()
  
  | 
        
          | class(sub_model_data_t) function, pointer camp_sub_model_factory::load | ( | class(sub_model_factory_t), intent(in) | this, |  
          |  |  | type(json_core), intent(in), pointer | json, |  
          |  |  | type(json_value), intent(in), pointer | j_obj ) |  | private | 
 
Load a sub-model based on its type. 
- Returns
- A new sub-model 
- Parameters
- 
  
    | [in] | this | Sub-model factory |  | [in] | json | JSON core |  | [in] | j_obj | JSON object |  
 
Definition at line 98 of file sub_model_factory.F90.
 
 
◆ pack_size()
Determine the size of a binary required to pack a sub-model. 
- Parameters
- 
  
    |  | this | Sub-model factory |  | [in] | sub_model | Sub-model to pack |  | [in] | comm | MPI communicator |  
 
Definition at line 187 of file sub_model_factory.F90.
 
 
◆ sub_model_pdfite
      
        
          | integer(kind=i_kind), parameter, public camp_sub_model_factory::sub_model_pdfite = 3 | 
      
 
 
◆ sub_model_unifac
      
        
          | integer(kind=i_kind), parameter, public camp_sub_model_factory::sub_model_unifac = 1 | 
      
 
Identifiers for sub-models - used by binary packing/unpacking functions. 
Definition at line 39 of file sub_model_factory.F90.
 
 
◆ sub_model_zsr_aerosol_water
      
        
          | integer(kind=i_kind), parameter, public camp_sub_model_factory::sub_model_zsr_aerosol_water = 2 |