ComIn 0.5.1
ICON Community Interface
Loading...
Searching...
No Matches
comin_plugin_types.F90
Go to the documentation of this file.
1!> @file comin_plugin_types.F90
2!! @brief Data type Definition and variables describing the dynamic libs (plugins).
3!
4! @authors 06/2023 :: ICON Community Interface <comin@icon-model.org>
5!
6! SPDX-License-Identifier: BSD-3-Clause
7!
8! See LICENSES for license information.
9! Where software is supplied by third parties, it is indicated in the
10! headers of the routines.
11!
13
14 IMPLICIT NONE
15
16 PRIVATE
17
19 PUBLIC :: t_comin_plugin_info
20
21#include "comin_global.inc"
22
23 !> Data type, describing the dynamic libraries
25 ! name of the plugin - currently only used for messages
26 CHARACTER(LEN=COMIN_MAX_LEN_PLUGIN_NAME) :: name = ""
27
28 ! full name of plugin shared library (including `.so` file
29 ! extension) or "icon" for static linking.
30 CHARACTER(LEN=COMIN_MAX_LEN_PLUGIN_LIBRARY) :: plugin_library = ""
31
32 ! name of primary constructor.
33 CHARACTER(LEN=COMIN_MAX_LEN_PRIMARY_CONSTRUCTOR) :: primary_constructor = "comin_main"
34
35 ! options string: offers the possibility to pass a character
36 ! string (e.g. a python script filename) to the plugin.
37 CHARACTER(LEN=COMIN_MAX_LEN_OPTIONS) :: options = ""
38
39 ! name of MPI communicator. left as an empty string if the
40 ! application does not require a communicator for this plugin.
41 CHARACTER(LEN=COMIN_MAX_LEN_COMM) :: comm = ""
42
43 LOGICAL :: log_debug = .false.
44 LOGICAL :: log_info = .true.
45 LOGICAL :: log_warning = .true.
46
48
49 !> The elements of this derived data type describe a 3rd party plugin.
50 !! @ingroup fortran_interface
52 INTEGER :: id
53 CHARACTER(LEN=COMIN_MAX_LEN_PLUGIN_NAME) :: name
54 CHARACTER(LEN=COMIN_MAX_LEN_OPTIONS) :: options
55 CHARACTER(LEN=COMIN_MAX_LEN_COMM) :: comm
56 LOGICAL :: errors_return = .false.
57 LOGICAL :: log_debug = .false.
58 LOGICAL :: log_info = .true.
59 LOGICAL :: log_warning = .true.
60 END TYPE t_comin_plugin_info
61
62END MODULE comin_plugin_types
The elements of this derived data type describe a 3rd party plugin.