Changeset 835 for XIOS/trunk/src/interface
- Timestamp:
- 04/08/16 15:00:29 (8 years ago)
- Location:
- XIOS/trunk/src/interface
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/c/icxml_tree.cpp
r591 r835 310 310 } 311 311 312 void cxios_xml_tree_add_axistogrid 313 (XGridPtr parent_, XAxisPtr * child_, const char * child_id, int child_id_size) 314 { 315 std::string child_id_str; 316 CTimer::get("XIOS").resume() ; 317 if (cstr2string(child_id, child_id_size, child_id_str)) 318 { 319 *child_ = parent_->addAxis(child_id_str); 320 } 321 else 322 { 323 *child_ = parent_->addAxis(); 324 } 325 CTimer::get("XIOS").suspend() ; 326 } 327 328 void cxios_xml_tree_add_domaintogrid 329 (XGridPtr parent_, XDomainPtr * child_, const char * child_id, int child_id_size) 330 { 331 std::string child_id_str; 332 CTimer::get("XIOS").resume() ; 333 if (cstr2string(child_id, child_id_size, child_id_str)) 334 { 335 *child_ = parent_->addDomain(child_id_str); 336 } 337 else 338 { 339 *child_ = parent_->addDomain(); 340 } 341 CTimer::get("XIOS").suspend() ; 342 } 312 343 313 344 // ----------------------- Affichage de l'arborescence ---------------------- -
XIOS/trunk/src/interface/fortran/ixios_interfaces.F90
r786 r835 83 83 xios(add_axisgroup), xios(add_filegroup), xios(add_gridgroup), xios(add_fieldgroup), & 84 84 xios(add_domaingroup), xios(add_fieldgrouptofile), xios(add_variablegrouptofile), & 85 xios(add_variablegrouptofield) 85 xios(add_variablegrouptofield), xios(add_axistogrid), xios(add_domaintogrid) 86 86 87 87 PRIVATE … … 135 135 xios(add_fieldtofile), xios(add_variabletofile), xios(add_variabletofield), xios(add_axisgroup), & 136 136 xios(add_filegroup), xios(add_gridgroup), xios(add_fieldgroup), xios(add_domaingroup), & 137 xios(add_fieldgrouptofile), xios(add_variablegrouptofile),xios(add_variablegrouptofield) 137 xios(add_fieldgrouptofile), xios(add_variablegrouptofile),xios(add_variablegrouptofield), & 138 xios(add_axistogrid), xios(add_domaintogrid) 138 139 END INTERFACE xios(add_child) 139 140 -
XIOS/trunk/src/interface/fortran/ixml_tree.F90
r501 r835 9 9 USE IDOMAIN 10 10 USE IVARIABLE 11 11 12 12 INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 13 13 14 14 SUBROUTINE cxios_xml_tree_add_field(parent_, child_, child_id, child_id_size) BIND(C) 15 15 USE ISO_C_BINDING … … 19 19 INTEGER (kind = C_INT) , VALUE :: child_id_size 20 20 END SUBROUTINE cxios_xml_tree_add_field 21 21 22 22 SUBROUTINE cxios_xml_tree_add_grid(parent_, child_, child_id, child_id_size) BIND(C) 23 23 USE ISO_C_BINDING … … 27 27 INTEGER (kind = C_INT) , VALUE :: child_id_size 28 28 END SUBROUTINE cxios_xml_tree_add_grid 29 29 30 30 SUBROUTINE cxios_xml_tree_add_file(parent_, child_, child_id, child_id_size) BIND(C) 31 31 USE ISO_C_BINDING … … 35 35 INTEGER (kind = C_INT) , VALUE :: child_id_size 36 36 END SUBROUTINE cxios_xml_tree_add_file 37 37 38 38 SUBROUTINE cxios_xml_tree_add_axis(parent_, child_, child_id, child_id_size) BIND(C) 39 39 USE ISO_C_BINDING … … 43 43 INTEGER (kind = C_INT) , VALUE :: child_id_size 44 44 END SUBROUTINE cxios_xml_tree_add_axis 45 45 46 46 SUBROUTINE cxios_xml_tree_add_domain(parent_, child_, child_id, child_id_size) BIND(C) 47 47 USE ISO_C_BINDING … … 51 51 INTEGER (kind = C_INT) , VALUE :: child_id_size 52 52 END SUBROUTINE cxios_xml_tree_add_domain 53 53 54 54 SUBROUTINE cxios_xml_tree_add_fieldtofile(parent_, child_, child_id, child_id_size) BIND(C) 55 55 USE ISO_C_BINDING … … 117 117 INTEGER (kind = C_INT) , VALUE :: child_id_size 118 118 END SUBROUTINE cxios_xml_tree_add_domaingroup 119 119 120 120 SUBROUTINE cxios_xml_tree_add_fieldgrouptofile(parent_, child_, child_id, child_id_size) BIND(C) 121 121 USE ISO_C_BINDING … … 124 124 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 125 125 INTEGER (kind = C_INT) , VALUE :: child_id_size 126 END SUBROUTINE cxios_xml_tree_add_fieldgrouptofile 126 END SUBROUTINE cxios_xml_tree_add_fieldgrouptofile 127 127 128 128 SUBROUTINE cxios_xml_tree_add_variablegrouptofile(parent_, child_, child_id, child_id_size) BIND(C) … … 132 132 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 133 133 INTEGER (kind = C_INT) , VALUE :: child_id_size 134 END SUBROUTINE cxios_xml_tree_add_variablegrouptofile 134 END SUBROUTINE cxios_xml_tree_add_variablegrouptofile 135 135 136 136 SUBROUTINE cxios_xml_tree_add_variablegrouptofield(parent_, child_, child_id, child_id_size) BIND(C) … … 140 140 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 141 141 INTEGER (kind = C_INT) , VALUE :: child_id_size 142 END SUBROUTINE cxios_xml_tree_add_variablegrouptofield 142 END SUBROUTINE cxios_xml_tree_add_variablegrouptofield 143 144 SUBROUTINE cxios_xml_tree_add_axistogrid(parent_, child_, child_id, child_id_size) BIND(C) 145 USE ISO_C_BINDING 146 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 147 INTEGER (kind = C_INTPTR_T) :: child_ 148 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 149 INTEGER (kind = C_INT) , VALUE :: child_id_size 150 END SUBROUTINE cxios_xml_tree_add_axistogrid 151 152 SUBROUTINE cxios_xml_tree_add_domaintogrid(parent_, child_, child_id, child_id_size) BIND(C) 153 USE ISO_C_BINDING 154 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 155 INTEGER (kind = C_INTPTR_T) :: child_ 156 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 157 INTEGER (kind = C_INT) , VALUE :: child_id_size 158 END SUBROUTINE cxios_xml_tree_add_domaintogrid 143 159 144 160 SUBROUTINE cxios_xml_tree_show(filename, filename_size) BIND(C) … … 159 175 INTEGER (kind = C_INT) , VALUE :: xmlcontent_size 160 176 END SUBROUTINE cxios_xml_parse_string 161 177 162 178 END INTERFACE 163 179 164 180 165 181 CONTAINS ! Fonctions disponibles pour les utilisateurs. 166 182 … … 178 194 179 195 END SUBROUTINE xios(add_axis) 180 196 181 197 SUBROUTINE xios(add_file)(parent_hdl, child_hdl, child_id) 182 198 TYPE(txios(filegroup)) , INTENT(IN) :: parent_hdl … … 191 207 192 208 END SUBROUTINE xios(add_file) 193 209 194 210 SUBROUTINE xios(add_grid)(parent_hdl, child_hdl, child_id) 195 211 TYPE(txios(gridgroup)) , INTENT(IN) :: parent_hdl … … 203 219 204 220 END SUBROUTINE xios(add_grid) 205 206 221 222 207 223 SUBROUTINE xios(add_field)(parent_hdl, child_hdl, child_id) 208 224 TYPE(txios(fieldgroup)) , INTENT(IN) :: parent_hdl … … 217 233 218 234 END SUBROUTINE xios(add_field) 219 220 235 236 221 237 SUBROUTINE xios(add_domain)(parent_hdl, child_hdl, child_id) 222 238 TYPE(txios(domaingroup)) , INTENT(IN) :: parent_hdl … … 231 247 232 248 END SUBROUTINE xios(add_domain) 233 249 234 250 SUBROUTINE xios(add_fieldtofile)(parent_hdl, child_hdl, child_id) 235 251 TYPE(txios(file)) , INTENT(IN) :: parent_hdl … … 309 325 CALL cxios_xml_tree_add_gridgroup(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 310 326 END IF 311 327 312 328 END SUBROUTINE xios(add_gridgroup) 313 329 … … 374 390 END IF 375 391 376 END SUBROUTINE xios(add_variablegrouptofield) 377 392 END SUBROUTINE xios(add_variablegrouptofield) 393 394 SUBROUTINE xios(add_axistogrid)(parent_hdl, child_hdl, child_id) 395 TYPE(txios(grid)) , INTENT(IN) :: parent_hdl 396 TYPE(txios(axis)) , INTENT(OUT):: child_hdl 397 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 398 399 IF (PRESENT(child_id)) THEN 400 CALL cxios_xml_tree_add_axistogrid(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 401 ELSE 402 CALL cxios_xml_tree_add_axistogrid(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 403 END IF 404 405 END SUBROUTINE xios(add_axistogrid) 406 407 SUBROUTINE xios(add_domaintogrid)(parent_hdl, child_hdl, child_id) 408 TYPE(txios(grid)) , INTENT(IN) :: parent_hdl 409 TYPE(txios(domain)) , INTENT(OUT):: child_hdl 410 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 411 412 IF (PRESENT(child_id)) THEN 413 CALL cxios_xml_tree_add_domaintogrid(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 414 ELSE 415 CALL cxios_xml_tree_add_domaintogrid(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 416 END IF 417 418 END SUBROUTINE xios(add_domaintogrid) 378 419 END MODULE IXML_TREE
Note: See TracChangeset
for help on using the changeset viewer.