ComIn 0.5.1
ICON Community Interface
Loading...
Searching...
No Matches
comin_errhandler_types.F90
Go to the documentation of this file.
1!> @file comin_errhandler_types.F90
2!! @brief Common data structures for error handling.
3!
4! @authors 08/2021 :: 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 USE iso_c_binding, ONLY: c_char, c_size_t
15
16 IMPLICIT NONE
17 PUBLIC
18
19 !> define list of error points
20 !> COMIN_ERROR_FATAL should always be the last entry
21 ENUM, BIND(C)
22 ENUMERATOR :: comin_success = 0, &
23 & COMIN_INFO, &
24 & COMIN_WARNING, &
25 & COMIN_ERROR_STATUS, &
26 & COMIN_ERROR_CALLBACK_REGISTER_OUTSIDE_PRIMARYCONSTRUCTOR, &
27 & COMIN_ERROR_CALLBACK_COMPLETE, &
28 & COMIN_ERROR_CALLBACK_EP_ID_UNKNOWN, &
29 & COMIN_ERROR_DESCRDATA_SET_FCT_GLB2LOC, &
30 & COMIN_ERROR_DESCRDATA_FINALIZE, &
31 & COMIN_ERROR_METADATA_SET_OUTSIDE_PRIMARYCONSTRUCTOR, &
32 & COMIN_ERROR_METADATA_KEY_NOT_FOUND, &
33 & COMIN_ERROR_METADATA_GET_INSIDE_PRIMARYCONSTRUCTOR, &
34 & COMIN_ERROR_SETUP_FINALIZE, &
35 & COMIN_ERROR_SETUP_COMIN_ALREADY_INITIALIZED, &
36 & COMIN_ERROR_SETUP_ERRHANDLER_NOT_ASSOCIATED, &
37 & COMIN_ERROR_SETUP_ERRHANDLER_NOT_SET, &
38 & COMIN_ERROR_SETUP_PRECISION_TEST_FAILED, &
39 & COMIN_ERROR_VAR_REQUEST_AFTER_PRIMARYCONSTRUCTOR, &
40 & COMIN_ERROR_VAR_REQUEST_EXISTS_IS_LMODEXCLUSIVE, &
41 & COMIN_ERROR_VAR_REQUEST_EXISTS_REQUEST_LMODEXCLUSIVE, &
42 & COMIN_ERROR_VAR_DESCRIPTOR_NOT_FOUND, &
43 & COMIN_ERROR_VAR_ITEM_NOT_ASSOCIATED, &
44 & COMIN_ERROR_FIELD_NOT_ALLOCATED, &
45 & COMIN_ERROR_POINTER_NOT_ASSOCIATED, &
46 & COMIN_ERROR_TRACER_REQUEST_NOT_FOR_ALL_DOMAINS, &
47 & COMIN_ERROR_VAR_SYNC_DEVICE_MEM_NOT_ASSOCIATED, &
48 & COMIN_ERROR_VAR_SYNC_HALO_NOT_ASSOCIATED, &
49 & COMIN_ERROR_VAR_GET_OUTSIDE_SECONDARY_CONSTRUCTOR, &
50 & COMIN_ERROR_VAR_GET_NO_DEVICE, &
51 & COMIN_ERROR_VAR_GET_VARIABLE_NOT_FOUND, &
52 & COMIN_ERROR_VAR_GET_CONTAINER_CAN_NOT_HALO_SYNCHRONIZED, &
53 & COMIN_ERROR_VAR_GET_IRREGULAR_VAR_CAN_NOT_HALO_SYNCHRONIZED, &
54 & COMIN_ERROR_VAR_SYNC_HALO_NOT_SUPPORTED_ZAXIS, &
55 & COMIN_ERROR_VAR_METADATA_INCONSISTENT_TYPE, &
56 & COMIN_ERROR_VAR_GET_VARIABLE_WRONG_TYPE, &
57 & COMIN_ERROR_INDEX_OUT_OF_BOUNDS, &
58 & COMIN_ERROR_DESCRDATA_TIMESTEPLENGTH_NOT_SET, &
59 & COMIN_ERROR_FATAL
60 end ENUM
61
62 INTERFACE
63 !> In order to be C-compliant, the following interface is incompatible with ICON `finish`; it requires a wrapper function in ICON.
64 SUBROUTINE comin_host_errhandler_fct(routine, text) BIND(C)
65 IMPORT c_char
66 CHARACTER(kind=c_char) :: routine(*)
67 CHARACTER(kind=c_char) :: text(*)
68 END SUBROUTINE comin_host_errhandler_fct
69 END INTERFACE
70
In order to be C-compliant, the following interface is incompatible with ICON finish; it requires a w...