Changeset 891 for XIOS/trunk/src/interface/fortran/ixml_tree.F90
- Timestamp:
- 07/05/16 15:59:23 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/fortran/ixml_tree.F90
r840 r891 3 3 MODULE IXML_TREE 4 4 USE, INTRINSIC :: ISO_C_BINDING 5 USE ISCALAR 5 6 USE IAXIS 6 7 USE IFILE … … 15 16 USE IINTERPOLATE_AXIS 16 17 USE IINVERSE_AXIS 18 USE IREDUCE_AXIS_TO_SCALAR 17 19 18 20 INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 … … 42 44 END SUBROUTINE cxios_xml_tree_add_file 43 45 46 SUBROUTINE cxios_xml_tree_add_scalar(parent_, child_, child_id, child_id_size) BIND(C) 47 USE ISO_C_BINDING 48 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 49 INTEGER (kind = C_INTPTR_T) :: child_ 50 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 51 INTEGER (kind = C_INT) , VALUE :: child_id_size 52 END SUBROUTINE cxios_xml_tree_add_scalar 53 44 54 SUBROUTINE cxios_xml_tree_add_axis(parent_, child_, child_id, child_id_size) BIND(C) 45 55 USE ISO_C_BINDING … … 108 118 END SUBROUTINE cxios_xml_tree_add_filegroup 109 119 120 SUBROUTINE cxios_xml_tree_add_scalargroup(parent_, child_, child_id, child_id_size) BIND(C) 121 USE ISO_C_BINDING 122 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 123 INTEGER (kind = C_INTPTR_T) :: child_ 124 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 125 INTEGER (kind = C_INT) , VALUE :: child_id_size 126 END SUBROUTINE cxios_xml_tree_add_scalargroup 127 110 128 SUBROUTINE cxios_xml_tree_add_axisgroup(parent_, child_, child_id, child_id_size) BIND(C) 111 129 USE ISO_C_BINDING … … 148 166 END SUBROUTINE cxios_xml_tree_add_variablegrouptofield 149 167 168 SUBROUTINE cxios_xml_tree_add_scalartogrid(parent_, child_, child_id, child_id_size) BIND(C) 169 USE ISO_C_BINDING 170 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 171 INTEGER (kind = C_INTPTR_T) :: child_ 172 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 173 INTEGER (kind = C_INT) , VALUE :: child_id_size 174 END SUBROUTINE cxios_xml_tree_add_scalartogrid 175 150 176 SUBROUTINE cxios_xml_tree_add_axistogrid(parent_, child_, child_id, child_id_size) BIND(C) 151 177 USE ISO_C_BINDING … … 211 237 INTEGER (kind = C_INT) , VALUE :: child_id_size 212 238 END SUBROUTINE cxios_xml_tree_add_inverseaxistoaxis 239 240 SUBROUTINE cxios_xml_tree_add_reduceaxistoscalartoscalar(parent_, child_, child_id, child_id_size) BIND(C) 241 USE ISO_C_BINDING 242 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 243 INTEGER (kind = C_INTPTR_T) :: child_ 244 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 245 INTEGER (kind = C_INT) , VALUE :: child_id_size 246 END SUBROUTINE cxios_xml_tree_add_reduceaxistoscalartoscalar 213 247 214 248 SUBROUTINE cxios_xml_tree_show(filename, filename_size) BIND(C) … … 235 269 CONTAINS ! Fonctions disponibles pour les utilisateurs. 236 270 271 SUBROUTINE xios(add_scalar)(parent_hdl, child_hdl, child_id) 272 TYPE(txios(scalargroup)) , INTENT(IN) :: parent_hdl 273 TYPE(txios(scalar)) , INTENT(OUT):: child_hdl 274 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id 275 276 IF (PRESENT(child_id)) THEN 277 CALL cxios_xml_tree_add_scalar(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 278 ELSE 279 CALL cxios_xml_tree_add_scalar(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 280 END IF 281 282 END SUBROUTINE xios(add_scalar) 237 283 238 284 SUBROUTINE xios(add_axis)(parent_hdl, child_hdl, child_id) … … 341 387 END SUBROUTINE xios(add_variabletofield) 342 388 389 SUBROUTINE xios(add_scalargroup)(parent_hdl, child_hdl, child_id) 390 TYPE(txios(scalargroup)) , INTENT(IN) :: parent_hdl 391 TYPE(txios(scalargroup)) , INTENT(OUT):: child_hdl 392 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id 393 394 IF (PRESENT(child_id)) THEN 395 CALL cxios_xml_tree_add_scalargroup(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 396 ELSE 397 CALL cxios_xml_tree_add_scalargroup(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 398 END IF 399 400 END SUBROUTINE xios(add_scalargroup) 343 401 344 402 SUBROUTINE xios(add_axisgroup)(parent_hdl, child_hdl, child_id) … … 446 504 END SUBROUTINE xios(add_variablegrouptofield) 447 505 506 SUBROUTINE xios(add_scalartogrid)(parent_hdl, child_hdl, child_id) 507 TYPE(txios(grid)) , INTENT(IN) :: parent_hdl 508 TYPE(txios(scalar)) , INTENT(OUT):: child_hdl 509 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 510 511 IF (PRESENT(child_id)) THEN 512 CALL cxios_xml_tree_add_scalartogrid(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 513 ELSE 514 CALL cxios_xml_tree_add_scalartogrid(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 515 END IF 516 517 END SUBROUTINE xios(add_scalartogrid) 518 448 519 SUBROUTINE xios(add_axistogrid)(parent_hdl, child_hdl, child_id) 449 520 TYPE(txios(grid)) , INTENT(IN) :: parent_hdl … … 549 620 550 621 END SUBROUTINE xios(add_inverseaxistoaxis) 622 623 SUBROUTINE xios(add_reduceaxistoscalartoscalar)(parent_hdl, child_hdl, child_id) 624 TYPE(txios(axis)) , INTENT(IN) :: parent_hdl 625 TYPE(txios(inverse_axis)) , INTENT(OUT):: child_hdl 626 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 627 628 IF (PRESENT(child_id)) THEN 629 CALL cxios_xml_tree_add_reduceaxistoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 630 ELSE 631 CALL cxios_xml_tree_add_reduceaxistoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 632 END IF 633 634 END SUBROUTINE xios(add_reduceaxistoscalartoscalar) 551 635 END MODULE IXML_TREE
Note: See TracChangeset
for help on using the changeset viewer.