Ignore:
Timestamp:
09/21/16 14:35:03 (8 years ago)
Author:
mhnguyen
Message:

Adding Fortran interface for high-dimension grid (up to 7)

+) Add check mask for high-dimension grid
+) Add Fortran interface for send_field, recv_field

Test
+) On Curie
+) Work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90

    r817 r932  
    115115 
    116116 
     117    SUBROUTINE cxios_set_gridgroup_mask_4d(gridgroup_hdl, mask_4d, extent) BIND(C) 
     118      USE ISO_C_BINDING 
     119      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     120      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_4d 
     121      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     122    END SUBROUTINE cxios_set_gridgroup_mask_4d 
     123 
     124    SUBROUTINE cxios_get_gridgroup_mask_4d(gridgroup_hdl, mask_4d, extent) BIND(C) 
     125      USE ISO_C_BINDING 
     126      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     127      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_4d 
     128      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     129    END SUBROUTINE cxios_get_gridgroup_mask_4d 
     130 
     131    FUNCTION cxios_is_defined_gridgroup_mask_4d(gridgroup_hdl) BIND(C) 
     132      USE ISO_C_BINDING 
     133      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_4d 
     134      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     135    END FUNCTION cxios_is_defined_gridgroup_mask_4d 
     136 
     137 
     138    SUBROUTINE cxios_set_gridgroup_mask_5d(gridgroup_hdl, mask_5d, extent) BIND(C) 
     139      USE ISO_C_BINDING 
     140      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     141      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_5d 
     142      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     143    END SUBROUTINE cxios_set_gridgroup_mask_5d 
     144 
     145    SUBROUTINE cxios_get_gridgroup_mask_5d(gridgroup_hdl, mask_5d, extent) BIND(C) 
     146      USE ISO_C_BINDING 
     147      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     148      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_5d 
     149      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     150    END SUBROUTINE cxios_get_gridgroup_mask_5d 
     151 
     152    FUNCTION cxios_is_defined_gridgroup_mask_5d(gridgroup_hdl) BIND(C) 
     153      USE ISO_C_BINDING 
     154      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_5d 
     155      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     156    END FUNCTION cxios_is_defined_gridgroup_mask_5d 
     157 
     158 
     159    SUBROUTINE cxios_set_gridgroup_mask_6d(gridgroup_hdl, mask_6d, extent) BIND(C) 
     160      USE ISO_C_BINDING 
     161      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     162      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_6d 
     163      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     164    END SUBROUTINE cxios_set_gridgroup_mask_6d 
     165 
     166    SUBROUTINE cxios_get_gridgroup_mask_6d(gridgroup_hdl, mask_6d, extent) BIND(C) 
     167      USE ISO_C_BINDING 
     168      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     169      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_6d 
     170      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     171    END SUBROUTINE cxios_get_gridgroup_mask_6d 
     172 
     173    FUNCTION cxios_is_defined_gridgroup_mask_6d(gridgroup_hdl) BIND(C) 
     174      USE ISO_C_BINDING 
     175      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_6d 
     176      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     177    END FUNCTION cxios_is_defined_gridgroup_mask_6d 
     178 
     179 
     180    SUBROUTINE cxios_set_gridgroup_mask_7d(gridgroup_hdl, mask_7d, extent) BIND(C) 
     181      USE ISO_C_BINDING 
     182      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     183      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_7d 
     184      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     185    END SUBROUTINE cxios_set_gridgroup_mask_7d 
     186 
     187    SUBROUTINE cxios_get_gridgroup_mask_7d(gridgroup_hdl, mask_7d, extent) BIND(C) 
     188      USE ISO_C_BINDING 
     189      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     190      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_7d 
     191      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     192    END SUBROUTINE cxios_get_gridgroup_mask_7d 
     193 
     194    FUNCTION cxios_is_defined_gridgroup_mask_7d(gridgroup_hdl) BIND(C) 
     195      USE ISO_C_BINDING 
     196      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_7d 
     197      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     198    END FUNCTION cxios_is_defined_gridgroup_mask_7d 
     199 
     200 
    117201    SUBROUTINE cxios_set_gridgroup_name(gridgroup_hdl, name, name_size) BIND(C) 
    118202      USE ISO_C_BINDING 
Note: See TracChangeset for help on using the changeset viewer.