Changeset 981 for XIOS/trunk/src
- Timestamp:
- 10/24/16 16:16:51 (8 years ago)
- Location:
- XIOS/trunk/src
- Files:
-
- 25 added
- 5 edited
- 4 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/generate_fortran_interface.cpp
r934 r981 34 34 CGenerateRectilinearDomain genDomain; 35 35 CComputeConnectivityDomain compConDomain; 36 CExpandDomain expandDomain; 36 37 37 38 CInterpolateAxis interpolateAxis; 38 39 CZoomAxis zoomAxis; 39 40 CInverseAxis inverseAxis; 41 CReduceDomainToAxis reduceDomainToAxis; 42 CExtractDomainToAxis extractDomainToAxis; 40 43 41 44 CReduceAxisToScalar reduceAxisToScalar; 45 CExtractAxisToScalar extractAxisToScalar; 46 CReduceDomainToScalar reduceDomainToScalar; 42 47 43 48 ostringstream oss; … … 231 236 file.close(); 232 237 238 /*! 239 Domain transformations 240 */ 233 241 file.open((path+"zoom_domain_interface_attr.F90").c_str()); 234 242 zoomDomain.generateFortran2003Interface(file); … … 243 251 file.close(); 244 252 253 file.open((path+"interpolate_domain_interface_attr.F90").c_str()); 254 interpolateDomain.generateFortran2003Interface(file); 255 file.close(); 256 257 file.open((path+"icinterpolate_domain_attr.cpp").c_str()); 258 interpolateDomain.generateCInterface(file); 259 file.close(); 260 261 file.open((path+"iinterpolate_domain_attr.F90").c_str()); 262 interpolateDomain.generateFortranInterface(file); 263 file.close(); 264 265 file.open((path+"generate_rectilinear_domain_interface_attr.F90").c_str()); 266 genDomain.generateFortran2003Interface(file); 267 file.close(); 268 269 file.open((path+"icgenerate_rectilinear_domain_attr.cpp").c_str()); 270 genDomain.generateCInterface(file); 271 file.close(); 272 273 file.open((path+"igenerate_rectilinear_domain_attr.F90").c_str()); 274 genDomain.generateFortranInterface(file); 275 file.close(); 276 277 file.open((path+"compute_connectivity_domain_interface_attr.F90").c_str()); 278 compConDomain.generateFortran2003Interface(file); 279 file.close(); 280 281 file.open((path+"iccompute_connectivity_domain_attr.cpp").c_str()); 282 compConDomain.generateCInterface(file); 283 file.close(); 284 285 file.open((path+"icompute_connectivity_domain_attr.F90").c_str()); 286 compConDomain.generateFortranInterface(file); 287 file.close(); 288 289 file.open((path+"expand_domain_interface_attr.F90").c_str()); 290 expandDomain.generateFortran2003Interface(file); 291 file.close(); 292 293 file.open((path+"icexpand_domain_attr.cpp").c_str()); 294 expandDomain.generateCInterface(file); 295 file.close(); 296 297 file.open((path+"iexpand_domain_attr.F90").c_str()); 298 expandDomain.generateFortranInterface(file); 299 file.close(); 300 301 /*! 302 Axis transformations 303 */ 245 304 file.open((path+"zoom_axis_interface_attr.F90").c_str()); 246 305 zoomAxis.generateFortran2003Interface(file); … … 267 326 file.close(); 268 327 269 file.open((path+"interpolate_domain_interface_attr.F90").c_str());270 interpolateDomain.generateFortran2003Interface(file);271 file.close();272 273 file.open((path+"icinterpolate_domain_attr.cpp").c_str());274 interpolateDomain.generateCInterface(file);275 file.close();276 277 file.open((path+"iinterpolate_domain_attr.F90").c_str());278 interpolateDomain.generateFortranInterface(file);279 file.close();280 281 file.open((path+"generate_rectilinear_domain_interface_attr.F90").c_str());282 genDomain.generateFortran2003Interface(file);283 file.close();284 285 file.open((path+"icgenerate_rectilinear_domain_attr.cpp").c_str());286 genDomain.generateCInterface(file);287 file.close();288 289 file.open((path+"igenerate_rectilinear_domain_attr.F90").c_str());290 genDomain.generateFortranInterface(file);291 file.close();292 293 file.open((path+"compute_connectivity_domain_interface_attr.F90").c_str());294 compConDomain.generateFortran2003Interface(file);295 file.close();296 297 file.open((path+"iccompute_connectivity_domain_attr.cpp").c_str());298 compConDomain.generateCInterface(file);299 file.close();300 301 file.open((path+"icompute_connectivity_domain_attr.F90").c_str());302 compConDomain.generateFortranInterface(file);303 file.close();304 305 306 307 308 328 file.open((path+"inverse_axis_interface_attr.F90").c_str()); 309 329 inverseAxis.generateFortran2003Interface(file); … … 318 338 file.close(); 319 339 340 file.open((path+"reduce_domain_to_axis_interface_attr.F90").c_str()); 341 reduceDomainToAxis.generateFortran2003Interface(file); 342 file.close(); 343 344 file.open((path+"icreduce_domain_to_axis_attr.cpp").c_str()); 345 reduceDomainToAxis.generateCInterface(file); 346 file.close(); 347 348 file.open((path+"ireduce_domain_to_axis_attr.F90").c_str()); 349 reduceDomainToAxis.generateFortranInterface(file); 350 file.close(); 351 352 file.open((path+"extract_domain_to_axis_interface_attr.F90").c_str()); 353 extractDomainToAxis.generateFortran2003Interface(file); 354 file.close(); 355 356 file.open((path+"icextract_domain_to_axis_attr.cpp").c_str()); 357 extractDomainToAxis.generateCInterface(file); 358 file.close(); 359 360 file.open((path+"iextract_domain_to_axis_attr.F90").c_str()); 361 extractDomainToAxis.generateFortranInterface(file); 362 file.close(); 363 364 365 /*! 366 Scalar transformations 367 */ 320 368 file.open((path+"reduce_axis_to_scalar_interface_attr.F90").c_str()); 321 369 reduceAxisToScalar.generateFortran2003Interface(file); … … 330 378 file.close(); 331 379 380 file.open((path+"extract_axis_to_scalar_interface_attr.F90").c_str()); 381 extractAxisToScalar.generateFortran2003Interface(file); 382 file.close(); 383 384 file.open((path+"icextract_axis_to_scalar_attr.cpp").c_str()); 385 extractAxisToScalar.generateCInterface(file); 386 file.close(); 387 388 file.open((path+"iextract_axis_to_scalar_attr.F90").c_str()); 389 extractAxisToScalar.generateFortranInterface(file); 390 file.close(); 391 392 file.open((path+"reduce_domain_to_scalar_interface_attr.F90").c_str()); 393 reduceDomainToScalar.generateFortran2003Interface(file); 394 file.close(); 395 396 file.open((path+"icreduce_domain_to_scalar_attr.cpp").c_str()); 397 reduceDomainToScalar.generateCInterface(file); 398 file.close(); 399 400 file.open((path+"ireduce_domain_to_scalar_attr.F90").c_str()); 401 reduceDomainToScalar.generateFortranInterface(file); 402 file.close(); 403 332 404 file.open((path+"context_interface_attr.F90").c_str()); 333 405 context->generateFortran2003Interface(file); -
XIOS/trunk/src/interface/c/icexpand_domain.cpp
r980 r981 14 14 #include "icutil.hpp" 15 15 #include "timer.hpp" 16 #include " reduce_axis_to_scalar.hpp"16 #include "expand_domain.hpp" 17 17 18 18 extern "C" … … 22 22 // ----------------------- Redéfinition de types ---------------------------- 23 23 24 typedef xios::C ReduceAxisToScalar * XReduceAxisToScalarPtr;24 typedef xios::CExpandDomain * XExpandDomainPtr; 25 25 26 26 // ------------------------ Création des handle ----------------------------- 27 void cxios_ reduce_axis_to_scalar_handle_create(XReduceAxisToScalarPtr * _ret, const char * _id, int _id_len)27 void cxios_expand_domain_handle_create(XExpandDomainPtr * _ret, const char * _id, int _id_len) 28 28 { 29 29 std::string id; 30 30 if (!cstr2string(_id, _id_len, id)) return; 31 31 CTimer::get("XIOS").resume() ; 32 *_ret = xios::C ReduceAxisToScalar::get(id);32 *_ret = xios::CExpandDomain::get(id); 33 33 CTimer::get("XIOS").suspend() ; 34 34 } 35 35 36 36 // -------------------- Vérification des identifiants ----------------------- 37 void cxios_ reduce_axis_to_scalar_valid_id(bool * _ret, const char * _id, int _id_len)37 void cxios_expand_domain_valid_id(bool * _ret, const char * _id, int _id_len) 38 38 { 39 39 std::string id; … … 41 41 42 42 CTimer::get("XIOS").resume() ; 43 *_ret = xios::C ReduceAxisToScalar::has(id);43 *_ret = xios::CExpandDomain::has(id); 44 44 CTimer::get("XIOS").suspend() ; 45 45 } -
XIOS/trunk/src/interface/c/icextract_to_axis.cpp
r980 r981 14 14 #include "icutil.hpp" 15 15 #include "timer.hpp" 16 #include " reduce_axis_to_scalar.hpp"16 #include "extract_domain_to_axis.hpp" 17 17 18 18 extern "C" … … 22 22 // ----------------------- Redéfinition de types ---------------------------- 23 23 24 typedef xios::C ReduceAxisToScalar * XReduceAxisToScalarPtr;25 24 typedef xios::CExtractDomainToAxis * XExtractDomainToAxisPtr; 25 26 26 // ------------------------ Création des handle ----------------------------- 27 void cxios_ reduce_axis_to_scalar_handle_create(XReduceAxisToScalarPtr * _ret, const char * _id, int _id_len)27 void cxios_extract_domain_to_axis_handle_create(XExtractDomainToAxisPtr * _ret, const char * _id, int _id_len) 28 28 { 29 29 std::string id; 30 30 if (!cstr2string(_id, _id_len, id)) return; 31 31 CTimer::get("XIOS").resume() ; 32 *_ret = xios::C ReduceAxisToScalar::get(id);32 *_ret = xios::CExtractDomainToAxis::get(id); 33 33 CTimer::get("XIOS").suspend() ; 34 34 } 35 35 36 36 // -------------------- Vérification des identifiants ----------------------- 37 void cxios_ reduce_axis_to_scalar_valid_id(bool * _ret, const char * _id, int _id_len)37 void cxios_extract_domain_to_axis_valid_id(bool * _ret, const char * _id, int _id_len) 38 38 { 39 39 std::string id; … … 41 41 42 42 CTimer::get("XIOS").resume() ; 43 *_ret = xios::C ReduceAxisToScalar::has(id);43 *_ret = xios::CExtractDomainToAxis::has(id); 44 44 CTimer::get("XIOS").suspend() ; 45 45 } 46 46 47 } // extern "C" -
XIOS/trunk/src/interface/c/icextract_to_scalar.cpp
r980 r981 14 14 #include "icutil.hpp" 15 15 #include "timer.hpp" 16 #include " reduce_axis_to_scalar.hpp"16 #include "extract_axis_to_scalar.hpp" 17 17 18 18 extern "C" … … 22 22 // ----------------------- Redéfinition de types ---------------------------- 23 23 24 typedef xios::C ReduceAxisToScalar * XReduceAxisToScalarPtr;25 24 typedef xios::CExtractAxisToScalar * XExtractAxisToScalarPtr; 25 26 26 // ------------------------ Création des handle ----------------------------- 27 void cxios_ reduce_axis_to_scalar_handle_create(XReduceAxisToScalarPtr * _ret, const char * _id, int _id_len)27 void cxios_extract_axis_to_scalar_handle_create(XExtractAxisToScalarPtr * _ret, const char * _id, int _id_len) 28 28 { 29 29 std::string id; 30 30 if (!cstr2string(_id, _id_len, id)) return; 31 31 CTimer::get("XIOS").resume() ; 32 *_ret = xios::C ReduceAxisToScalar::get(id);32 *_ret = xios::CExtractAxisToScalar::get(id); 33 33 CTimer::get("XIOS").suspend() ; 34 34 } 35 35 36 36 // -------------------- Vérification des identifiants ----------------------- 37 void cxios_ reduce_axis_to_scalar_valid_id(bool * _ret, const char * _id, int _id_len)37 void cxios_extract_axis_to_scalar_valid_id(bool * _ret, const char * _id, int _id_len) 38 38 { 39 39 std::string id; … … 41 41 42 42 CTimer::get("XIOS").resume() ; 43 *_ret = xios::C ReduceAxisToScalar::has(id);43 *_ret = xios::CExtractAxisToScalar::has(id); 44 44 CTimer::get("XIOS").suspend() ; 45 45 } 46 46 47 } // extern "C" -
XIOS/trunk/src/interface/c/icreduce_to_axis.cpp
r980 r981 14 14 #include "icutil.hpp" 15 15 #include "timer.hpp" 16 #include "reduce_ axis_to_scalar.hpp"16 #include "reduce_domain_to_axis.hpp" 17 17 18 18 extern "C" … … 22 22 // ----------------------- Redéfinition de types ---------------------------- 23 23 24 typedef xios::CReduce AxisToScalar * XReduceAxisToScalarPtr;25 24 typedef xios::CReduceDomainToAxis * XReduceDomainToAxisPtr; 25 26 26 // ------------------------ Création des handle ----------------------------- 27 void cxios_reduce_ axis_to_scalar_handle_create(XReduceAxisToScalarPtr * _ret, const char * _id, int _id_len)27 void cxios_reduce_domain_to_axis_handle_create(XReduceDomainToAxisPtr * _ret, const char * _id, int _id_len) 28 28 { 29 29 std::string id; 30 30 if (!cstr2string(_id, _id_len, id)) return; 31 31 CTimer::get("XIOS").resume() ; 32 *_ret = xios::CReduce AxisToScalar::get(id);32 *_ret = xios::CReduceDomainToAxis::get(id); 33 33 CTimer::get("XIOS").suspend() ; 34 34 } 35 35 36 36 // -------------------- Vérification des identifiants ----------------------- 37 void cxios_reduce_ axis_to_scalar_valid_id(bool * _ret, const char * _id, int _id_len)37 void cxios_reduce_domain_to_axis_valid_id(bool * _ret, const char * _id, int _id_len) 38 38 { 39 39 std::string id; … … 41 41 42 42 CTimer::get("XIOS").resume() ; 43 *_ret = xios::CReduce AxisToScalar::has(id);43 *_ret = xios::CReduceDomainToAxis::has(id); 44 44 CTimer::get("XIOS").suspend() ; 45 45 } 46 46 47 } // extern "C" -
XIOS/trunk/src/interface/c/icreduce_to_scalar.cpp
r980 r981 15 15 #include "timer.hpp" 16 16 #include "reduce_axis_to_scalar.hpp" 17 #include "reduce_domain_to_scalar.hpp" 17 18 18 19 extern "C" … … 23 24 24 25 typedef xios::CReduceAxisToScalar * XReduceAxisToScalarPtr; 26 typedef xios::CReduceDomainToScalar * XReduceDomainToScalarPtr; 25 27 26 28 // ------------------------ Création des handle ----------------------------- … … 44 46 CTimer::get("XIOS").suspend() ; 45 47 } 48 49 void cxios_reduce_domain_to_scalar_handle_create(XReduceDomainToScalarPtr * _ret, const char * _id, int _id_len) 50 { 51 std::string id; 52 if (!cstr2string(_id, _id_len, id)) return; 53 CTimer::get("XIOS").resume() ; 54 *_ret = xios::CReduceDomainToScalar::get(id); 55 CTimer::get("XIOS").suspend() ; 56 } 57 58 // -------------------- Vérification des identifiants ----------------------- 59 void cxios_reduce_domain_to_scalar_valid_id(bool * _ret, const char * _id, int _id_len) 60 { 61 std::string id; 62 if (!cstr2string(_id, _id_len, id)) return; 63 64 CTimer::get("XIOS").resume() ; 65 *_ret = xios::CReduceDomainToScalar::has(id); 66 CTimer::get("XIOS").suspend() ; 67 } 68 46 69 } // extern "C" -
XIOS/trunk/src/interface/c/icxml_tree.cpp
r934 r981 51 51 typedef xios::CGenerateRectilinearDomain * XGenerateRectilinearDomainPtr; 52 52 typedef xios::CComputeConnectivityDomain * XComputeConnectivityDomainPtr; 53 54 typedef xios::CTransformation<CAxis> * XTransformationAxisPtr; 55 typedef xios::CZoomAxis * XZoomAxisPtr; 56 typedef xios::CInterpolateAxis * XInterpolateAxisPtr; 57 typedef xios::CInverseAxis * XInverseAxisPtr; 53 typedef xios::CExpandDomain * XExpandDomainPtr; 54 55 typedef xios::CTransformation<CAxis> * XTransformationAxisPtr; 56 typedef xios::CZoomAxis * XZoomAxisPtr; 57 typedef xios::CInterpolateAxis * XInterpolateAxisPtr; 58 typedef xios::CInverseAxis * XInverseAxisPtr; 59 typedef xios::CExtractDomainToAxis * XExtractDomainToAxisPtr; 60 typedef xios::CReduceDomainToAxis * XReduceDomainToAxisPtr; 58 61 59 62 typedef xios::CTransformation<CScalar> * XTransformationScalarPtr; 60 63 typedef xios::CReduceAxisToScalar * XReduceAxisToScalarPtr; 64 typedef xios::CReduceDomainToScalar * XReduceDomainToScalarPtr; 65 typedef xios::CExtractAxisToScalar * XExtractAxisToScalarPtr; 66 61 67 62 68 // ----------------------- Ajout d'enfant à un parent ----------------------- … … 402 408 } 403 409 410 //--------------------------------------------------------------------------- 411 //-------------------------Transformations ----------------------------------- 412 //--------------------------------------------------------------------------- 404 413 void cxios_xml_tree_add_zoomdomaintodomain 405 414 (XDomainPtr parent_, XZoomDomainPtr * child_, const char * child_id, int child_id_size) … … 464 473 if (cstr2string(child_id, child_id_size, child_id_str)) 465 474 { 475 tmpChild_ = parent_->addTransformation(TRANS_EXPAND_DOMAIN, child_id_str); 476 } 477 else 478 { 479 tmpChild_ = parent_->addTransformation(TRANS_EXPAND_DOMAIN); 480 } 481 *child_ = static_cast<XComputeConnectivityDomainPtr>(tmpChild_); 482 CTimer::get("XIOS").suspend() ; 483 } 484 485 void cxios_xml_tree_add_expanddomaintodomain 486 (XDomainPtr parent_, XExpandDomainPtr * child_, const char * child_id, int child_id_size) 487 { 488 std::string child_id_str; 489 XTransformationDomainPtr tmpChild_; 490 CTimer::get("XIOS").resume() ; 491 if (cstr2string(child_id, child_id_size, child_id_str)) 492 { 466 493 tmpChild_ = parent_->addTransformation(TRANS_COMPUTE_CONNECTIVITY_DOMAIN, child_id_str); 467 494 } … … 470 497 tmpChild_ = parent_->addTransformation(TRANS_COMPUTE_CONNECTIVITY_DOMAIN); 471 498 } 472 *child_ = static_cast<XComputeConnectivityDomainPtr>(tmpChild_); 473 CTimer::get("XIOS").suspend() ; 474 } 475 499 *child_ = static_cast<XExpandDomainPtr>(tmpChild_); 500 CTimer::get("XIOS").suspend() ; 501 } 502 503 // -----------------------Axis transformation-------------------------------- 476 504 void cxios_xml_tree_add_zoomaxistoaxis 477 505 (XAxisPtr parent_, XZoomAxisPtr * child_, const char * child_id, int child_id_size) … … 528 556 } 529 557 558 void cxios_xml_tree_add_extractdomaintoaxistoaxis 559 (XAxisPtr parent_, XExtractDomainToAxisPtr * child_, const char * child_id, int child_id_size) 560 { 561 std::string child_id_str; 562 XTransformationAxisPtr tmpChild_; 563 CTimer::get("XIOS").resume() ; 564 if (cstr2string(child_id, child_id_size, child_id_str)) 565 { 566 tmpChild_ = parent_->addTransformation(TRANS_EXTRACT_DOMAIN_TO_AXIS, child_id_str); 567 } 568 else 569 { 570 tmpChild_ = parent_->addTransformation(TRANS_EXTRACT_DOMAIN_TO_AXIS); 571 } 572 *child_ = static_cast<XExtractDomainToAxisPtr>(tmpChild_); 573 CTimer::get("XIOS").suspend() ; 574 } 575 576 void cxios_xml_tree_add_reducedomaintoaxistoaxis 577 (XAxisPtr parent_, XReduceDomainToAxisPtr * child_, const char * child_id, int child_id_size) 578 { 579 std::string child_id_str; 580 XTransformationAxisPtr tmpChild_; 581 CTimer::get("XIOS").resume() ; 582 if (cstr2string(child_id, child_id_size, child_id_str)) 583 { 584 tmpChild_ = parent_->addTransformation(TRANS_REDUCE_DOMAIN_TO_AXIS, child_id_str); 585 } 586 else 587 { 588 tmpChild_ = parent_->addTransformation(TRANS_REDUCE_DOMAIN_TO_AXIS); 589 } 590 *child_ = static_cast<XReduceDomainToAxisPtr>(tmpChild_); 591 CTimer::get("XIOS").suspend() ; 592 } 593 594 530 595 void cxios_xml_tree_add_reduceaxistoscalartoscalar 531 596 (XScalarPtr parent_, XReduceAxisToScalarPtr * child_, const char * child_id, int child_id_size) … … 543 608 } 544 609 *child_ = static_cast<XReduceAxisToScalarPtr>(tmpChild_); 610 CTimer::get("XIOS").suspend() ; 611 } 612 613 void cxios_xml_tree_add_reducedomaintoscalartoscalar 614 (XScalarPtr parent_, XReduceDomainToScalarPtr * child_, const char * child_id, int child_id_size) 615 { 616 std::string child_id_str; 617 XTransformationScalarPtr tmpChild_; 618 CTimer::get("XIOS").resume() ; 619 if (cstr2string(child_id, child_id_size, child_id_str)) 620 { 621 tmpChild_ = parent_->addTransformation(TRANS_REDUCE_DOMAIN_TO_SCALAR, child_id_str); 622 } 623 else 624 { 625 tmpChild_ = parent_->addTransformation(TRANS_REDUCE_DOMAIN_TO_SCALAR); 626 } 627 *child_ = static_cast<XReduceDomainToScalarPtr>(tmpChild_); 628 CTimer::get("XIOS").suspend() ; 629 } 630 631 void cxios_xml_tree_add_extractaxistoscalartoscalar 632 (XScalarPtr parent_, XExtractAxisToScalarPtr * child_, const char * child_id, int child_id_size) 633 { 634 std::string child_id_str; 635 XTransformationScalarPtr tmpChild_; 636 CTimer::get("XIOS").resume() ; 637 if (cstr2string(child_id, child_id_size, child_id_str)) 638 { 639 tmpChild_ = parent_->addTransformation(TRANS_EXTRACT_AXIS_TO_SCALAR, child_id_str); 640 } 641 else 642 { 643 tmpChild_ = parent_->addTransformation(TRANS_EXTRACT_AXIS_TO_SCALAR); 644 } 645 *child_ = static_cast<XExtractAxisToScalarPtr>(tmpChild_); 545 646 CTimer::get("XIOS").suspend() ; 546 647 } -
XIOS/trunk/src/interface/fortran/ixios.F90
r943 r981 74 74 USE iscalargroup_attr, ONLY : xios(set_scalargroup_attr), xios(get_scalargroup_attr), xios(is_defined_scalargroup_attr) 75 75 76 USE izoom_axis, ONLY : txios(zoom_axis), xios(is_valid_zoom_axis) 77 78 USE izoom_axis_attr, ONLY : xios(set_zoom_axis_attr), xios(get_zoom_axis_attr), xios(is_defined_zoom_axis_attr) 79 76 !------------------------------------------------------------------------------- 77 !!! Transformation INTERFACES 78 !------------------------------------------------------------------------------- 79 !!! DOMAIN TRANSFORMATIONS 80 80 USE izoom_domain, ONLY : txios(zoom_domain), xios(is_valid_zoom_domain) 81 81 82 82 USE izoom_domain_attr, ONLY : xios(set_zoom_domain_attr), xios(get_zoom_domain_attr), xios(is_defined_zoom_domain_attr) 83 84 USE iinterpolate_axis, ONLY : txios(interpolate_axis), xios(is_valid_interpolate_axis)85 86 USE iinterpolate_axis_attr, ONLY : xios(set_interpolate_axis_attr), xios(get_interpolate_axis_attr), &87 xios(is_defined_interpolate_axis_attr)88 83 89 84 USE iinterpolate_domain, ONLY : txios(interpolate_domain), xios(is_valid_interpolate_domain) … … 92 87 xios(is_defined_interpolate_domain_attr) 93 88 94 USE iinverse_axis, ONLY : txios(inverse_axis), xios(is_valid_inverse_axis)95 96 USE iinverse_axis_attr, ONLY : xios(set_inverse_axis_attr), xios(get_inverse_axis_attr), xios(is_defined_inverse_axis_attr)97 98 89 USE igenerate_rectilinear_domain, ONLY : txios(generate_rectilinear_domain), xios(is_valid_generate_rectilinear_domain) 99 90 … … 101 92 xios(get_generate_rectilinear_domain_attr), & 102 93 xios(is_defined_generate_rectilinear_domain_attr) 103 USE ireduce_axis_to_scalar, ONLY : txios(reduce_axis_to_scalar), xios(is_valid_reduce_axis_to_scalar)104 105 USE ireduce_axis_to_scalar_attr, ONLY : xios(set_reduce_axis_to_scalar_attr), xios(get_reduce_axis_to_scalar_attr), &106 xios(is_defined_reduce_axis_to_scalar_attr)107 94 108 95 USE icompute_connectivity_domain, ONLY : txios(compute_connectivity_domain), xios(is_valid_compute_connectivity_domain) … … 112 99 xios(is_defined_compute_connectivity_domain_attr) 113 100 101 USE iexpand_domain, ONLY : txios(expand_domain), xios(is_valid_expand_domain) 102 103 USE iexpand_domain_attr, ONLY : xios(set_expand_domain_attr), & 104 xios(get_expand_domain_attr), & 105 xios(is_defined_expand_domain_attr) 106 107 !!! AXIS TRANSFORMATIONS 108 USE izoom_axis, ONLY : txios(zoom_axis), xios(is_valid_zoom_axis) 109 110 USE izoom_axis_attr, ONLY : xios(set_zoom_axis_attr), xios(get_zoom_axis_attr), xios(is_defined_zoom_axis_attr) 111 112 113 USE iinterpolate_axis, ONLY : txios(interpolate_axis), xios(is_valid_interpolate_axis) 114 115 USE iinterpolate_axis_attr, ONLY : xios(set_interpolate_axis_attr), xios(get_interpolate_axis_attr), & 116 xios(is_defined_interpolate_axis_attr) 117 118 USE iinverse_axis, ONLY : txios(inverse_axis), xios(is_valid_inverse_axis) 119 120 USE iinverse_axis_attr, ONLY : xios(set_inverse_axis_attr), xios(get_inverse_axis_attr), xios(is_defined_inverse_axis_attr) 121 122 USE ireduce_domain_to_axis, ONLY : txios(reduce_domain_to_axis), xios(is_valid_reduce_domain_to_axis) 123 124 USE ireduce_domain_to_axis_attr, ONLY : xios(set_reduce_domain_to_axis_attr), & 125 xios(get_reduce_domain_to_axis_attr), & 126 xios(is_defined_reduce_domain_to_axis_attr) 127 128 USE iextract_domain_to_axis, ONLY : txios(extract_domain_to_axis), xios(is_valid_extract_domain_to_axis) 129 130 USE iextract_domain_to_axis_attr, ONLY : xios(set_extract_domain_to_axis_attr), & 131 xios(get_extract_domain_to_axis_attr), & 132 xios(is_defined_extract_domain_to_axis_attr) 133 134 !!! SCALAR TRANSFORMATIONS 135 USE ireduce_domain_to_scalar, ONLY : txios(reduce_domain_to_scalar), xios(is_valid_reduce_domain_to_scalar) 136 137 USE ireduce_domain_to_scalar_attr, ONLY : xios(set_reduce_domain_to_scalar_attr), xios(get_reduce_domain_to_scalar_attr), & 138 xios(is_defined_reduce_domain_to_scalar_attr) 139 140 USE ireduce_axis_to_scalar, ONLY : txios(reduce_axis_to_scalar), xios(is_valid_reduce_axis_to_scalar) 141 142 USE ireduce_axis_to_scalar_attr, ONLY : xios(set_reduce_axis_to_scalar_attr), xios(get_reduce_axis_to_scalar_attr), & 143 xios(is_defined_reduce_axis_to_scalar_attr) 144 145 USE iextract_axis_to_scalar, ONLY : txios(extract_axis_to_scalar), xios(is_valid_extract_axis_to_scalar) 146 147 USE iextract_axis_to_scalar_attr, ONLY : xios(set_extract_axis_to_scalar_attr), & 148 xios(get_extract_axis_to_scalar_attr), & 149 xios(is_defined_extract_axis_to_scalar_attr) 150 114 151 USE XIOS_INTERFACES, ONLY : xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), xios(add_child), & 115 152 xios(send_field), xios(recv_field), xios(field_is_active), xios(getVar), xios(setVar), & -
XIOS/trunk/src/interface/fortran/ixios_interfaces.F90
r961 r981 63 63 USE iscalargroup_attr, ONLY : xios(set_scalargroup_attr_hdl), xios(get_scalargroup_attr_hdl), xios(is_defined_scalargroup_attr_hdl) 64 64 65 USE izoom_axis, ONLY : xios(get_zoom_axis_handle) 66 67 USE izoom_axis_attr, ONLY : xios(set_zoom_axis_attr_hdl), xios(get_zoom_axis_attr_hdl), xios(is_defined_zoom_axis_attr_hdl) 68 65 !------------------------------------------------------------------------------- 66 !!! Transformation INTERFACES 67 !------------------------------------------------------------------------------- 68 !!! DOMAIN TRANSFORMATIONS 69 69 USE izoom_domain, ONLY : xios(get_zoom_domain_handle) 70 70 71 71 USE izoom_domain_attr, ONLY : xios(set_zoom_domain_attr_hdl), xios(get_zoom_domain_attr_hdl), xios(is_defined_zoom_domain_attr_hdl) 72 73 USE iinterpolate_axis, ONLY : xios(get_interpolate_axis_handle)74 75 USE iinterpolate_axis_attr, ONLY : xios(set_interpolate_axis_attr_hdl), xios(get_interpolate_axis_attr_hdl), &76 xios(is_defined_interpolate_axis_attr_hdl)77 72 78 73 USE iinterpolate_domain, ONLY : xios(get_interpolate_domain_handle) … … 80 75 USE iinterpolate_domain_attr, ONLY : xios(set_interpolate_domain_attr_hdl), xios(get_interpolate_domain_attr_hdl), & 81 76 xios(is_defined_interpolate_domain_attr_hdl) 82 83 USE iinverse_axis, ONLY : xios(get_inverse_axis_handle)84 85 USE iinverse_axis_attr, ONLY : xios(set_inverse_axis_attr_hdl), xios(get_inverse_axis_attr_hdl), xios(is_defined_inverse_axis_attr_hdl)86 77 87 78 USE igenerate_rectilinear_domain, ONLY : xios(get_generate_rectilinear_domain_handle) … … 90 81 xios(get_generate_rectilinear_domain_attr_hdl), & 91 82 xios(is_defined_generate_rectilinear_domain_attr_hdl) 83 92 84 USE icompute_connectivity_domain, ONLY : xios(get_compute_connectivity_domain_handle) 93 85 … … 96 88 xios(is_defined_compute_connectivity_domain_attr_hdl) 97 89 90 USE iexpand_domain, ONLY : xios(get_expand_domain_handle) 91 92 USE iexpand_domain_attr, ONLY : xios(set_expand_domain_attr_hdl), & 93 xios(get_expand_domain_attr_hdl), & 94 xios(is_defined_expand_domain_attr_hdl) 95 96 !!! AXIS TRANSFORMATIONS 97 USE izoom_axis, ONLY : xios(get_zoom_axis_handle) 98 99 USE izoom_axis_attr, ONLY : xios(set_zoom_axis_attr_hdl), xios(get_zoom_axis_attr_hdl), xios(is_defined_zoom_axis_attr_hdl) 100 101 USE iinterpolate_axis, ONLY : xios(get_interpolate_axis_handle) 102 103 USE iinterpolate_axis_attr, ONLY : xios(set_interpolate_axis_attr_hdl), & 104 xios(get_interpolate_axis_attr_hdl), & 105 xios(is_defined_interpolate_axis_attr_hdl) 106 107 USE iinverse_axis, ONLY : xios(get_inverse_axis_handle) 108 109 USE iinverse_axis_attr, ONLY : xios(set_inverse_axis_attr_hdl), & 110 xios(get_inverse_axis_attr_hdl), & 111 xios(is_defined_inverse_axis_attr_hdl) 112 113 USE ireduce_domain_to_axis, ONLY : xios(get_reduce_domain_to_axis_handle) 114 115 USE ireduce_domain_to_axis_attr, ONLY : xios(set_reduce_domain_to_axis_attr_hdl), & 116 xios(get_reduce_domain_to_axis_attr_hdl), & 117 xios(is_defined_reduce_domain_to_axis_attr_hdl) 118 119 USE iextract_domain_to_axis, ONLY : xios(get_extract_domain_to_axis_handle) 120 121 USE iextract_domain_to_axis_attr, ONLY : xios(set_extract_domain_to_axis_attr_hdl), & 122 xios(get_extract_domain_to_axis_attr_hdl), & 123 xios(is_defined_extract_domain_to_axis_attr_hdl) 124 125 !!! SCALAR TRANSFORMATIONS 126 127 98 128 USE ireduce_axis_to_scalar, ONLY : xios(get_reduce_axis_to_scalar_handle) 99 129 … … 101 131 xios(get_reduce_axis_to_scalar_attr_hdl), & 102 132 xios(is_defined_reduce_axis_to_scalar_attr_hdl) 133 134 USE ireduce_domain_to_scalar, ONLY : xios(get_reduce_domain_to_scalar_handle) 135 136 USE ireduce_domain_to_scalar_attr, ONLY : xios(set_reduce_domain_to_scalar_attr_hdl), & 137 xios(get_reduce_domain_to_scalar_attr_hdl), & 138 xios(is_defined_reduce_domain_to_scalar_attr_hdl) 139 140 USE iextract_axis_to_scalar, ONLY : xios(get_extract_axis_to_scalar_handle) 141 142 USE iextract_axis_to_scalar_attr, ONLY : xios(set_extract_axis_to_scalar_attr_hdl), & 143 xios(get_extract_axis_to_scalar_attr_hdl), & 144 xios(is_defined_extract_axis_to_scalar_attr_hdl) 103 145 104 146 USE ixml_tree, ONLY : xios(add_axis), xios(add_file), xios(add_grid), xios(add_field), xios(add_domain), & … … 111 153 xios(add_interpolateaxistoaxis), xios(add_inverseaxistoaxis), xios(add_scalar), & 112 154 xios(add_scalargroup), xios(add_scalartogrid), xios(add_reduceaxistoscalartoscalar), & 113 xios(add_computeconnectivitydomaintodomain) 155 xios(add_computeconnectivitydomaintodomain), xios(add_reducedomaintoaxistoaxis), & 156 xios(add_extractdomaintoaxistoaxis), xios(add_reducedomaintoscalartoscalar), & 157 xios(add_extractaxistoscalartoscalar), xios(add_expanddomaintodomain) 114 158 115 159 PRIVATE … … 125 169 xios(set_generate_rectilinear_domain_attr_hdl), xios(set_scalar_attr_hdl), & 126 170 xios(set_scalargroup_attr_hdl), xios(set_reduce_axis_to_scalar_attr_hdl), & 127 xios(set_compute_connectivity_domain_attr_hdl) 171 xios(set_compute_connectivity_domain_attr_hdl), xios(set_reduce_domain_to_scalar_attr_hdl), & 172 xios(set_reduce_domain_to_axis_attr_hdl), xios(set_extract_domain_to_axis_attr_hdl), & 173 xios(set_extract_axis_to_scalar_attr_hdl), xios(set_expand_domain_attr_hdl) 128 174 END INTERFACE xios(set_attr) 175 129 176 130 177 INTERFACE xios(get_attr) … … 138 185 xios(get_generate_rectilinear_domain_attr_hdl), xios(get_scalar_attr_hdl), & 139 186 xios(get_scalargroup_attr_hdl), xios(get_reduce_axis_to_scalar_attr_hdl), & 140 xios(get_compute_connectivity_domain_attr_hdl) 187 xios(get_compute_connectivity_domain_attr_hdl), xios(get_reduce_domain_to_scalar_attr_hdl), & 188 xios(get_reduce_domain_to_axis_attr_hdl), xios(get_extract_domain_to_axis_attr_hdl), & 189 xios(get_extract_axis_to_scalar_attr_hdl), xios(get_expand_domain_attr_hdl) 141 190 END INTERFACE xios(get_attr) 142 191 … … 151 200 xios(is_defined_inverse_axis_attr_hdl), xios(is_defined_generate_rectilinear_domain_attr_hdl), & 152 201 xios(is_defined_scalar_attr_hdl), xios(is_defined_scalargroup_attr_hdl), & 153 xios(is_defined_reduce_axis_to_scalar_attr_hdl), xios(is_defined_compute_connectivity_domain_attr_hdl) 202 xios(is_defined_reduce_axis_to_scalar_attr_hdl), xios(is_defined_compute_connectivity_domain_attr_hdl), & 203 xios(is_defined_reduce_domain_to_scalar_attr_hdl), xios(is_defined_reduce_domain_to_axis_attr_hdl), & 204 xios(is_defined_extract_domain_to_axis_attr_hdl), xios(is_defined_extract_axis_to_scalar_attr_hdl), & 205 xios(is_defined_expand_domain_attr_hdl) 154 206 END INTERFACE xios(is_defined_attr) 155 207 156 208 INTERFACE xios(get_handle) 157 MODULE PROCEDURE xios(get_context_handle), xios(get_domain_handle), xios(get_domaingroup_handle), & 158 xios(get_file_handle), xios(get_filegroup_handle), xios(get_grid_handle), & 159 xios(get_gridgroup_handle), xios(get_axis_handle), xios(get_axisgroup_handle), & 160 xios(get_field_handle), xios(get_fieldgroup_handle),xios(get_variable_handle), & 161 xios(get_variablegroup_handle), xios(get_zoom_axis_handle), & 162 xios(get_zoom_domain_handle), xios(get_interpolate_axis_handle), & 163 xios(get_interpolate_domain_handle), xios(get_inverse_axis_handle), & 164 xios(get_generate_rectilinear_domain_handle), xios(get_scalar_handle), & 165 xios(get_scalargroup_handle), xios(get_reduce_axis_to_scalar_handle), & 166 xios(get_compute_connectivity_domain_handle) 209 MODULE PROCEDURE xios(get_context_handle), xios(get_domain_handle), xios(get_domaingroup_handle), & 210 xios(get_file_handle), xios(get_filegroup_handle), xios(get_grid_handle), & 211 xios(get_gridgroup_handle), xios(get_axis_handle), xios(get_axisgroup_handle), & 212 xios(get_field_handle), xios(get_fieldgroup_handle),xios(get_variable_handle), & 213 xios(get_variablegroup_handle), xios(get_zoom_axis_handle), & 214 xios(get_zoom_domain_handle), xios(get_interpolate_axis_handle), & 215 xios(get_interpolate_domain_handle), xios(get_inverse_axis_handle), & 216 xios(get_generate_rectilinear_domain_handle), xios(get_scalar_handle), & 217 xios(get_scalargroup_handle), xios(get_reduce_axis_to_scalar_handle), & 218 xios(get_compute_connectivity_domain_handle), xios(get_reduce_domain_to_scalar_handle), & 219 xios(get_reduce_domain_to_axis_handle), xios(get_extract_domain_to_axis_handle), & 220 xios(get_extract_axis_to_scalar_handle), xios(get_expand_domain_handle) 167 221 END INTERFACE xios(get_handle) 168 222 … … 176 230 xios(add_zoomaxistoaxis), xios(add_interpolateaxistoaxis), xios(add_inverseaxistoaxis), & 177 231 xios(add_scalar), xios(add_scalartogrid), xios(add_reduceaxistoscalartoscalar), & 178 xios(add_computeconnectivitydomaintodomain) 232 xios(add_computeconnectivitydomaintodomain), xios(add_reducedomaintoscalartoscalar), & 233 xios(add_reducedomaintoaxistoaxis), xios(add_extractdomaintoaxistoaxis), & 234 xios(add_extractaxistoscalartoscalar), xios(add_expanddomaintodomain) 179 235 END INTERFACE xios(add_child) 180 236 -
XIOS/trunk/src/interface/fortran/ixml_tree.F90
r934 r981 10 10 USE IDOMAIN 11 11 USE IVARIABLE 12 12 13 USE IZOOM_DOMAIN 13 14 USE IINTERPOLATE_DOMAIN 14 15 USE IGENERATE_RECTILINEAR_DOMAIN 15 16 USE ICOMPUTE_CONNECTIVITY_DOMAIN 17 USE IEXPAND_DOMAIN 18 16 19 USE IZOOM_AXIS 17 20 USE IINTERPOLATE_AXIS 18 21 USE IINVERSE_AXIS 22 USE IREDUCE_DOMAIN_TO_AXIS 23 USE IEXTRACT_DOMAIN_TO_AXIS 24 19 25 USE IREDUCE_AXIS_TO_SCALAR 26 USE IEXTRACT_AXIS_TO_SCALAR 27 USE IREDUCE_DOMAIN_TO_SCALAR 20 28 21 29 INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 … … 191 199 END SUBROUTINE cxios_xml_tree_add_domaintogrid 192 200 201 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 202 !!! TRANSFORMATIONS 203 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 204 !!! DOMAIN 193 205 SUBROUTINE cxios_xml_tree_add_zoomdomaintodomain(parent_, child_, child_id, child_id_size) BIND(C) 194 206 USE ISO_C_BINDING … … 223 235 END SUBROUTINE cxios_xml_tree_add_computeconnectivitydomaintodomain 224 236 237 SUBROUTINE cxios_xml_tree_add_expanddomaintodomain(parent_, child_, child_id, child_id_size) BIND(C) 238 USE ISO_C_BINDING 239 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 240 INTEGER (kind = C_INTPTR_T) :: child_ 241 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 242 INTEGER (kind = C_INT) , VALUE :: child_id_size 243 END SUBROUTINE cxios_xml_tree_add_expanddomaintodomain 244 245 !!!! AXIS 225 246 SUBROUTINE cxios_xml_tree_add_zoomaxistoaxis(parent_, child_, child_id, child_id_size) BIND(C) 226 247 USE ISO_C_BINDING … … 247 268 END SUBROUTINE cxios_xml_tree_add_inverseaxistoaxis 248 269 270 SUBROUTINE cxios_xml_tree_add_reducedomaintoaxistoaxis(parent_, child_, child_id, child_id_size) BIND(C) 271 USE ISO_C_BINDING 272 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 273 INTEGER (kind = C_INTPTR_T) :: child_ 274 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 275 INTEGER (kind = C_INT) , VALUE :: child_id_size 276 END SUBROUTINE cxios_xml_tree_add_reducedomaintoaxistoaxis 277 278 SUBROUTINE cxios_xml_tree_add_extractdomaintoaxistoaxis(parent_, child_, child_id, child_id_size) BIND(C) 279 USE ISO_C_BINDING 280 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 281 INTEGER (kind = C_INTPTR_T) :: child_ 282 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 283 INTEGER (kind = C_INT) , VALUE :: child_id_size 284 END SUBROUTINE cxios_xml_tree_add_extractdomaintoaxistoaxis 285 286 !!! SCALAR 249 287 SUBROUTINE cxios_xml_tree_add_reduceaxistoscalartoscalar(parent_, child_, child_id, child_id_size) BIND(C) 250 288 USE ISO_C_BINDING … … 254 292 INTEGER (kind = C_INT) , VALUE :: child_id_size 255 293 END SUBROUTINE cxios_xml_tree_add_reduceaxistoscalartoscalar 294 295 SUBROUTINE cxios_xml_tree_add_extractaxistoscalartoscalar(parent_, child_, child_id, child_id_size) BIND(C) 296 USE ISO_C_BINDING 297 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 298 INTEGER (kind = C_INTPTR_T) :: child_ 299 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 300 INTEGER (kind = C_INT) , VALUE :: child_id_size 301 END SUBROUTINE cxios_xml_tree_add_extractaxistoscalartoscalar 302 303 SUBROUTINE cxios_xml_tree_add_reducedomaintoscalartoscalar(parent_, child_, child_id, child_id_size) BIND(C) 304 USE ISO_C_BINDING 305 INTEGER (kind = C_INTPTR_T), VALUE :: parent_ 306 INTEGER (kind = C_INTPTR_T) :: child_ 307 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: child_id 308 INTEGER (kind = C_INT) , VALUE :: child_id_size 309 END SUBROUTINE cxios_xml_tree_add_reducedomaintoscalartoscalar 256 310 257 311 SUBROUTINE cxios_xml_tree_show(filename, filename_size) BIND(C) … … 552 606 END SUBROUTINE xios(add_domaintogrid) 553 607 608 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 609 !!! TRANSFORMATIONS 610 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 611 !!! DOAMIN 554 612 SUBROUTINE xios(add_zoomdomaintodomain)(parent_hdl, child_hdl, child_id) 555 613 TYPE(txios(domain)) , INTENT(IN) :: parent_hdl … … 604 662 END SUBROUTINE xios(add_computeconnectivitydomaintodomain) 605 663 664 SUBROUTINE xios(add_expanddomaintodomain)(parent_hdl, child_hdl, child_id) 665 TYPE(txios(domain)) , INTENT(IN) :: parent_hdl 666 TYPE(txios(expand_domain)) , INTENT(OUT):: child_hdl 667 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 668 669 IF (PRESENT(child_id)) THEN 670 CALL cxios_xml_tree_add_expanddomaintodomain(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 671 ELSE 672 CALL cxios_xml_tree_add_expanddomaintodomain(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 673 END IF 674 675 END SUBROUTINE xios(add_expanddomaintodomain) 676 677 !!! AXIS 606 678 SUBROUTINE xios(add_zoomaxistoaxis)(parent_hdl, child_hdl, child_id) 607 679 TYPE(txios(axis)) , INTENT(IN) :: parent_hdl … … 643 715 END SUBROUTINE xios(add_inverseaxistoaxis) 644 716 717 SUBROUTINE xios(add_reducedomaintoaxistoaxis)(parent_hdl, child_hdl, child_id) 718 TYPE(txios(axis)) , INTENT(IN) :: parent_hdl 719 TYPE(txios(reduce_domain_to_axis)) , INTENT(OUT):: child_hdl 720 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 721 722 IF (PRESENT(child_id)) THEN 723 CALL cxios_xml_tree_add_reducedomaintoaxistoaxis(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 724 ELSE 725 CALL cxios_xml_tree_add_reducedomaintoaxistoaxis(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 726 END IF 727 728 END SUBROUTINE xios(add_reducedomaintoaxistoaxis) 729 730 SUBROUTINE xios(add_extractdomaintoaxistoaxis)(parent_hdl, child_hdl, child_id) 731 TYPE(txios(axis)) , INTENT(IN) :: parent_hdl 732 TYPE(txios(extract_domain_to_axis)) , INTENT(OUT):: child_hdl 733 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 734 735 IF (PRESENT(child_id)) THEN 736 CALL cxios_xml_tree_add_extractdomaintoaxistoaxis(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 737 ELSE 738 CALL cxios_xml_tree_add_extractdomaintoaxistoaxis(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 739 END IF 740 741 END SUBROUTINE xios(add_extractdomaintoaxistoaxis) 742 743 !!! SCALAR 645 744 SUBROUTINE xios(add_reduceaxistoscalartoscalar)(parent_hdl, child_hdl, child_id) 646 TYPE(txios( axis)), INTENT(IN) :: parent_hdl745 TYPE(txios(scalar)) , INTENT(IN) :: parent_hdl 647 746 TYPE(txios(reduce_axis_to_scalar)) , INTENT(OUT):: child_hdl 648 747 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id … … 655 754 656 755 END SUBROUTINE xios(add_reduceaxistoscalartoscalar) 756 757 SUBROUTINE xios(add_extractaxistoscalartoscalar)(parent_hdl, child_hdl, child_id) 758 TYPE(txios(scalar)) , INTENT(IN) :: parent_hdl 759 TYPE(txios(extract_axis_to_scalar)) , INTENT(OUT):: child_hdl 760 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 761 762 IF (PRESENT(child_id)) THEN 763 CALL cxios_xml_tree_add_extractaxistoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 764 ELSE 765 CALL cxios_xml_tree_add_extractaxistoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 766 END IF 767 768 END SUBROUTINE xios(add_extractaxistoscalartoscalar) 769 770 SUBROUTINE xios(add_reducedomaintoscalartoscalar)(parent_hdl, child_hdl, child_id) 771 TYPE(txios(scalar)) , INTENT(IN) :: parent_hdl 772 TYPE(txios(reduce_domain_to_scalar)) , INTENT(OUT):: child_hdl 773 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 774 775 IF (PRESENT(child_id)) THEN 776 CALL cxios_xml_tree_add_reducedomaintoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id)) 777 ELSE 778 CALL cxios_xml_tree_add_reducedomaintoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, "NONE", -1) 779 END IF 780 781 END SUBROUTINE xios(add_reducedomaintoscalartoscalar) 782 657 783 END MODULE IXML_TREE
Note: See TracChangeset
for help on using the changeset viewer.