ComIn 0.5.1
ICON Community Interface
Loading...
Searching...
No Matches
Fortran Interface

Data Types

interface  comin_descrdata_index_lookup_glb2loc_cell
 
interface  comin_descrdata_index_lookup_glb2loc_edge
 
interface  comin_descrdata_index_lookup_glb2loc_vert
 
interface  comin_descrdata_get_timesteplength
 
type  t_comin_descrdata_global_data
 
type  t_comin_descrdata_domain_cells_data
 
type  t_comin_descrdata_domain_verts_data
 
type  t_comin_descrdata_domain_edges_data
 
type  t_comin_descrdata_domain_data
 
type  t_comin_descrdata_simulation_interval
 
interface  comin_error_check
 
interface  comin_error_set
 
type  t_comin_plugin_info
 
type  t_comin_setup_version_info
 
interface  comin_current_get_ep
 
interface  comin_current_get_domain_id
 
interface  comin_var_get_descr_list_head
 
interface  comin_var_get_descr_list_next
 
interface  comin_var_descr_list_iterator_delete
 
interface  t_comin_var_descriptor
 
type  t_comin_var_handle
 

Enumerations

enum  
 

Functions/Subroutines

subroutine, public comin_callback_get_ep_name (iep, out_ep_name)
 
integer(c_int) function, public comin_descrdata_get_block (idx1d)
 
subroutine, public comin_descrdata_get_cell_block_limits (jg, irl_start, irl_end, i_startblk, i_endblk)
 
subroutine, public comin_descrdata_get_cell_indices (jg, i_blk, i_startblk, i_endblk, i_startidx, i_endidx, irl_start, irl_end)
 
subroutine, public comin_descrdata_get_edge_block_limits (jg, irl_start, irl_end, i_startblk, i_endblk)
 
subroutine, public comin_descrdata_get_edge_indices (jg, i_blk, i_startblk, i_endblk, i_startidx, i_endidx, irl_start, irl_end)
 
subroutine, public comin_descrdata_get_vert_block_limits (jg, irl_start, irl_end, i_startblk, i_endblk)
 
subroutine, public comin_descrdata_get_vert_indices (jg, i_blk, i_startblk, i_endblk, i_startidx, i_endidx, irl_start, irl_end)
 
integer(c_int) function, public comin_descrdata_get_cell_npromz (jg)
 
integer(c_int) function, public comin_descrdata_get_edge_npromz (jg)
 
integer(c_int) function, public comin_descrdata_get_vert_npromz (jg)
 
integer function, public comin_metadata_get_typeid (var_descriptor, key)
 
logical function, public comin_current_get_plugin_errors_return ()
 
integer function, public comin_current_get_plugin_log_severity ()
 
subroutine, public comin_current_get_plugin_info (comin_current_plugin)
 
subroutine, public comin_var_request_add (var_descriptor, lmodexclusive)
 
subroutine comin_var_to_3d_dp (var, slice)
 
subroutine comin_var_to_3d_sp (var, slice)
 
subroutine comin_var_to_3d_i (var, slice)
 

Detailed Description


Data Type Documentation

◆ comin_descrdata::comin_descrdata_index_lookup_glb2loc_cell

interface comin_descrdata::comin_descrdata_index_lookup_glb2loc_cell

Definition at line 80 of file comin_descrdata.F90.

Public Member Functions

integer(c_int) function comin_descrdata_index_lookup_glb2loc_cell (jg, global_idx)
 

Constructor & Destructor Documentation

◆ comin_descrdata_index_lookup_glb2loc_cell()

integer(c_int) function comin_descrdata_index_lookup_glb2loc_cell ( integer(kind=c_int), intent(in), value jg,
integer(kind=c_int), intent(in), value global_idx )
Parameters
[in]jgdomain index
[in]global_idxglobal cell index

Definition at line 80 of file comin_descrdata.F90.

◆ comin_descrdata::comin_descrdata_index_lookup_glb2loc_edge

interface comin_descrdata::comin_descrdata_index_lookup_glb2loc_edge

Definition at line 89 of file comin_descrdata.F90.

Public Member Functions

integer(c_int) function comin_descrdata_index_lookup_glb2loc_edge (jg, global_idx)
 

Constructor & Destructor Documentation

◆ comin_descrdata_index_lookup_glb2loc_edge()

integer(c_int) function comin_descrdata_index_lookup_glb2loc_edge ( integer(kind=c_int), intent(in), value jg,
integer(kind=c_int), intent(in), value global_idx )
Parameters
[in]jgdomain index
[in]global_idxglobal edge index

Definition at line 89 of file comin_descrdata.F90.

◆ comin_descrdata::comin_descrdata_index_lookup_glb2loc_vert

interface comin_descrdata::comin_descrdata_index_lookup_glb2loc_vert

Definition at line 98 of file comin_descrdata.F90.

Public Member Functions

integer(c_int) function comin_descrdata_index_lookup_glb2loc_vert (jg, global_idx)
 

Constructor & Destructor Documentation

◆ comin_descrdata_index_lookup_glb2loc_vert()

integer(c_int) function comin_descrdata_index_lookup_glb2loc_vert ( integer(kind=c_int), intent(in), value jg,
integer(kind=c_int), intent(in), value global_idx )
Parameters
[in]jgdomain index
[in]global_idxglobal vert index

Definition at line 98 of file comin_descrdata.F90.

◆ comin_descrdata::comin_descrdata_get_timesteplength

interface comin_descrdata::comin_descrdata_get_timesteplength

Definition at line 131 of file comin_descrdata.F90.

Constructor & Destructor Documentation

◆ comin_descrdata_get_timesteplength()

real(c_double) function comin_descrdata_get_timesteplength ( integer(c_int), intent(in), value jg)

Definition at line 131 of file comin_descrdata.F90.

◆ comin_descrdata_types::t_comin_descrdata_global_data

type comin_descrdata_types::t_comin_descrdata_global_data

Definition at line 40 of file comin_descrdata_types.F90.

Data Fields
character(len=:), allocatable device_driver Driver of the accelerator device.
character(len=:), allocatable device_name Name of the accelerator device.
character(len=:), allocatable device_vendor Vendor of the accelerator device.
integer(c_int) grf_bdywidth_c Cell row ordering (block index): width of lateral boundary region, not including the nudging zone.
integer(c_int) grf_bdywidth_e Edge row ordering (block index): See the corresponding documentation for cells.
logical(c_bool) has_device Information about the computation device (accelerator)

Whether the host model uses an acceleraor (e.g. GPU). In this case the memory can be accessed directly on the device. See technical documentation and examples for further details.

character(len=:), allocatable host_git_branch Host model version information - Git branch name.
character(len=:), allocatable host_git_remote_url Host model version information - Git remote URL.
character(len=:), allocatable host_git_tag Host model version information - Git tag name.
character(len=:), allocatable host_revision Host model version information - revision version number.
logical(c_bool) l_limited_area Limited area setup where forcing comes from the sides.
logical(c_bool) lrestartrun Whether this is a restarted run.
integer(c_int) max_dom Maximum number of model domains.
integer(c_int) max_rlcell Cell row ordering (block index): cell rows in the lateral domain boundary have positive refin_c_ctrl numbers.

In total, max_rlcell = 5 cell rows are part of this section.

integer(c_int) max_rledge Edge row ordering (block index). See the corresponding documentation for cells.
integer(c_int) max_rlvert Vertex row ordering (block index). See the corresponding documentation for cells.
integer(c_int) min_rlcell Cell row ordering (block index): halo cells have a negative numbering ranging between min_rlcell and min_rlcell_int-1.
integer(c_int) min_rlcell_int Cell row ordering (block index): halo cells have a negative numbering ranging between min_rlcell and min_rlcell_int-1.
integer(c_int) min_rledge Edge row ordering (block index). See the corresponding documentation for cells.
integer(c_int) min_rledge_int Vertex row ordering (block index). See the corresponding documentation for cells.
integer(c_int) min_rlvert Vertex row ordering (block index). See the corresponding documentation for cells.
integer(c_int) min_rlvert_int Vertex row ordering (block index). See the corresponding documentation for cells.
integer(c_int) n_dom Number of logical domains.

Fortran indexing. Starting with 1.

integer(c_int) nproma Loop chunk length.

Often used as the first dimension of variables

real(wp), dimension(:), allocatable vct_a Parameter A of the vertical coordinate (without influence of topography)

index1=1,nlev+1

integer(c_int) wp Working precision.

Fortan KIND VALUE (REAL)

integer(c_int) yac_instance_id The yac instance id used by the host model.

See comments in the technical documentation and the examples

◆ comin_descrdata_types::t_comin_descrdata_domain_cells_data

type comin_descrdata_types::t_comin_descrdata_domain_cells_data

Definition at line 115 of file comin_descrdata_types.F90.

Data Fields
real(wp), dimension(:,:), pointer, contiguous area => NULL() Area of triangle.

index1=1,nproma, index2=1,nblks_c

integer(c_int), dimension(:,:), pointer, contiguous child_id => NULL() Domain ID of child triangles.

index1=1,nproma, index2=1,nblks_c

real(wp), dimension(:,:), allocatable clat Latitude of centers of triangular cells.

index1=1,nproma, index2=1,nblks_c

real(wp), dimension(:,:), allocatable clon Longitude of centers of triangular cells.

index1=1,nproma, index2=1,nblks_c

integer(c_int), dimension(:,:), pointer, contiguous decomp_domain => NULL() Domain decomposition flag.
  • decomp_domain==0: inner domain
  • decomp_domain>0: boundary
  • decomp_domain<0: undefined

For cells:

  • 0=owned
  • 1=shared edge with owned cell
  • 2=shared vertex with owned cell

index1=1,nproma, index2=1,nblks_c

real(wp), dimension(:,:,:), pointer, contiguous e_bln_c_s Coefficient for bilinear interpolation from edges to cells for scalar quantities index1=nproma, index2=3, index3=nblks_c.
integer(c_int), dimension(:,:,:), pointer, contiguous edge_blk => NULL() Block indices of edges of triangle.

index1=1,nproma, index2=1,nblks_c, index3=1,3

integer(c_int), dimension(:,:,:), pointer, contiguous edge_idx => NULL() Line indices of edges of triangle.

index1=1,nproma, index2=1,nblks_c, index3=1,3

integer(c_int), dimension(:), pointer, contiguous end_block => NULL() List of end block for each refin_ctrl level.

index1=min_rlcell,max_rlcell

integer(c_int), dimension(:), pointer, contiguous end_index => NULL() List of end indices for each refin_ctrl level.

index1=min_rlcell,max_rlcell

real(wp), dimension(:,:,:), pointer, contiguous geofac_div Factor for divergence index1=nproma , index2=cell_type, index3=nblks_c.
real(wp), dimension(:,:,:,:), pointer, contiguous geofac_grg Factor for Green-Gauss gradient index1=nproma, index2=4, index3=nblks_c, index4=2.
real(wp), dimension(:,:,:), pointer, contiguous geofac_n2s Factor for nabla2-scalar index1=nproma, index2=cell_type+1, index3=nblks_c.
integer(c_int), dimension(:), pointer, contiguous glb_index => NULL() Global cell indices.

index1=1,ncells

real(wp), dimension(:,:,:), allocatable hhl Geometrical height of half levels at cell centre.

index1=1,nproma, index2=1,nlev+1, index3=1,nblks_c

integer(c_int) max_connectivity Maximum number of connected neighbors (usually 3)
integer(c_int) nblks Number of blocks for cells.
See also
nproma
integer(c_int) ncells Number of local cells.
integer(c_int) ncells_global Number of global cells.
integer(c_int), dimension(:,:,:), pointer, contiguous neighbor_blk => NULL() Block indices of neighbors of triangle.

index1=1,nproma, index2=1,nblks_c, index3=1,3

integer(c_int), dimension(:,:,:), pointer, contiguous neighbor_idx => NULL() Line indices of neighbors of triangle.

index1=1,nproma, index2=1,nblks_c, index3=1,3

integer(c_int), dimension(:,:), pointer, contiguous num_edges => NULL() Number of edges connected to cell.

index1=1,nproma, index2=1,nblks_c

integer(c_int), dimension(:,:), pointer, contiguous parent_glb_blk => NULL() Block index of parent triangle.

index1=1,nproma, index2=1,nblks_c

integer(c_int), dimension(:,:), pointer, contiguous parent_glb_idx => NULL() Line index of parent triangle.

index1=1,nproma, index2=1,nblks_c

integer(c_int), dimension(:,:,:), pointer, contiguous rbf_vec_blk Block-Indices of the stencil of surrounding edges for vector rbf interpolation at each cell center index1=rbf_vec_dim_c(=9), index2=nproma, inedx3=nblks_c.
real(wp), dimension(:,:,:,:), pointer, contiguous rbf_vec_coeff coefficients used for vector rbf interpolation at each cell center index1=rbf_vec_dim_c(=9), index2=2, INdex3=nproma, index4=nblks_c
integer(c_int), dimension(:,:,:), pointer, contiguous rbf_vec_idx Indices of the stencil of surrounding edges for vector rbf interpolation at each cell center index1=rbf_vec_dim_c(=9), index2=nproma, inedx3=nblks_c.
integer(c_int), dimension(:,:), pointer, contiguous rbf_vec_stencil Number of surrounding edges in the stencil for vector rbf interpolation at each cell center index1=nproma, index2=nblks_c.
integer(c_int), dimension(:,:), pointer, contiguous refin_ctrl => NULL() Lateral boundary distance indices.

index1=1,nproma, index2=1,nblks_c

integer(c_int), dimension(:), pointer, contiguous start_block => NULL() List of start block for each refin_ctrl level.

index1=min_rlcell,max_rlcell

integer(c_int), dimension(:), pointer, contiguous start_index => NULL() List of start indices for each refin_ctrl level.

index1=min_rlcell,max_rlcell (defined in mo_impl_constants)

integer(c_int), dimension(:,:,:), pointer, contiguous vertex_blk => NULL() Block indices of verts of triangle.

index1=1,nproma, index2=1,nblks_c, index3=1,3

integer(c_int), dimension(:,:,:), pointer, contiguous vertex_idx => NULL() Line indices of verts of triangle.

index1=1,nproma, index2=1,nblks_c, index3=1,3

◆ comin_descrdata_types::t_comin_descrdata_domain_verts_data

type comin_descrdata_types::t_comin_descrdata_domain_verts_data

Definition at line 251 of file comin_descrdata_types.F90.

Data Fields
integer(c_int), dimension(:,:,:), pointer, contiguous cell_blk => NULL() Block indices of cells around each vertex.

index1=1,nproma, index2=1,nblks_v, index3=1,6

integer(c_int), dimension(:,:,:), pointer, contiguous cell_idx => NULL() Line indices of cells around each vertex.

index1=1,nproma, index2=1,nblks_v, index3=1,6

integer(c_int), dimension(:,:), pointer, contiguous decomp_domain => NULL() Domain decomposition flag for vertices.
  • decomp_domain==0: inner domain
  • decomp_domain>0: boundary
  • decomp_domain<0: undefined

For vertices:

  • 0=owned
  • 1=on owned cell
  • 2=on level 1 cell

index1=nproma, index2=1,nblks_v

integer(c_int), dimension(:,:,:), pointer, contiguous edge_blk => NULL() Block indices of edges around a vertex.

index1=1,nproma, index2=1,nblks_v, index3=1,6

integer(c_int), dimension(:,:,:), pointer, contiguous edge_idx => NULL() Line indices of edges around a vertex.

index1=1,nproma, index2=1,nblks_v, index3=1,6

integer(c_int), dimension(:), pointer, contiguous end_block => NULL() List of end block for each refin_ctrl level.

index1=min_rlvert,max_rlvert

integer(c_int), dimension(:), pointer, contiguous end_index => NULL() List of end indices for each refin_ctrl level.

index1=min_rlvert,max_rlvert

integer(c_int), dimension(:), pointer, contiguous glb_index => NULL() Global vertex indices.

index1=1,nverts

integer(c_int) nblks Number of blocks for verts.
See also
nproma
integer(c_int), dimension(:,:,:), pointer, contiguous neighbor_blk => NULL() Block indices of neighbor vertices.

index1=1,nproma, index2=1,nblks_v, index3=1,6

integer(c_int), dimension(:,:,:), pointer, contiguous neighbor_idx => NULL() Line indices of neighbor vertices.

index1=1,nproma, index2=1,nblks_v, index3=1,6

integer(c_int), dimension(:,:), pointer, contiguous num_edges => NULL() Number of edges connected to vertex.

index1=1,nproma, index2=1,nblks_v

integer(c_int) nverts Number of local verts.
integer(c_int) nverts_global Number of global verts.
integer(c_int), dimension(:,:,:), pointer, contiguous rbf_vec_blk Block-indices of the stencil of surrounding edges for vector rbf interpolation at each triangle vertex index1=rbf_vec_dim_v(=6), index2=nproma, index3=nblks_v.
real(wp), dimension(:,:,:,:), pointer, contiguous rbf_vec_coeff Coefficients used for vector rbf interpolation at each tringle vertex. input is normal component index1=rbf_vec_dim_v(=6), index2=2, index3=nproma, index4=nblks_v.
integer(c_int), dimension(:,:,:), pointer, contiguous rbf_vec_idx Indices of the stencil of surrounding edges for vector rbf interpolation at each triangle vertex index1=rbf_vec_dim_v(=6), index2=nproma, index3=nblks_v.
integer(c_int), dimension(:,:), pointer, contiguous rbf_vec_stencil Number of surrounding edges in the stencil for vector rbf interpolation at each triangle vertex index1=nproma, index2=nblks_v.
integer(c_int), dimension(:,:), pointer, contiguous refin_ctrl => NULL() Lateral boundary distance indices.

index1=1,nproma, index2=1,nblks_v

integer(c_int), dimension(:), pointer, contiguous start_block => NULL() List of start block for each refin_ctrl level.

index1=min_rlvert,max_rlvert

integer(c_int), dimension(:), pointer, contiguous start_index => NULL() List of start indices for each refin_ctrl level.

index1=min_rlvert,max_rlvert

real(wp), dimension(:,:), allocatable vlat Latitude of vertex.

index1=1,nproma, index2=1,nblks_v

real(wp), dimension(:,:), allocatable vlon Longitude of vertex.

index1=1,nproma, index2=1,nblks_v

◆ comin_descrdata_types::t_comin_descrdata_domain_edges_data

type comin_descrdata_types::t_comin_descrdata_domain_edges_data

Definition at line 353 of file comin_descrdata_types.F90.

Data Fields
real(wp), dimension(:,:,:), pointer, contiguous c_lin_e
integer(c_int), dimension(:,:,:), pointer, contiguous cell_blk => NULL() Block indices of adjacent cells.

index1=1,nproma, index2=1,nblks_e, index3=1,2

integer(c_int), dimension(:,:,:), pointer, contiguous cell_idx => NULL() Line indices of adjacent cells.

index1=1,nproma, index2=1,nblks_e, index3=1,2

integer(c_int), dimension(:,:), pointer, contiguous child_id => NULL() Domain ID of child edges.

index1=1,nproma, index2=1,nblks_e

integer(c_int), dimension(:,:), pointer, contiguous decomp_domain => NULL() Domain decomposition flag for edges.
  • decomp_domain==0: inner domain
  • decomp_domain>0: boundary
  • decomp_domain<0: undefined

For edges:

  • 0=owned
  • 1=on owned cell
  • 2=exactly one shared vertex with owned cell index1=nproma, index2=1,nblks_e
real(wp), dimension(:,:), allocatable elat Latitude of edge midpoint.

index=1,nproma, index2=1,nblks_e

real(wp), dimension(:,:), allocatable elon Longitude of edge midpoint.

index=1,nproma, index2=1,nblks_e

integer(c_int), dimension(:), pointer, contiguous end_block => NULL() List of end block for each refin_ctrl level.

index1=min_rledge,max_rledge

integer(c_int), dimension(:), pointer, contiguous end_index => NULL() List of end indices for each refin_ctrl level.

index1=min_rledge,max_rledge

integer(c_int), dimension(:), pointer, contiguous glb_index => NULL() Global edge indices.

index1=1,nedges

integer(c_int) nblks Number of blocks for edges.
integer(c_int) nedges Number of local edges.
integer(c_int) nedges_global Number of global edges.
real(wp), dimension(:,:), pointer, contiguous nudgecoeff_e Nudging coefficient for cells index1=nproma, index2=nblks_e.
integer(c_int), dimension(:,:), pointer, contiguous parent_glb_blk => NULL() block index of parent edges

index1=1,nproma, index2=1,nblks_e

integer(c_int), dimension(:,:), pointer, contiguous parent_glb_idx => NULL() Line index of parent edges.

index1=1,nproma, index2=1,nblks_e

integer(c_int), dimension(:,:,:), pointer, contiguous rbf_vec_blk Block-indices for stencil of surrounding edges for vector rbf interpolation at each triangle edge index1=rbf_vec_dim_e(=4), index2=nproma, index3=nblks_e.
real(wp), dimension(:,:,:), pointer, contiguous rbf_vec_coeff Coefficients used for rbf inter- polation of the tangential velocity component (from the surrounding normals) at each triangle edge index1=rbf_vec_dim_e(=4), index2=nproma, index3=nblks_e.
integer(c_int), dimension(:,:,:), pointer, contiguous rbf_vec_idx Indices for stencil of surrounding edges for vector rbf interpolation at each triangle edge index1=rbf_vec_dim_e(=4), index2=nproma, index3=nblks_e.
integer(c_int), dimension(:,:), pointer, contiguous rbf_vec_stencil Number of surrounding edges in the stencil for vector rbf interpolation at each triangle edge index1=nproma, index2=nblks_e.
integer(c_int), dimension(:,:), pointer, contiguous refin_ctrl => NULL() Lateral boundary distance indices.

index1=1,nproma, index2=1,nblks_e

integer(c_int), dimension(:), pointer, contiguous start_block => NULL() List of start block for each refin_ctrl level.

index1=min_rledge,max_rledge

integer(c_int), dimension(:), pointer, contiguous start_index => NULL() List of start indices for each refin_ctrl level.

index1=min_rledge,max_rledge

real(wp), dimension(:,:), pointer, contiguous tangent_orientation => NULL() Orientation of the edge =1 if vector product of vector from vertex1 to vertex 2 (v2-v1) by vector from cell c1 to cell c2 (c2-c1) goes outside the sphere =-1 if vector product ... goes inside the sphere index=1,nproma, index2=1,nblks_e.
integer(c_int), dimension(:,:,:), pointer, contiguous vertex_blk => NULL() Block indices of edge vertices.

index1=1,nproma, index2=1,nblks_e, index3=1,4

integer(c_int), dimension(:,:,:), pointer, contiguous vertex_idx => NULL() Line indices of edge vertices.

vertex indices 3 and 4 are the non-edge-aligned vertices of cells 1 and 2

index1=1,nproma, index2=1,nblks_e, index3=1,4

◆ comin_descrdata_types::t_comin_descrdata_domain_data

type comin_descrdata_types::t_comin_descrdata_domain_data

Definition at line 466 of file comin_descrdata_types.F90.

Data Fields
type(t_comin_descrdata_domain_cells_data) cells
integer(c_int), dimension(:), pointer child_id => NULL() IDs for all child domains.

index=1,max_dom (usually 10) but only has meaningful data in 1,n_dom

real(wp) dom_end Time at which execution of a (nested) model domain terminates.
real(wp) dom_start Time at which execution of a (nested) model domain starts.
type(t_comin_descrdata_domain_edges_data) edges
character(len=:), pointer grid_filename => NULL() Horizontal grid filename.
integer(c_signed_char), dimension(:), pointer, contiguous grid_uuid => NULL() Alphanumerical hash of grid.
integer(c_int) id Domain ID of current domain.
integer(c_int) n_childdom Actual number of child domains.
integer(c_int) nlev Number of vertical model levels.
integer(c_int) nshift Half level of parent domain that coincides with upper margin of current domain.
integer(c_int) nshift_total Total shift of model top w.r.t. global domain.
integer(c_int) number_of_grid_used Number of grid used (GRIB2 key)
integer(c_int) parent_id Domain id of parent.
type(t_comin_descrdata_domain_verts_data) verts

◆ comin_descrdata_types::t_comin_descrdata_simulation_interval

type comin_descrdata_types::t_comin_descrdata_simulation_interval

Definition at line 501 of file comin_descrdata_types.F90.

Data Fields
character(len=comin_max_datetime_str_len) exp_start Start datetime of experiment.
character(len=comin_max_datetime_str_len) exp_stop Stop datetime of experiment.
character(len=comin_max_datetime_str_len) run_start Start datetime of current run.
character(len=comin_max_datetime_str_len) run_stop Stop datetime of current run.

◆ comin_errhandler::comin_error_check

interface comin_errhandler::comin_error_check

Definition at line 65 of file comin_errhandler.F90.

Constructor & Destructor Documentation

◆ comin_error_check()

subroutine comin_error_check

Definition at line 65 of file comin_errhandler.F90.

◆ comin_errhandler::comin_error_set

interface comin_errhandler::comin_error_set

Definition at line 69 of file comin_errhandler.F90.

Constructor & Destructor Documentation

◆ comin_error_set()

subroutine comin_error_set ( integer(c_int), intent(in), value err_code)

Definition at line 69 of file comin_errhandler.F90.

◆ comin_metadata::comin_metadata_set

interface comin_metadata::comin_metadata_set

Definition at line 52 of file comin_metadata.F90.

Public Member Functions

subroutine comin_request_set_var_metadata_logical (var_descriptor, key, val)
 
subroutine comin_request_set_var_metadata_integer (var_descriptor, key, val)
 
subroutine comin_request_set_var_metadata_real (var_descriptor, key, val)
 
subroutine comin_request_set_var_metadata_character (var_descriptor, key, val)
 

Member Function/Subroutine Documentation

◆ comin_request_set_var_metadata_character()

subroutine comin_request_set_var_metadata_character ( type (t_comin_var_descriptor), intent(in) var_descriptor,
character(len=*), intent(in) key,
character(len=*), intent(in) val )

Sets a specific metadata item (represented by a key-value pair)

Parameters
[in]var_descriptorvariable descriptor
[in]keymetadata key (name)
[in]valmetadata value

Definition at line 609 of file comin_metadata.F90.

◆ comin_request_set_var_metadata_integer()

subroutine comin_request_set_var_metadata_integer ( type (t_comin_var_descriptor), intent(in) var_descriptor,
character(len=*), intent(in) key,
integer, intent(in) val )

Sets a specific metadata item (represented by a key-value pair)

Parameters
[in]var_descriptorvariable descriptor
[in]keymetadata key (name)
[in]valmetadata value

Definition at line 434 of file comin_metadata.F90.

◆ comin_request_set_var_metadata_logical()

subroutine comin_request_set_var_metadata_logical ( type (t_comin_var_descriptor), intent(in) var_descriptor,
character(len=*), intent(in) key,
logical, intent(in) val )

Sets a specific metadata item (represented by a key-value pair)

Parameters
[in]var_descriptorvariable descriptor
[in]keymetadata key (name)
[in]valmetadata value

Definition at line 491 of file comin_metadata.F90.

◆ comin_request_set_var_metadata_real()

subroutine comin_request_set_var_metadata_real ( type (t_comin_var_descriptor), intent(in) var_descriptor,
character(len=*), intent(in) key,
real(wp), intent(in) val )

Sets a specific metadata item (represented by a key-value pair)

Parameters
[in]var_descriptorvariable descriptor
[in]keymetadata key (name)
[in]valmetadata value

Definition at line 552 of file comin_metadata.F90.

◆ comin_metadata::comin_metadata_get

interface comin_metadata::comin_metadata_get

Definition at line 70 of file comin_metadata.F90.

Public Member Functions

subroutine comin_metadata_get_logical (var_descriptor, key, val)
 
subroutine comin_metadata_get_integer (var_descriptor, key, val)
 
subroutine comin_metadata_get_real (var_descriptor, key, val)
 
subroutine comin_metadata_get_character (var_descriptor, key, val)
 

Member Function/Subroutine Documentation

◆ comin_metadata_get_character()

subroutine comin_metadata_get_character ( type(t_comin_var_descriptor), intent(in) var_descriptor,
character(len=*), intent(in) key,
character(len=:), intent(out), allocatable val )

request the metadata to a variable

Parameters
[in]var_descriptorvariable descriptor
[in]keymetadata key (name)
[out]valmetadata value

Definition at line 293 of file comin_metadata.F90.

◆ comin_metadata_get_integer()

subroutine comin_metadata_get_integer ( type(t_comin_var_descriptor), intent(in) var_descriptor,
character(len=*), intent(in) key,
integer, intent(out) val )

request the metadata to a variable

Parameters
[in]var_descriptorvariable descriptor
[in]keymetadata key (name)
[out]valmetadata value

Definition at line 242 of file comin_metadata.F90.

◆ comin_metadata_get_logical()

subroutine comin_metadata_get_logical ( type(t_comin_var_descriptor), intent(in) var_descriptor,
character(len=*), intent(in) key,
logical, intent(out) val )

request the metadata to a variable

Parameters
[in]var_descriptorvariable descriptor
[in]keymetadata key (name)
[out]valmetadata value

Definition at line 259 of file comin_metadata.F90.

◆ comin_metadata_get_real()

subroutine comin_metadata_get_real ( type(t_comin_var_descriptor), intent(in) var_descriptor,
character(len=*), intent(in) key,
real(wp), intent(out) val )

request the metadata to a variable

Parameters
[in]var_descriptorvariable descriptor
[in]keymetadata key (name)
[out]valmetadata value

Definition at line 276 of file comin_metadata.F90.

◆ comin_metadata_types::t_comin_var_metadata_iterator

type comin_metadata_types::t_comin_var_metadata_iterator

Definition at line 35 of file comin_metadata_types.F90.

Member Function/Subroutine Documentation

◆ delete()

procedure delete ( class(t_comin_var_metadata_iterator), intent(inout) this)

Definition at line 42 of file comin_metadata_types.F90.

◆ is_end()

procedure is_end ( class(t_comin_var_metadata_iterator), intent(inout) this)

Definition at line 40 of file comin_metadata_types.F90.

◆ key()

procedure key ( class(t_comin_var_metadata_iterator), intent(in) this)

Definition at line 41 of file comin_metadata_types.F90.

◆ next()

procedure next ( class(t_comin_var_metadata_iterator), intent(in) this)

Definition at line 39 of file comin_metadata_types.F90.

Field Documentation

◆ comin_metadata_iterator_current_c

type(c_ptr) comin_metadata_iterator_current_c = c_null_ptr

Definition at line 36 of file comin_metadata_types.F90.

◆ comin_metadata_iterator_end_c

type(c_ptr) comin_metadata_iterator_end_c = c_null_ptr

Definition at line 37 of file comin_metadata_types.F90.

◆ comin_plugin_types::t_comin_plugin_info

type comin_plugin_types::t_comin_plugin_info

Definition at line 51 of file comin_plugin_types.F90.

Data Fields
character(len=comin_max_len_comm) comm
logical errors_return = .FALSE.
integer id
logical log_debug = .FALSE.
logical log_info = .TRUE.
logical log_warning = .TRUE.
character(len=comin_max_len_plugin_name) name
character(len=comin_max_len_options) options

◆ comin_setup::t_comin_setup_version_info

type comin_setup::t_comin_setup_version_info

Definition at line 49 of file comin_setup.F90.

Data Fields
integer(kind=c_int) version_no_major ComIn versioning (major and minor version info)
integer(kind=c_int) version_no_minor
integer(kind=c_int) version_no_patch

◆ comin_state::comin_current_get_ep

interface comin_state::comin_current_get_ep

Definition at line 122 of file comin_state.F90.

Constructor & Destructor Documentation

◆ comin_current_get_ep()

integer(c_int) function comin_current_get_ep

Definition at line 122 of file comin_state.F90.

◆ comin_state::comin_current_get_domain_id

interface comin_state::comin_current_get_domain_id
See also
COMIN_DOMAIN_OUTSIDE_LOOP

Definition at line 130 of file comin_state.F90.

Constructor & Destructor Documentation

◆ comin_current_get_domain_id()

integer(c_int) function comin_current_get_domain_id

Definition at line 130 of file comin_state.F90.

◆ comin_variable::comin_var_get_descr_list_head

interface comin_variable::comin_var_get_descr_list_head

Definition at line 94 of file comin_variable.F90.

Constructor & Destructor Documentation

◆ comin_var_get_descr_list_head()

type(c_ptr) function comin_var_get_descr_list_head

Definition at line 94 of file comin_variable.F90.

◆ comin_variable::comin_var_get_descr_list_next

interface comin_variable::comin_var_get_descr_list_next

Definition at line 104 of file comin_variable.F90.

Constructor & Destructor Documentation

◆ comin_var_get_descr_list_next()

type(c_ptr) function comin_var_get_descr_list_next ( type(c_ptr), intent(in), value current)

Definition at line 104 of file comin_variable.F90.

◆ comin_variable::comin_var_descr_list_iterator_delete

interface comin_variable::comin_var_descr_list_iterator_delete

Definition at line 112 of file comin_variable.F90.

Constructor & Destructor Documentation

◆ comin_var_descr_list_iterator_delete()

subroutine comin_var_descr_list_iterator_delete ( type(c_ptr), intent(inout) it)

Definition at line 112 of file comin_variable.F90.

◆ comin_variable_types::t_comin_var_descriptor

interface comin_variable_types::t_comin_var_descriptor

Definition at line 35 of file comin_variable_types.F90.

Member Function/Subroutine Documentation

◆ create_comin_var_descriptor()

type(t_comin_var_descriptor) function create_comin_var_descriptor ( character(len=*), intent(in) name,
integer, intent(in) id )

Create a variable descriptor from a variable name and id.

Definition at line 133 of file comin_variable_types.F90.

◆ create_comin_var_descriptor_from_c()

type(t_comin_var_descriptor) function create_comin_var_descriptor_from_c ( type(t_comin_var_descriptor_c), intent(in) desc_c)

Create a variable descriptor from a C structure.

Definition at line 144 of file comin_variable_types.F90.

Field Documentation

◆ id

integer id

Definition at line 38 of file comin_variable_types.F90.

◆ name

character(len=:), allocatable name

Definition at line 36 of file comin_variable_types.F90.

◆ comin_variable_types::t_comin_var_handle

type comin_variable_types::t_comin_var_handle

Definition at line 58 of file comin_variable_types.F90.

Member Function/Subroutine Documentation

◆ array_shape()

procedure, public array_shape ( class(t_comin_var_handle), intent(in) this)

Definition at line 67 of file comin_variable_types.F90.

◆ descriptor()

procedure, public descriptor ( class(t_comin_var_handle), intent(in) this)

Definition at line 68 of file comin_variable_types.F90.

◆ dim_semantics()

procedure, public dim_semantics ( class(t_comin_var_handle), intent(in) this)

Definition at line 71 of file comin_variable_types.F90.

◆ get_ptr()

GENERIC, public get_ptr

Definition at line 63 of file comin_variable_types.F90.

◆ lcontainer()

procedure, public lcontainer ( class(t_comin_var_handle), intent(in) this)

Definition at line 69 of file comin_variable_types.F90.

◆ ncontained()

procedure, public ncontained ( class(t_comin_var_handle), intent(in) this)

Definition at line 70 of file comin_variable_types.F90.

◆ to_3d()

GENERIC, public to_3d

Definition at line 73 of file comin_variable_types.F90.

◆ valid()

procedure, public valid ( class(t_comin_var_handle), intent(in) this)

Definition at line 72 of file comin_variable_types.F90.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

List of entry points.

Note: EP_DESTRUCTOR should always be the last entry

Enumerator
ep_secondary_constructor 
ep_atm_yac_defcomp_before 
ep_atm_yac_defcomp_after 
ep_atm_yac_syncdef_before 
ep_atm_yac_syncdef_after 
ep_atm_yac_enddef_before 
ep_atm_yac_enddef_after 
ep_atm_init_finalize 
ep_atm_timeloop_before 
ep_atm_timeloop_start 
ep_atm_timeloop_end 
ep_atm_timeloop_after 
ep_atm_integrate_before 
ep_atm_integrate_start 
ep_atm_integrate_end 
ep_atm_integrate_after 
ep_atm_write_output_before 
ep_atm_write_output_after 
ep_atm_checkpoint_before 
ep_atm_checkpoint_after 
ep_atm_advection_before 
ep_atm_advection_after 
ep_atm_physics_before 
ep_atm_physics_after 
ep_atm_nudging_before 
ep_atm_nudging_after 
ep_atm_surface_before 
ep_atm_surface_after 
ep_atm_turbulence_before 
ep_atm_turbulence_after 
ep_atm_microphysics_before 
ep_atm_microphysics_after 
ep_atm_convection_before 
ep_atm_convection_after 
ep_atm_radiation_before 
ep_atm_radiation_after 
ep_atm_radheat_before 
ep_atm_radheat_after 
ep_atm_gwdrag_before 
ep_atm_gwdrag_after 
ep_finish 
ep_destructor 

Definition at line 32 of file comin_setup_constants.F90.

◆ anonymous enum

anonymous enum

Variable access flags.

Enumerator
comin_flag_none 
comin_flag_read 
comin_flag_write 
comin_flag_sync_halo 
comin_flag_device 

Definition at line 79 of file comin_setup_constants.F90.

◆ anonymous enum

anonymous enum

integer constant, which gives an interpretation of the horizontal grid location (cell, edge, vertex).

Enumerator
comin_hgrid_unstructured_cell 
comin_hgrid_unstructured_edge 
comin_hgrid_unstructured_vertex 

Definition at line 90 of file comin_setup_constants.F90.

◆ anonymous enum

anonymous enum

Integer constants, giving an interpretation of the vertical axis (2D, atmospheric levels, ...)

Enumerator
comin_zaxis_undef 
comin_zaxis_none 
comin_zaxis_2d 
comin_zaxis_3d 
comin_zaxis_3d_half 

Definition at line 99 of file comin_setup_constants.F90.

◆ anonymous enum

anonymous enum

Type ids for metadata.

Enumerator
comin_metadata_typeid_undefined 
comin_metadata_typeid_integer 
comin_metadata_typeid_real 
comin_metadata_typeid_character 
comin_metadata_typeid_logical 

Definition at line 109 of file comin_setup_constants.F90.

◆ anonymous enum

anonymous enum

Integer constants, giving an interpretation of variable data types.

Enumerator
comin_var_datatype_double 
comin_var_datatype_float 
comin_var_datatype_int 

Definition at line 119 of file comin_setup_constants.F90.

◆ anonymous enum

anonymous enum

Dimension semantics.

Enumerator
comin_dim_semantics_undef 
comin_dim_semantics_nproma 
comin_dim_semantics_block 
comin_dim_semantics_unblock 
comin_dim_semantics_level 
comin_dim_semantics_container 
comin_dim_semantics_other 
comin_dim_semantics_unused 

Definition at line 127 of file comin_setup_constants.F90.

Function/Subroutine Documentation

◆ comin_callback_get_ep_name()

subroutine, public 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.

Parameters
[in]iepentry point ID
[out]out_ep_nameentry point name string

Definition at line 69 of file comin_callback.F90.

◆ comin_callback_register()

subroutine, public comin_callback_register ( integer, intent(in) entry_point_id,
procedure(comin_callback_routine) comin_callback_fct )

Routine to register new callbacks during primary constructor.

Definition at line 60 of file comin_callback.F90.

◆ comin_current_get_datetime()

subroutine, public comin_current_get_datetime ( character(len=:), intent(out), allocatable sim_time_current)

Retrieve time stamp info, current time information.

Definition at line 179 of file comin_descrdata.F90.

◆ comin_current_get_plugin_errors_return()

logical function, public comin_current_get_plugin_errors_return

Get whether comin errors triggered in the current plugin do return back to the plugin or abort the program.

Returns
.TRUE. if errors return to the plugin, .FALSE. otherwise.

Definition at line 99 of file comin_plugin_info.F90.

◆ comin_current_get_plugin_info()

subroutine, public comin_current_get_plugin_info ( type(t_comin_plugin_info), intent(out) comin_current_plugin)

Returns the t_comin_plugin_info structure of the current plugin. It can for example be used to access the ID or the options string.

Parameters
[out]comin_current_pluginplugin info struct

Definition at line 119 of file comin_plugin_info.F90.

◆ comin_current_get_plugin_log_severity()

integer function, public comin_current_get_plugin_log_severity ( void )

Get the currently active log severity level.

Returns
one of the COMIN_SEVERITY enum constants.

Definition at line 107 of file comin_plugin_info.F90.

◆ comin_descrdata_get_block()

integer(c_int) function, public 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 247 of file comin_descrdata.F90.

◆ comin_descrdata_get_cell_block_limits()

subroutine, public comin_descrdata_get_cell_block_limits ( integer(c_int), intent(in), value jg,
integer(c_int), intent(in), value irl_start,
integer(c_int), intent(in), value irl_end,
integer(c_int), intent(out) i_startblk,
integer(c_int), intent(out) i_endblk )

Computes the start and end block indices for loops over cell-based variables.

Parameters
[in]jgPatch index for comin_domain.
[in]irl_startrefin_ctrl start block level.
[in]irl_endrefin_ctrl end block level.
[out]i_startblkStart index (jb loop)
[out]i_endblkEnd index (jb loop)

Definition at line 267 of file comin_descrdata.F90.

◆ comin_descrdata_get_cell_indices()

subroutine, public 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; name of corresponding ICON routine: get_indices_c.

Definition at line 303 of file comin_descrdata.F90.

◆ comin_descrdata_get_cell_npromz()

integer(c_int) function, public 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; name of ICON routine: npromz_c.

Definition at line 569 of file comin_descrdata.F90.

◆ comin_descrdata_get_domain()

type(t_comin_descrdata_domain) function, public comin_descrdata_get_domain ( integer, intent(in) jg)

request a pointer to the grid data type for a specific computational domain

Definition at line 928 of file comin_descrdata_access_types.F90.

◆ comin_descrdata_get_edge_block_limits()

subroutine, public comin_descrdata_get_edge_block_limits ( integer(c_int), intent(in), value jg,
integer(c_int), intent(in), value irl_start,
integer(c_int), intent(in), value irl_end,
integer(c_int), intent(out) i_startblk,
integer(c_int), intent(out) i_endblk )

Computes the start and end block indices for loops over edge-based variables.

Parameters
[in]jgPatch index for comin_domain.
[in]irl_startrefin_ctrl start block level.
[in]irl_endrefin_ctrl end block level.
[out]i_startblkStart index (jb loop)
[out]i_endblkEnd index (jb loop)

Definition at line 366 of file comin_descrdata.F90.

◆ comin_descrdata_get_edge_indices()

subroutine, public 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; name of corresponding ICON routine: get_indices_e.

Definition at line 402 of file comin_descrdata.F90.

◆ comin_descrdata_get_edge_npromz()

integer(c_int) function, public 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; name of ICON routine: npromz_e.

Definition at line 584 of file comin_descrdata.F90.

◆ comin_descrdata_get_global()

type(t_comin_descrdata_global) function, public comin_descrdata_get_global

request a pointer to the global data type

Definition at line 915 of file comin_descrdata_access_types.F90.

◆ comin_descrdata_get_index()

integer(c_int) function, public comin_descrdata_get_index ( integer(c_int), intent(in), value idx1d)

Auxiliary function: conversion of 1D to 2D indices.

Definition at line 255 of file comin_descrdata.F90.

◆ comin_descrdata_get_simulation_interval()

type(t_comin_descrdata_simulation_interval) function, public comin_descrdata_get_simulation_interval

request a pointer to simulation status

Definition at line 195 of file comin_descrdata.F90.

◆ comin_descrdata_get_vert_block_limits()

subroutine, public comin_descrdata_get_vert_block_limits ( integer(c_int), intent(in), value jg,
integer(c_int), intent(in), value irl_start,
integer(c_int), intent(in), value irl_end,
integer(c_int), intent(out) i_startblk,
integer(c_int), intent(out) i_endblk )

Computes the start and end block indices for loops over vertex-based variables.

Parameters
[in]jgPatch index for comin_domain.
[in]irl_startrefin_ctrl start block level.
[in]irl_endrefin_ctrl end block level.
[out]i_startblkStart index (jb loop)
[out]i_endblkEnd index (jb loop)

Definition at line 465 of file comin_descrdata.F90.

◆ comin_descrdata_get_vert_indices()

subroutine, public 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; name of corresponding ICON routine: get_indices_v.

Definition at line 501 of file comin_descrdata.F90.

◆ comin_descrdata_get_vert_npromz()

integer(c_int) function, public 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; name of ICON routine: npromz_v.

Definition at line 599 of file comin_descrdata.F90.

◆ comin_error_get_category()

character(len=11) function, public comin_error_get_category ( integer, intent(in) error_code)

Return the category of the given error code.

Definition at line 130 of file comin_errhandler.F90.

◆ comin_error_get_string()

character(len=comin_max_len_err_message) function, public comin_error_get_string ( integer, intent(in) error_code)

Return the string description of the given error code.

Definition at line 121 of file comin_errhandler.F90.

◆ comin_metadata_get_iterator()

subroutine, public comin_metadata_get_iterator ( type(t_comin_var_descriptor), intent(in) var_descriptor,
type(t_comin_var_metadata_iterator), intent(out) iterator )

Return a metadata container iterator.

Definition at line 678 of file comin_metadata.F90.

◆ comin_metadata_get_typeid()

integer function, public comin_metadata_get_typeid ( type(t_comin_var_descriptor), intent(in) var_descriptor,
character(len=*), intent(in) key )

Return a ID (integer) describing the metadata data type of a metadata.

Parameters
[in]var_descriptorvariable descriptor
[in]keymetadata key (name)

Definition at line 661 of file comin_metadata.F90.

◆ comin_parallel_get_host_mpi_comm()

integer function, public comin_parallel_get_host_mpi_comm ( void )

Returns the communicator with all ICON processes.

Definition at line 93 of file comin_parallel.F90.

◆ comin_parallel_get_host_mpi_rank()

integer(kind=c_int) function, public comin_parallel_get_host_mpi_rank ( void )

Called within a plugin's callback function: get MPI rank with respect to the "host" MPI communicator.

Definition at line 126 of file comin_parallel.F90.

◆ comin_parallel_get_plugin_mpi_comm()

integer function, public comin_parallel_get_plugin_mpi_comm ( void )

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 108 of file comin_parallel.F90.

◆ comin_plugin_finish()

subroutine, public 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 87 of file comin_errhandler.F90.

◆ comin_print_debug()

subroutine, public 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 34 of file comin_print.F90.

◆ comin_print_info()

subroutine, public 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 53 of file comin_print.F90.

◆ comin_print_warning()

subroutine, public 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 72 of file comin_print.F90.

◆ comin_setup_get_version()

type(t_comin_setup_version_info) function, public comin_setup_get_version

Returns version info.

Definition at line 80 of file comin_setup.F90.

◆ comin_var_get()

subroutine, public 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 492 of file comin_variable.F90.

◆ comin_var_get_descr_list_var_desc()

subroutine, public comin_var_get_descr_list_var_desc ( type(c_ptr), intent(in), value it,
type(t_comin_var_descriptor), intent(inout) var_desc_out )

Auxiliary function: Evaluates a list iterator of the variable descriptor list and returns the corresponding variable descriptor.

Definition at line 213 of file comin_variable.F90.

◆ comin_var_request_add()

subroutine, public 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 119 of file comin_var_request.F90.

◆ comin_var_to_3d_dp()

subroutine 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 248 of file comin_variable_types.F90.

◆ comin_var_to_3d_i()

subroutine 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 310 of file comin_variable_types.F90.

◆ comin_var_to_3d_sp()

subroutine 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 279 of file comin_variable_types.F90.

Variable Documentation

◆ comin_domain_outside_loop

integer, parameter, public comin_domain_outside_loop = DOMAIN_OUTSIDE_LOOP

Return value of comin_current_get_domain_id if there is currently no domain loop.

Definition at line 244 of file comin_plugin_interface.F90.

◆ wp

integer, parameter wp = C_DOUBLE

working precision

Definition at line 24 of file comin_setup_constants.F90.