Ignore:
Timestamp:
06/28/22 11:44:19 (2 years ago)
Author:
jderouillat
Message:

Added extract_domain interface. Updated all interfaces, normalize some private attributes names of domain

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/iinterpolate_axis_attr.F90

    r966 r2338  
    1212 
    1313  SUBROUTINE xios(set_interpolate_axis_attr)  & 
    14     ( interpolate_axis_id, coordinate, order, type ) 
     14    ( interpolate_axis_id, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     15     ) 
    1516 
    1617    IMPLICIT NONE 
     
    1819      CHARACTER(LEN=*), INTENT(IN) ::interpolate_axis_id 
    1920      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate 
     21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_dst 
     22      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_src 
     23      LOGICAL  , OPTIONAL, INTENT(IN) :: extrapolate 
     24      LOGICAL (KIND=C_BOOL) :: extrapolate_tmp 
    2025      INTEGER  , OPTIONAL, INTENT(IN) :: order 
    2126      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
     
    2429      (interpolate_axis_id,interpolate_axis_hdl) 
    2530      CALL xios(set_interpolate_axis_attr_hdl_)   & 
    26       ( interpolate_axis_hdl, coordinate, order, type ) 
     31      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     32       ) 
    2733 
    2834  END SUBROUTINE xios(set_interpolate_axis_attr) 
    2935 
    3036  SUBROUTINE xios(set_interpolate_axis_attr_hdl)  & 
    31     ( interpolate_axis_hdl, coordinate, order, type ) 
     37    ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     38     ) 
    3239 
    3340    IMPLICIT NONE 
    3441      TYPE(txios(interpolate_axis)) , INTENT(IN) :: interpolate_axis_hdl 
    3542      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate 
     43      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_dst 
     44      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_src 
     45      LOGICAL  , OPTIONAL, INTENT(IN) :: extrapolate 
     46      LOGICAL (KIND=C_BOOL) :: extrapolate_tmp 
    3647      INTEGER  , OPTIONAL, INTENT(IN) :: order 
    3748      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
    3849 
    3950      CALL xios(set_interpolate_axis_attr_hdl_)  & 
    40       ( interpolate_axis_hdl, coordinate, order, type ) 
     51      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     52       ) 
    4153 
    4254  END SUBROUTINE xios(set_interpolate_axis_attr_hdl) 
    4355 
    4456  SUBROUTINE xios(set_interpolate_axis_attr_hdl_)   & 
    45     ( interpolate_axis_hdl, coordinate_, order_, type_ ) 
     57    ( interpolate_axis_hdl, coordinate_, coordinate_dst_, coordinate_src_, extrapolate_, order_  & 
     58    , type_ ) 
    4659 
    4760    IMPLICIT NONE 
    4861      TYPE(txios(interpolate_axis)) , INTENT(IN) :: interpolate_axis_hdl 
    4962      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_ 
     63      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_dst_ 
     64      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: coordinate_src_ 
     65      LOGICAL  , OPTIONAL, INTENT(IN) :: extrapolate_ 
     66      LOGICAL (KIND=C_BOOL) :: extrapolate__tmp 
    5067      INTEGER  , OPTIONAL, INTENT(IN) :: order_ 
    5168      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 
     
    5673      ENDIF 
    5774 
     75      IF (PRESENT(coordinate_dst_)) THEN 
     76        CALL cxios_set_interpolate_axis_coordinate_dst & 
     77      (interpolate_axis_hdl%daddr, coordinate_dst_, len(coordinate_dst_)) 
     78      ENDIF 
     79 
     80      IF (PRESENT(coordinate_src_)) THEN 
     81        CALL cxios_set_interpolate_axis_coordinate_src & 
     82      (interpolate_axis_hdl%daddr, coordinate_src_, len(coordinate_src_)) 
     83      ENDIF 
     84 
     85      IF (PRESENT(extrapolate_)) THEN 
     86        extrapolate__tmp = extrapolate_ 
     87        CALL cxios_set_interpolate_axis_extrapolate & 
     88      (interpolate_axis_hdl%daddr, extrapolate__tmp) 
     89      ENDIF 
     90 
    5891      IF (PRESENT(order_)) THEN 
    5992        CALL cxios_set_interpolate_axis_order & 
     
    69102 
    70103  SUBROUTINE xios(get_interpolate_axis_attr)  & 
    71     ( interpolate_axis_id, coordinate, order, type ) 
     104    ( interpolate_axis_id, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     105     ) 
    72106 
    73107    IMPLICIT NONE 
     
    75109      CHARACTER(LEN=*), INTENT(IN) ::interpolate_axis_id 
    76110      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate 
     111      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_dst 
     112      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_src 
     113      LOGICAL  , OPTIONAL, INTENT(OUT) :: extrapolate 
     114      LOGICAL (KIND=C_BOOL) :: extrapolate_tmp 
    77115      INTEGER  , OPTIONAL, INTENT(OUT) :: order 
    78116      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
     
    81119      (interpolate_axis_id,interpolate_axis_hdl) 
    82120      CALL xios(get_interpolate_axis_attr_hdl_)   & 
    83       ( interpolate_axis_hdl, coordinate, order, type ) 
     121      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     122       ) 
    84123 
    85124  END SUBROUTINE xios(get_interpolate_axis_attr) 
    86125 
    87126  SUBROUTINE xios(get_interpolate_axis_attr_hdl)  & 
    88     ( interpolate_axis_hdl, coordinate, order, type ) 
     127    ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     128     ) 
    89129 
    90130    IMPLICIT NONE 
    91131      TYPE(txios(interpolate_axis)) , INTENT(IN) :: interpolate_axis_hdl 
    92132      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate 
     133      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_dst 
     134      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_src 
     135      LOGICAL  , OPTIONAL, INTENT(OUT) :: extrapolate 
     136      LOGICAL (KIND=C_BOOL) :: extrapolate_tmp 
    93137      INTEGER  , OPTIONAL, INTENT(OUT) :: order 
    94138      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
    95139 
    96140      CALL xios(get_interpolate_axis_attr_hdl_)  & 
    97       ( interpolate_axis_hdl, coordinate, order, type ) 
     141      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     142       ) 
    98143 
    99144  END SUBROUTINE xios(get_interpolate_axis_attr_hdl) 
    100145 
    101146  SUBROUTINE xios(get_interpolate_axis_attr_hdl_)   & 
    102     ( interpolate_axis_hdl, coordinate_, order_, type_ ) 
     147    ( interpolate_axis_hdl, coordinate_, coordinate_dst_, coordinate_src_, extrapolate_, order_  & 
     148    , type_ ) 
    103149 
    104150    IMPLICIT NONE 
    105151      TYPE(txios(interpolate_axis)) , INTENT(IN) :: interpolate_axis_hdl 
    106152      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_ 
     153      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_dst_ 
     154      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: coordinate_src_ 
     155      LOGICAL  , OPTIONAL, INTENT(OUT) :: extrapolate_ 
     156      LOGICAL (KIND=C_BOOL) :: extrapolate__tmp 
    107157      INTEGER  , OPTIONAL, INTENT(OUT) :: order_ 
    108158      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 
     
    113163      ENDIF 
    114164 
     165      IF (PRESENT(coordinate_dst_)) THEN 
     166        CALL cxios_get_interpolate_axis_coordinate_dst & 
     167      (interpolate_axis_hdl%daddr, coordinate_dst_, len(coordinate_dst_)) 
     168      ENDIF 
     169 
     170      IF (PRESENT(coordinate_src_)) THEN 
     171        CALL cxios_get_interpolate_axis_coordinate_src & 
     172      (interpolate_axis_hdl%daddr, coordinate_src_, len(coordinate_src_)) 
     173      ENDIF 
     174 
     175      IF (PRESENT(extrapolate_)) THEN 
     176        CALL cxios_get_interpolate_axis_extrapolate & 
     177      (interpolate_axis_hdl%daddr, extrapolate__tmp) 
     178        extrapolate_ = extrapolate__tmp 
     179      ENDIF 
     180 
    115181      IF (PRESENT(order_)) THEN 
    116182        CALL cxios_get_interpolate_axis_order & 
     
    126192 
    127193  SUBROUTINE xios(is_defined_interpolate_axis_attr)  & 
    128     ( interpolate_axis_id, coordinate, order, type ) 
     194    ( interpolate_axis_id, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     195     ) 
    129196 
    130197    IMPLICIT NONE 
     
    133200      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate 
    134201      LOGICAL(KIND=C_BOOL) :: coordinate_tmp 
     202      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_dst 
     203      LOGICAL(KIND=C_BOOL) :: coordinate_dst_tmp 
     204      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_src 
     205      LOGICAL(KIND=C_BOOL) :: coordinate_src_tmp 
     206      LOGICAL, OPTIONAL, INTENT(OUT) :: extrapolate 
     207      LOGICAL(KIND=C_BOOL) :: extrapolate_tmp 
    135208      LOGICAL, OPTIONAL, INTENT(OUT) :: order 
    136209      LOGICAL(KIND=C_BOOL) :: order_tmp 
     
    141214      (interpolate_axis_id,interpolate_axis_hdl) 
    142215      CALL xios(is_defined_interpolate_axis_attr_hdl_)   & 
    143       ( interpolate_axis_hdl, coordinate, order, type ) 
     216      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     217       ) 
    144218 
    145219  END SUBROUTINE xios(is_defined_interpolate_axis_attr) 
    146220 
    147221  SUBROUTINE xios(is_defined_interpolate_axis_attr_hdl)  & 
    148     ( interpolate_axis_hdl, coordinate, order, type ) 
     222    ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     223     ) 
    149224 
    150225    IMPLICIT NONE 
     
    152227      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate 
    153228      LOGICAL(KIND=C_BOOL) :: coordinate_tmp 
     229      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_dst 
     230      LOGICAL(KIND=C_BOOL) :: coordinate_dst_tmp 
     231      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_src 
     232      LOGICAL(KIND=C_BOOL) :: coordinate_src_tmp 
     233      LOGICAL, OPTIONAL, INTENT(OUT) :: extrapolate 
     234      LOGICAL(KIND=C_BOOL) :: extrapolate_tmp 
    154235      LOGICAL, OPTIONAL, INTENT(OUT) :: order 
    155236      LOGICAL(KIND=C_BOOL) :: order_tmp 
     
    158239 
    159240      CALL xios(is_defined_interpolate_axis_attr_hdl_)  & 
    160       ( interpolate_axis_hdl, coordinate, order, type ) 
     241      ( interpolate_axis_hdl, coordinate, coordinate_dst, coordinate_src, extrapolate, order, type  & 
     242       ) 
    161243 
    162244  END SUBROUTINE xios(is_defined_interpolate_axis_attr_hdl) 
    163245 
    164246  SUBROUTINE xios(is_defined_interpolate_axis_attr_hdl_)   & 
    165     ( interpolate_axis_hdl, coordinate_, order_, type_ ) 
     247    ( interpolate_axis_hdl, coordinate_, coordinate_dst_, coordinate_src_, extrapolate_, order_  & 
     248    , type_ ) 
    166249 
    167250    IMPLICIT NONE 
     
    169252      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_ 
    170253      LOGICAL(KIND=C_BOOL) :: coordinate__tmp 
     254      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_dst_ 
     255      LOGICAL(KIND=C_BOOL) :: coordinate_dst__tmp 
     256      LOGICAL, OPTIONAL, INTENT(OUT) :: coordinate_src_ 
     257      LOGICAL(KIND=C_BOOL) :: coordinate_src__tmp 
     258      LOGICAL, OPTIONAL, INTENT(OUT) :: extrapolate_ 
     259      LOGICAL(KIND=C_BOOL) :: extrapolate__tmp 
    171260      LOGICAL, OPTIONAL, INTENT(OUT) :: order_ 
    172261      LOGICAL(KIND=C_BOOL) :: order__tmp 
     
    180269      ENDIF 
    181270 
     271      IF (PRESENT(coordinate_dst_)) THEN 
     272        coordinate_dst__tmp = cxios_is_defined_interpolate_axis_coordinate_dst & 
     273      (interpolate_axis_hdl%daddr) 
     274        coordinate_dst_ = coordinate_dst__tmp 
     275      ENDIF 
     276 
     277      IF (PRESENT(coordinate_src_)) THEN 
     278        coordinate_src__tmp = cxios_is_defined_interpolate_axis_coordinate_src & 
     279      (interpolate_axis_hdl%daddr) 
     280        coordinate_src_ = coordinate_src__tmp 
     281      ENDIF 
     282 
     283      IF (PRESENT(extrapolate_)) THEN 
     284        extrapolate__tmp = cxios_is_defined_interpolate_axis_extrapolate & 
     285      (interpolate_axis_hdl%daddr) 
     286        extrapolate_ = extrapolate__tmp 
     287      ENDIF 
     288 
    182289      IF (PRESENT(order_)) THEN 
    183290        order__tmp = cxios_is_defined_interpolate_axis_order & 
Note: See TracChangeset for help on using the changeset viewer.