Ignore:
Timestamp:
03/24/15 11:21:45 (9 years ago)
Author:
rlacroix
Message:

Fix the Fortran interface generation to avoid generating dead code that caused a timer not to be stopped.

File:
1 edited

Legend:

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

    r575 r581  
    88  USE igrid 
    99  USE grid_interface_attr 
    10    
     10 
    1111CONTAINS 
    12    
     12 
    1313  SUBROUTINE xios(set_grid_attr)  & 
    1414    ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name ) 
    15      
     15 
    1616    IMPLICIT NONE 
    1717      TYPE(txios(grid))  :: grid_hdl 
     
    2727      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 
    2828      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    29        
     29 
    3030      CALL xios(get_grid_handle)(grid_id,grid_hdl) 
    3131      CALL xios(set_grid_attr_hdl_)   & 
    3232      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 
    33      
     33 
    3434  END SUBROUTINE xios(set_grid_attr) 
    35    
     35 
    3636  SUBROUTINE xios(set_grid_attr_hdl)  & 
    3737    ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 
    38      
     38 
    3939    IMPLICIT NONE 
    4040      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     
    4949      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 
    5050      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    51        
     51 
    5252      CALL xios(set_grid_attr_hdl_)  & 
    5353      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 
    54      
     54 
    5555  END SUBROUTINE xios(set_grid_attr_hdl) 
    56    
     56 
    5757  SUBROUTINE xios(set_grid_attr_hdl_)   & 
    5858    ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ ) 
    59      
     59 
    6060    IMPLICIT NONE 
    6161      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     
    7070      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 
    7171      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    72        
     72 
    7373      IF (PRESENT(axis_domain_order_)) THEN 
    7474        ALLOCATE(axis_domain_order__tmp(size(axis_domain_order_,1))) 
    75         axis_domain_order__tmp=axis_domain_order_ 
    76         CALL cxios_set_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp,size(axis_domain_order_,1)) 
    77       ENDIF 
    78        
     75        axis_domain_order__tmp = axis_domain_order_ 
     76        CALL cxios_set_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp, size(axis_domain_order_,1)) 
     77      ENDIF 
     78 
    7979      IF (PRESENT(description_)) THEN 
    8080        CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_)) 
    8181      ENDIF 
    82        
     82 
    8383      IF (PRESENT(mask1_)) THEN 
    8484        ALLOCATE(mask1__tmp(size(mask1_,1))) 
    85         mask1__tmp=mask1_ 
    86         CALL cxios_set_grid_mask1(grid_hdl%daddr, mask1__tmp,size(mask1_,1)) 
    87       ENDIF 
    88        
     85        mask1__tmp = mask1_ 
     86        CALL cxios_set_grid_mask1(grid_hdl%daddr, mask1__tmp, size(mask1_,1)) 
     87      ENDIF 
     88 
    8989      IF (PRESENT(mask2_)) THEN 
    90         ALLOCATE(mask2__tmp(size(mask2_,1),size(mask2_,2))) 
    91         mask2__tmp=mask2_ 
    92         CALL cxios_set_grid_mask2(grid_hdl%daddr, mask2__tmp,size(mask2_,1),size(mask2_,2)) 
    93       ENDIF 
    94        
     90        ALLOCATE(mask2__tmp(size(mask2_,1), size(mask2_,2))) 
     91        mask2__tmp = mask2_ 
     92        CALL cxios_set_grid_mask2(grid_hdl%daddr, mask2__tmp, size(mask2_,1), size(mask2_,2)) 
     93      ENDIF 
     94 
    9595      IF (PRESENT(mask3_)) THEN 
    96         ALLOCATE(mask3__tmp(size(mask3_,1),size(mask3_,2),size(mask3_,3))) 
    97         mask3__tmp=mask3_ 
    98         CALL cxios_set_grid_mask3(grid_hdl%daddr, mask3__tmp,size(mask3_,1),size(mask3_,2),size(mask3_,3)) 
    99       ENDIF 
    100        
     96        ALLOCATE(mask3__tmp(size(mask3_,1), size(mask3_,2), size(mask3_,3))) 
     97        mask3__tmp = mask3_ 
     98        CALL cxios_set_grid_mask3(grid_hdl%daddr, mask3__tmp, size(mask3_,1), size(mask3_,2), size(mask3_,3)) 
     99      ENDIF 
     100 
    101101      IF (PRESENT(name_)) THEN 
    102102        CALL cxios_set_grid_name(grid_hdl%daddr, name_, len(name_)) 
    103103      ENDIF 
    104        
    105        
    106      
     104 
    107105  END SUBROUTINE xios(set_grid_attr_hdl_) 
    108    
     106 
    109107  SUBROUTINE xios(get_grid_attr)  & 
    110108    ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name ) 
    111      
     109 
    112110    IMPLICIT NONE 
    113111      TYPE(txios(grid))  :: grid_hdl 
     
    123121      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 
    124122      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    125        
     123 
    126124      CALL xios(get_grid_handle)(grid_id,grid_hdl) 
    127125      CALL xios(get_grid_attr_hdl_)   & 
    128126      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 
    129      
     127 
    130128  END SUBROUTINE xios(get_grid_attr) 
    131    
     129 
    132130  SUBROUTINE xios(get_grid_attr_hdl)  & 
    133131    ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 
    134      
     132 
    135133    IMPLICIT NONE 
    136134      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     
    145143      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 
    146144      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    147        
     145 
    148146      CALL xios(get_grid_attr_hdl_)  & 
    149147      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 
    150      
     148 
    151149  END SUBROUTINE xios(get_grid_attr_hdl) 
    152    
     150 
    153151  SUBROUTINE xios(get_grid_attr_hdl_)   & 
    154152    ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ ) 
    155      
     153 
    156154    IMPLICIT NONE 
    157155      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     
    166164      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 
    167165      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    168        
     166 
    169167      IF (PRESENT(axis_domain_order_)) THEN 
    170168        ALLOCATE(axis_domain_order__tmp(size(axis_domain_order_,1))) 
    171         CALL cxios_get_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp,size(axis_domain_order_,1)) 
    172         axis_domain_order_=axis_domain_order__tmp 
    173       ENDIF 
    174        
     169        CALL cxios_get_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp, size(axis_domain_order_,1)) 
     170        axis_domain_order_ = axis_domain_order__tmp 
     171      ENDIF 
     172 
    175173      IF (PRESENT(description_)) THEN 
    176174        CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_)) 
    177175      ENDIF 
    178        
     176 
    179177      IF (PRESENT(mask1_)) THEN 
    180178        ALLOCATE(mask1__tmp(size(mask1_,1))) 
    181         CALL cxios_get_grid_mask1(grid_hdl%daddr, mask1__tmp,size(mask1_,1)) 
    182         mask1_=mask1__tmp 
    183       ENDIF 
    184        
     179        CALL cxios_get_grid_mask1(grid_hdl%daddr, mask1__tmp, size(mask1_,1)) 
     180        mask1_ = mask1__tmp 
     181      ENDIF 
     182 
    185183      IF (PRESENT(mask2_)) THEN 
    186         ALLOCATE(mask2__tmp(size(mask2_,1),size(mask2_,2))) 
    187         CALL cxios_get_grid_mask2(grid_hdl%daddr, mask2__tmp,size(mask2_,1),size(mask2_,2)) 
    188         mask2_=mask2__tmp 
    189       ENDIF 
    190        
     184        ALLOCATE(mask2__tmp(size(mask2_,1), size(mask2_,2))) 
     185        CALL cxios_get_grid_mask2(grid_hdl%daddr, mask2__tmp, size(mask2_,1), size(mask2_,2)) 
     186        mask2_ = mask2__tmp 
     187      ENDIF 
     188 
    191189      IF (PRESENT(mask3_)) THEN 
    192         ALLOCATE(mask3__tmp(size(mask3_,1),size(mask3_,2),size(mask3_,3))) 
    193         CALL cxios_get_grid_mask3(grid_hdl%daddr, mask3__tmp,size(mask3_,1),size(mask3_,2),size(mask3_,3)) 
    194         mask3_=mask3__tmp 
    195       ENDIF 
    196        
     190        ALLOCATE(mask3__tmp(size(mask3_,1), size(mask3_,2), size(mask3_,3))) 
     191        CALL cxios_get_grid_mask3(grid_hdl%daddr, mask3__tmp, size(mask3_,1), size(mask3_,2), size(mask3_,3)) 
     192        mask3_ = mask3__tmp 
     193      ENDIF 
     194 
    197195      IF (PRESENT(name_)) THEN 
    198196        CALL cxios_get_grid_name(grid_hdl%daddr, name_, len(name_)) 
    199197      ENDIF 
    200        
    201        
    202      
     198 
    203199  END SUBROUTINE xios(get_grid_attr_hdl_) 
    204    
     200 
    205201  SUBROUTINE xios(is_defined_grid_attr)  & 
    206202    ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name ) 
    207      
     203 
    208204    IMPLICIT NONE 
    209205      TYPE(txios(grid))  :: grid_hdl 
     
    221217      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    222218      LOGICAL(KIND=C_BOOL) :: name_tmp 
    223        
     219 
    224220      CALL xios(get_grid_handle)(grid_id,grid_hdl) 
    225221      CALL xios(is_defined_grid_attr_hdl_)   & 
    226222      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 
    227      
     223 
    228224  END SUBROUTINE xios(is_defined_grid_attr) 
    229    
     225 
    230226  SUBROUTINE xios(is_defined_grid_attr_hdl)  & 
    231227    ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 
    232      
     228 
    233229    IMPLICIT NONE 
    234230      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     
    245241      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    246242      LOGICAL(KIND=C_BOOL) :: name_tmp 
    247        
     243 
    248244      CALL xios(is_defined_grid_attr_hdl_)  & 
    249245      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 
    250      
     246 
    251247  END SUBROUTINE xios(is_defined_grid_attr_hdl) 
    252    
     248 
    253249  SUBROUTINE xios(is_defined_grid_attr_hdl_)   & 
    254250    ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ ) 
    255      
     251 
    256252    IMPLICIT NONE 
    257253      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     
    268264      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    269265      LOGICAL(KIND=C_BOOL) :: name__tmp 
    270        
     266 
    271267      IF (PRESENT(axis_domain_order_)) THEN 
    272         axis_domain_order__tmp=cxios_is_defined_grid_axis_domain_order(grid_hdl%daddr) 
    273         axis_domain_order_=axis_domain_order__tmp 
    274       ENDIF 
    275        
     268        axis_domain_order__tmp = cxios_is_defined_grid_axis_domain_order(grid_hdl%daddr) 
     269        axis_domain_order_ = axis_domain_order__tmp 
     270      ENDIF 
     271 
    276272      IF (PRESENT(description_)) THEN 
    277         description__tmp=cxios_is_defined_grid_description(grid_hdl%daddr) 
    278         description_=description__tmp 
    279       ENDIF 
    280        
     273        description__tmp = cxios_is_defined_grid_description(grid_hdl%daddr) 
     274        description_ = description__tmp 
     275      ENDIF 
     276 
    281277      IF (PRESENT(mask1_)) THEN 
    282         mask1__tmp=cxios_is_defined_grid_mask1(grid_hdl%daddr) 
    283         mask1_=mask1__tmp 
    284       ENDIF 
    285        
     278        mask1__tmp = cxios_is_defined_grid_mask1(grid_hdl%daddr) 
     279        mask1_ = mask1__tmp 
     280      ENDIF 
     281 
    286282      IF (PRESENT(mask2_)) THEN 
    287         mask2__tmp=cxios_is_defined_grid_mask2(grid_hdl%daddr) 
    288         mask2_=mask2__tmp 
    289       ENDIF 
    290        
     283        mask2__tmp = cxios_is_defined_grid_mask2(grid_hdl%daddr) 
     284        mask2_ = mask2__tmp 
     285      ENDIF 
     286 
    291287      IF (PRESENT(mask3_)) THEN 
    292         mask3__tmp=cxios_is_defined_grid_mask3(grid_hdl%daddr) 
    293         mask3_=mask3__tmp 
    294       ENDIF 
    295        
     288        mask3__tmp = cxios_is_defined_grid_mask3(grid_hdl%daddr) 
     289        mask3_ = mask3__tmp 
     290      ENDIF 
     291 
    296292      IF (PRESENT(name_)) THEN 
    297         name__tmp=cxios_is_defined_grid_name(grid_hdl%daddr) 
    298         name_=name__tmp 
    299       ENDIF 
    300        
    301        
    302      
     293        name__tmp = cxios_is_defined_grid_name(grid_hdl%daddr) 
     294        name_ = name__tmp 
     295      ENDIF 
     296 
    303297  END SUBROUTINE xios(is_defined_grid_attr_hdl_) 
    304    
     298 
    305299END MODULE igrid_attr 
Note: See TracChangeset for help on using the changeset viewer.