54 & ep_secondary_constructor, &
55 & ep_atm_yac_defcomp_before, &
56 & ep_atm_yac_defcomp_after, &
57 & ep_atm_yac_syncdef_before, &
58 & ep_atm_yac_syncdef_after, &
59 & ep_atm_yac_enddef_before, &
60 & ep_atm_yac_enddef_after, &
61 & ep_atm_init_finalize, &
62 & ep_atm_timeloop_before, &
63 & ep_atm_timeloop_start, &
64 & ep_atm_timeloop_end, &
65 & ep_atm_timeloop_after, &
66 & ep_atm_integrate_before, &
67 & ep_atm_integrate_start, &
68 & ep_atm_integrate_end, &
69 & ep_atm_integrate_after, &
70 & ep_atm_write_output_before, &
71 & ep_atm_write_output_after, &
72 & ep_atm_checkpoint_before, &
73 & ep_atm_checkpoint_after, &
74 & ep_atm_advection_before, &
75 & ep_atm_advection_after, &
76 & ep_atm_physics_before, &
77 & ep_atm_physics_after, &
78 & ep_atm_nudging_before, &
79 & ep_atm_nudging_after, &
80 & ep_atm_surface_before, &
81 & ep_atm_surface_after, &
82 & ep_atm_turbulence_before, &
83 & ep_atm_turbulence_after, &
84 & ep_atm_microphysics_before, &
85 & ep_atm_microphysics_after, &
86 & ep_atm_convection_before, &
87 & ep_atm_convection_after, &
88 & ep_atm_radiation_before, &
89 & ep_atm_radiation_after, &
90 & ep_atm_radheat_before, &
91 & ep_atm_radheat_after, &
92 & ep_atm_gwdrag_before, &
93 & ep_atm_gwdrag_after, &
98 & comin_flag_device, &
99 & comin_flag_sync_halo, &
100 & comin_zaxis_none, &
101 & comin_zaxis_2d, comin_zaxis_3d, &
102 & comin_zaxis_3d_half, &
103 & comin_zaxis_undef, &
105 & comin_hgrid_unstructured_cell, &
106 & comin_hgrid_unstructured_edge, &
107 & comin_hgrid_unstructured_vertex, &
108 & comin_metadata_typeid_undefined, &
109 & comin_metadata_typeid_integer, &
110 & comin_metadata_typeid_real, &
111 & comin_metadata_typeid_character, &
112 & comin_metadata_typeid_logical, &
113 & comin_hgrid_unstructured_vertex,&
114 & comin_var_datatype_double, &
115 & comin_var_datatype_float, &
116 & comin_var_datatype_int, &
117 & comin_dim_semantics_undef, &
118 & comin_dim_semantics_nproma, &
119 & comin_dim_semantics_block, &
120 & comin_dim_semantics_unblock, &
121 & comin_dim_semantics_level, &
122 & comin_dim_semantics_container,&
123 & comin_dim_semantics_other, &
124 & comin_dim_semantics_unused
140#include "comin_global.inc"
147 & comin_zaxis_none, comin_zaxis_2d, comin_zaxis_3d, comin_zaxis_3d_half, comin_zaxis_undef
158 PUBLIC :: comin_metadata_set
181 PUBLIC :: ep_secondary_constructor, &
182 & ep_atm_yac_defcomp_before, &
183 & ep_atm_yac_defcomp_after, &
184 & ep_atm_yac_syncdef_before, &
185 & ep_atm_yac_syncdef_after, &
186 & ep_atm_yac_enddef_before, &
187 & ep_atm_yac_enddef_after, &
188 & ep_atm_init_finalize, &
189 & ep_atm_timeloop_before, &
190 & ep_atm_timeloop_start, &
191 & ep_atm_timeloop_end, &
192 & ep_atm_timeloop_after, &
193 & ep_atm_integrate_before, &
194 & ep_atm_integrate_start, &
195 & ep_atm_integrate_end, &
196 & ep_atm_integrate_after, &
197 & ep_atm_write_output_before, &
198 & ep_atm_write_output_after, &
199 & ep_atm_checkpoint_before, &
200 & ep_atm_checkpoint_after, &
201 & ep_atm_advection_before, &
202 & ep_atm_advection_after, &
203 & ep_atm_physics_before, &
204 & ep_atm_physics_after, &
205 & ep_atm_nudging_before, &
206 & ep_atm_nudging_after, &
207 & ep_atm_surface_before, &
208 & ep_atm_surface_after, &
209 & ep_atm_turbulence_before, &
210 & ep_atm_turbulence_after, &
211 & ep_atm_microphysics_before, &
212 & ep_atm_microphysics_after, &
213 & ep_atm_convection_before, &
214 & ep_atm_convection_after, &
215 & ep_atm_radiation_before, &
216 & ep_atm_radiation_after, &
217 & ep_atm_radheat_before, &
218 & ep_atm_radheat_after, &
219 & ep_atm_gwdrag_before, &
220 & ep_atm_gwdrag_after, &
223 & comin_hgrid_unstructured_cell, &
224 & comin_hgrid_unstructured_edge, &
225 & comin_hgrid_unstructured_vertex
226 PUBLIC :: comin_flag_read, comin_flag_write, comin_flag_device, comin_flag_sync_halo
229 PUBLIC :: comin_metadata_typeid_undefined, &
230 & comin_metadata_typeid_integer, &
231 & comin_metadata_typeid_real, &
232 & comin_metadata_typeid_character, &
233 & comin_metadata_typeid_logical
234 PUBLIC :: comin_var_datatype_double, &
235 & comin_var_datatype_float, &
236 & comin_var_datatype_int
237 PUBLIC :: comin_dim_semantics_undef, &
238 & comin_dim_semantics_nproma, &
239 & comin_dim_semantics_block, &
240 & comin_dim_semantics_unblock, &
241 & comin_dim_semantics_level, &
242 & comin_dim_semantics_container,&
243 & comin_dim_semantics_other, &
244 & comin_dim_semantics_unused
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, parameter, public wp
working precision
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_plugin_finish(routine, text)
Wrapper function for callback to ICON's "finish" routine.
integer(c_int) function, public comin_current_get_domain_id()
Request information on current domain.
subroutine, public comin_current_get_datetime(sim_time_current)
Retrieve time stamp info, current time information.
type(t_comin_descrdata_simulation_interval) function, pointer, public comin_descrdata_get_simulation_interval()
request a pointer to simulation status
subroutine, public comin_var_request_add(var_descriptor, lmodexclusive)
By calling this subroutine inside the primary constructor, 3rd party plugins may request the creation...
integer(c_int) function, public comin_descrdata_get_block(idx1d)
auxiliary functions taken from ICON, version 2.6.5
subroutine, public comin_error_get_message(error_code, category, message)
query the message and category for a given error code
subroutine, public comin_callback_register(entry_point_id, fct_ptr)
Routine to register new callbacks during primary constructor.
type(t_comin_descrdata_global) function, pointer, public comin_descrdata_get_global()
request a pointer to the global data type
subroutine, public comin_callback_get_ep_name(iep, out_ep_name)
returns entry point name (character string) corresponding to iep.
subroutine, public comin_print_info(msg)
Prints a info message if the plugin has set log_info (enabled per default) The message will only be p...
subroutine, public comin_error_check()
check the error code: does nothing if error_code == COMIN_SUCCESS prints the corresponding message ca...
subroutine, public comin_descrdata_get_cell_indices(jg, i_blk, i_startblk, i_endblk, i_startidx, i_endidx, irl_start, irl_end)
Computes the start and end indices of do loops for cell-based variables.
subroutine, public comin_print_warning(msg)
Prints a warning if the plugin has set log_warning (enabled per default) The message will only be pri...
subroutine, public comin_print_debug(msg)
Prints a debug message if the plugin has set log_debug (disabled per default) The message will only b...
integer function, public comin_parallel_get_plugin_mpi_comm()
Called within a plugin's callback function: get MPI communicator which contains all MPI tasks of the ...
subroutine, public comin_error_reset()
resets the internal error code to COMIN_SUCCESS
integer(kind=c_int) function, public comin_parallel_get_host_mpi_rank()
Called within a plugin's callback function: get MPI rank with respect to the "host" MPI communicator.
real(wp) function, public comin_descrdata_get_timesteplength(jg)
Receive pointer on array storing timestep information for all domains.
subroutine, public comin_error_set_errors_return(errors_return)
Change the error handling mode. Set it to .TRUE. to handle errors manually. If it set to ....
subroutine, public comin_descrdata_get_vert_indices(jg, i_blk, i_startblk, i_endblk, i_startidx, i_endidx, irl_start, irl_end)
Computes the start and end indices of do loops for vertex-based variables.
subroutine, public comin_current_get_plugin_info(comin_current_plugin)
Returns the structure current_plugin. It can for example be used to access the id of the current plug...
integer(c_int) function, public comin_descrdata_index_lookup_glb2loc_cell(jg, global_idx)
Conversion of global cell index to MPI-process local index.
integer(c_int) function, public comin_current_get_ep()
Access information on the current entry point being processed by ComIn.
integer(c_int) function, public comin_descrdata_get_index(idx1d)
Auxiliary function: conversion of 1D to 2D indices.
subroutine, public comin_descrdata_get_edge_indices(jg, i_blk, i_startblk, i_endblk, i_startidx, i_endidx, irl_start, irl_end)
Computes the start and end indices of do loops for edge-based variables.
integer(c_int) function, public comin_descrdata_get_edge_npromz(jg)
Calculate npromz value for the blocking, needed for patch allocation. ... for the edges.
integer(c_int) function, public comin_descrdata_get_cell_npromz(jg)
Calculate npromz value for the blocking, needed for patch allocation. ... for the cells.
type(t_comin_descrdata_domain) function, pointer, public comin_descrdata_get_domain(jg)
request a pointer to the grid data type for a specific computational domain
integer(c_int) function, public comin_descrdata_get_vert_npromz(jg)
Calculate npromz value for the blocking, needed for patch allocation. ... for the vertices.
integer(c_int) function, public comin_error_get()
returns the current error code
subroutine, public comin_var_get(context, var_descriptor, flag, var_ptr)
Request a pointer to an ICON variable in context(s).
subroutine, public comin_var_descr_list_iterator_delete(it)
Delete list iterator.
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_get_descr_list_var_desc(it, var_desc_out)
Auxiliary function: Evaluates a list iterator of the variable descriptor list and returns the corresp...
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.
The elements of this derived data type describe a 3rd party plugin.
The elements of this derived data type describe the current community interface.
Variable descriptor. identifies (uniquely) a variable. Do not confuse with meta-data.
Variable pointer. Fortran interface for accessing variables.