ComIn 0.5.1
ICON Community Interface
Loading...
Searching...
No Matches
comin_plugin_interface.F90
Go to the documentation of this file.
1!> @file comin_plugin_interface.F90
2!! @brief The module comin_plugin_interface exports all procedures, variables
3!! and constants that are exposed to third party plugins.
4!!
5!! - This module does not provide any actual implementation.
6!! - The convention is that from the third party plugin side, no other
7!! module than comin_plugin_interface must be used.
8!!
9!! @defgroup fortran_interface Fortran Interface
10!!
11! @authors 01/2023 :: ICON Community Interface <comin@icon-model.org>
12!
13! SPDX-License-Identifier: BSD-3-Clause
14!
15! See LICENSES for license information.
16! Where software is supplied by third parties, it is indicated in the
17! headers of the routines.
18!
19
21
25 USE comin_variable, ONLY: comin_var_get, &
51 USE comin_setup_constants, ONLY: wp, &
92 & ep_finish, &
93 & ep_destructor, &
130 & comin_severity_debug, &
131 & comin_severity_info, &
132 & comin_severity_warning, &
133 & comin_severity_error
143
144 IMPLICIT NONE
145
146 PRIVATE
147
148#include "comin_global.inc"
149
150 ! From comin_callback:
152
153 ! From comin_setup:
155
156 ! From comin_variable:
158 PUBLIC :: comin_var_request_add
163
164 ! From comin_metadata:
165 PUBLIC :: comin_metadata_set
166 PUBLIC :: comin_metadata_get
169 ! From comin_metadata_types:
171
172 ! From comin_descrdata:
189
190 ! From comin_setup:
192
193 ! From comin_setup_constants:
194 PUBLIC :: wp
195 PUBLIC :: ep_secondary_constructor, &
235 & ep_finish, &
236 & ep_destructor, &
240
242 !> Return value of comin_current_get_domain_id if there is currently no domain loop
243 !! @ingroup fortran_interface
244 INTEGER, PARAMETER :: comin_domain_outside_loop = domain_outside_loop
245
253 PUBLIC :: comin_var_datatype_double, &
256 PUBLIC :: comin_dim_semantics_undef, &
264
265 ! From comin_plugin_types
266 PUBLIC :: t_comin_plugin_info
267
268 ! From comin_plugin_info
275 PUBLIC :: comin_severity_debug
276 PUBLIC :: comin_severity_info
277 PUBLIC :: comin_severity_warning
278 PUBLIC :: comin_severity_error
279
280 ! From comin_parallel:
283
284 ! From comin_errhandler:
288
289 ! From comin_errhandler_types
290 PUBLIC :: comin_success
291
292 ! From comin_print
294
295 ! From comin_state:
297
298END MODULE comin_plugin_interface
const char * comin_callback_get_ep_name(t_comin_entry_point iep)
t_comin_metadata_typeid comin_metadata_get_typeid(t_comin_var_descriptor var_descriptor, const char *key)
t_comin_log_severity comin_current_get_plugin_log_severity()
const char * comin_current_get_plugin_name()
bool comin_current_get_plugin_errors_return()
const char * comin_current_get_plugin_options()
const char * comin_current_get_plugin_comm()
void comin_setup_get_version(unsigned int *major, unsigned int *minor, unsigned int *patch)
void comin_var_request_add(t_comin_var_descriptor var_desc, bool lmodexclusive)
void comin_var_get_descr_list_var_desc(t_comin_var_descr_list_iterator *current, t_comin_var_descriptor *var_desc)
Read-only access to additional information about a given variable.
Sets metadata for a requested ComIn variable. Note:Plugins use the alias comin_metadata_set.
Variable pointer. Fortran interface for accessing variables.
Get first element of variable descriptor list. Returns a C-pointer that can be evaluated with the aux...
Conversion of global edge index to MPI-process local index.
Simulation status information, sim_current contains current time step.
The elements of this derived data type describe a 3rd party plugin.
Conversion of global vert index to MPI-process local index.
Conversion of global cell index to MPI-process local index.
Get next element of variable descriptor list. Returns a C-pointer that can be evaluated with the auxi...
Get current entry point.
Receive pointer on array storing timestep information for all domains.
The elements of this derived data type describe the current community interface.
Returns the current domain ID if the entry point is called in a domain loop.
subroutine, public comin_descrdata_get_vert_block_limits(jg, irl_start, irl_end, i_startblk, i_endblk)
Computes the start and end block indices for loops over vertex-based variables.
character(len=11) function, public comin_error_get_category(error_code)
Return the category of the given error code.
integer(c_int) function, public comin_descrdata_get_vert_npromz(jg)
Calculate npromz value for the blocking, needed for patch allocation. ... for the vertices.
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_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.
type(t_comin_descrdata_global) function, public comin_descrdata_get_global()
request a pointer to the global data type
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, parameter, public comin_domain_outside_loop
Return value of comin_current_get_domain_id if there is currently no domain loop.
integer(c_int) function, public comin_descrdata_get_cell_npromz(jg)
Calculate npromz value for the blocking, needed for patch allocation. ... for the cells.
integer, parameter wp
working precision
integer function, public comin_parallel_get_host_mpi_comm()
Returns the communicator with all ICON processes.
subroutine, public comin_metadata_get_iterator(var_descriptor, iterator)
Return a metadata container iterator.
integer(c_int) function, public comin_descrdata_get_index(idx1d)
Auxiliary function: conversion of 1D to 2D indices.
subroutine, public comin_descrdata_get_edge_block_limits(jg, irl_start, irl_end, i_startblk, i_endblk)
Computes the start and end block indices for loops over edge-based variables.
subroutine, public comin_plugin_finish(routine, text)
Wrapper function for callback to ICON's "finish" routine.
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...
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(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.
subroutine, public comin_descrdata_get_cell_block_limits(jg, irl_start, irl_end, i_startblk, i_endblk)
Computes the start and end block indices for loops over cell-based variables.
character(len=comin_max_len_err_message) function, public comin_error_get_string(error_code)
Return the string description of the given error code.
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...
subroutine, public comin_current_get_plugin_info(comin_current_plugin)
Returns the t_comin_plugin_info structure of the current plugin. It can for example be used to access...
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 ...
type(t_comin_descrdata_simulation_interval) function, public comin_descrdata_get_simulation_interval()
request a pointer to simulation status
type(t_comin_descrdata_domain) function, public comin_descrdata_get_domain(jg)
request a pointer to the grid data type for a specific computational domain
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...
integer(c_int) function, public comin_descrdata_get_block(idx1d)
auxiliary functions taken from ICON, version 2.6.5
subroutine, public comin_current_get_datetime(sim_time_current)
Retrieve time stamp info, current time information.
subroutine, public comin_var_get(context, var_descriptor, flag, var_ptr)
Request a pointer to an ICON variable in context(s).
void comin_callback_register(t_comin_entry_point entry_point, t_comin_callback_function fct_ptr)
Retrieve the current ComIn error code.
subroutine, public comin_error_set_errors_return(errors_return)