35 & ep_atm_yac_defcomp_before, &
36 & ep_atm_yac_defcomp_after, &
37 & ep_atm_yac_syncdef_before, &
38 & ep_atm_yac_syncdef_after, &
39 & ep_atm_yac_enddef_before, &
40 & ep_atm_yac_enddef_after, &
41 & ep_atm_init_finalize, &
42 & ep_atm_timeloop_before, &
43 & ep_atm_timeloop_start, &
44 & ep_atm_timeloop_end, &
45 & ep_atm_timeloop_after, &
46 & ep_atm_integrate_before, &
47 & ep_atm_integrate_start, &
48 & ep_atm_integrate_end, &
49 & ep_atm_integrate_after, &
50 & ep_atm_write_output_before, &
51 & ep_atm_write_output_after, &
52 & ep_atm_checkpoint_before, &
53 & ep_atm_checkpoint_after, &
54 & ep_atm_advection_before, &
55 & ep_atm_advection_after, &
56 & ep_atm_physics_before, &
57 & ep_atm_physics_after, &
58 & ep_atm_nudging_before, &
59 & ep_atm_nudging_after, &
60 & ep_atm_surface_before, &
61 & ep_atm_surface_after, &
62 & ep_atm_turbulence_before, &
63 & ep_atm_turbulence_after, &
64 & ep_atm_microphysics_before, &
65 & ep_atm_microphysics_after, &
66 & ep_atm_convection_before, &
67 & ep_atm_convection_after, &
68 & ep_atm_radiation_before, &
69 & ep_atm_radiation_after, &
70 & ep_atm_radheat_before, &
71 & ep_atm_radheat_after, &
72 & ep_atm_gwdrag_before, &
73 & ep_atm_gwdrag_after, &
77 & comin_zaxis_2d, comin_zaxis_3d, &
78 & comin_zaxis_3d_half, &
79 & comin_zaxis_undef, &
81 & comin_hgrid_unstructured_cell, &
82 & comin_hgrid_unstructured_edge, &
83 & comin_hgrid_unstructured_vertex, &
84 & comin_metadata_typeid_undefined, &
85 & comin_metadata_typeid_integer, &
86 & comin_metadata_typeid_real, &
87 & comin_metadata_typeid_character, &
88 & comin_metadata_typeid_logical, &
89 & comin_var_datatype_double, &
90 & comin_var_datatype_float, &
91 & comin_var_datatype_int, &
92 & comin_dim_semantics_undef, &
93 & comin_dim_semantics_nproma, &
94 & comin_dim_semantics_block, &
95 & comin_dim_semantics_unblock, &
96 & comin_dim_semantics_level, &
97 & comin_dim_semantics_container,&
98 & comin_dim_semantics_other, &
99 & comin_dim_semantics_unused
137#include "comin_global.inc"
157 PUBLIC :: ep_secondary_constructor, &
158 & ep_atm_yac_defcomp_before, &
159 & ep_atm_yac_defcomp_after, &
160 & ep_atm_yac_syncdef_before, &
161 & ep_atm_yac_syncdef_after, &
162 & ep_atm_yac_enddef_before, &
163 & ep_atm_yac_enddef_after, &
164 & ep_atm_init_finalize, &
165 & ep_atm_timeloop_before, &
166 & ep_atm_timeloop_start, &
167 & ep_atm_timeloop_end, &
168 & ep_atm_timeloop_after, &
169 & ep_atm_integrate_before, &
170 & ep_atm_integrate_start, &
171 & ep_atm_integrate_end, &
172 & ep_atm_integrate_after, &
173 & ep_atm_write_output_before, &
174 & ep_atm_write_output_after, &
175 & ep_atm_checkpoint_before, &
176 & ep_atm_checkpoint_after, &
177 & ep_atm_advection_before, &
178 & ep_atm_advection_after, &
179 & ep_atm_physics_before, &
180 & ep_atm_physics_after, &
181 & ep_atm_nudging_before, &
182 & ep_atm_nudging_after, &
183 & ep_atm_surface_before, &
184 & ep_atm_surface_after, &
185 & ep_atm_turbulence_before, &
186 & ep_atm_turbulence_after, &
187 & ep_atm_microphysics_before, &
188 & ep_atm_microphysics_after, &
189 & ep_atm_convection_before, &
190 & ep_atm_convection_after, &
191 & ep_atm_radiation_before, &
192 & ep_atm_radiation_after, &
193 & ep_atm_radheat_before, &
194 & ep_atm_radheat_after, &
195 & ep_atm_gwdrag_before, &
196 & ep_atm_gwdrag_after, &
199 PUBLIC :: comin_zaxis_none, comin_zaxis_2d, comin_zaxis_3d, comin_zaxis_3d_half, comin_zaxis_undef
202 PUBLIC :: comin_hgrid_unstructured_cell, &
203 & comin_hgrid_unstructured_edge, &
204 & comin_hgrid_unstructured_vertex
205 PUBLIC :: comin_metadata_typeid_undefined, &
206 & comin_metadata_typeid_integer, &
207 & comin_metadata_typeid_real, &
208 & comin_metadata_typeid_character, &
209 & comin_metadata_typeid_logical
210 PUBLIC :: comin_var_datatype_double, comin_var_datatype_float, comin_var_datatype_int
211 PUBLIC :: comin_dim_semantics_undef, &
212 & comin_dim_semantics_nproma, &
213 & comin_dim_semantics_block, &
214 & comin_dim_semantics_unblock, &
215 & comin_dim_semantics_level, &
216 & comin_dim_semantics_container,&
217 & comin_dim_semantics_other, &
218 & comin_dim_semantics_unused
237 PUBLIC :: comin_metadata_set
subroutine, public comin_metadata_get_iterator(var_descriptor, iterator)
Return a metadata container iterator.
integer, parameter, public comin_domain_outside_loop
id of current domain, two states possible if not in domain loop
integer function, public comin_metadata_get_typeid(var_descriptor, key)
Return a ID (integer) describing the the metadata for a given key string.
integer function, public comin_parallel_get_host_mpi_comm()
Returns the communicator with all ICON processes.
type(t_comin_setup_version_info) function, public comin_setup_get_version()
Returns version info.
subroutine, public comin_setup_check(plugin_str, wp_check)
Performs basic compatibility checks.
type(c_ptr) function, public comin_request_get_list()
subroutine, public comin_setup_set_verbosity_level(iverbosity)
Sets verbosity level, related to ICON's msg_level. 0 = silent.
subroutine, public comin_plugin_primaryconstructor(plugin_list)
Execute primary constructors.
subroutine, public comin_descrdata_finalize()
Clean descriptive data structure in ComIn currently no content but keep for future use.
subroutine, public comin_var_request_list_finalize()
Destruct variable request list, deallocate memory.
subroutine, public comin_var_list_finalize()
Destruct variable list, deallocate memory.
recursive subroutine, public comin_callback_context_call(entry_point_id, domain_id, lacc)
Routine to find callback routine associated with current entry point.
subroutine, public comin_descrdata_set_simulation_interval(comin_time_info)
Fill time stamp info.
subroutine, public comin_descrdata_set_fct_glb2loc_cell(fct)
Sets the "global-to-local" index lookup function.
subroutine, public comin_descrdata_set_domain(comin_domain_info)
Set up data type for grid data.
subroutine, public comin_setup_init(lstdout, output_unit)
Initialize the comin stateThis routine needs to be called by the host before any other comin call.
subroutine, public mpi_handshake(comm, group_names, group_comms)
Procedure for the communicator splitting ("MPI handshake") that has been harmonized with the respecti...
subroutine, public comin_setup_finalize()
Destructor.
subroutine, public comin_current_set_datetime(sim_time_current)
Update time stamp info, current time information.
subroutine, public comin_var_list_append(var_descr, cptr, device_ptr, array_shape, type_id, dim_semantics, lcontainer, ncontained, var_handle)
Append item to variable list.
subroutine, public comin_descrdata_set_timesteplength(jg, dt_current)
Fill array with timestep.
subroutine, public comin_parallel_mpi_handshake(comm, group_names, component_name)
Procedure for the communicator splitting ("MPI handshake") that has been harmonized with the respecti...
subroutine, public comin_descrdata_set_global(comin_global_info)
Fill global data.
subroutine, public comin_setup_errhandler(error_handler)
Sets the global error handler procedure pointer.
subroutine, public comin_callback_get_ep_name(iep, out_ep_name)
returns entry point name (character string) corresponding to iep.
logical function comin_var_descr_match(var_descriptor1, var_descriptor2)
compare two variable descriptors.
subroutine, public comin_var_descr_list_iterator_delete(it)
Delete list iterator.
logical function, public comin_var_is_used(var_descriptor)
Check if a variable is actually used by any comin plugin.
subroutine, public comin_var_descr_list_finalize()
Destruct variable descriptor list, deallocate memory.
type(c_ptr) function, public comin_var_get_descr_list_next(current)
Get next element of variable descriptor list. Returns a C-pointer that can be evaluated with the auxi...
type(c_ptr) function, public comin_var_get_descr_list_head()
Get first element of variable descriptor list. Returns a C-pointer that can be evaluated with the aux...
subroutine, public comin_var_set_sync_device_mem(sync_device_mem)
subroutine, public comin_var_set_sync_halo(sync_halo)
subroutine, public comin_var_set_cptr(var, cptr)
subroutine, public comin_var_get_descr_list_var_desc(it, var_desc_out)
Auxiliary function: Evaluates a list iterator of the variable descriptor list and returns the corresp...
subroutine, public mpi_handshake_dummy(comm)
Patch grid data structure, gathering information on grids.
Global data is invariant wrt the computational grid and never changed or updated.
Simulation status information, sim_current contains current time step.
Data type, describing the dynamic libraries.
The elements of this derived data type describe the current community interface.
Information on requested variables.
Variable descriptor. identifies (uniquely) a variable. Do not confuse with meta-data.
Variable pointer. Fortran interface for accessing variables.