ICON Community Interface 0.4.0
Loading...
Searching...
No Matches
comin.h File Reference

C interface for the ICON Community Interface. More...

#include "comin_global.inc"
#include "comin_version.inc"
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include "comin_header_c_ext_descrdata_query_domain.h"
#include "comin_header_c_ext_descrdata_query_global.h"
Include dependency graph for comin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  comin_h::t_comin_var_descriptor
 
struct  comin_h::comin_descrdata_property_t
 

Namespaces

namespace  comin_h
 

Typedefs

typedef struct comin_h::t_comin_var_descriptor comin_h::t_comin_var_descriptor
 
typedef struct t_comin_var_handle comin_h::t_comin_var_handle
 
typedef struct t_comin_var_descr_list_iterator comin_h::t_comin_var_descr_list_iterator
 
typedef struct t_comin_metadata_iterator comin_h::t_comin_metadata_iterator
 
typedef enum comin_h::t_comin_entry_point comin_h::t_comin_entry_point
 
typedef enum comin_h::t_comin_zaxis comin_h::t_comin_zaxis
 
typedef enum comin_h::t_comin_var_access_flag comin_h::t_comin_var_access_flag
 
typedef enum comin_h::t_comin_error_code comin_h::t_comin_error_code
 
typedef enum comin_h::t_comin_hgrid_id comin_h::t_comin_hgrid_id
 
typedef enum comin_h::t_comin_metadata_typeid comin_h::t_comin_metadata_typeid
 
typedef enum comin_h::t_comin_var_datatype comin_h::t_comin_var_datatype
 
typedef enum comin_h::t_comin_dim_semantics comin_h::t_comin_dim_semantics
 
typedef void(* comin_h::t_comin_callback_function) ()
 

Enumerations

enum  comin_h::t_comin_entry_point {
  comin_h::EP_SECONDARY_CONSTRUCTOR = 1 , comin_h::EP_ATM_YAC_DEFCOMP_BEFORE , comin_h::EP_ATM_YAC_DEFCOMP_AFTER , comin_h::EP_ATM_YAC_SYNCDEF_BEFORE ,
  comin_h::EP_ATM_YAC_SYNCDEF_AFTER , comin_h::EP_ATM_YAC_ENDDEF_BEFORE , comin_h::EP_ATM_YAC_ENDDEF_AFTER , comin_h::EP_ATM_INIT_FINALIZE ,
  comin_h::EP_ATM_TIMELOOP_BEFORE , comin_h::EP_ATM_TIMELOOP_START , comin_h::EP_ATM_TIMELOOP_END , comin_h::EP_ATM_TIMELOOP_AFTER ,
  comin_h::EP_ATM_INTEGRATE_BEFORE , comin_h::EP_ATM_INTEGRATE_START , comin_h::EP_ATM_INTEGRATE_END , comin_h::EP_ATM_INTEGRATE_AFTER ,
  comin_h::EP_ATM_WRITE_OUTPUT_BEFORE , comin_h::EP_ATM_WRITE_OUTPUT_AFTER , comin_h::EP_ATM_CHECKPOINT_BEFORE , comin_h::EP_ATM_CHECKPOINT_AFTER ,
  comin_h::EP_ATM_ADVECTION_BEFORE , comin_h::EP_ATM_ADVECTION_AFTER , comin_h::EP_ATM_PHYSICS_BEFORE , comin_h::EP_ATM_PHYSICS_AFTER ,
  comin_h::EP_ATM_NUDGING_BEFORE , comin_h::EP_ATM_NUDGING_AFTER , comin_h::EP_ATM_SURFACE_BEFORE , comin_h::EP_ATM_SURFACE_AFTER ,
  comin_h::EP_ATM_TURBULENCE_BEFORE , comin_h::EP_ATM_TURBULENCE_AFTER , comin_h::EP_ATM_MICROPHYSICS_BEFORE , comin_h::EP_ATM_MICROPHYSICS_AFTER ,
  comin_h::EP_ATM_CONVECTION_BEFORE , comin_h::EP_ATM_CONVECTION_AFTER , comin_h::EP_ATM_RADIATION_BEFORE , comin_h::EP_ATM_RADIATION_AFTER ,
  comin_h::EP_ATM_RADHEAT_BEFORE , comin_h::EP_ATM_RADHEAT_AFTER , comin_h::EP_ATM_GWDRAG_BEFORE , comin_h::EP_ATM_GWDRAG_AFTER ,
  comin_h::EP_FINISH , comin_h::EP_DESTRUCTOR
}
 
enum  comin_h::t_comin_zaxis {
  comin_h::COMIN_ZAXIS_UNDEF = -1 , comin_h::COMIN_ZAXIS_NONE = 0 , comin_h::COMIN_ZAXIS_2D = 1 , comin_h::COMIN_ZAXIS_3D = 2 ,
  comin_h::COMIN_ZAXIS_3D_HALF = 3
}
 
enum  comin_h::t_comin_var_access_flag {
  comin_h::COMIN_FLAG_NONE = 0 , comin_h::COMIN_FLAG_READ = 1 << 1 , comin_h::COMIN_FLAG_WRITE = 1 << 2 , comin_h::COMIN_FLAG_SYNC_HALO = 1 << 3 ,
  comin_h::COMIN_FLAG_DEVICE = 1 << 4
}
 
enum  comin_h::t_comin_error_code {
  comin_h::COMIN_SUCCESS = 0 , comin_h::COMIN_INFO , comin_h::COMIN_WARNING , comin_h::COMIN_ERROR_STATUS ,
  comin_h::COMIN_ERROR_CALLBACK_REGISTER_OUTSIDE_PRIMARYCONSTRUCTOR , comin_h::COMIN_ERROR_CALLBACK_COMPLETE , comin_h::COMIN_ERROR_CALLBACK_EP_ID_UNKNOWN , comin_h::COMIN_ERROR_DESCRDATA_SET_FCT_GLB2LOC ,
  comin_h::COMIN_ERROR_DESCRDATA_FINALIZE , comin_h::COMIN_ERROR_METADATA_SET_OUTSIDE_PRIMARYCONSTRUCTOR , comin_h::COMIN_ERROR_METADATA_KEY_NOT_FOUND , comin_h::COMIN_ERROR_METADATA_GET_INSIDE_PRIMARYCONSTRUCTOR ,
  comin_h::COMIN_ERROR_SETUP_FINALIZE , comin_h::COMIN_ERROR_SETUP_COMIN_ALREADY_INITIALIZED , comin_h::COMIN_ERROR_PLUGIN_INIT_COMIN_VERSION , comin_h::COMIN_ERROR_PLUGIN_INIT_PRECISION ,
  comin_h::COMIN_ERROR_PLUGIN_INIT_STATE_INITIALIZED , comin_h::COMIN_ERROR_SETUP_ERRHANDLER_NOT_ASSOCIATED , comin_h::COMIN_ERROR_SETUP_ERRHANDLER_NOT_SET , comin_h::COMIN_ERROR_SETUP_PRECISION_TEST_FAILED ,
  comin_h::COMIN_ERROR_VAR_REQUEST_AFTER_PRIMARYCONSTRUCTOR , comin_h::COMIN_ERROR_VAR_REQUEST_EXISTS_IS_LMODEXCLUSIVE , comin_h::COMIN_ERROR_VAR_REQUEST_EXISTS_REQUEST_LMODEXCLUSIVE , comin_h::COMIN_ERROR_VAR_DESCRIPTOR_NOT_FOUND ,
  comin_h::COMIN_ERROR_VAR_ITEM_NOT_ASSOCIATED , comin_h::COMIN_ERROR_FIELD_NOT_ALLOCATED , comin_h::COMIN_ERROR_POINTER_NOT_ASSOCIATED , comin_h::COMIN_ERROR_TRACER_REQUEST_NOT_FOR_ALL_DOMAINS ,
  comin_h::COMIN_ERROR_VAR_SYNC_DEVICE_MEM_NOT_ASSOCIATED , comin_h::COMIN_ERROR_VAR_SYNC_HALO_NOT_ASSOCIATED , comin_h::COMIN_ERROR_VAR_GET_OUTSIDE_SECONDARY_CONSTRUCTOR , comin_h::COMIN_ERROR_VAR_GET_NO_DEVICE ,
  comin_h::COMIN_ERROR_VAR_GET_VARIABLE_NOT_FOUND , comin_h::COMIN_ERROR_VAR_GET_CONTAINER_CAN_NOT_HALO_SYNCHRONIZED , comin_h::COMIN_ERROR_VAR_GET_IRREGULAR_VAR_CAN_NOT_HALO_SYNCHRONIZED , comin_h::COMIN_ERROR_VAR_SYNC_HALO_NOT_SUPPORTED_ZAXIS ,
  comin_h::COMIN_ERROR_VAR_METADATA_INCONSISTENT_TYPE , comin_h::COMIN_ERROR_FATAL
}
 
enum  comin_h::t_comin_hgrid_id { comin_h::COMIN_HGRID_UNSTRUCTURED_CELL = 1 , comin_h::COMIN_HGRID_UNSTRUCTURED_EDGE = 2 , comin_h::COMIN_HGRID_UNSTRUCTURED_VERTEX = 3 }
 
enum  comin_h::t_comin_metadata_typeid {
  comin_h::COMIN_METADATA_TYPEID_UNDEFINED = -1 , comin_h::COMIN_METADATA_TYPEID_INTEGER , comin_h::COMIN_METADATA_TYPEID_REAL , comin_h::COMIN_METADATA_TYPEID_CHARACTER ,
  comin_h::COMIN_METADATA_TYPEID_LOGICAL
}
 
enum  comin_h::t_comin_var_datatype { comin_h::COMIN_VAR_DATATYPE_DOUBLE = 1 , comin_h::COMIN_VAR_DATATYPE_FLOAT , comin_h::COMIN_VAR_DATATYPE_INT }
 
enum  comin_h::t_comin_dim_semantics {
  comin_h::COMIN_DIM_SEMANTICS_UNDEF = 1 , comin_h::COMIN_DIM_SEMANTICS_NPROMA = 2 , comin_h::COMIN_DIM_SEMANTICS_BLOCK = 3 , comin_h::COMIN_DIM_SEMANTICS_UNBLOCK = 4 ,
  comin_h::COMIN_DIM_SEMANTICS_LEVEL = 5 , comin_h::COMIN_DIM_SEMANTICS_CONTAINER = 6 , comin_h::COMIN_DIM_SEMANTICS_OTHER = 7 , comin_h::COMIN_DIM_SEMANTICS_UNUSED = 8
}
 

Functions

t_comin_entry_point comin_h::comin_current_get_ep ()
 
int comin_h::comin_current_get_domain_id ()
 
int comin_h::comin_current_get_plugin_id ()
 
void comin_h::comin_current_get_plugin_name (char const **val, int *len)
 
void comin_h::comin_current_get_plugin_options (char const **val, int *len)
 
void comin_h::comin_current_get_plugin_comm (char const **val, int *len)
 
void comin_h::comin_current_get_datetime (char const **val, int *len)
 
int comin_h::comin_parallel_get_plugin_mpi_comm ()
 
int comin_h::comin_parallel_get_host_mpi_comm ()
 
int comin_h::comin_parallel_get_host_mpi_rank ()
 
void comin_h::comin_plugin_finish (const char *routine, const char *text)
 
void comin_h::comin_print_debug (const char *msg)
 
void comin_h::comin_print_info (const char *msg)
 
void comin_h::comin_print_warning (const char *msg)
 
void comin_h::comin_print_debug_f (const char *fmt,...)
 
void comin_h::comin_print_info_f (const char *fmt,...)
 
void comin_h::comin_print_warning_f (const char *fmt,...)
 
void comin_h::comin_error_get_message (t_comin_error_code error_code, char category[11], char message[COMIN_MAX_LEN_ERR_MESSAGE])
 
void comin_h::comin_error_check (t_comin_error_code error_code, const char *scope)
 
void comin_h::comin_error_set_errors_return (bool errors_return)
 
t_comin_error_code comin_h::comin_error_get ()
 
void comin_h::comin_error_reset ()
 
void comin_h::comin_var_request_add (t_comin_var_descriptor var_descriptor, bool lmodexclusive)
 
t_comin_var_handlecomin_h::comin_var_get (int context_len, t_comin_entry_point *context, t_comin_var_descriptor var_descriptor, int flag)
 
void * comin_h::comin_var_get_ptr (t_comin_var_handle *handle)
 
double * comin_h::comin_var_get_ptr_double (t_comin_var_handle *handle)
 
float * comin_h::comin_var_get_ptr_float (t_comin_var_handle *handle)
 
int * comin_h::comin_var_get_ptr_int (t_comin_var_handle *handle)
 
void * comin_h::comin_var_get_device_ptr (t_comin_var_handle *handle)
 
double * comin_h::comin_var_get_device_ptr_double (t_comin_var_handle *handle)
 
float * comin_h::comin_var_get_device_ptr_float (t_comin_var_handle *handle)
 
int * comin_h::comin_var_get_device_ptr_int (t_comin_var_handle *handle)
 
void comin_h::comin_var_get_shape (t_comin_var_handle *handle, int shape[5])
 
void comin_h::comin_var_get_dim_semantics (t_comin_var_handle *handle, int dim_semantics[5])
 
void comin_h::comin_var_get_ncontained (t_comin_var_handle *handle, int *ncontained)
 
void comin_h::comin_var_get_descriptor (t_comin_var_handle *handle, t_comin_var_descriptor *descr)
 
t_comin_var_descr_list_iteratorcomin_h::comin_var_get_descr_list_head ()
 
t_comin_var_descr_list_iteratorcomin_h::comin_var_get_descr_list_next (t_comin_var_descr_list_iterator *current)
 
void comin_h::comin_var_get_descr_list_var_desc (t_comin_var_descr_list_iterator *current, t_comin_var_descriptor *var_desc)
 
void comin_h::comin_var_descr_list_iterator_delete (t_comin_var_descr_list_iterator **it)
 
void comin_h::comin_callback_register (t_comin_entry_point entry_point_id, t_comin_callback_function fct_ptr)
 
void comin_h::comin_callback_get_ep_name (t_comin_entry_point iep, char out_ep_name[COMIN_MAX_LEN_EP_NAME+1])
 
t_comin_metadata_typeid comin_h::comin_metadata_get_typeid (t_comin_var_descriptor var_descriptor, const char *key)
 
void comin_h::comin_metadata_set_integer (t_comin_var_descriptor var_descriptor, const char *key, int val)
 
void comin_h::comin_metadata_set_logical (t_comin_var_descriptor var_descriptor, const char *key, bool val)
 
void comin_h::comin_metadata_set_real (t_comin_var_descriptor var_descriptor, const char *key, double val)
 
void comin_h::comin_metadata_set_character (t_comin_var_descriptor var_descriptor, const char *key, char const *val)
 
void comin_h::comin_metadata_get_integer (t_comin_var_descriptor var_descriptor, const char *key, int *val)
 
void comin_h::comin_metadata_get_logical (t_comin_var_descriptor var_descriptor, const char *key, bool *val)
 
void comin_h::comin_metadata_get_real (t_comin_var_descriptor var_descriptor, const char *key, double *val)
 
void comin_h::comin_metadata_get_character (t_comin_var_descriptor var_descriptor, const char *key, char const **val, int *len)
 
t_comin_metadata_iteratorcomin_h::comin_metadata_get_iterator_begin (t_comin_var_descriptor var_descriptor)
 
t_comin_metadata_iteratorcomin_h::comin_metadata_get_iterator_end (t_comin_var_descriptor var_descriptor)
 
const char * comin_h::comin_metadata_iterator_get_key (t_comin_metadata_iterator *it)
 
bool comin_h::comin_metadata_iterator_compare (t_comin_metadata_iterator *it1, t_comin_metadata_iterator *it2)
 
void comin_h::comin_metadata_iterator_next (t_comin_metadata_iterator *it)
 
void comin_h::comin_metadata_iterator_delete (t_comin_metadata_iterator *it)
 
double comin_h::comin_descrdata_get_timesteplength (int jg)
 
int comin_h::comin_descrdata_get_index (int j)
 
int comin_h::comin_descrdata_get_block (int j)
 
void comin_h::comin_descrdata_get_cell_indices (int jg, int i_blk, int i_startblk, int i_endblk, int *i_startidx, int *i_endidx, int irl_start, int irl_end)
 
void comin_h::comin_descrdata_get_edge_indices (int jg, int i_blk, int i_startblk, int i_endblk, int *i_startidx, int *i_endidx, int irl_start, int irl_end)
 
void comin_h::comin_descrdata_get_vert_indices (int jg, int i_blk, int i_startblk, int i_endblk, int *i_startidx, int *i_endidx, int irl_start, int irl_end)
 
int comin_h::comin_descrdata_get_cell_npromz (int jg)
 
int comin_h::comin_descrdata_get_edge_npromz (int jg)
 
int comin_h::comin_descrdata_get_vert_npromz (int jg)
 
int comin_h::comin_descrdata_index_lookup_glb2loc_cell (int jg, int global_idx)
 
void comin_h::comin_descrdata_get_simulation_interval_exp_start (char const **val, int *len)
 
void comin_h::comin_descrdata_get_simulation_interval_exp_stop (char const **val, int *len)
 
void comin_h::comin_descrdata_get_simulation_interval_run_start (char const **val, int *len)
 
void comin_h::comin_descrdata_get_simulation_interval_run_stop (char const **val, int *len)
 
static void comin_h::comin_setup_get_version (unsigned int *major, unsigned int *minor, unsigned int *patch)
 returns version info.
 

Variables

static const int comin_h::COMIN_DOMAIN_OUTSIDE_LOOP = -1
 

Detailed Description

C interface for the ICON Community Interface.

Authors
11/2023 :: ICON Community Interface comin.nosp@m.@ico.nosp@m.n-mod.nosp@m.el.o.nosp@m.rg

SPDX-License-Identifier: BSD-3-Clause

Please see the file LICENSE in the root of the source tree for this code. Where software is supplied by third parties, it is indicated in the headers of the routines.

Definition in file comin.h.