Ignore:
Timestamp:
03/19/24 14:23:16 (4 months ago)
Author:
jderouillat
Message:

Add XIOS3 fortran interfaces (resources management, chunking, compression)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/interface/fortran_attr/domain_interface_attr.F90

    r1626 r2616  
    3131 
    3232 
     33    SUBROUTINE cxios_set_domain_area_1d(domain_hdl, area_1d, extent) BIND(C) 
     34      USE ISO_C_BINDING 
     35      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     36      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: area_1d 
     37      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     38    END SUBROUTINE cxios_set_domain_area_1d 
     39 
     40    SUBROUTINE cxios_get_domain_area_1d(domain_hdl, area_1d, extent) BIND(C) 
     41      USE ISO_C_BINDING 
     42      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     43      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: area_1d 
     44      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     45    END SUBROUTINE cxios_get_domain_area_1d 
     46 
     47    FUNCTION cxios_is_defined_domain_area_1d(domain_hdl) BIND(C) 
     48      USE ISO_C_BINDING 
     49      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_area_1d 
     50      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     51    END FUNCTION cxios_is_defined_domain_area_1d 
     52 
     53 
     54    SUBROUTINE cxios_set_domain_area_2d(domain_hdl, area_2d, extent) BIND(C) 
     55      USE ISO_C_BINDING 
     56      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     57      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: area_2d 
     58      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     59    END SUBROUTINE cxios_set_domain_area_2d 
     60 
     61    SUBROUTINE cxios_get_domain_area_2d(domain_hdl, area_2d, extent) BIND(C) 
     62      USE ISO_C_BINDING 
     63      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     64      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: area_2d 
     65      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     66    END SUBROUTINE cxios_get_domain_area_2d 
     67 
     68    FUNCTION cxios_is_defined_domain_area_2d(domain_hdl) BIND(C) 
     69      USE ISO_C_BINDING 
     70      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_area_2d 
     71      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     72    END FUNCTION cxios_is_defined_domain_area_2d 
     73 
     74 
    3375    SUBROUTINE cxios_set_domain_bounds_lat_1d(domain_hdl, bounds_lat_1d, extent) BIND(C) 
    3476      USE ISO_C_BINDING 
     
    157199 
    158200 
     201    SUBROUTINE cxios_set_domain_chunking_weight_i(domain_hdl, chunking_weight_i) BIND(C) 
     202      USE ISO_C_BINDING 
     203      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     204      REAL (KIND=C_DOUBLE)      , VALUE :: chunking_weight_i 
     205    END SUBROUTINE cxios_set_domain_chunking_weight_i 
     206 
     207    SUBROUTINE cxios_get_domain_chunking_weight_i(domain_hdl, chunking_weight_i) BIND(C) 
     208      USE ISO_C_BINDING 
     209      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     210      REAL (KIND=C_DOUBLE)             :: chunking_weight_i 
     211    END SUBROUTINE cxios_get_domain_chunking_weight_i 
     212 
     213    FUNCTION cxios_is_defined_domain_chunking_weight_i(domain_hdl) BIND(C) 
     214      USE ISO_C_BINDING 
     215      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_chunking_weight_i 
     216      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     217    END FUNCTION cxios_is_defined_domain_chunking_weight_i 
     218 
     219 
     220    SUBROUTINE cxios_set_domain_chunking_weight_j(domain_hdl, chunking_weight_j) BIND(C) 
     221      USE ISO_C_BINDING 
     222      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     223      REAL (KIND=C_DOUBLE)      , VALUE :: chunking_weight_j 
     224    END SUBROUTINE cxios_set_domain_chunking_weight_j 
     225 
     226    SUBROUTINE cxios_get_domain_chunking_weight_j(domain_hdl, chunking_weight_j) BIND(C) 
     227      USE ISO_C_BINDING 
     228      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     229      REAL (KIND=C_DOUBLE)             :: chunking_weight_j 
     230    END SUBROUTINE cxios_get_domain_chunking_weight_j 
     231 
     232    FUNCTION cxios_is_defined_domain_chunking_weight_j(domain_hdl) BIND(C) 
     233      USE ISO_C_BINDING 
     234      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_chunking_weight_j 
     235      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     236    END FUNCTION cxios_is_defined_domain_chunking_weight_j 
     237 
     238 
    159239    SUBROUTINE cxios_set_domain_comment(domain_hdl, comment, comment_size) BIND(C) 
    160240      USE ISO_C_BINDING 
     
    763843 
    764844 
     845    SUBROUTINE cxios_set_domain_nvertex_name(domain_hdl, nvertex_name, nvertex_name_size) BIND(C) 
     846      USE ISO_C_BINDING 
     847      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     848      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: nvertex_name 
     849      INTEGER  (kind = C_INT)     , VALUE        :: nvertex_name_size 
     850    END SUBROUTINE cxios_set_domain_nvertex_name 
     851 
     852    SUBROUTINE cxios_get_domain_nvertex_name(domain_hdl, nvertex_name, nvertex_name_size) BIND(C) 
     853      USE ISO_C_BINDING 
     854      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     855      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: nvertex_name 
     856      INTEGER  (kind = C_INT)     , VALUE        :: nvertex_name_size 
     857    END SUBROUTINE cxios_get_domain_nvertex_name 
     858 
     859    FUNCTION cxios_is_defined_domain_nvertex_name(domain_hdl) BIND(C) 
     860      USE ISO_C_BINDING 
     861      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_nvertex_name 
     862      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     863    END FUNCTION cxios_is_defined_domain_nvertex_name 
     864 
     865 
    765866    SUBROUTINE cxios_set_domain_prec(domain_hdl, prec) BIND(C) 
    766867      USE ISO_C_BINDING 
Note: See TracChangeset for help on using the changeset viewer.