![]() |
ICON Community Interface 0.4.0
|
Data Types | |
| interface | comin_metadata::comin_metadata_set_request |
Sets metadata for a requested ComIn variable. Note:Plugins use the alias comin_metadata_set. More... | |
| interface | comin_metadata::comin_metadata_get |
| Read-only access to additional information about a given variable. More... | |
| type | comin_plugin_types::t_comin_plugin_info |
| The elements of this derived data type describe a 3rd party plugin. More... | |
Functions/Subroutines | |
| subroutine, public | comin_callback::comin_callback_register (entry_point_id, fct_ptr) |
| Routine to register new callbacks during primary constructor. | |
| subroutine, public | comin_callback::comin_callback_get_ep_name (iep, out_ep_name) |
returns entry point name (character string) corresponding to iep. | |
| subroutine, public | comin_descrdata::comin_current_get_datetime (sim_time_current) |
| Retrieve time stamp info, current time information. | |
| type(t_comin_descrdata_global) function, pointer, public | comin_descrdata::comin_descrdata_get_global () |
| request a pointer to the global data type | |
| type(t_comin_descrdata_domain) function, pointer, public | comin_descrdata::comin_descrdata_get_domain (jg) |
| request a pointer to the grid data type for a specific computational domain | |
| type(t_comin_descrdata_simulation_interval) function, pointer, public | comin_descrdata::comin_descrdata_get_simulation_interval () |
| request a pointer to simulation status | |
| real(wp) function, public | comin_descrdata::comin_descrdata_get_timesteplength (jg) |
| Receive pointer on array storing timestep information for all domains. | |
| integer(c_int) function, public | comin_descrdata::comin_descrdata_get_block (idx1d) |
| auxiliary functions taken from ICON, version 2.6.5 | |
| integer(c_int) function, public | comin_descrdata::comin_descrdata_get_index (idx1d) |
| Auxiliary function: conversion of 1D to 2D indices. | |
| subroutine, public | comin_descrdata::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_descrdata::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. | |
| subroutine, public | comin_descrdata::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. | |
| integer(c_int) function, public | comin_descrdata::comin_descrdata_get_cell_npromz (jg) |
Calculate npromz value for the blocking, needed for patch allocation. ... for the cells. | |
| integer(c_int) function, public | comin_descrdata::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::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_descrdata::comin_descrdata_index_lookup_glb2loc_cell (jg, global_idx) |
| Conversion of global cell index to MPI-process local index. | |
| subroutine | comin_plugin_finish_external (routine, text) |
| Wrapper function for callback to ICON's "finish" routine. | |
| subroutine, public | comin_errhandler::comin_plugin_finish (routine, text) |
| Wrapper function for callback to ICON's "finish" routine. | |
| subroutine, public | comin_errhandler::comin_error_get_message (error_code, category, message) |
| query the message and category for a given error code | |
| subroutine, public | comin_errhandler::comin_error_check () |
| check the error code: does nothing if error_code == COMIN_SUCCESS prints the corresponding message calls comin_plugin_finish if the error_code is an error or fatal error | |
| integer(c_int) function, public | comin_errhandler::comin_error_get () |
| returns the current error code | |
| subroutine, public | comin_errhandler::comin_error_reset () |
| resets the internal error code to COMIN_SUCCESS | |
| subroutine, public | comin_errhandler::comin_error_set_errors_return (errors_return) |
| Change the error handling mode. Set it to .TRUE. to handle errors manually. If it set to .FALSE. (default) comin calls finish if an error occurs. | |
| integer function, public | comin_parallel::comin_parallel_get_plugin_mpi_comm () |
| Called within a plugin's callback function: get MPI communicator which contains all MPI tasks of the host model together with the plugin's external MPI partners (if any). | |
| integer(kind=c_int) function, public | comin_parallel::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_print::comin_print_debug (msg) |
| Prints a debug message if the plugin has set log_debug (disabled per default) The message will only be printed on process 0. | |
| subroutine, public | comin_print::comin_print_info (msg) |
| Prints a info message if the plugin has set log_info (enabled per default) The message will only be printed on process 0. | |
| subroutine, public | comin_print::comin_print_warning (msg) |
| Prints a warning if the plugin has set log_warning (enabled per default) The message will only be printed on process 0. | |
| subroutine, public | comin_setup::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 plugin. | |
| integer(c_int) function, public | comin_state::comin_current_get_ep () |
| Access information on the current entry point being processed by ComIn. | |
| integer(c_int) function, public | comin_state::comin_current_get_domain_id () |
| Request information on current domain. | |
| subroutine, public | comin_variable::comin_var_get (context, var_descriptor, flag, var_ptr) |
| Request a pointer to an ICON variable in context(s). | |
| subroutine, public | comin_variable::comin_var_request_add (var_descriptor, lmodexclusive) |
| By calling this subroutine inside the primary constructor, 3rd party plugins may request the creation of additional variables. | |
| subroutine | comin_variable_types::comin_var_to_3d_dp (var, slice) |
| Convenience operation for accessing 2D/3D fields. | |
| subroutine | comin_variable_types::comin_var_to_3d_sp (var, slice) |
| Convenience operation for accessing 2D/3D fields. | |
| subroutine | comin_variable_types::comin_var_to_3d_i (var, slice) |
| Convenience operation for accessing 2D/3D fields. | |
Entities that are exposed to both, the host interface and the plugin interface are listed in the group Common.
| subroutine, public comin_callback::comin_callback_get_ep_name | ( | integer, intent(in) | iep, |
| character(len=:), intent(out), allocatable | out_ep_name ) |
returns entry point name (character string) corresponding to iep.
| [in] | iep | entry point ID |
| [out] | out_ep_name | entry point name string |
Definition at line 308 of file comin_callback.F90.


| subroutine, public comin_callback::comin_callback_register | ( | integer(kind=c_int), intent(in), value | entry_point_id, |
| procedure(comin_callback_routine) | fct_ptr ) |
Routine to register new callbacks during primary constructor.
Also stores the currently active 3rd party plugin "current_plugin".
callbacks cannot be registered after primary constructor
Definition at line 46 of file comin_callback.F90.

| subroutine, public comin_descrdata::comin_current_get_datetime | ( | character(len=:), intent(out), allocatable | sim_time_current | ) |
Retrieve time stamp info, current time information.
Definition at line 68 of file comin_descrdata.F90.
| integer(c_int) function, public comin_state::comin_current_get_domain_id |
Request information on current domain.
Definition at line 134 of file comin_state.F90.


| integer(c_int) function, public comin_state::comin_current_get_ep |
Access information on the current entry point being processed by ComIn.
Definition at line 127 of file comin_state.F90.


| subroutine, public comin_setup::comin_current_get_plugin_info | ( | type(t_comin_plugin_info), intent(out) | comin_current_plugin | ) |
Returns the structure current_plugin. It can for example be used to access the id of the current plugin.
| [out] | comin_current_plugin | plugin info struct |
Definition at line 226 of file comin_setup.F90.
| integer(c_int) function, public comin_descrdata::comin_descrdata_get_block | ( | integer(c_int), intent(in), value | idx1d | ) |
auxiliary functions taken from ICON, version 2.6.5
from mo_parallel_config names of routines in ICON are: blk_no, idx_no Auxiliary function: conversion of 1D to 2D indices.
Definition at line 230 of file comin_descrdata.F90.


| subroutine, public comin_descrdata::comin_descrdata_get_cell_indices | ( | integer(c_int), intent(in), value | jg, |
| integer(c_int), intent(in), value | i_blk, | ||
| integer(c_int), intent(in), value | i_startblk, | ||
| integer(c_int), intent(in), value | i_endblk, | ||
| integer(c_int), intent(out) | i_startidx, | ||
| integer(c_int), intent(out) | i_endidx, | ||
| integer(c_int), intent(in), value | irl_start, | ||
| integer(c_int), intent(in), value | irl_end ) |
Computes the start and end indices of do loops for cell-based variables.
From ICON's mo_loopindices
Definition at line 251 of file comin_descrdata.F90.
| integer(c_int) function, public comin_descrdata::comin_descrdata_get_cell_npromz | ( | integer(c_int), intent(in), value | jg | ) |
Calculate npromz value for the blocking, needed for patch allocation. ... for the cells.
NB: Avoid the case nblks=0 for empty patches, this might cause troubles if a empty patch is used somewhere (and npromz gets wrong in the formulas below).
from mo_setup_subdivision
Definition at line 345 of file comin_descrdata.F90.


| type(t_comin_descrdata_domain) function, pointer, public comin_descrdata::comin_descrdata_get_domain | ( | integer, intent(in) | jg | ) |
request a pointer to the grid data type for a specific computational domain
Definition at line 105 of file comin_descrdata.F90.


| subroutine, public comin_descrdata::comin_descrdata_get_edge_indices | ( | integer(c_int), intent(in), value | jg, |
| integer(c_int), intent(in), value | i_blk, | ||
| integer(c_int), intent(in), value | i_startblk, | ||
| integer(c_int), intent(in), value | i_endblk, | ||
| integer(c_int), intent(out) | i_startidx, | ||
| integer(c_int), intent(out) | i_endidx, | ||
| integer(c_int), intent(in), value | irl_start, | ||
| integer(c_int), intent(in), value | irl_end ) |
Computes the start and end indices of do loops for edge-based variables.
From ICON's mo_loopindices
Definition at line 283 of file comin_descrdata.F90.
| integer(c_int) function, public comin_descrdata::comin_descrdata_get_edge_npromz | ( | integer(c_int), intent(in), value | jg | ) |
Calculate npromz value for the blocking, needed for patch allocation. ... for the edges.
NB: Avoid the case nblks=0 for empty patches, this might cause troubles if a empty patch is used somewhere (and npromz gets wrong in the formulas below).
from mo_setup_subdivision
Definition at line 360 of file comin_descrdata.F90.


| type(t_comin_descrdata_global) function, pointer, public comin_descrdata::comin_descrdata_get_global |
request a pointer to the global data type
Definition at line 92 of file comin_descrdata.F90.


| integer(c_int) function, public comin_descrdata::comin_descrdata_get_index | ( | integer(c_int), intent(in), value | idx1d | ) |
Auxiliary function: conversion of 1D to 2D indices.
Definition at line 237 of file comin_descrdata.F90.


| type(t_comin_descrdata_simulation_interval) function, pointer, public comin_descrdata::comin_descrdata_get_simulation_interval |
request a pointer to simulation status
Definition at line 120 of file comin_descrdata.F90.


| real(wp) function, public comin_descrdata::comin_descrdata_get_timesteplength | ( | integer(c_int), intent(in), value | jg | ) |
Receive pointer on array storing timestep information for all domains.
Definition at line 171 of file comin_descrdata.F90.


| subroutine, public comin_descrdata::comin_descrdata_get_vert_indices | ( | integer(c_int), intent(in), value | jg, |
| integer(c_int), intent(in), value | i_blk, | ||
| integer(c_int), intent(in), value | i_startblk, | ||
| integer(c_int), intent(in), value | i_endblk, | ||
| integer(c_int), intent(out) | i_startidx, | ||
| integer(c_int), intent(out) | i_endidx, | ||
| integer(c_int), intent(in), value | irl_start, | ||
| integer(c_int), intent(in), value | irl_end ) |
Computes the start and end indices of do loops for vertex-based variables.
From ICON's mo_loopindices
Definition at line 310 of file comin_descrdata.F90.
| integer(c_int) function, public comin_descrdata::comin_descrdata_get_vert_npromz | ( | integer(c_int), intent(in), value | jg | ) |
Calculate npromz value for the blocking, needed for patch allocation. ... for the vertices.
NB: Avoid the case nblks=0 for empty patches, this might cause troubles if a empty patch is used somewhere (and npromz gets wrong in the formulas below).
from mo_setup_subdivision
Definition at line 375 of file comin_descrdata.F90.


| integer(c_int) function, public comin_descrdata::comin_descrdata_index_lookup_glb2loc_cell | ( | integer(kind=c_int), intent(in), value | jg, |
| integer(kind=c_int), intent(in), value | global_idx ) |
Conversion of global cell index to MPI-process local index.
| [in] | jg | domain index |
| [in] | global_idx | global cell index |
Definition at line 384 of file comin_descrdata.F90.
| subroutine, public comin_errhandler::comin_error_check |
check the error code: does nothing if error_code == COMIN_SUCCESS prints the corresponding message calls comin_plugin_finish if the error_code is an error or fatal error
Definition at line 145 of file comin_errhandler.F90.


| integer(c_int) function, public comin_errhandler::comin_error_get |
returns the current error code
Definition at line 184 of file comin_errhandler.F90.


| subroutine, public comin_errhandler::comin_error_get_message | ( | integer, intent(in) | error_code, |
| character(len=11), intent(inout) | category, | ||
| character(len=comin_max_len_err_message), intent(inout) | message ) |
query the message and category for a given error code
Definition at line 102 of file comin_errhandler.F90.


| subroutine, public comin_errhandler::comin_error_reset |
resets the internal error code to COMIN_SUCCESS
Definition at line 192 of file comin_errhandler.F90.
| subroutine, public comin_errhandler::comin_error_set_errors_return | ( | logical, intent(in) | errors_return | ) |
Change the error handling mode. Set it to .TRUE. to handle errors manually. If it set to .FALSE. (default) comin calls finish if an error occurs.
Definition at line 201 of file comin_errhandler.F90.
| integer(kind=c_int) function, public comin_parallel::comin_parallel_get_host_mpi_rank |
Called within a plugin's callback function: get MPI rank with respect to the "host" MPI communicator.
Definition at line 127 of file comin_parallel.F90.

| integer function, public comin_parallel::comin_parallel_get_plugin_mpi_comm |
Called within a plugin's callback function: get MPI communicator which contains all MPI tasks of the host model together with the plugin's external MPI partners (if any).
Definition at line 109 of file comin_parallel.F90.


| subroutine, public comin_errhandler::comin_plugin_finish | ( | character(len=*), intent(in) | routine, |
| character(len=*), intent(in) | text ) |
Wrapper function for callback to ICON's "finish" routine.
Definition at line 67 of file comin_errhandler.F90.


| subroutine comin_plugin_finish_external | ( | character(len=*), intent(in) | routine, |
| character(len=*), intent(in) | text ) |
Wrapper function for callback to ICON's "finish" routine.
Definition at line 15 of file comin_errhandler.F90.


| subroutine, public comin_print::comin_print_debug | ( | character(len=*), intent(in) | msg | ) |
Prints a debug message if the plugin has set log_debug (disabled per default) The message will only be printed on process 0.
Definition at line 27 of file comin_print.F90.

| subroutine, public comin_print::comin_print_info | ( | character(len=*), intent(in) | msg | ) |
Prints a info message if the plugin has set log_info (enabled per default) The message will only be printed on process 0.
Definition at line 46 of file comin_print.F90.

| subroutine, public comin_print::comin_print_warning | ( | character(len=*), intent(in) | msg | ) |
Prints a warning if the plugin has set log_warning (enabled per default) The message will only be printed on process 0.
Definition at line 65 of file comin_print.F90.

| subroutine, public comin_variable::comin_var_get | ( | integer, dimension(:), intent(in) | context, |
| type(t_comin_var_descriptor), intent(in) | var_descriptor, | ||
| integer, intent(in) | flag, | ||
| type(t_comin_var_handle), intent(out) | var_ptr ) |
Request a pointer to an ICON variable in context(s).
Definition at line 466 of file comin_variable.F90.

| subroutine, public comin_variable::comin_var_request_add | ( | type (t_comin_var_descriptor), intent(in) | var_descriptor, |
| logical, intent(in) | lmodexclusive ) |
By calling this subroutine inside the primary constructor, 3rd party plugins may request the creation of additional variables.
Note: The lmodexclusive argument provides the information if this variable is exclusive to the calling plugin.
Note: If a 3rd party plugin requests the creation of a variable through this subroutine, it is still not guaranteed that this variable is actually created! It might be skipped due to inconsistencies, it could be a duplicate etc. Therefore, 3rd party plugins still have to evaluate the return code of comin_var_request_add.
Definition at line 539 of file comin_variable.F90.

| subroutine comin_variable_types::comin_var_to_3d_dp | ( | class(t_comin_var_handle), intent(in) | var, |
| real(dp), dimension(:,:,:), pointer | slice ) |
Convenience operation for accessing 2D/3D fields.
Assumes that the last dimension is not used!
Definition at line 267 of file comin_variable_types.F90.
| subroutine comin_variable_types::comin_var_to_3d_i | ( | class(t_comin_var_handle), intent(in) | var, |
| integer(c_int), dimension(:,:,:), pointer | slice ) |
Convenience operation for accessing 2D/3D fields.
Assumes that the last dimension is not used!
Definition at line 329 of file comin_variable_types.F90.
| subroutine comin_variable_types::comin_var_to_3d_sp | ( | class(t_comin_var_handle), intent(in) | var, |
| real(sp), dimension(:,:,:), pointer | slice ) |
Convenience operation for accessing 2D/3D fields.
Assumes that the last dimension is not used!
Definition at line 298 of file comin_variable_types.F90.