Changeset 657
- Timestamp:
- 07/28/15 13:37:07 (9 years ago)
- Location:
- XIOS/trunk
- Files:
-
- 7 added
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/bld.cfg
r540 r657 31 31 bld::target libxios.a 32 32 #bld::target generate_fortran_interface.exe 33 bld::target xios_server.exe test_client.exe parse_xml.exe test_complete.exe test_xios_interface.exe test_new_features.exe 33 bld::target xios_server.exe test_client.exe parse_xml.exe test_complete.exe test_xios_interface.exe test_new_features.exe test_unstruct_complete.exe 34 34 bld::exe_dep 35 35 -
XIOS/trunk/inputs/Version2/iodef.xml
r633 r657 11 11 <field id="field_Two_Axis" operation="average" freq_op="3600s" grid_ref="grid_Two_Axis" /> 12 12 <field id="field_All_Axis" operation="average" freq_op="3600s" grid_ref="grid_All_Axis" /> 13 <field id="field_Axis_transformed" operation="average" freq_op="3600s" field_ref="field_ Two_Axis" grid_ref="grid_Axis_tranformed" />13 <field id="field_Axis_transformed" operation="average" freq_op="3600s" field_ref="field_A" grid_ref="grid_Axis_tranformed" /> 14 14 <field id="field_Axis_transformed_Interpolated" operation="average" freq_op="3600s" field_ref="field_Axis" grid_ref="grid_Axis_tranformed_Interpolated" /> 15 <field id="field_Domain_transformed_Interpolated" operation="average" freq_op="3600s" field_ref="field_A" grid_ref="grid_Domain_tranformed_Interpolated" /> 15 16 <field id="field_Scalar" operation="average" freq_op="3600s" grid_ref="ScalarGrid" /> 16 17 </field_definition> … … 18 19 <file_definition type="multiple_file" par_access="collective" output_freq="6h" output_level="10" enabled=".TRUE."> 19 20 <file id="output" name="output" type="one_file"> 20 <field field_ref="field_A" />21 <!-- <field field_ref="field_A" />--> 21 22 </file> 22 23 <file id="output_Axis" name="output_Axis" type="one_file"> 23 <field field_ref="field_Axis" />24 <!-- <field field_ref="field_Axis" />--> 24 25 </file> 25 26 <file id="output_All_Axis" name="output_All_Axis" type="one_file"> 26 <field field_ref="field_All_Axis" />27 <!-- <field field_ref="field_All_Axis" />--> 27 28 </file> 28 29 <file id="output_Axis_transformed" name="output_Axis_transformed" type="one_file"> 29 <field field_ref="field_Axis_transformed" />30 <!-- <field field_ref="field_Axis_transformed" />--> 30 31 </file> 31 32 <file id="output_Axis_transformed_interpolated" name="output_Axis_transformed_interpolated"> 32 <field field_ref="field_Axis_transformed_Interpolated" /> 33 <!-- <field field_ref="field_Axis_transformed_Interpolated" />--> 34 </file> 35 <file id="output_Domain_transformed_interpolated" name="output_Domain_transformed_interpolated"> 36 <field field_ref="field_Domain_transformed_Interpolated" /> 33 37 </file> 34 38 <file id="output_Scalar" name="output_Scalar" type="one_file"> … … 54 58 </axis> 55 59 <axis id="axis_H" axis_ref="axis_C"> 56 <inverse_axis />57 <zoom_axis zoom_begin="0" zoom_size="1" />60 <!-- <inverse_axis />--> 61 <!-- <zoom_axis zoom_begin="0" zoom_size="1" />--> 58 62 </axis> 59 63 </axis_definition> … … 62 66 <domain id="domain_A" /> 63 67 <domain id="domain_A_zoom" domain_ref="domain_A"> 64 <zoom_domain zoom_ibegin="1" zoom_ni="3" zoom_jbegin="0" zoom_nj="4"/> 65 <zoom_domain zoom_ibegin="0" zoom_ni="2" zoom_jbegin="0" zoom_nj="2"/> 68 <!-- <zoom_domain zoom_ibegin="1" zoom_ni="3" zoom_jbegin="0" zoom_nj="2"/>--> 69 <zoom_domain zoom_ibegin="39" zoom_ni="20" zoom_jbegin="39" zoom_nj="20"/> 70 <!-- <zoom_domain zoom_ibegin="0" zoom_ni="2" zoom_jbegin="0" zoom_nj="2"/>--> 71 </domain> 72 <domain id="domain_A_transformed" domain_ref="domain_A"> 73 <interpolate_from_file_domain file="" /> 66 74 </domain> 67 75 </domain_definition> … … 87 95 <grid id="grid_Axis_tranformed"> 88 96 <!-- <domain domain_ref="domain_A" />--> 89 <!-- <domain domain_ref="domain_A_zoom" />--> 90 <!-- <axis axis_ref="axis_H" />--> 91 <axis axis_ref="axis_E" /> 92 <axis axis_ref="axis_F" /> 97 <domain domain_ref="domain_A_zoom" /> 98 <axis axis_ref="axis_H" /> 99 <!-- <axis axis_ref="axis_E" />--> 100 <!-- <axis axis_ref="axis_F" />--> 101 </grid> 102 <grid id="grid_Domain_tranformed_Interpolated"> 103 <domain domain_ref="domain_A_transformed" /> 104 <axis axis_ref="axis_H" /> 93 105 </grid> 94 106 <grid id="grid_Axis_tranformed_Interpolated"> -
XIOS/trunk/src/config/domain_attribute.conf
r611 r657 13 13 /* LOCAL */ 14 14 DECLARE_ATTRIBUTE(int , ibegin) 15 DECLARE_ATTRIBUTE(int , iend)16 15 DECLARE_ATTRIBUTE(int , ni) 17 16 18 17 /* LOCAL */ 19 18 DECLARE_ATTRIBUTE(int , jbegin) 20 DECLARE_ATTRIBUTE(int , jend)21 19 DECLARE_ATTRIBUTE(int , nj) 22 20 23 21 24 DECLARE_ARRAY(int, 2, i_index)25 DECLARE_ARRAY(int, 2, j_index)22 DECLARE_ARRAY(int,1 , i_index) 23 DECLARE_ARRAY(int,1 , j_index) 26 24 27 25 /* LOCAL */ 26 DECLARE_ARRAY(bool, 1 , mask_1D) 27 DECLARE_ARRAY(bool, 2 , mask_2D) 28 28 DECLARE_ARRAY(bool, 2 , mask) 29 29 … … 36 36 DECLARE_ATTRIBUTE(int , data_ibegin) 37 37 DECLARE_ATTRIBUTE(int , data_jbegin) 38 39 /* GLOBAL */40 DECLARE_ATTRIBUTE(int , zoom_ni)41 DECLARE_ATTRIBUTE(int , zoom_nj)42 DECLARE_ATTRIBUTE(int , zoom_ibegin)43 DECLARE_ATTRIBUTE(int , zoom_jbegin)44 45 /* LOCAL */46 DECLARE_ATTRIBUTE(int , zoom_ni_loc)47 DECLARE_ATTRIBUTE(int , zoom_nj_loc)48 DECLARE_ATTRIBUTE(int , zoom_ibegin_loc)49 DECLARE_ATTRIBUTE(int , zoom_jbegin_loc)50 38 51 39 /* LOCAL */ … … 62 50 DECLARE_ARRAY(double, 2, area) 63 51 64 DECLARE_ENUM3(type,regular,curvilinear,unstructured) 52 DECLARE_ENUM3(type,regular,curvilinear,unstructured) //rectilinear 65 53 DECLARE_ATTRIBUTE(StdString, domain_ref) 66 54 -
XIOS/trunk/src/config/node_type.conf
r631 r657 47 47 #endif //__XIOS_CZoomDomain__ 48 48 49 #ifdef __XIOS_CInterpolateFromFileDomain__ 50 DECLARE_NODE(InterpolateFromFileDomain, interpolate_from_file_domain) 51 #endif //__XIOS_CInterpolateFromFileDomain__ 52 49 53 #ifdef __XIOS_CContext__ 50 54 DECLARE_NODE_PAR(Context, context) -
XIOS/trunk/src/distribution_client.cpp
r653 r657 85 85 int ni = domList[k]->ni; 86 86 int nj = domList[k]->nj; 87 nIndexDomain_[k][0].resize(ni ,nj);88 nIndexDomain_[k][1].resize(ni ,nj);87 nIndexDomain_[k][0].resize(ni*nj); 88 nIndexDomain_[k][1].resize(ni*nj); 89 89 nIndexDomain_[k][0] = domList[k]->i_index; 90 90 nIndexDomain_[k][1] = domList[k]->j_index; -
XIOS/trunk/src/distribution_client.hpp
r653 r657 89 89 std::vector<int> nZoomBegin_; //!< Begin index of zoom of each dimension 90 90 std::vector<int> nZoomEnd_; //!< End index of zoom of each dimension 91 std::vector<std::vector<CArray<int, 2> > > nIndexDomain_; //!< Local index of each domain dimension (e.x: i_index, j_index)91 std::vector<std::vector<CArray<int,1> > > nIndexDomain_; //!< Local index of each domain dimension (e.x: i_index, j_index) 92 92 std::vector<CArray<int,1> > nIndexAxis_; 93 93 -
XIOS/trunk/src/group_factory_decl.cpp
r631 r657 29 29 macro(CInterpolateAxisGroup) 30 30 macro(CZoomDomainGroup) 31 macro(CInterpolateFromFileDomainGroup) 31 32 } -
XIOS/trunk/src/group_template_decl.cpp
r631 r657 18 18 macro(InterpolateAxis) 19 19 macro(ZoomDomain) 20 macro(InterpolateFromFileDomain) 20 21 21 22 } -
XIOS/trunk/src/interface/c_attr/icdomain_attr.cpp
r611 r657 333 333 334 334 335 void cxios_set_domain_i_index(domain_Ptr domain_hdl, int* i_index, int extent1 , int extent2)336 { 337 CTimer::get("XIOS").resume(); 338 CArray<int, 2> tmp(i_index, shape(extent1, extent2), neverDeleteData);335 void cxios_set_domain_i_index(domain_Ptr domain_hdl, int* i_index, int extent1) 336 { 337 CTimer::get("XIOS").resume(); 338 CArray<int,1> tmp(i_index, shape(extent1), neverDeleteData); 339 339 domain_hdl->i_index.reference(tmp.copy()); 340 340 CTimer::get("XIOS").suspend(); 341 341 } 342 342 343 void cxios_get_domain_i_index(domain_Ptr domain_hdl, int* i_index, int extent1 , int extent2)344 { 345 CTimer::get("XIOS").resume(); 346 CArray<int, 2> tmp(i_index, shape(extent1, extent2), neverDeleteData);343 void cxios_get_domain_i_index(domain_Ptr domain_hdl, int* i_index, int extent1) 344 { 345 CTimer::get("XIOS").resume(); 346 CArray<int,1> tmp(i_index, shape(extent1), neverDeleteData); 347 347 tmp=domain_hdl->i_index.getInheritedValue(); 348 348 CTimer::get("XIOS").suspend(); … … 381 381 382 382 383 void cxios_set_domain_iend(domain_Ptr domain_hdl, int iend) 384 { 385 CTimer::get("XIOS").resume(); 386 domain_hdl->iend.setValue(iend); 387 CTimer::get("XIOS").suspend(); 388 } 389 390 void cxios_get_domain_iend(domain_Ptr domain_hdl, int* iend) 391 { 392 CTimer::get("XIOS").resume(); 393 *iend = domain_hdl->iend.getInheritedValue(); 394 CTimer::get("XIOS").suspend(); 395 } 396 397 bool cxios_is_defined_domain_iend(domain_Ptr domain_hdl) 398 { 399 CTimer::get("XIOS").resume(); 400 bool isDefined = domain_hdl->iend.hasInheritedValue(); 401 CTimer::get("XIOS").suspend(); 402 return isDefined; 403 } 404 405 406 void cxios_set_domain_j_index(domain_Ptr domain_hdl, int* j_index, int extent1, int extent2) 407 { 408 CTimer::get("XIOS").resume(); 409 CArray<int,2> tmp(j_index, shape(extent1, extent2), neverDeleteData); 383 void cxios_set_domain_j_index(domain_Ptr domain_hdl, int* j_index, int extent1) 384 { 385 CTimer::get("XIOS").resume(); 386 CArray<int,1> tmp(j_index, shape(extent1), neverDeleteData); 410 387 domain_hdl->j_index.reference(tmp.copy()); 411 388 CTimer::get("XIOS").suspend(); 412 389 } 413 390 414 void cxios_get_domain_j_index(domain_Ptr domain_hdl, int* j_index, int extent1 , int extent2)415 { 416 CTimer::get("XIOS").resume(); 417 CArray<int, 2> tmp(j_index, shape(extent1, extent2), neverDeleteData);391 void cxios_get_domain_j_index(domain_Ptr domain_hdl, int* j_index, int extent1) 392 { 393 CTimer::get("XIOS").resume(); 394 CArray<int,1> tmp(j_index, shape(extent1), neverDeleteData); 418 395 tmp=domain_hdl->j_index.getInheritedValue(); 419 396 CTimer::get("XIOS").suspend(); … … 447 424 CTimer::get("XIOS").resume(); 448 425 bool isDefined = domain_hdl->jbegin.hasInheritedValue(); 449 CTimer::get("XIOS").suspend();450 return isDefined;451 }452 453 454 void cxios_set_domain_jend(domain_Ptr domain_hdl, int jend)455 {456 CTimer::get("XIOS").resume();457 domain_hdl->jend.setValue(jend);458 CTimer::get("XIOS").suspend();459 }460 461 void cxios_get_domain_jend(domain_Ptr domain_hdl, int* jend)462 {463 CTimer::get("XIOS").resume();464 *jend = domain_hdl->jend.getInheritedValue();465 CTimer::get("XIOS").suspend();466 }467 468 bool cxios_is_defined_domain_jend(domain_Ptr domain_hdl)469 {470 CTimer::get("XIOS").resume();471 bool isDefined = domain_hdl->jend.hasInheritedValue();472 426 CTimer::get("XIOS").suspend(); 473 427 return isDefined; … … 767 721 return isDefined; 768 722 } 769 770 771 void cxios_set_domain_zoom_ibegin(domain_Ptr domain_hdl, int zoom_ibegin)772 {773 CTimer::get("XIOS").resume();774 domain_hdl->zoom_ibegin.setValue(zoom_ibegin);775 CTimer::get("XIOS").suspend();776 }777 778 void cxios_get_domain_zoom_ibegin(domain_Ptr domain_hdl, int* zoom_ibegin)779 {780 CTimer::get("XIOS").resume();781 *zoom_ibegin = domain_hdl->zoom_ibegin.getInheritedValue();782 CTimer::get("XIOS").suspend();783 }784 785 bool cxios_is_defined_domain_zoom_ibegin(domain_Ptr domain_hdl)786 {787 CTimer::get("XIOS").resume();788 bool isDefined = domain_hdl->zoom_ibegin.hasInheritedValue();789 CTimer::get("XIOS").suspend();790 return isDefined;791 }792 793 794 void cxios_set_domain_zoom_ibegin_loc(domain_Ptr domain_hdl, int zoom_ibegin_loc)795 {796 CTimer::get("XIOS").resume();797 domain_hdl->zoom_ibegin_loc.setValue(zoom_ibegin_loc);798 CTimer::get("XIOS").suspend();799 }800 801 void cxios_get_domain_zoom_ibegin_loc(domain_Ptr domain_hdl, int* zoom_ibegin_loc)802 {803 CTimer::get("XIOS").resume();804 *zoom_ibegin_loc = domain_hdl->zoom_ibegin_loc.getInheritedValue();805 CTimer::get("XIOS").suspend();806 }807 808 bool cxios_is_defined_domain_zoom_ibegin_loc(domain_Ptr domain_hdl)809 {810 CTimer::get("XIOS").resume();811 bool isDefined = domain_hdl->zoom_ibegin_loc.hasInheritedValue();812 CTimer::get("XIOS").suspend();813 return isDefined;814 }815 816 817 void cxios_set_domain_zoom_jbegin(domain_Ptr domain_hdl, int zoom_jbegin)818 {819 CTimer::get("XIOS").resume();820 domain_hdl->zoom_jbegin.setValue(zoom_jbegin);821 CTimer::get("XIOS").suspend();822 }823 824 void cxios_get_domain_zoom_jbegin(domain_Ptr domain_hdl, int* zoom_jbegin)825 {826 CTimer::get("XIOS").resume();827 *zoom_jbegin = domain_hdl->zoom_jbegin.getInheritedValue();828 CTimer::get("XIOS").suspend();829 }830 831 bool cxios_is_defined_domain_zoom_jbegin(domain_Ptr domain_hdl)832 {833 CTimer::get("XIOS").resume();834 bool isDefined = domain_hdl->zoom_jbegin.hasInheritedValue();835 CTimer::get("XIOS").suspend();836 return isDefined;837 }838 839 840 void cxios_set_domain_zoom_jbegin_loc(domain_Ptr domain_hdl, int zoom_jbegin_loc)841 {842 CTimer::get("XIOS").resume();843 domain_hdl->zoom_jbegin_loc.setValue(zoom_jbegin_loc);844 CTimer::get("XIOS").suspend();845 }846 847 void cxios_get_domain_zoom_jbegin_loc(domain_Ptr domain_hdl, int* zoom_jbegin_loc)848 {849 CTimer::get("XIOS").resume();850 *zoom_jbegin_loc = domain_hdl->zoom_jbegin_loc.getInheritedValue();851 CTimer::get("XIOS").suspend();852 }853 854 bool cxios_is_defined_domain_zoom_jbegin_loc(domain_Ptr domain_hdl)855 {856 CTimer::get("XIOS").resume();857 bool isDefined = domain_hdl->zoom_jbegin_loc.hasInheritedValue();858 CTimer::get("XIOS").suspend();859 return isDefined;860 }861 862 863 void cxios_set_domain_zoom_ni(domain_Ptr domain_hdl, int zoom_ni)864 {865 CTimer::get("XIOS").resume();866 domain_hdl->zoom_ni.setValue(zoom_ni);867 CTimer::get("XIOS").suspend();868 }869 870 void cxios_get_domain_zoom_ni(domain_Ptr domain_hdl, int* zoom_ni)871 {872 CTimer::get("XIOS").resume();873 *zoom_ni = domain_hdl->zoom_ni.getInheritedValue();874 CTimer::get("XIOS").suspend();875 }876 877 bool cxios_is_defined_domain_zoom_ni(domain_Ptr domain_hdl)878 {879 CTimer::get("XIOS").resume();880 bool isDefined = domain_hdl->zoom_ni.hasInheritedValue();881 CTimer::get("XIOS").suspend();882 return isDefined;883 }884 885 886 void cxios_set_domain_zoom_ni_loc(domain_Ptr domain_hdl, int zoom_ni_loc)887 {888 CTimer::get("XIOS").resume();889 domain_hdl->zoom_ni_loc.setValue(zoom_ni_loc);890 CTimer::get("XIOS").suspend();891 }892 893 void cxios_get_domain_zoom_ni_loc(domain_Ptr domain_hdl, int* zoom_ni_loc)894 {895 CTimer::get("XIOS").resume();896 *zoom_ni_loc = domain_hdl->zoom_ni_loc.getInheritedValue();897 CTimer::get("XIOS").suspend();898 }899 900 bool cxios_is_defined_domain_zoom_ni_loc(domain_Ptr domain_hdl)901 {902 CTimer::get("XIOS").resume();903 bool isDefined = domain_hdl->zoom_ni_loc.hasInheritedValue();904 CTimer::get("XIOS").suspend();905 return isDefined;906 }907 908 909 void cxios_set_domain_zoom_nj(domain_Ptr domain_hdl, int zoom_nj)910 {911 CTimer::get("XIOS").resume();912 domain_hdl->zoom_nj.setValue(zoom_nj);913 CTimer::get("XIOS").suspend();914 }915 916 void cxios_get_domain_zoom_nj(domain_Ptr domain_hdl, int* zoom_nj)917 {918 CTimer::get("XIOS").resume();919 *zoom_nj = domain_hdl->zoom_nj.getInheritedValue();920 CTimer::get("XIOS").suspend();921 }922 923 bool cxios_is_defined_domain_zoom_nj(domain_Ptr domain_hdl)924 {925 CTimer::get("XIOS").resume();926 bool isDefined = domain_hdl->zoom_nj.hasInheritedValue();927 CTimer::get("XIOS").suspend();928 return isDefined;929 }930 931 932 void cxios_set_domain_zoom_nj_loc(domain_Ptr domain_hdl, int zoom_nj_loc)933 {934 CTimer::get("XIOS").resume();935 domain_hdl->zoom_nj_loc.setValue(zoom_nj_loc);936 CTimer::get("XIOS").suspend();937 }938 939 void cxios_get_domain_zoom_nj_loc(domain_Ptr domain_hdl, int* zoom_nj_loc)940 {941 CTimer::get("XIOS").resume();942 *zoom_nj_loc = domain_hdl->zoom_nj_loc.getInheritedValue();943 CTimer::get("XIOS").suspend();944 }945 946 bool cxios_is_defined_domain_zoom_nj_loc(domain_Ptr domain_hdl)947 {948 CTimer::get("XIOS").resume();949 bool isDefined = domain_hdl->zoom_nj_loc.hasInheritedValue();950 CTimer::get("XIOS").suspend();951 return isDefined;952 }953 723 } -
XIOS/trunk/src/interface/c_attr/icdomaingroup_attr.cpp
r611 r657 359 359 360 360 361 void cxios_set_domaingroup_i_index(domaingroup_Ptr domaingroup_hdl, int* i_index, int extent1 , int extent2)362 { 363 CTimer::get("XIOS").resume(); 364 CArray<int, 2> tmp(i_index, shape(extent1, extent2), neverDeleteData);361 void cxios_set_domaingroup_i_index(domaingroup_Ptr domaingroup_hdl, int* i_index, int extent1) 362 { 363 CTimer::get("XIOS").resume(); 364 CArray<int,1> tmp(i_index, shape(extent1), neverDeleteData); 365 365 domaingroup_hdl->i_index.reference(tmp.copy()); 366 366 CTimer::get("XIOS").suspend(); 367 367 } 368 368 369 void cxios_get_domaingroup_i_index(domaingroup_Ptr domaingroup_hdl, int* i_index, int extent1 , int extent2)370 { 371 CTimer::get("XIOS").resume(); 372 CArray<int, 2> tmp(i_index, shape(extent1, extent2), neverDeleteData);369 void cxios_get_domaingroup_i_index(domaingroup_Ptr domaingroup_hdl, int* i_index, int extent1) 370 { 371 CTimer::get("XIOS").resume(); 372 CArray<int,1> tmp(i_index, shape(extent1), neverDeleteData); 373 373 tmp=domaingroup_hdl->i_index.getInheritedValue(); 374 374 CTimer::get("XIOS").suspend(); … … 407 407 408 408 409 void cxios_set_domaingroup_iend(domaingroup_Ptr domaingroup_hdl, int iend) 410 { 411 CTimer::get("XIOS").resume(); 412 domaingroup_hdl->iend.setValue(iend); 413 CTimer::get("XIOS").suspend(); 414 } 415 416 void cxios_get_domaingroup_iend(domaingroup_Ptr domaingroup_hdl, int* iend) 417 { 418 CTimer::get("XIOS").resume(); 419 *iend = domaingroup_hdl->iend.getInheritedValue(); 420 CTimer::get("XIOS").suspend(); 421 } 422 423 bool cxios_is_defined_domaingroup_iend(domaingroup_Ptr domaingroup_hdl) 424 { 425 CTimer::get("XIOS").resume(); 426 bool isDefined = domaingroup_hdl->iend.hasInheritedValue(); 427 CTimer::get("XIOS").suspend(); 428 return isDefined; 429 } 430 431 432 void cxios_set_domaingroup_j_index(domaingroup_Ptr domaingroup_hdl, int* j_index, int extent1, int extent2) 433 { 434 CTimer::get("XIOS").resume(); 435 CArray<int,2> tmp(j_index, shape(extent1, extent2), neverDeleteData); 409 void cxios_set_domaingroup_j_index(domaingroup_Ptr domaingroup_hdl, int* j_index, int extent1) 410 { 411 CTimer::get("XIOS").resume(); 412 CArray<int,1> tmp(j_index, shape(extent1), neverDeleteData); 436 413 domaingroup_hdl->j_index.reference(tmp.copy()); 437 414 CTimer::get("XIOS").suspend(); 438 415 } 439 416 440 void cxios_get_domaingroup_j_index(domaingroup_Ptr domaingroup_hdl, int* j_index, int extent1 , int extent2)441 { 442 CTimer::get("XIOS").resume(); 443 CArray<int, 2> tmp(j_index, shape(extent1, extent2), neverDeleteData);417 void cxios_get_domaingroup_j_index(domaingroup_Ptr domaingroup_hdl, int* j_index, int extent1) 418 { 419 CTimer::get("XIOS").resume(); 420 CArray<int,1> tmp(j_index, shape(extent1), neverDeleteData); 444 421 tmp=domaingroup_hdl->j_index.getInheritedValue(); 445 422 CTimer::get("XIOS").suspend(); … … 473 450 CTimer::get("XIOS").resume(); 474 451 bool isDefined = domaingroup_hdl->jbegin.hasInheritedValue(); 475 CTimer::get("XIOS").suspend();476 return isDefined;477 }478 479 480 void cxios_set_domaingroup_jend(domaingroup_Ptr domaingroup_hdl, int jend)481 {482 CTimer::get("XIOS").resume();483 domaingroup_hdl->jend.setValue(jend);484 CTimer::get("XIOS").suspend();485 }486 487 void cxios_get_domaingroup_jend(domaingroup_Ptr domaingroup_hdl, int* jend)488 {489 CTimer::get("XIOS").resume();490 *jend = domaingroup_hdl->jend.getInheritedValue();491 CTimer::get("XIOS").suspend();492 }493 494 bool cxios_is_defined_domaingroup_jend(domaingroup_Ptr domaingroup_hdl)495 {496 CTimer::get("XIOS").resume();497 bool isDefined = domaingroup_hdl->jend.hasInheritedValue();498 452 CTimer::get("XIOS").suspend(); 499 453 return isDefined; … … 793 747 return isDefined; 794 748 } 795 796 797 void cxios_set_domaingroup_zoom_ibegin(domaingroup_Ptr domaingroup_hdl, int zoom_ibegin)798 {799 CTimer::get("XIOS").resume();800 domaingroup_hdl->zoom_ibegin.setValue(zoom_ibegin);801 CTimer::get("XIOS").suspend();802 }803 804 void cxios_get_domaingroup_zoom_ibegin(domaingroup_Ptr domaingroup_hdl, int* zoom_ibegin)805 {806 CTimer::get("XIOS").resume();807 *zoom_ibegin = domaingroup_hdl->zoom_ibegin.getInheritedValue();808 CTimer::get("XIOS").suspend();809 }810 811 bool cxios_is_defined_domaingroup_zoom_ibegin(domaingroup_Ptr domaingroup_hdl)812 {813 CTimer::get("XIOS").resume();814 bool isDefined = domaingroup_hdl->zoom_ibegin.hasInheritedValue();815 CTimer::get("XIOS").suspend();816 return isDefined;817 }818 819 820 void cxios_set_domaingroup_zoom_ibegin_loc(domaingroup_Ptr domaingroup_hdl, int zoom_ibegin_loc)821 {822 CTimer::get("XIOS").resume();823 domaingroup_hdl->zoom_ibegin_loc.setValue(zoom_ibegin_loc);824 CTimer::get("XIOS").suspend();825 }826 827 void cxios_get_domaingroup_zoom_ibegin_loc(domaingroup_Ptr domaingroup_hdl, int* zoom_ibegin_loc)828 {829 CTimer::get("XIOS").resume();830 *zoom_ibegin_loc = domaingroup_hdl->zoom_ibegin_loc.getInheritedValue();831 CTimer::get("XIOS").suspend();832 }833 834 bool cxios_is_defined_domaingroup_zoom_ibegin_loc(domaingroup_Ptr domaingroup_hdl)835 {836 CTimer::get("XIOS").resume();837 bool isDefined = domaingroup_hdl->zoom_ibegin_loc.hasInheritedValue();838 CTimer::get("XIOS").suspend();839 return isDefined;840 }841 842 843 void cxios_set_domaingroup_zoom_jbegin(domaingroup_Ptr domaingroup_hdl, int zoom_jbegin)844 {845 CTimer::get("XIOS").resume();846 domaingroup_hdl->zoom_jbegin.setValue(zoom_jbegin);847 CTimer::get("XIOS").suspend();848 }849 850 void cxios_get_domaingroup_zoom_jbegin(domaingroup_Ptr domaingroup_hdl, int* zoom_jbegin)851 {852 CTimer::get("XIOS").resume();853 *zoom_jbegin = domaingroup_hdl->zoom_jbegin.getInheritedValue();854 CTimer::get("XIOS").suspend();855 }856 857 bool cxios_is_defined_domaingroup_zoom_jbegin(domaingroup_Ptr domaingroup_hdl)858 {859 CTimer::get("XIOS").resume();860 bool isDefined = domaingroup_hdl->zoom_jbegin.hasInheritedValue();861 CTimer::get("XIOS").suspend();862 return isDefined;863 }864 865 866 void cxios_set_domaingroup_zoom_jbegin_loc(domaingroup_Ptr domaingroup_hdl, int zoom_jbegin_loc)867 {868 CTimer::get("XIOS").resume();869 domaingroup_hdl->zoom_jbegin_loc.setValue(zoom_jbegin_loc);870 CTimer::get("XIOS").suspend();871 }872 873 void cxios_get_domaingroup_zoom_jbegin_loc(domaingroup_Ptr domaingroup_hdl, int* zoom_jbegin_loc)874 {875 CTimer::get("XIOS").resume();876 *zoom_jbegin_loc = domaingroup_hdl->zoom_jbegin_loc.getInheritedValue();877 CTimer::get("XIOS").suspend();878 }879 880 bool cxios_is_defined_domaingroup_zoom_jbegin_loc(domaingroup_Ptr domaingroup_hdl)881 {882 CTimer::get("XIOS").resume();883 bool isDefined = domaingroup_hdl->zoom_jbegin_loc.hasInheritedValue();884 CTimer::get("XIOS").suspend();885 return isDefined;886 }887 888 889 void cxios_set_domaingroup_zoom_ni(domaingroup_Ptr domaingroup_hdl, int zoom_ni)890 {891 CTimer::get("XIOS").resume();892 domaingroup_hdl->zoom_ni.setValue(zoom_ni);893 CTimer::get("XIOS").suspend();894 }895 896 void cxios_get_domaingroup_zoom_ni(domaingroup_Ptr domaingroup_hdl, int* zoom_ni)897 {898 CTimer::get("XIOS").resume();899 *zoom_ni = domaingroup_hdl->zoom_ni.getInheritedValue();900 CTimer::get("XIOS").suspend();901 }902 903 bool cxios_is_defined_domaingroup_zoom_ni(domaingroup_Ptr domaingroup_hdl)904 {905 CTimer::get("XIOS").resume();906 bool isDefined = domaingroup_hdl->zoom_ni.hasInheritedValue();907 CTimer::get("XIOS").suspend();908 return isDefined;909 }910 911 912 void cxios_set_domaingroup_zoom_ni_loc(domaingroup_Ptr domaingroup_hdl, int zoom_ni_loc)913 {914 CTimer::get("XIOS").resume();915 domaingroup_hdl->zoom_ni_loc.setValue(zoom_ni_loc);916 CTimer::get("XIOS").suspend();917 }918 919 void cxios_get_domaingroup_zoom_ni_loc(domaingroup_Ptr domaingroup_hdl, int* zoom_ni_loc)920 {921 CTimer::get("XIOS").resume();922 *zoom_ni_loc = domaingroup_hdl->zoom_ni_loc.getInheritedValue();923 CTimer::get("XIOS").suspend();924 }925 926 bool cxios_is_defined_domaingroup_zoom_ni_loc(domaingroup_Ptr domaingroup_hdl)927 {928 CTimer::get("XIOS").resume();929 bool isDefined = domaingroup_hdl->zoom_ni_loc.hasInheritedValue();930 CTimer::get("XIOS").suspend();931 return isDefined;932 }933 934 935 void cxios_set_domaingroup_zoom_nj(domaingroup_Ptr domaingroup_hdl, int zoom_nj)936 {937 CTimer::get("XIOS").resume();938 domaingroup_hdl->zoom_nj.setValue(zoom_nj);939 CTimer::get("XIOS").suspend();940 }941 942 void cxios_get_domaingroup_zoom_nj(domaingroup_Ptr domaingroup_hdl, int* zoom_nj)943 {944 CTimer::get("XIOS").resume();945 *zoom_nj = domaingroup_hdl->zoom_nj.getInheritedValue();946 CTimer::get("XIOS").suspend();947 }948 949 bool cxios_is_defined_domaingroup_zoom_nj(domaingroup_Ptr domaingroup_hdl)950 {951 CTimer::get("XIOS").resume();952 bool isDefined = domaingroup_hdl->zoom_nj.hasInheritedValue();953 CTimer::get("XIOS").suspend();954 return isDefined;955 }956 957 958 void cxios_set_domaingroup_zoom_nj_loc(domaingroup_Ptr domaingroup_hdl, int zoom_nj_loc)959 {960 CTimer::get("XIOS").resume();961 domaingroup_hdl->zoom_nj_loc.setValue(zoom_nj_loc);962 CTimer::get("XIOS").suspend();963 }964 965 void cxios_get_domaingroup_zoom_nj_loc(domaingroup_Ptr domaingroup_hdl, int* zoom_nj_loc)966 {967 CTimer::get("XIOS").resume();968 *zoom_nj_loc = domaingroup_hdl->zoom_nj_loc.getInheritedValue();969 CTimer::get("XIOS").suspend();970 }971 972 bool cxios_is_defined_domaingroup_zoom_nj_loc(domaingroup_Ptr domaingroup_hdl)973 {974 CTimer::get("XIOS").resume();975 bool isDefined = domaingroup_hdl->zoom_nj_loc.hasInheritedValue();976 CTimer::get("XIOS").suspend();977 return isDefined;978 }979 749 } -
XIOS/trunk/src/interface/fortran_attr/domain_interface_attr.F90
r611 r657 277 277 278 278 279 SUBROUTINE cxios_set_domain_i_index(domain_hdl, i_index, extent1 , extent2) BIND(C)279 SUBROUTINE cxios_set_domain_i_index(domain_hdl, i_index, extent1) BIND(C) 280 280 USE ISO_C_BINDING 281 281 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 282 282 INTEGER (KIND=C_INT) , DIMENSION(*) :: i_index 283 283 INTEGER (kind = C_INT), VALUE :: extent1 284 INTEGER (kind = C_INT), VALUE :: extent2285 284 END SUBROUTINE cxios_set_domain_i_index 286 285 287 SUBROUTINE cxios_get_domain_i_index(domain_hdl, i_index, extent1 , extent2) BIND(C)286 SUBROUTINE cxios_get_domain_i_index(domain_hdl, i_index, extent1) BIND(C) 288 287 USE ISO_C_BINDING 289 288 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 290 289 INTEGER (KIND=C_INT) , DIMENSION(*) :: i_index 291 290 INTEGER (kind = C_INT), VALUE :: extent1 292 INTEGER (kind = C_INT), VALUE :: extent2293 291 END SUBROUTINE cxios_get_domain_i_index 294 292 … … 319 317 320 318 321 SUBROUTINE cxios_set_domain_iend(domain_hdl, iend) BIND(C) 322 USE ISO_C_BINDING 323 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 324 INTEGER (KIND=C_INT) , VALUE :: iend 325 END SUBROUTINE cxios_set_domain_iend 326 327 SUBROUTINE cxios_get_domain_iend(domain_hdl, iend) BIND(C) 328 USE ISO_C_BINDING 329 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 330 INTEGER (KIND=C_INT) :: iend 331 END SUBROUTINE cxios_get_domain_iend 332 333 FUNCTION cxios_is_defined_domain_iend(domain_hdl) BIND(C) 334 USE ISO_C_BINDING 335 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_iend 336 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 337 END FUNCTION cxios_is_defined_domain_iend 338 339 340 SUBROUTINE cxios_set_domain_j_index(domain_hdl, j_index, extent1, extent2) BIND(C) 319 SUBROUTINE cxios_set_domain_j_index(domain_hdl, j_index, extent1) BIND(C) 341 320 USE ISO_C_BINDING 342 321 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 343 322 INTEGER (KIND=C_INT) , DIMENSION(*) :: j_index 344 323 INTEGER (kind = C_INT), VALUE :: extent1 345 INTEGER (kind = C_INT), VALUE :: extent2346 324 END SUBROUTINE cxios_set_domain_j_index 347 325 348 SUBROUTINE cxios_get_domain_j_index(domain_hdl, j_index, extent1 , extent2) BIND(C)326 SUBROUTINE cxios_get_domain_j_index(domain_hdl, j_index, extent1) BIND(C) 349 327 USE ISO_C_BINDING 350 328 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 351 329 INTEGER (KIND=C_INT) , DIMENSION(*) :: j_index 352 330 INTEGER (kind = C_INT), VALUE :: extent1 353 INTEGER (kind = C_INT), VALUE :: extent2354 331 END SUBROUTINE cxios_get_domain_j_index 355 332 … … 378 355 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 379 356 END FUNCTION cxios_is_defined_domain_jbegin 380 381 382 SUBROUTINE cxios_set_domain_jend(domain_hdl, jend) BIND(C)383 USE ISO_C_BINDING384 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl385 INTEGER (KIND=C_INT) , VALUE :: jend386 END SUBROUTINE cxios_set_domain_jend387 388 SUBROUTINE cxios_get_domain_jend(domain_hdl, jend) BIND(C)389 USE ISO_C_BINDING390 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl391 INTEGER (KIND=C_INT) :: jend392 END SUBROUTINE cxios_get_domain_jend393 394 FUNCTION cxios_is_defined_domain_jend(domain_hdl) BIND(C)395 USE ISO_C_BINDING396 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_jend397 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl398 END FUNCTION cxios_is_defined_domain_jend399 357 400 358 … … 642 600 END FUNCTION cxios_is_defined_domain_type 643 601 644 645 SUBROUTINE cxios_set_domain_zoom_ibegin(domain_hdl, zoom_ibegin) BIND(C)646 USE ISO_C_BINDING647 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl648 INTEGER (KIND=C_INT) , VALUE :: zoom_ibegin649 END SUBROUTINE cxios_set_domain_zoom_ibegin650 651 SUBROUTINE cxios_get_domain_zoom_ibegin(domain_hdl, zoom_ibegin) BIND(C)652 USE ISO_C_BINDING653 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl654 INTEGER (KIND=C_INT) :: zoom_ibegin655 END SUBROUTINE cxios_get_domain_zoom_ibegin656 657 FUNCTION cxios_is_defined_domain_zoom_ibegin(domain_hdl) BIND(C)658 USE ISO_C_BINDING659 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_ibegin660 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl661 END FUNCTION cxios_is_defined_domain_zoom_ibegin662 663 664 SUBROUTINE cxios_set_domain_zoom_ibegin_loc(domain_hdl, zoom_ibegin_loc) BIND(C)665 USE ISO_C_BINDING666 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl667 INTEGER (KIND=C_INT) , VALUE :: zoom_ibegin_loc668 END SUBROUTINE cxios_set_domain_zoom_ibegin_loc669 670 SUBROUTINE cxios_get_domain_zoom_ibegin_loc(domain_hdl, zoom_ibegin_loc) BIND(C)671 USE ISO_C_BINDING672 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl673 INTEGER (KIND=C_INT) :: zoom_ibegin_loc674 END SUBROUTINE cxios_get_domain_zoom_ibegin_loc675 676 FUNCTION cxios_is_defined_domain_zoom_ibegin_loc(domain_hdl) BIND(C)677 USE ISO_C_BINDING678 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_ibegin_loc679 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl680 END FUNCTION cxios_is_defined_domain_zoom_ibegin_loc681 682 683 SUBROUTINE cxios_set_domain_zoom_jbegin(domain_hdl, zoom_jbegin) BIND(C)684 USE ISO_C_BINDING685 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl686 INTEGER (KIND=C_INT) , VALUE :: zoom_jbegin687 END SUBROUTINE cxios_set_domain_zoom_jbegin688 689 SUBROUTINE cxios_get_domain_zoom_jbegin(domain_hdl, zoom_jbegin) BIND(C)690 USE ISO_C_BINDING691 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl692 INTEGER (KIND=C_INT) :: zoom_jbegin693 END SUBROUTINE cxios_get_domain_zoom_jbegin694 695 FUNCTION cxios_is_defined_domain_zoom_jbegin(domain_hdl) BIND(C)696 USE ISO_C_BINDING697 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_jbegin698 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl699 END FUNCTION cxios_is_defined_domain_zoom_jbegin700 701 702 SUBROUTINE cxios_set_domain_zoom_jbegin_loc(domain_hdl, zoom_jbegin_loc) BIND(C)703 USE ISO_C_BINDING704 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl705 INTEGER (KIND=C_INT) , VALUE :: zoom_jbegin_loc706 END SUBROUTINE cxios_set_domain_zoom_jbegin_loc707 708 SUBROUTINE cxios_get_domain_zoom_jbegin_loc(domain_hdl, zoom_jbegin_loc) BIND(C)709 USE ISO_C_BINDING710 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl711 INTEGER (KIND=C_INT) :: zoom_jbegin_loc712 END SUBROUTINE cxios_get_domain_zoom_jbegin_loc713 714 FUNCTION cxios_is_defined_domain_zoom_jbegin_loc(domain_hdl) BIND(C)715 USE ISO_C_BINDING716 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_jbegin_loc717 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl718 END FUNCTION cxios_is_defined_domain_zoom_jbegin_loc719 720 721 SUBROUTINE cxios_set_domain_zoom_ni(domain_hdl, zoom_ni) BIND(C)722 USE ISO_C_BINDING723 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl724 INTEGER (KIND=C_INT) , VALUE :: zoom_ni725 END SUBROUTINE cxios_set_domain_zoom_ni726 727 SUBROUTINE cxios_get_domain_zoom_ni(domain_hdl, zoom_ni) BIND(C)728 USE ISO_C_BINDING729 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl730 INTEGER (KIND=C_INT) :: zoom_ni731 END SUBROUTINE cxios_get_domain_zoom_ni732 733 FUNCTION cxios_is_defined_domain_zoom_ni(domain_hdl) BIND(C)734 USE ISO_C_BINDING735 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_ni736 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl737 END FUNCTION cxios_is_defined_domain_zoom_ni738 739 740 SUBROUTINE cxios_set_domain_zoom_ni_loc(domain_hdl, zoom_ni_loc) BIND(C)741 USE ISO_C_BINDING742 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl743 INTEGER (KIND=C_INT) , VALUE :: zoom_ni_loc744 END SUBROUTINE cxios_set_domain_zoom_ni_loc745 746 SUBROUTINE cxios_get_domain_zoom_ni_loc(domain_hdl, zoom_ni_loc) BIND(C)747 USE ISO_C_BINDING748 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl749 INTEGER (KIND=C_INT) :: zoom_ni_loc750 END SUBROUTINE cxios_get_domain_zoom_ni_loc751 752 FUNCTION cxios_is_defined_domain_zoom_ni_loc(domain_hdl) BIND(C)753 USE ISO_C_BINDING754 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_ni_loc755 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl756 END FUNCTION cxios_is_defined_domain_zoom_ni_loc757 758 759 SUBROUTINE cxios_set_domain_zoom_nj(domain_hdl, zoom_nj) BIND(C)760 USE ISO_C_BINDING761 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl762 INTEGER (KIND=C_INT) , VALUE :: zoom_nj763 END SUBROUTINE cxios_set_domain_zoom_nj764 765 SUBROUTINE cxios_get_domain_zoom_nj(domain_hdl, zoom_nj) BIND(C)766 USE ISO_C_BINDING767 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl768 INTEGER (KIND=C_INT) :: zoom_nj769 END SUBROUTINE cxios_get_domain_zoom_nj770 771 FUNCTION cxios_is_defined_domain_zoom_nj(domain_hdl) BIND(C)772 USE ISO_C_BINDING773 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_nj774 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl775 END FUNCTION cxios_is_defined_domain_zoom_nj776 777 778 SUBROUTINE cxios_set_domain_zoom_nj_loc(domain_hdl, zoom_nj_loc) BIND(C)779 USE ISO_C_BINDING780 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl781 INTEGER (KIND=C_INT) , VALUE :: zoom_nj_loc782 END SUBROUTINE cxios_set_domain_zoom_nj_loc783 784 SUBROUTINE cxios_get_domain_zoom_nj_loc(domain_hdl, zoom_nj_loc) BIND(C)785 USE ISO_C_BINDING786 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl787 INTEGER (KIND=C_INT) :: zoom_nj_loc788 END SUBROUTINE cxios_get_domain_zoom_nj_loc789 790 FUNCTION cxios_is_defined_domain_zoom_nj_loc(domain_hdl) BIND(C)791 USE ISO_C_BINDING792 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_zoom_nj_loc793 INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl794 END FUNCTION cxios_is_defined_domain_zoom_nj_loc795 796 602 END INTERFACE 797 603 -
XIOS/trunk/src/interface/fortran_attr/domaingroup_interface_attr.F90
r611 r657 298 298 299 299 300 SUBROUTINE cxios_set_domaingroup_i_index(domaingroup_hdl, i_index, extent1 , extent2) BIND(C)300 SUBROUTINE cxios_set_domaingroup_i_index(domaingroup_hdl, i_index, extent1) BIND(C) 301 301 USE ISO_C_BINDING 302 302 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 303 303 INTEGER (KIND=C_INT) , DIMENSION(*) :: i_index 304 304 INTEGER (kind = C_INT), VALUE :: extent1 305 INTEGER (kind = C_INT), VALUE :: extent2306 305 END SUBROUTINE cxios_set_domaingroup_i_index 307 306 308 SUBROUTINE cxios_get_domaingroup_i_index(domaingroup_hdl, i_index, extent1 , extent2) BIND(C)307 SUBROUTINE cxios_get_domaingroup_i_index(domaingroup_hdl, i_index, extent1) BIND(C) 309 308 USE ISO_C_BINDING 310 309 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 311 310 INTEGER (KIND=C_INT) , DIMENSION(*) :: i_index 312 311 INTEGER (kind = C_INT), VALUE :: extent1 313 INTEGER (kind = C_INT), VALUE :: extent2314 312 END SUBROUTINE cxios_get_domaingroup_i_index 315 313 … … 340 338 341 339 342 SUBROUTINE cxios_set_domaingroup_iend(domaingroup_hdl, iend) BIND(C) 343 USE ISO_C_BINDING 344 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 345 INTEGER (KIND=C_INT) , VALUE :: iend 346 END SUBROUTINE cxios_set_domaingroup_iend 347 348 SUBROUTINE cxios_get_domaingroup_iend(domaingroup_hdl, iend) BIND(C) 349 USE ISO_C_BINDING 350 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 351 INTEGER (KIND=C_INT) :: iend 352 END SUBROUTINE cxios_get_domaingroup_iend 353 354 FUNCTION cxios_is_defined_domaingroup_iend(domaingroup_hdl) BIND(C) 355 USE ISO_C_BINDING 356 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_iend 357 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 358 END FUNCTION cxios_is_defined_domaingroup_iend 359 360 361 SUBROUTINE cxios_set_domaingroup_j_index(domaingroup_hdl, j_index, extent1, extent2) BIND(C) 340 SUBROUTINE cxios_set_domaingroup_j_index(domaingroup_hdl, j_index, extent1) BIND(C) 362 341 USE ISO_C_BINDING 363 342 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 364 343 INTEGER (KIND=C_INT) , DIMENSION(*) :: j_index 365 344 INTEGER (kind = C_INT), VALUE :: extent1 366 INTEGER (kind = C_INT), VALUE :: extent2367 345 END SUBROUTINE cxios_set_domaingroup_j_index 368 346 369 SUBROUTINE cxios_get_domaingroup_j_index(domaingroup_hdl, j_index, extent1 , extent2) BIND(C)347 SUBROUTINE cxios_get_domaingroup_j_index(domaingroup_hdl, j_index, extent1) BIND(C) 370 348 USE ISO_C_BINDING 371 349 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 372 350 INTEGER (KIND=C_INT) , DIMENSION(*) :: j_index 373 351 INTEGER (kind = C_INT), VALUE :: extent1 374 INTEGER (kind = C_INT), VALUE :: extent2375 352 END SUBROUTINE cxios_get_domaingroup_j_index 376 353 … … 399 376 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 400 377 END FUNCTION cxios_is_defined_domaingroup_jbegin 401 402 403 SUBROUTINE cxios_set_domaingroup_jend(domaingroup_hdl, jend) BIND(C)404 USE ISO_C_BINDING405 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl406 INTEGER (KIND=C_INT) , VALUE :: jend407 END SUBROUTINE cxios_set_domaingroup_jend408 409 SUBROUTINE cxios_get_domaingroup_jend(domaingroup_hdl, jend) BIND(C)410 USE ISO_C_BINDING411 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl412 INTEGER (KIND=C_INT) :: jend413 END SUBROUTINE cxios_get_domaingroup_jend414 415 FUNCTION cxios_is_defined_domaingroup_jend(domaingroup_hdl) BIND(C)416 USE ISO_C_BINDING417 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_jend418 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl419 END FUNCTION cxios_is_defined_domaingroup_jend420 378 421 379 … … 663 621 END FUNCTION cxios_is_defined_domaingroup_type 664 622 665 666 SUBROUTINE cxios_set_domaingroup_zoom_ibegin(domaingroup_hdl, zoom_ibegin) BIND(C)667 USE ISO_C_BINDING668 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl669 INTEGER (KIND=C_INT) , VALUE :: zoom_ibegin670 END SUBROUTINE cxios_set_domaingroup_zoom_ibegin671 672 SUBROUTINE cxios_get_domaingroup_zoom_ibegin(domaingroup_hdl, zoom_ibegin) BIND(C)673 USE ISO_C_BINDING674 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl675 INTEGER (KIND=C_INT) :: zoom_ibegin676 END SUBROUTINE cxios_get_domaingroup_zoom_ibegin677 678 FUNCTION cxios_is_defined_domaingroup_zoom_ibegin(domaingroup_hdl) BIND(C)679 USE ISO_C_BINDING680 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_ibegin681 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl682 END FUNCTION cxios_is_defined_domaingroup_zoom_ibegin683 684 685 SUBROUTINE cxios_set_domaingroup_zoom_ibegin_loc(domaingroup_hdl, zoom_ibegin_loc) BIND(C)686 USE ISO_C_BINDING687 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl688 INTEGER (KIND=C_INT) , VALUE :: zoom_ibegin_loc689 END SUBROUTINE cxios_set_domaingroup_zoom_ibegin_loc690 691 SUBROUTINE cxios_get_domaingroup_zoom_ibegin_loc(domaingroup_hdl, zoom_ibegin_loc) BIND(C)692 USE ISO_C_BINDING693 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl694 INTEGER (KIND=C_INT) :: zoom_ibegin_loc695 END SUBROUTINE cxios_get_domaingroup_zoom_ibegin_loc696 697 FUNCTION cxios_is_defined_domaingroup_zoom_ibegin_loc(domaingroup_hdl) BIND(C)698 USE ISO_C_BINDING699 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_ibegin_loc700 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl701 END FUNCTION cxios_is_defined_domaingroup_zoom_ibegin_loc702 703 704 SUBROUTINE cxios_set_domaingroup_zoom_jbegin(domaingroup_hdl, zoom_jbegin) BIND(C)705 USE ISO_C_BINDING706 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl707 INTEGER (KIND=C_INT) , VALUE :: zoom_jbegin708 END SUBROUTINE cxios_set_domaingroup_zoom_jbegin709 710 SUBROUTINE cxios_get_domaingroup_zoom_jbegin(domaingroup_hdl, zoom_jbegin) BIND(C)711 USE ISO_C_BINDING712 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl713 INTEGER (KIND=C_INT) :: zoom_jbegin714 END SUBROUTINE cxios_get_domaingroup_zoom_jbegin715 716 FUNCTION cxios_is_defined_domaingroup_zoom_jbegin(domaingroup_hdl) BIND(C)717 USE ISO_C_BINDING718 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_jbegin719 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl720 END FUNCTION cxios_is_defined_domaingroup_zoom_jbegin721 722 723 SUBROUTINE cxios_set_domaingroup_zoom_jbegin_loc(domaingroup_hdl, zoom_jbegin_loc) BIND(C)724 USE ISO_C_BINDING725 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl726 INTEGER (KIND=C_INT) , VALUE :: zoom_jbegin_loc727 END SUBROUTINE cxios_set_domaingroup_zoom_jbegin_loc728 729 SUBROUTINE cxios_get_domaingroup_zoom_jbegin_loc(domaingroup_hdl, zoom_jbegin_loc) BIND(C)730 USE ISO_C_BINDING731 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl732 INTEGER (KIND=C_INT) :: zoom_jbegin_loc733 END SUBROUTINE cxios_get_domaingroup_zoom_jbegin_loc734 735 FUNCTION cxios_is_defined_domaingroup_zoom_jbegin_loc(domaingroup_hdl) BIND(C)736 USE ISO_C_BINDING737 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_jbegin_loc738 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl739 END FUNCTION cxios_is_defined_domaingroup_zoom_jbegin_loc740 741 742 SUBROUTINE cxios_set_domaingroup_zoom_ni(domaingroup_hdl, zoom_ni) BIND(C)743 USE ISO_C_BINDING744 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl745 INTEGER (KIND=C_INT) , VALUE :: zoom_ni746 END SUBROUTINE cxios_set_domaingroup_zoom_ni747 748 SUBROUTINE cxios_get_domaingroup_zoom_ni(domaingroup_hdl, zoom_ni) BIND(C)749 USE ISO_C_BINDING750 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl751 INTEGER (KIND=C_INT) :: zoom_ni752 END SUBROUTINE cxios_get_domaingroup_zoom_ni753 754 FUNCTION cxios_is_defined_domaingroup_zoom_ni(domaingroup_hdl) BIND(C)755 USE ISO_C_BINDING756 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_ni757 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl758 END FUNCTION cxios_is_defined_domaingroup_zoom_ni759 760 761 SUBROUTINE cxios_set_domaingroup_zoom_ni_loc(domaingroup_hdl, zoom_ni_loc) BIND(C)762 USE ISO_C_BINDING763 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl764 INTEGER (KIND=C_INT) , VALUE :: zoom_ni_loc765 END SUBROUTINE cxios_set_domaingroup_zoom_ni_loc766 767 SUBROUTINE cxios_get_domaingroup_zoom_ni_loc(domaingroup_hdl, zoom_ni_loc) BIND(C)768 USE ISO_C_BINDING769 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl770 INTEGER (KIND=C_INT) :: zoom_ni_loc771 END SUBROUTINE cxios_get_domaingroup_zoom_ni_loc772 773 FUNCTION cxios_is_defined_domaingroup_zoom_ni_loc(domaingroup_hdl) BIND(C)774 USE ISO_C_BINDING775 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_ni_loc776 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl777 END FUNCTION cxios_is_defined_domaingroup_zoom_ni_loc778 779 780 SUBROUTINE cxios_set_domaingroup_zoom_nj(domaingroup_hdl, zoom_nj) BIND(C)781 USE ISO_C_BINDING782 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl783 INTEGER (KIND=C_INT) , VALUE :: zoom_nj784 END SUBROUTINE cxios_set_domaingroup_zoom_nj785 786 SUBROUTINE cxios_get_domaingroup_zoom_nj(domaingroup_hdl, zoom_nj) BIND(C)787 USE ISO_C_BINDING788 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl789 INTEGER (KIND=C_INT) :: zoom_nj790 END SUBROUTINE cxios_get_domaingroup_zoom_nj791 792 FUNCTION cxios_is_defined_domaingroup_zoom_nj(domaingroup_hdl) BIND(C)793 USE ISO_C_BINDING794 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_nj795 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl796 END FUNCTION cxios_is_defined_domaingroup_zoom_nj797 798 799 SUBROUTINE cxios_set_domaingroup_zoom_nj_loc(domaingroup_hdl, zoom_nj_loc) BIND(C)800 USE ISO_C_BINDING801 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl802 INTEGER (KIND=C_INT) , VALUE :: zoom_nj_loc803 END SUBROUTINE cxios_set_domaingroup_zoom_nj_loc804 805 SUBROUTINE cxios_get_domaingroup_zoom_nj_loc(domaingroup_hdl, zoom_nj_loc) BIND(C)806 USE ISO_C_BINDING807 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl808 INTEGER (KIND=C_INT) :: zoom_nj_loc809 END SUBROUTINE cxios_get_domaingroup_zoom_nj_loc810 811 FUNCTION cxios_is_defined_domaingroup_zoom_nj_loc(domaingroup_hdl) BIND(C)812 USE ISO_C_BINDING813 LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_zoom_nj_loc814 INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl815 END FUNCTION cxios_is_defined_domaingroup_zoom_nj_loc816 817 623 END INTERFACE 818 624 -
XIOS/trunk/src/interface/fortran_attr/idomain_attr.F90
r611 r657 14 14 ( domain_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 15 15 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 16 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 17 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 18 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 16 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 17 , standard_name, type ) 19 18 20 19 IMPLICIT NONE … … 34 33 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref 35 34 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 36 INTEGER , OPTIONAL, INTENT(IN) :: i_index(: ,:)35 INTEGER , OPTIONAL, INTENT(IN) :: i_index(:) 37 36 INTEGER , OPTIONAL, INTENT(IN) :: ibegin 38 INTEGER , OPTIONAL, INTENT(IN) :: iend 39 INTEGER , OPTIONAL, INTENT(IN) :: j_index(:,:) 37 INTEGER , OPTIONAL, INTENT(IN) :: j_index(:) 40 38 INTEGER , OPTIONAL, INTENT(IN) :: jbegin 41 INTEGER , OPTIONAL, INTENT(IN) :: jend42 39 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue(:) 43 40 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name … … 53 50 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 54 51 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 55 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin56 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc57 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin58 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc59 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni60 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc61 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj62 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc63 52 64 53 CALL xios(get_domain_handle)(domain_id,domain_hdl) … … 66 55 ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 67 56 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 68 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 69 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 70 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 57 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 58 , standard_name, type ) 71 59 72 60 END SUBROUTINE xios(set_domain_attr) … … 75 63 ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 76 64 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 77 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 78 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 79 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 65 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 66 , standard_name, type ) 80 67 81 68 IMPLICIT NONE … … 94 81 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref 95 82 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 96 INTEGER , OPTIONAL, INTENT(IN) :: i_index(: ,:)83 INTEGER , OPTIONAL, INTENT(IN) :: i_index(:) 97 84 INTEGER , OPTIONAL, INTENT(IN) :: ibegin 98 INTEGER , OPTIONAL, INTENT(IN) :: iend 99 INTEGER , OPTIONAL, INTENT(IN) :: j_index(:,:) 85 INTEGER , OPTIONAL, INTENT(IN) :: j_index(:) 100 86 INTEGER , OPTIONAL, INTENT(IN) :: jbegin 101 INTEGER , OPTIONAL, INTENT(IN) :: jend102 87 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue(:) 103 88 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name … … 113 98 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 114 99 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 115 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin116 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc117 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin118 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc119 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni120 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc121 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj122 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc123 100 124 101 CALL xios(set_domain_attr_hdl_) & 125 102 ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 126 103 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 127 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 128 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 129 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 104 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 105 , standard_name, type ) 130 106 131 107 END SUBROUTINE xios(set_domain_attr_hdl) … … 134 110 ( domain_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_ & 135 111 , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_ & 136 , ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_ & 137 , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_ & 138 , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 112 , ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_ & 113 , nj_glo_, nvertex_, standard_name_, type_ ) 139 114 140 115 IMPLICIT NONE … … 153 128 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref_ 154 129 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 155 INTEGER , OPTIONAL, INTENT(IN) :: i_index_(: ,:)130 INTEGER , OPTIONAL, INTENT(IN) :: i_index_(:) 156 131 INTEGER , OPTIONAL, INTENT(IN) :: ibegin_ 157 INTEGER , OPTIONAL, INTENT(IN) :: iend_ 158 INTEGER , OPTIONAL, INTENT(IN) :: j_index_(:,:) 132 INTEGER , OPTIONAL, INTENT(IN) :: j_index_(:) 159 133 INTEGER , OPTIONAL, INTENT(IN) :: jbegin_ 160 INTEGER , OPTIONAL, INTENT(IN) :: jend_161 134 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_(:) 162 135 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ … … 172 145 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 173 146 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 174 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_175 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_176 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_177 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc_178 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_179 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc_180 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_181 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc_182 147 183 148 IF (PRESENT(area_)) THEN … … 234 199 235 200 IF (PRESENT(i_index_)) THEN 236 CALL cxios_set_domain_i_index(domain_hdl%daddr, i_index_, size(i_index_,1) , size(i_index_,2))201 CALL cxios_set_domain_i_index(domain_hdl%daddr, i_index_, size(i_index_,1)) 237 202 ENDIF 238 203 … … 241 206 ENDIF 242 207 243 IF (PRESENT(iend_)) THEN244 CALL cxios_set_domain_iend(domain_hdl%daddr, iend_)245 ENDIF246 247 208 IF (PRESENT(j_index_)) THEN 248 CALL cxios_set_domain_j_index(domain_hdl%daddr, j_index_, size(j_index_,1) , size(j_index_,2))209 CALL cxios_set_domain_j_index(domain_hdl%daddr, j_index_, size(j_index_,1)) 249 210 ENDIF 250 211 251 212 IF (PRESENT(jbegin_)) THEN 252 213 CALL cxios_set_domain_jbegin(domain_hdl%daddr, jbegin_) 253 ENDIF254 255 IF (PRESENT(jend_)) THEN256 CALL cxios_set_domain_jend(domain_hdl%daddr, jend_)257 214 ENDIF 258 215 … … 307 264 ENDIF 308 265 309 IF (PRESENT(zoom_ibegin_)) THEN310 CALL cxios_set_domain_zoom_ibegin(domain_hdl%daddr, zoom_ibegin_)311 ENDIF312 313 IF (PRESENT(zoom_ibegin_loc_)) THEN314 CALL cxios_set_domain_zoom_ibegin_loc(domain_hdl%daddr, zoom_ibegin_loc_)315 ENDIF316 317 IF (PRESENT(zoom_jbegin_)) THEN318 CALL cxios_set_domain_zoom_jbegin(domain_hdl%daddr, zoom_jbegin_)319 ENDIF320 321 IF (PRESENT(zoom_jbegin_loc_)) THEN322 CALL cxios_set_domain_zoom_jbegin_loc(domain_hdl%daddr, zoom_jbegin_loc_)323 ENDIF324 325 IF (PRESENT(zoom_ni_)) THEN326 CALL cxios_set_domain_zoom_ni(domain_hdl%daddr, zoom_ni_)327 ENDIF328 329 IF (PRESENT(zoom_ni_loc_)) THEN330 CALL cxios_set_domain_zoom_ni_loc(domain_hdl%daddr, zoom_ni_loc_)331 ENDIF332 333 IF (PRESENT(zoom_nj_)) THEN334 CALL cxios_set_domain_zoom_nj(domain_hdl%daddr, zoom_nj_)335 ENDIF336 337 IF (PRESENT(zoom_nj_loc_)) THEN338 CALL cxios_set_domain_zoom_nj_loc(domain_hdl%daddr, zoom_nj_loc_)339 ENDIF340 341 266 END SUBROUTINE xios(set_domain_attr_hdl_) 342 267 … … 344 269 ( domain_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 345 270 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 346 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 347 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 348 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 271 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 272 , standard_name, type ) 349 273 350 274 IMPLICIT NONE … … 364 288 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref 365 289 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 366 INTEGER , OPTIONAL, INTENT(OUT) :: i_index(: ,:)290 INTEGER , OPTIONAL, INTENT(OUT) :: i_index(:) 367 291 INTEGER , OPTIONAL, INTENT(OUT) :: ibegin 368 INTEGER , OPTIONAL, INTENT(OUT) :: iend 369 INTEGER , OPTIONAL, INTENT(OUT) :: j_index(:,:) 292 INTEGER , OPTIONAL, INTENT(OUT) :: j_index(:) 370 293 INTEGER , OPTIONAL, INTENT(OUT) :: jbegin 371 INTEGER , OPTIONAL, INTENT(OUT) :: jend372 294 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue(:) 373 295 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name … … 383 305 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 384 306 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 385 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin386 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc387 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin388 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc389 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni390 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni_loc391 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj392 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj_loc393 307 394 308 CALL xios(get_domain_handle)(domain_id,domain_hdl) … … 396 310 ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 397 311 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 398 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 399 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 400 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 312 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 313 , standard_name, type ) 401 314 402 315 END SUBROUTINE xios(get_domain_attr) … … 405 318 ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 406 319 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 407 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 408 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 409 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 320 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 321 , standard_name, type ) 410 322 411 323 IMPLICIT NONE … … 424 336 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref 425 337 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 426 INTEGER , OPTIONAL, INTENT(OUT) :: i_index(: ,:)338 INTEGER , OPTIONAL, INTENT(OUT) :: i_index(:) 427 339 INTEGER , OPTIONAL, INTENT(OUT) :: ibegin 428 INTEGER , OPTIONAL, INTENT(OUT) :: iend 429 INTEGER , OPTIONAL, INTENT(OUT) :: j_index(:,:) 340 INTEGER , OPTIONAL, INTENT(OUT) :: j_index(:) 430 341 INTEGER , OPTIONAL, INTENT(OUT) :: jbegin 431 INTEGER , OPTIONAL, INTENT(OUT) :: jend432 342 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue(:) 433 343 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name … … 443 353 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 444 354 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 445 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin446 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc447 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin448 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc449 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni450 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni_loc451 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj452 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj_loc453 355 454 356 CALL xios(get_domain_attr_hdl_) & 455 357 ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 456 358 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 457 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 458 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 459 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 359 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 360 , standard_name, type ) 460 361 461 362 END SUBROUTINE xios(get_domain_attr_hdl) … … 464 365 ( domain_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_ & 465 366 , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_ & 466 , ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_ & 467 , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_ & 468 , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 367 , ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_ & 368 , nj_glo_, nvertex_, standard_name_, type_ ) 469 369 470 370 IMPLICIT NONE … … 483 383 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref_ 484 384 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 485 INTEGER , OPTIONAL, INTENT(OUT) :: i_index_(: ,:)385 INTEGER , OPTIONAL, INTENT(OUT) :: i_index_(:) 486 386 INTEGER , OPTIONAL, INTENT(OUT) :: ibegin_ 487 INTEGER , OPTIONAL, INTENT(OUT) :: iend_ 488 INTEGER , OPTIONAL, INTENT(OUT) :: j_index_(:,:) 387 INTEGER , OPTIONAL, INTENT(OUT) :: j_index_(:) 489 388 INTEGER , OPTIONAL, INTENT(OUT) :: jbegin_ 490 INTEGER , OPTIONAL, INTENT(OUT) :: jend_491 389 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_(:) 492 390 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ … … 502 400 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 503 401 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 504 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin_505 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc_506 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin_507 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc_508 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni_509 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni_loc_510 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj_511 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj_loc_512 402 513 403 IF (PRESENT(area_)) THEN … … 564 454 565 455 IF (PRESENT(i_index_)) THEN 566 CALL cxios_get_domain_i_index(domain_hdl%daddr, i_index_, size(i_index_,1) , size(i_index_,2))456 CALL cxios_get_domain_i_index(domain_hdl%daddr, i_index_, size(i_index_,1)) 567 457 ENDIF 568 458 … … 571 461 ENDIF 572 462 573 IF (PRESENT(iend_)) THEN574 CALL cxios_get_domain_iend(domain_hdl%daddr, iend_)575 ENDIF576 577 463 IF (PRESENT(j_index_)) THEN 578 CALL cxios_get_domain_j_index(domain_hdl%daddr, j_index_, size(j_index_,1) , size(j_index_,2))464 CALL cxios_get_domain_j_index(domain_hdl%daddr, j_index_, size(j_index_,1)) 579 465 ENDIF 580 466 581 467 IF (PRESENT(jbegin_)) THEN 582 468 CALL cxios_get_domain_jbegin(domain_hdl%daddr, jbegin_) 583 ENDIF584 585 IF (PRESENT(jend_)) THEN586 CALL cxios_get_domain_jend(domain_hdl%daddr, jend_)587 469 ENDIF 588 470 … … 637 519 ENDIF 638 520 639 IF (PRESENT(zoom_ibegin_)) THEN640 CALL cxios_get_domain_zoom_ibegin(domain_hdl%daddr, zoom_ibegin_)641 ENDIF642 643 IF (PRESENT(zoom_ibegin_loc_)) THEN644 CALL cxios_get_domain_zoom_ibegin_loc(domain_hdl%daddr, zoom_ibegin_loc_)645 ENDIF646 647 IF (PRESENT(zoom_jbegin_)) THEN648 CALL cxios_get_domain_zoom_jbegin(domain_hdl%daddr, zoom_jbegin_)649 ENDIF650 651 IF (PRESENT(zoom_jbegin_loc_)) THEN652 CALL cxios_get_domain_zoom_jbegin_loc(domain_hdl%daddr, zoom_jbegin_loc_)653 ENDIF654 655 IF (PRESENT(zoom_ni_)) THEN656 CALL cxios_get_domain_zoom_ni(domain_hdl%daddr, zoom_ni_)657 ENDIF658 659 IF (PRESENT(zoom_ni_loc_)) THEN660 CALL cxios_get_domain_zoom_ni_loc(domain_hdl%daddr, zoom_ni_loc_)661 ENDIF662 663 IF (PRESENT(zoom_nj_)) THEN664 CALL cxios_get_domain_zoom_nj(domain_hdl%daddr, zoom_nj_)665 ENDIF666 667 IF (PRESENT(zoom_nj_loc_)) THEN668 CALL cxios_get_domain_zoom_nj_loc(domain_hdl%daddr, zoom_nj_loc_)669 ENDIF670 671 521 END SUBROUTINE xios(get_domain_attr_hdl_) 672 522 … … 674 524 ( domain_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 675 525 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 676 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 677 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 678 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 526 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 527 , standard_name, type ) 679 528 680 529 IMPLICIT NONE … … 711 560 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin 712 561 LOGICAL(KIND=C_BOOL) :: ibegin_tmp 713 LOGICAL, OPTIONAL, INTENT(OUT) :: iend714 LOGICAL(KIND=C_BOOL) :: iend_tmp715 562 LOGICAL, OPTIONAL, INTENT(OUT) :: j_index 716 563 LOGICAL(KIND=C_BOOL) :: j_index_tmp 717 564 LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 718 565 LOGICAL(KIND=C_BOOL) :: jbegin_tmp 719 LOGICAL, OPTIONAL, INTENT(OUT) :: jend720 LOGICAL(KIND=C_BOOL) :: jend_tmp721 566 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue 722 567 LOGICAL(KIND=C_BOOL) :: latvalue_tmp … … 743 588 LOGICAL, OPTIONAL, INTENT(OUT) :: type 744 589 LOGICAL(KIND=C_BOOL) :: type_tmp 745 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin746 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_tmp747 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc748 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_loc_tmp749 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin750 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_tmp751 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc752 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_loc_tmp753 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni754 LOGICAL(KIND=C_BOOL) :: zoom_ni_tmp755 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni_loc756 LOGICAL(KIND=C_BOOL) :: zoom_ni_loc_tmp757 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj758 LOGICAL(KIND=C_BOOL) :: zoom_nj_tmp759 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj_loc760 LOGICAL(KIND=C_BOOL) :: zoom_nj_loc_tmp761 590 762 591 CALL xios(get_domain_handle)(domain_id,domain_hdl) … … 764 593 ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 765 594 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 766 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 767 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 768 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 595 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 596 , standard_name, type ) 769 597 770 598 END SUBROUTINE xios(is_defined_domain_attr) … … 773 601 ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 774 602 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 775 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 776 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 777 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 603 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 604 , standard_name, type ) 778 605 779 606 IMPLICIT NONE … … 809 636 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin 810 637 LOGICAL(KIND=C_BOOL) :: ibegin_tmp 811 LOGICAL, OPTIONAL, INTENT(OUT) :: iend812 LOGICAL(KIND=C_BOOL) :: iend_tmp813 638 LOGICAL, OPTIONAL, INTENT(OUT) :: j_index 814 639 LOGICAL(KIND=C_BOOL) :: j_index_tmp 815 640 LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 816 641 LOGICAL(KIND=C_BOOL) :: jbegin_tmp 817 LOGICAL, OPTIONAL, INTENT(OUT) :: jend818 LOGICAL(KIND=C_BOOL) :: jend_tmp819 642 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue 820 643 LOGICAL(KIND=C_BOOL) :: latvalue_tmp … … 841 664 LOGICAL, OPTIONAL, INTENT(OUT) :: type 842 665 LOGICAL(KIND=C_BOOL) :: type_tmp 843 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin844 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_tmp845 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc846 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_loc_tmp847 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin848 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_tmp849 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc850 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_loc_tmp851 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni852 LOGICAL(KIND=C_BOOL) :: zoom_ni_tmp853 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni_loc854 LOGICAL(KIND=C_BOOL) :: zoom_ni_loc_tmp855 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj856 LOGICAL(KIND=C_BOOL) :: zoom_nj_tmp857 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj_loc858 LOGICAL(KIND=C_BOOL) :: zoom_nj_loc_tmp859 666 860 667 CALL xios(is_defined_domain_attr_hdl_) & 861 668 ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 862 669 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin & 863 , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 864 , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni & 865 , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 670 , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex & 671 , standard_name, type ) 866 672 867 673 END SUBROUTINE xios(is_defined_domain_attr_hdl) … … 870 676 ( domain_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_ & 871 677 , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_ & 872 , ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_ & 873 , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_ & 874 , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 678 , ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_ & 679 , nj_glo_, nvertex_, standard_name_, type_ ) 875 680 876 681 IMPLICIT NONE … … 906 711 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin_ 907 712 LOGICAL(KIND=C_BOOL) :: ibegin__tmp 908 LOGICAL, OPTIONAL, INTENT(OUT) :: iend_909 LOGICAL(KIND=C_BOOL) :: iend__tmp910 713 LOGICAL, OPTIONAL, INTENT(OUT) :: j_index_ 911 714 LOGICAL(KIND=C_BOOL) :: j_index__tmp 912 715 LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin_ 913 716 LOGICAL(KIND=C_BOOL) :: jbegin__tmp 914 LOGICAL, OPTIONAL, INTENT(OUT) :: jend_915 LOGICAL(KIND=C_BOOL) :: jend__tmp916 717 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_ 917 718 LOGICAL(KIND=C_BOOL) :: latvalue__tmp … … 938 739 LOGICAL, OPTIONAL, INTENT(OUT) :: type_ 939 740 LOGICAL(KIND=C_BOOL) :: type__tmp 940 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_941 LOGICAL(KIND=C_BOOL) :: zoom_ibegin__tmp942 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc_943 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_loc__tmp944 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin_945 LOGICAL(KIND=C_BOOL) :: zoom_jbegin__tmp946 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc_947 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_loc__tmp948 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni_949 LOGICAL(KIND=C_BOOL) :: zoom_ni__tmp950 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni_loc_951 LOGICAL(KIND=C_BOOL) :: zoom_ni_loc__tmp952 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj_953 LOGICAL(KIND=C_BOOL) :: zoom_nj__tmp954 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj_loc_955 LOGICAL(KIND=C_BOOL) :: zoom_nj_loc__tmp956 741 957 742 IF (PRESENT(area_)) THEN … … 1030 815 ENDIF 1031 816 1032 IF (PRESENT(iend_)) THEN1033 iend__tmp = cxios_is_defined_domain_iend(domain_hdl%daddr)1034 iend_ = iend__tmp1035 ENDIF1036 1037 817 IF (PRESENT(j_index_)) THEN 1038 818 j_index__tmp = cxios_is_defined_domain_j_index(domain_hdl%daddr) … … 1045 825 ENDIF 1046 826 1047 IF (PRESENT(jend_)) THEN1048 jend__tmp = cxios_is_defined_domain_jend(domain_hdl%daddr)1049 jend_ = jend__tmp1050 ENDIF1051 1052 827 IF (PRESENT(latvalue_)) THEN 1053 828 latvalue__tmp = cxios_is_defined_domain_latvalue(domain_hdl%daddr) … … 1110 885 ENDIF 1111 886 1112 IF (PRESENT(zoom_ibegin_)) THEN1113 zoom_ibegin__tmp = cxios_is_defined_domain_zoom_ibegin(domain_hdl%daddr)1114 zoom_ibegin_ = zoom_ibegin__tmp1115 ENDIF1116 1117 IF (PRESENT(zoom_ibegin_loc_)) THEN1118 zoom_ibegin_loc__tmp = cxios_is_defined_domain_zoom_ibegin_loc(domain_hdl%daddr)1119 zoom_ibegin_loc_ = zoom_ibegin_loc__tmp1120 ENDIF1121 1122 IF (PRESENT(zoom_jbegin_)) THEN1123 zoom_jbegin__tmp = cxios_is_defined_domain_zoom_jbegin(domain_hdl%daddr)1124 zoom_jbegin_ = zoom_jbegin__tmp1125 ENDIF1126 1127 IF (PRESENT(zoom_jbegin_loc_)) THEN1128 zoom_jbegin_loc__tmp = cxios_is_defined_domain_zoom_jbegin_loc(domain_hdl%daddr)1129 zoom_jbegin_loc_ = zoom_jbegin_loc__tmp1130 ENDIF1131 1132 IF (PRESENT(zoom_ni_)) THEN1133 zoom_ni__tmp = cxios_is_defined_domain_zoom_ni(domain_hdl%daddr)1134 zoom_ni_ = zoom_ni__tmp1135 ENDIF1136 1137 IF (PRESENT(zoom_ni_loc_)) THEN1138 zoom_ni_loc__tmp = cxios_is_defined_domain_zoom_ni_loc(domain_hdl%daddr)1139 zoom_ni_loc_ = zoom_ni_loc__tmp1140 ENDIF1141 1142 IF (PRESENT(zoom_nj_)) THEN1143 zoom_nj__tmp = cxios_is_defined_domain_zoom_nj(domain_hdl%daddr)1144 zoom_nj_ = zoom_nj__tmp1145 ENDIF1146 1147 IF (PRESENT(zoom_nj_loc_)) THEN1148 zoom_nj_loc__tmp = cxios_is_defined_domain_zoom_nj_loc(domain_hdl%daddr)1149 zoom_nj_loc_ = zoom_nj_loc__tmp1150 ENDIF1151 1152 887 END SUBROUTINE xios(is_defined_domain_attr_hdl_) 1153 888 -
XIOS/trunk/src/interface/fortran_attr/idomaingroup_attr.F90
r611 r657 14 14 ( domaingroup_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 15 15 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 16 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 17 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 18 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 16 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 17 , nvertex, standard_name, type ) 19 18 20 19 IMPLICIT NONE … … 35 34 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 36 35 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 37 INTEGER , OPTIONAL, INTENT(IN) :: i_index(: ,:)36 INTEGER , OPTIONAL, INTENT(IN) :: i_index(:) 38 37 INTEGER , OPTIONAL, INTENT(IN) :: ibegin 39 INTEGER , OPTIONAL, INTENT(IN) :: iend 40 INTEGER , OPTIONAL, INTENT(IN) :: j_index(:,:) 38 INTEGER , OPTIONAL, INTENT(IN) :: j_index(:) 41 39 INTEGER , OPTIONAL, INTENT(IN) :: jbegin 42 INTEGER , OPTIONAL, INTENT(IN) :: jend43 40 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue(:) 44 41 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name … … 54 51 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 55 52 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 56 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin57 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc58 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin59 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc60 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni61 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc62 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj63 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc64 53 65 54 CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) … … 67 56 ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 68 57 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 69 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 70 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 71 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 58 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 59 , nvertex, standard_name, type ) 72 60 73 61 END SUBROUTINE xios(set_domaingroup_attr) … … 76 64 ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 77 65 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 78 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 79 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 80 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 66 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 67 , nvertex, standard_name, type ) 81 68 82 69 IMPLICIT NONE … … 96 83 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 97 84 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 98 INTEGER , OPTIONAL, INTENT(IN) :: i_index(: ,:)85 INTEGER , OPTIONAL, INTENT(IN) :: i_index(:) 99 86 INTEGER , OPTIONAL, INTENT(IN) :: ibegin 100 INTEGER , OPTIONAL, INTENT(IN) :: iend 101 INTEGER , OPTIONAL, INTENT(IN) :: j_index(:,:) 87 INTEGER , OPTIONAL, INTENT(IN) :: j_index(:) 102 88 INTEGER , OPTIONAL, INTENT(IN) :: jbegin 103 INTEGER , OPTIONAL, INTENT(IN) :: jend104 89 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue(:) 105 90 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name … … 115 100 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 116 101 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 117 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin118 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc119 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin120 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc121 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni122 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc123 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj124 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc125 102 126 103 CALL xios(set_domaingroup_attr_hdl_) & 127 104 ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 128 105 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 129 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 130 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 131 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 106 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 107 , nvertex, standard_name, type ) 132 108 133 109 END SUBROUTINE xios(set_domaingroup_attr_hdl) … … 136 112 ( domaingroup_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_ & 137 113 , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_ & 138 , i_index_, ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_ & 139 , name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_ & 140 , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 114 , i_index_, ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_ & 115 , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_ ) 141 116 142 117 IMPLICIT NONE … … 156 131 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 157 132 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 158 INTEGER , OPTIONAL, INTENT(IN) :: i_index_(: ,:)133 INTEGER , OPTIONAL, INTENT(IN) :: i_index_(:) 159 134 INTEGER , OPTIONAL, INTENT(IN) :: ibegin_ 160 INTEGER , OPTIONAL, INTENT(IN) :: iend_ 161 INTEGER , OPTIONAL, INTENT(IN) :: j_index_(:,:) 135 INTEGER , OPTIONAL, INTENT(IN) :: j_index_(:) 162 136 INTEGER , OPTIONAL, INTENT(IN) :: jbegin_ 163 INTEGER , OPTIONAL, INTENT(IN) :: jend_164 137 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_(:) 165 138 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ … … 175 148 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 176 149 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 177 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_178 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_179 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_180 INTEGER , OPTIONAL, INTENT(IN) :: zoom_jbegin_loc_181 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_182 INTEGER , OPTIONAL, INTENT(IN) :: zoom_ni_loc_183 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_184 INTEGER , OPTIONAL, INTENT(IN) :: zoom_nj_loc_185 150 186 151 IF (PRESENT(area_)) THEN … … 241 206 242 207 IF (PRESENT(i_index_)) THEN 243 CALL cxios_set_domaingroup_i_index(domaingroup_hdl%daddr, i_index_, size(i_index_,1) , size(i_index_,2))208 CALL cxios_set_domaingroup_i_index(domaingroup_hdl%daddr, i_index_, size(i_index_,1)) 244 209 ENDIF 245 210 … … 248 213 ENDIF 249 214 250 IF (PRESENT(iend_)) THEN251 CALL cxios_set_domaingroup_iend(domaingroup_hdl%daddr, iend_)252 ENDIF253 254 215 IF (PRESENT(j_index_)) THEN 255 CALL cxios_set_domaingroup_j_index(domaingroup_hdl%daddr, j_index_, size(j_index_,1) , size(j_index_,2))216 CALL cxios_set_domaingroup_j_index(domaingroup_hdl%daddr, j_index_, size(j_index_,1)) 256 217 ENDIF 257 218 258 219 IF (PRESENT(jbegin_)) THEN 259 220 CALL cxios_set_domaingroup_jbegin(domaingroup_hdl%daddr, jbegin_) 260 ENDIF261 262 IF (PRESENT(jend_)) THEN263 CALL cxios_set_domaingroup_jend(domaingroup_hdl%daddr, jend_)264 221 ENDIF 265 222 … … 314 271 ENDIF 315 272 316 IF (PRESENT(zoom_ibegin_)) THEN317 CALL cxios_set_domaingroup_zoom_ibegin(domaingroup_hdl%daddr, zoom_ibegin_)318 ENDIF319 320 IF (PRESENT(zoom_ibegin_loc_)) THEN321 CALL cxios_set_domaingroup_zoom_ibegin_loc(domaingroup_hdl%daddr, zoom_ibegin_loc_)322 ENDIF323 324 IF (PRESENT(zoom_jbegin_)) THEN325 CALL cxios_set_domaingroup_zoom_jbegin(domaingroup_hdl%daddr, zoom_jbegin_)326 ENDIF327 328 IF (PRESENT(zoom_jbegin_loc_)) THEN329 CALL cxios_set_domaingroup_zoom_jbegin_loc(domaingroup_hdl%daddr, zoom_jbegin_loc_)330 ENDIF331 332 IF (PRESENT(zoom_ni_)) THEN333 CALL cxios_set_domaingroup_zoom_ni(domaingroup_hdl%daddr, zoom_ni_)334 ENDIF335 336 IF (PRESENT(zoom_ni_loc_)) THEN337 CALL cxios_set_domaingroup_zoom_ni_loc(domaingroup_hdl%daddr, zoom_ni_loc_)338 ENDIF339 340 IF (PRESENT(zoom_nj_)) THEN341 CALL cxios_set_domaingroup_zoom_nj(domaingroup_hdl%daddr, zoom_nj_)342 ENDIF343 344 IF (PRESENT(zoom_nj_loc_)) THEN345 CALL cxios_set_domaingroup_zoom_nj_loc(domaingroup_hdl%daddr, zoom_nj_loc_)346 ENDIF347 348 273 END SUBROUTINE xios(set_domaingroup_attr_hdl_) 349 274 … … 351 276 ( domaingroup_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 352 277 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 353 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 354 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 355 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 278 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 279 , nvertex, standard_name, type ) 356 280 357 281 IMPLICIT NONE … … 372 296 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 373 297 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 374 INTEGER , OPTIONAL, INTENT(OUT) :: i_index(: ,:)298 INTEGER , OPTIONAL, INTENT(OUT) :: i_index(:) 375 299 INTEGER , OPTIONAL, INTENT(OUT) :: ibegin 376 INTEGER , OPTIONAL, INTENT(OUT) :: iend 377 INTEGER , OPTIONAL, INTENT(OUT) :: j_index(:,:) 300 INTEGER , OPTIONAL, INTENT(OUT) :: j_index(:) 378 301 INTEGER , OPTIONAL, INTENT(OUT) :: jbegin 379 INTEGER , OPTIONAL, INTENT(OUT) :: jend380 302 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue(:) 381 303 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name … … 391 313 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 392 314 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 393 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin394 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc395 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin396 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc397 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni398 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni_loc399 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj400 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj_loc401 315 402 316 CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) … … 404 318 ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 405 319 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 406 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 407 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 408 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 320 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 321 , nvertex, standard_name, type ) 409 322 410 323 END SUBROUTINE xios(get_domaingroup_attr) … … 413 326 ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 414 327 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 415 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 416 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 417 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 328 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 329 , nvertex, standard_name, type ) 418 330 419 331 IMPLICIT NONE … … 433 345 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 434 346 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 435 INTEGER , OPTIONAL, INTENT(OUT) :: i_index(: ,:)347 INTEGER , OPTIONAL, INTENT(OUT) :: i_index(:) 436 348 INTEGER , OPTIONAL, INTENT(OUT) :: ibegin 437 INTEGER , OPTIONAL, INTENT(OUT) :: iend 438 INTEGER , OPTIONAL, INTENT(OUT) :: j_index(:,:) 349 INTEGER , OPTIONAL, INTENT(OUT) :: j_index(:) 439 350 INTEGER , OPTIONAL, INTENT(OUT) :: jbegin 440 INTEGER , OPTIONAL, INTENT(OUT) :: jend441 351 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue(:) 442 352 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name … … 452 362 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 453 363 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 454 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin455 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc456 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin457 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc458 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni459 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni_loc460 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj461 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj_loc462 364 463 365 CALL xios(get_domaingroup_attr_hdl_) & 464 366 ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 465 367 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 466 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 467 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 468 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 368 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 369 , nvertex, standard_name, type ) 469 370 470 371 END SUBROUTINE xios(get_domaingroup_attr_hdl) … … 473 374 ( domaingroup_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_ & 474 375 , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_ & 475 , i_index_, ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_ & 476 , name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_ & 477 , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 376 , i_index_, ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_ & 377 , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_ ) 478 378 479 379 IMPLICIT NONE … … 493 393 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 494 394 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 495 INTEGER , OPTIONAL, INTENT(OUT) :: i_index_(: ,:)395 INTEGER , OPTIONAL, INTENT(OUT) :: i_index_(:) 496 396 INTEGER , OPTIONAL, INTENT(OUT) :: ibegin_ 497 INTEGER , OPTIONAL, INTENT(OUT) :: iend_ 498 INTEGER , OPTIONAL, INTENT(OUT) :: j_index_(:,:) 397 INTEGER , OPTIONAL, INTENT(OUT) :: j_index_(:) 499 398 INTEGER , OPTIONAL, INTENT(OUT) :: jbegin_ 500 INTEGER , OPTIONAL, INTENT(OUT) :: jend_501 399 REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_(:) 502 400 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ … … 512 410 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 513 411 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 514 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin_515 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc_516 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin_517 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc_518 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni_519 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_ni_loc_520 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj_521 INTEGER , OPTIONAL, INTENT(OUT) :: zoom_nj_loc_522 412 523 413 IF (PRESENT(area_)) THEN … … 578 468 579 469 IF (PRESENT(i_index_)) THEN 580 CALL cxios_get_domaingroup_i_index(domaingroup_hdl%daddr, i_index_, size(i_index_,1) , size(i_index_,2))470 CALL cxios_get_domaingroup_i_index(domaingroup_hdl%daddr, i_index_, size(i_index_,1)) 581 471 ENDIF 582 472 … … 585 475 ENDIF 586 476 587 IF (PRESENT(iend_)) THEN588 CALL cxios_get_domaingroup_iend(domaingroup_hdl%daddr, iend_)589 ENDIF590 591 477 IF (PRESENT(j_index_)) THEN 592 CALL cxios_get_domaingroup_j_index(domaingroup_hdl%daddr, j_index_, size(j_index_,1) , size(j_index_,2))478 CALL cxios_get_domaingroup_j_index(domaingroup_hdl%daddr, j_index_, size(j_index_,1)) 593 479 ENDIF 594 480 595 481 IF (PRESENT(jbegin_)) THEN 596 482 CALL cxios_get_domaingroup_jbegin(domaingroup_hdl%daddr, jbegin_) 597 ENDIF598 599 IF (PRESENT(jend_)) THEN600 CALL cxios_get_domaingroup_jend(domaingroup_hdl%daddr, jend_)601 483 ENDIF 602 484 … … 651 533 ENDIF 652 534 653 IF (PRESENT(zoom_ibegin_)) THEN654 CALL cxios_get_domaingroup_zoom_ibegin(domaingroup_hdl%daddr, zoom_ibegin_)655 ENDIF656 657 IF (PRESENT(zoom_ibegin_loc_)) THEN658 CALL cxios_get_domaingroup_zoom_ibegin_loc(domaingroup_hdl%daddr, zoom_ibegin_loc_)659 ENDIF660 661 IF (PRESENT(zoom_jbegin_)) THEN662 CALL cxios_get_domaingroup_zoom_jbegin(domaingroup_hdl%daddr, zoom_jbegin_)663 ENDIF664 665 IF (PRESENT(zoom_jbegin_loc_)) THEN666 CALL cxios_get_domaingroup_zoom_jbegin_loc(domaingroup_hdl%daddr, zoom_jbegin_loc_)667 ENDIF668 669 IF (PRESENT(zoom_ni_)) THEN670 CALL cxios_get_domaingroup_zoom_ni(domaingroup_hdl%daddr, zoom_ni_)671 ENDIF672 673 IF (PRESENT(zoom_ni_loc_)) THEN674 CALL cxios_get_domaingroup_zoom_ni_loc(domaingroup_hdl%daddr, zoom_ni_loc_)675 ENDIF676 677 IF (PRESENT(zoom_nj_)) THEN678 CALL cxios_get_domaingroup_zoom_nj(domaingroup_hdl%daddr, zoom_nj_)679 ENDIF680 681 IF (PRESENT(zoom_nj_loc_)) THEN682 CALL cxios_get_domaingroup_zoom_nj_loc(domaingroup_hdl%daddr, zoom_nj_loc_)683 ENDIF684 685 535 END SUBROUTINE xios(get_domaingroup_attr_hdl_) 686 536 … … 688 538 ( domaingroup_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 689 539 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 690 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 691 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 692 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 540 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 541 , nvertex, standard_name, type ) 693 542 694 543 IMPLICIT NONE … … 727 576 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin 728 577 LOGICAL(KIND=C_BOOL) :: ibegin_tmp 729 LOGICAL, OPTIONAL, INTENT(OUT) :: iend730 LOGICAL(KIND=C_BOOL) :: iend_tmp731 578 LOGICAL, OPTIONAL, INTENT(OUT) :: j_index 732 579 LOGICAL(KIND=C_BOOL) :: j_index_tmp 733 580 LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 734 581 LOGICAL(KIND=C_BOOL) :: jbegin_tmp 735 LOGICAL, OPTIONAL, INTENT(OUT) :: jend736 LOGICAL(KIND=C_BOOL) :: jend_tmp737 582 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue 738 583 LOGICAL(KIND=C_BOOL) :: latvalue_tmp … … 759 604 LOGICAL, OPTIONAL, INTENT(OUT) :: type 760 605 LOGICAL(KIND=C_BOOL) :: type_tmp 761 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin762 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_tmp763 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc764 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_loc_tmp765 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin766 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_tmp767 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc768 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_loc_tmp769 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni770 LOGICAL(KIND=C_BOOL) :: zoom_ni_tmp771 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni_loc772 LOGICAL(KIND=C_BOOL) :: zoom_ni_loc_tmp773 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj774 LOGICAL(KIND=C_BOOL) :: zoom_nj_tmp775 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj_loc776 LOGICAL(KIND=C_BOOL) :: zoom_nj_loc_tmp777 606 778 607 CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) … … 780 609 ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 781 610 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 782 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 783 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 784 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 611 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 612 , nvertex, standard_name, type ) 785 613 786 614 END SUBROUTINE xios(is_defined_domaingroup_attr) … … 789 617 ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 790 618 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 791 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 792 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 793 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 619 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 620 , nvertex, standard_name, type ) 794 621 795 622 IMPLICIT NONE … … 827 654 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin 828 655 LOGICAL(KIND=C_BOOL) :: ibegin_tmp 829 LOGICAL, OPTIONAL, INTENT(OUT) :: iend830 LOGICAL(KIND=C_BOOL) :: iend_tmp831 656 LOGICAL, OPTIONAL, INTENT(OUT) :: j_index 832 657 LOGICAL(KIND=C_BOOL) :: j_index_tmp 833 658 LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 834 659 LOGICAL(KIND=C_BOOL) :: jbegin_tmp 835 LOGICAL, OPTIONAL, INTENT(OUT) :: jend836 LOGICAL(KIND=C_BOOL) :: jend_tmp837 660 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue 838 661 LOGICAL(KIND=C_BOOL) :: latvalue_tmp … … 859 682 LOGICAL, OPTIONAL, INTENT(OUT) :: type 860 683 LOGICAL(KIND=C_BOOL) :: type_tmp 861 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin862 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_tmp863 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc864 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_loc_tmp865 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin866 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_tmp867 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc868 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_loc_tmp869 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni870 LOGICAL(KIND=C_BOOL) :: zoom_ni_tmp871 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni_loc872 LOGICAL(KIND=C_BOOL) :: zoom_ni_loc_tmp873 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj874 LOGICAL(KIND=C_BOOL) :: zoom_nj_tmp875 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj_loc876 LOGICAL(KIND=C_BOOL) :: zoom_nj_loc_tmp877 684 878 685 CALL xios(is_defined_domaingroup_attr_hdl_) & 879 686 ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index & 880 687 , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index & 881 , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo & 882 , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc & 883 , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 688 , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo & 689 , nvertex, standard_name, type ) 884 690 885 691 END SUBROUTINE xios(is_defined_domaingroup_attr_hdl) … … 888 694 ( domaingroup_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_ & 889 695 , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_ & 890 , i_index_, ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_ & 891 , name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_ & 892 , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 696 , i_index_, ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_ & 697 , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_ ) 893 698 894 699 IMPLICIT NONE … … 926 731 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin_ 927 732 LOGICAL(KIND=C_BOOL) :: ibegin__tmp 928 LOGICAL, OPTIONAL, INTENT(OUT) :: iend_929 LOGICAL(KIND=C_BOOL) :: iend__tmp930 733 LOGICAL, OPTIONAL, INTENT(OUT) :: j_index_ 931 734 LOGICAL(KIND=C_BOOL) :: j_index__tmp 932 735 LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin_ 933 736 LOGICAL(KIND=C_BOOL) :: jbegin__tmp 934 LOGICAL, OPTIONAL, INTENT(OUT) :: jend_935 LOGICAL(KIND=C_BOOL) :: jend__tmp936 737 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_ 937 738 LOGICAL(KIND=C_BOOL) :: latvalue__tmp … … 958 759 LOGICAL, OPTIONAL, INTENT(OUT) :: type_ 959 760 LOGICAL(KIND=C_BOOL) :: type__tmp 960 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_961 LOGICAL(KIND=C_BOOL) :: zoom_ibegin__tmp962 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc_963 LOGICAL(KIND=C_BOOL) :: zoom_ibegin_loc__tmp964 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin_965 LOGICAL(KIND=C_BOOL) :: zoom_jbegin__tmp966 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_jbegin_loc_967 LOGICAL(KIND=C_BOOL) :: zoom_jbegin_loc__tmp968 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni_969 LOGICAL(KIND=C_BOOL) :: zoom_ni__tmp970 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ni_loc_971 LOGICAL(KIND=C_BOOL) :: zoom_ni_loc__tmp972 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj_973 LOGICAL(KIND=C_BOOL) :: zoom_nj__tmp974 LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_nj_loc_975 LOGICAL(KIND=C_BOOL) :: zoom_nj_loc__tmp976 761 977 762 IF (PRESENT(area_)) THEN … … 1055 840 ENDIF 1056 841 1057 IF (PRESENT(iend_)) THEN1058 iend__tmp = cxios_is_defined_domaingroup_iend(domaingroup_hdl%daddr)1059 iend_ = iend__tmp1060 ENDIF1061 1062 842 IF (PRESENT(j_index_)) THEN 1063 843 j_index__tmp = cxios_is_defined_domaingroup_j_index(domaingroup_hdl%daddr) … … 1070 850 ENDIF 1071 851 1072 IF (PRESENT(jend_)) THEN1073 jend__tmp = cxios_is_defined_domaingroup_jend(domaingroup_hdl%daddr)1074 jend_ = jend__tmp1075 ENDIF1076 1077 852 IF (PRESENT(latvalue_)) THEN 1078 853 latvalue__tmp = cxios_is_defined_domaingroup_latvalue(domaingroup_hdl%daddr) … … 1135 910 ENDIF 1136 911 1137 IF (PRESENT(zoom_ibegin_)) THEN1138 zoom_ibegin__tmp = cxios_is_defined_domaingroup_zoom_ibegin(domaingroup_hdl%daddr)1139 zoom_ibegin_ = zoom_ibegin__tmp1140 ENDIF1141 1142 IF (PRESENT(zoom_ibegin_loc_)) THEN1143 zoom_ibegin_loc__tmp = cxios_is_defined_domaingroup_zoom_ibegin_loc(domaingroup_hdl%daddr)1144 zoom_ibegin_loc_ = zoom_ibegin_loc__tmp1145 ENDIF1146 1147 IF (PRESENT(zoom_jbegin_)) THEN1148 zoom_jbegin__tmp = cxios_is_defined_domaingroup_zoom_jbegin(domaingroup_hdl%daddr)1149 zoom_jbegin_ = zoom_jbegin__tmp1150 ENDIF1151 1152 IF (PRESENT(zoom_jbegin_loc_)) THEN1153 zoom_jbegin_loc__tmp = cxios_is_defined_domaingroup_zoom_jbegin_loc(domaingroup_hdl%daddr)1154 zoom_jbegin_loc_ = zoom_jbegin_loc__tmp1155 ENDIF1156 1157 IF (PRESENT(zoom_ni_)) THEN1158 zoom_ni__tmp = cxios_is_defined_domaingroup_zoom_ni(domaingroup_hdl%daddr)1159 zoom_ni_ = zoom_ni__tmp1160 ENDIF1161 1162 IF (PRESENT(zoom_ni_loc_)) THEN1163 zoom_ni_loc__tmp = cxios_is_defined_domaingroup_zoom_ni_loc(domaingroup_hdl%daddr)1164 zoom_ni_loc_ = zoom_ni_loc__tmp1165 ENDIF1166 1167 IF (PRESENT(zoom_nj_)) THEN1168 zoom_nj__tmp = cxios_is_defined_domaingroup_zoom_nj(domaingroup_hdl%daddr)1169 zoom_nj_ = zoom_nj__tmp1170 ENDIF1171 1172 IF (PRESENT(zoom_nj_loc_)) THEN1173 zoom_nj_loc__tmp = cxios_is_defined_domaingroup_zoom_nj_loc(domaingroup_hdl%daddr)1174 zoom_nj_loc_ = zoom_nj_loc__tmp1175 ENDIF1176 1177 912 END SUBROUTINE xios(is_defined_domaingroup_attr_hdl_) 1178 913 -
XIOS/trunk/src/node/axis.cpp
r633 r657 300 300 301 301 CServerDistributionDescription serverDescription(nGlobDomain); 302 serverDescription.computeServerGlobalIndexInRange(nbServer, std::make_pair<size_t,size_t>(indexBegin, indexEnd) );303 CClientServerMapping Distributed clientServerMap(serverDescription.getGlobalIndexRange(), client->intraComm);304 clientServerMap .computeServerIndexMapping(globalIndexAxis);305 const std::map<int, std::vector<size_t> >& globalIndexAxisOnServer = clientServerMap .getGlobalIndexOnServer();302 serverDescription.computeServerGlobalIndexInRange(nbServer, std::make_pair<size_t,size_t>(indexBegin, indexEnd), 0); 303 CClientServerMapping* clientServerMap = new CClientServerMappingDistributed(serverDescription.getGlobalIndexRange(), client->intraComm); 304 clientServerMap->computeServerIndexMapping(globalIndexAxis); 305 const std::map<int, std::vector<size_t> >& globalIndexAxisOnServer = clientServerMap->getGlobalIndexOnServer(); 306 306 307 307 std::map<int, std::vector<size_t> >::const_iterator it = globalIndexAxisOnServer.begin(), … … 336 336 connectedServerRank_.push_back(it->first); 337 337 } 338 nbConnectedClients_ = clientServerMap .computeConnectedClients(client->serverSize, client->clientSize, client->intraComm, connectedServerRank_);339 338 nbConnectedClients_ = clientServerMap->computeConnectedClients(client->serverSize, client->clientSize, client->intraComm, connectedServerRank_); 339 delete clientServerMap; 340 340 } 341 341 -
XIOS/trunk/src/node/domain.cpp
- Property svn:executable set to *
r635 r657 17 17 #include "client_server_mapping_distributed.hpp" 18 18 #include "zoom_domain.hpp" 19 #include "interpolate_from_file_domain.hpp" 19 20 20 21 namespace xios { … … 25 26 : CObjectTemplate<CDomain>(), CDomainAttributes() 26 27 , isChecked(false), relFiles(), isClientChecked(false), nbConnectedClients_(), indSrv_(), connectedServerRank_() 27 , hasBounds(false), hasArea(false), isDistributed_(false) 28 , global_zoom_ibegin(0), global_zoom_ni(0), global_zoom_jbegin(0), global_zoom_nj(0) 28 , hasBounds(false), hasArea(false), isDistributed_(false), nGlobDomain_(), isUnstructed_(false) 29 , global_zoom_ni(0), global_zoom_ibegin(0), global_zoom_nj(0), global_zoom_jbegin(0), maskInter_() 30 , isClientAfterTransformationChecked(false) 29 31 { /* Ne rien faire de plus */ } 30 32 … … 32 34 : CObjectTemplate<CDomain>(id), CDomainAttributes() 33 35 , isChecked(false), relFiles(), isClientChecked(false), nbConnectedClients_(), indSrv_(), connectedServerRank_() 34 , hasBounds(false), hasArea(false), isDistributed_(false) 35 , global_zoom_ibegin(0), global_zoom_ni(0), global_zoom_jbegin(0), global_zoom_nj(0) 36 , hasBounds(false), hasArea(false), isDistributed_(false), nGlobDomain_(), isUnstructed_(false) 37 , global_zoom_ni(0), global_zoom_ibegin(0), global_zoom_nj(0), global_zoom_jbegin(0), maskInter_() 38 , isClientAfterTransformationChecked(false) 36 39 { /* Ne rien faire de plus */ } 37 40 … … 59 62 60 63 //---------------------------------------------------------------- 61 62 bool CDomain::hasZoom(void) const63 {64 return ((this->zoom_ni.getValue() != this->ni_glo.getValue()) &&65 (this->zoom_nj.getValue() != this->nj_glo.getValue()));66 }67 68 //----------------------------------------------------------------69 70 64 bool CDomain::isEmpty(void) const 71 65 { … … 75 69 76 70 //---------------------------------------------------------------- 77 78 71 bool CDomain::IsWritten(const StdString & filename) const 79 72 { … … 82 75 83 76 //---------------------------------------------------------------- 84 85 77 bool CDomain::isDistributed(void) const 86 78 { … … 89 81 90 82 //---------------------------------------------------------------- 91 92 83 void CDomain::addRelFile(const StdString & filename) 93 84 { … … 113 104 << " check the \'ni_glo\' value !") 114 105 } 115 nj_glo=ni_glo ; 116 ni_glo=1 ; 117 if (!ni.isEmpty()) nj=ni ; 118 if (!ibegin.isEmpty()) jbegin=ibegin ; 119 if (!iend.isEmpty()) jend=iend ; 120 if (!i_index.isEmpty()) 121 { 122 j_index.resize(1,nj) ; 123 for(int i=0;i<ni;i++) j_index(0,i)=i_index(i,0) ; 124 i_index.resize(1,nj) ; 125 for(int j=0;j<nj;j++) i_index(0,j)=0 ; 126 } 127 128 if (!mask.isEmpty()) 129 { 130 CArray<int,2> mask_tmp(nj,1) ; 131 mask_tmp = mask ; 132 mask.resize(1,nj) ; 133 for(int j=0;j<nj;j++) mask(0,j)=mask_tmp(j,0) ; 134 } 106 isUnstructed_ = true; 107 nj_glo = 1; 108 nj = 1; 109 jbegin = 0; 110 if (ni.isEmpty()) ni = i_index.numElements(); 111 j_index.resize(ni); 112 for(int i=0;i<ni;++i) j_index(i)=0; 113 114 // nj_glo=ni_glo ; 115 // ni_glo=1 ; 116 // if (!ni.isEmpty()) nj=ni ; 117 // if (!ibegin.isEmpty()) jbegin=ibegin ; 118 // if (!iend.isEmpty()) jend=iend ; 119 // if (!i_index.isEmpty()) 120 // { 121 // j_index.resize(1,nj) ; 122 // for(int i=0;i<ni;i++) j_index(0,i)=i_index(i,0) ; 123 // i_index.resize(1,nj) ; 124 // for(int j=0;j<nj;j++) i_index(0,j)=0 ; 125 // } 126 // 127 // if (!mask.isEmpty()) 128 // { 129 // CArray<int,2> mask_tmp(nj,1); 130 // mask_tmp = mask ; 131 // mask.resize(1,nj) ; 132 // for(int j=0;j<nj;j++) mask(0,j)=mask_tmp(j,0) ; 133 // } 135 134 136 135 if (!area.isEmpty()) 137 136 area.transposeSelf(1, 0); 138 137 139 ni=1 ;140 ibegin=0 ;141 iend=0 ;138 // ni=1 ; 139 // ibegin=0 ; 140 // iend=0 ; 142 141 143 142 } … … 151 150 } 152 151 153 isDistributed_ = !ibegin.isEmpty() || ! iend.isEmpty() || !ni.isEmpty() || !jbegin.isEmpty() || !jend.isEmpty() || !nj.isEmpty();152 isDistributed_ = !ibegin.isEmpty() || !ni.isEmpty() || !jbegin.isEmpty() || !nj.isEmpty(); 154 153 155 154 checkLocalIDomain(); 156 155 checkLocalJDomain(); 157 156 158 ibegin_client = ibegin; iend_client = iend; ni_client = ni;159 jbegin_client = jbegin; jend_client = jend; nj_client = nj;157 ibegin_client = ibegin; ni_client = ni; iend_client = ibegin + ni - 1; 158 jbegin_client = jbegin; nj_client = nj; jend_client = jbegin + nj - 1; 160 159 161 160 if (i_index.isEmpty()) 162 161 { 163 i_index.resize(ni ,nj);164 for (int j = 0; j < nj; j++)165 for (int i = 0; i < ni; i++) i_index(i,j) = i;162 i_index.resize(ni*nj); 163 for (int j = 0; j < nj; ++j) 164 for (int i = 0; i < ni; ++i) i_index(i+j*ni) = i+ibegin; 166 165 } 167 166 168 167 if (j_index.isEmpty()) 169 168 { 170 j_index.resize(ni,nj); 171 for (int j = 0; j < nj; j++) 172 for (int i = 0; i < ni; i++) j_index(i,j) = j; 173 } 169 j_index.resize(ni*nj); 170 for (int j = 0; j < nj; ++j) 171 for (int i = 0; i < ni; ++i) j_index(i+j*ni) = j+jbegin; 172 } 173 computeNGlobDomain(); 174 174 } 175 175 … … 178 178 void CDomain::checkLocalIDomain(void) 179 179 { 180 if (!ni.isEmpty() && !ibegin.isEmpty() && iend.isEmpty()) 181 iend.setValue(ibegin.getValue() + ni.getValue() - 1); 182 else if (!ni.isEmpty() && !iend.isEmpty() && ibegin.isEmpty()) 183 ibegin.setValue(iend.getValue() - ni.getValue() + 1); 184 else if (!ibegin.isEmpty() && !iend.isEmpty() && ni.isEmpty()) 185 ni.setValue(iend.getValue() - ibegin.getValue() + 1); 186 else if (!ibegin.isEmpty() && !iend.isEmpty() && !ni.isEmpty()) 187 { 188 if (iend.getValue() != ibegin.getValue() + ni.getValue() - 1) 189 ERROR("CDomain::checkLocalIDomain(void)", 190 << "[ Id = " << this->getId() << " ] " 191 << "The local domain is wrongly defined," 192 << " iend is different from (ibegin + ni - 1)"); 193 } 194 else if (ibegin.isEmpty() && iend.isEmpty() && ni.isEmpty()) 180 if (ibegin.isEmpty() && ni.isEmpty()) 195 181 { 196 182 ibegin = 0; 197 iend = ni_glo - 1;198 183 ni = ni_glo; 199 184 } 200 else 185 else if (!i_index.isEmpty()) 186 { 187 ibegin = i_index(0); 188 } 189 190 if (ni.getValue() < 0 || ibegin.getValue() < 0 || 191 (ibegin.getValue() + ni.getValue()) > ni_glo.getValue()) 201 192 { 202 193 ERROR("CDomain::checkLocalIDomain(void)", 203 194 << "[ Id = " << this->getId() << " ] " 204 195 << "The local domain is wrongly defined," 205 << " defining just one attribute among 'ibegin', 'iend' or 'ni' is invalid"); 206 } 207 208 if (ni.getValue() < 0 || ibegin.getValue() > iend.getValue() || 209 ibegin.getValue() < 0 || iend.getValue() > (ni_glo.getValue() - 1)) 210 { 211 ERROR("CDomain::checkLocalIDomain(void)", 212 << "[ Id = " << this->getId() << " ] " 213 << "The local domain is wrongly defined," 214 << " check the attributes 'ni_glo', 'ni', 'ibegin' and 'iend'"); 215 } 216 } 217 218 //---------------------------------------------------------------- 219 196 << " check the attributes 'ni_glo', 'ni' and 'ibegin'"); 197 } 198 } 199 200 //---------------------------------------------------------------- 220 201 void CDomain::checkLocalJDomain(void) 221 202 { 222 if (!nj.isEmpty() && !jbegin.isEmpty() && jend.isEmpty()) 223 jend.setValue(jbegin.getValue() + nj.getValue() - 1); 224 else if (!nj.isEmpty() && !jend.isEmpty() && jbegin.isEmpty()) 225 jbegin.setValue(jend.getValue() - nj.getValue() + 1); 226 else if (!jbegin.isEmpty() && !jend.isEmpty() && nj.isEmpty()) 227 nj.setValue(jend.getValue() - jbegin.getValue() + 1); 228 else if (!jbegin.isEmpty() && !jend.isEmpty() && !nj.isEmpty()) 229 { 230 if (jend.getValue() != jbegin.getValue() + nj.getValue() - 1) 231 ERROR("CDomain::checkLocalJDomain(void)", 232 << "[ Id = " << this->getId() << " ] " 233 << "The local domain is wrongly defined," 234 << " jend is different from (jbegin + nj - 1)"); 235 } 236 else if (jbegin.isEmpty() && jend.isEmpty() && nj.isEmpty()) 237 { 238 jbegin = 0; 239 jend = nj_glo - 1; 240 nj = nj_glo; 241 } 242 else 203 if (jbegin.isEmpty() && nj.isEmpty()) 204 { 205 jbegin = 0; 206 nj = nj_glo; 207 } 208 else if (!j_index.isEmpty()) 209 { 210 jbegin = j_index(0); 211 } 212 213 if (nj.getValue() < 0 || jbegin.getValue() < 0 || 214 (jbegin.getValue() + nj.getValue()) > nj_glo.getValue()) 243 215 { 244 216 ERROR("CDomain::checkLocalJDomain(void)", 245 217 << "[ Id = " << this->getId() << " ] " 246 218 << "The local domain is wrongly defined," 247 << " defining just one attribute among 'jbegin', 'jend' or 'nj' is invalid"); 248 } 249 250 if (nj.getValue() < 0 || jbegin.getValue() > jend.getValue() || 251 jbegin.getValue() < 0 || jend.getValue() > (nj_glo.getValue() - 1)) 252 { 253 ERROR("CDomain::checkLocalJDomain(void)", 254 << "[ Id = " << this->getId() << " ] " 255 << "The local domain is wrongly defined," 256 << " check the attributes 'nj_glo', 'nj', 'jbegin' and 'jend'"); 257 } 258 } 259 260 //---------------------------------------------------------------- 261 219 << " check the attributes 'nj_glo', 'nj' and 'jbegin'"); 220 } 221 } 222 223 //---------------------------------------------------------------- 262 224 void CDomain::checkMask(void) 263 225 { … … 266 228 int ibegin_mask = 0, 267 229 jbegin_mask = 0, 268 iend_mask = iend.getValue() - ibegin.getValue(), 269 jend_mask = jend.getValue() - jbegin.getValue(); 270 271 if (!zoom_ibegin.isEmpty()) 272 { 273 int zoom_iend = zoom_ibegin.getValue() + zoom_ni.getValue() - 1; 274 int zoom_jend = zoom_jbegin.getValue() + zoom_nj.getValue() - 1; 275 276 ibegin_mask = max (ibegin.getValue(), zoom_ibegin.getValue()); 277 jbegin_mask = max (jbegin.getValue(), zoom_jbegin.getValue()); 278 iend_mask = min (iend.getValue(), zoom_iend); 279 jend_mask = min (jend.getValue(), zoom_jend); 280 281 ibegin_mask -= ibegin.getValue(); 282 jbegin_mask -= jbegin.getValue(); 283 iend_mask -= ibegin.getValue(); 284 jend_mask -= jbegin.getValue(); 285 } 286 230 iend_mask = ibegin.getValue() + ni.getValue() - 1, 231 jend_mask = jbegin.getValue() + nj.getValue() - 1; 232 233 if (!mask_1D.isEmpty() && !mask_2D.isEmpty()) 234 ERROR("CDomain::checkMask(void)", 235 <<"Only one mask is used but both mask_1D and mask_2D are defined! "<<endl 236 <<"Define only one mask: mask_1D or mask_2D "); 237 238 if (!mask_1D.isEmpty() && mask_2D.isEmpty()) 239 { 240 if (mask_1D.numElements() != i_index.numElements()) 241 ERROR("CDomain::checkMask(void)", 242 <<"the mask_1D has not the same size than the local domain"<<endl 243 <<"Local size is "<<i_index.numElements()<<endl 244 <<"Mask size is "<<mask_1D.numElements()); 245 } 246 247 if (mask_1D.isEmpty() && !mask_2D.isEmpty()) 248 { 249 if ((mask_2D.extent(0) != ni) || 250 (mask_2D.extent(1) != nj)) 251 ERROR("CDomain::checkMask(void)", 252 <<"the mask has not the same size than the local domain"<<endl 253 <<"Local size is "<<ni<<"x"<<nj<<endl 254 <<"Mask size is "<<mask.extent(0)<<"x"<<mask.extent(1)); 255 } 256 257 if (!mask_1D.isEmpty()) 258 { 259 maskInter_.resize(mask_1D.numElements()); 260 maskInter_ = mask_1D; 261 } 262 else if (!mask_2D.isEmpty()) 263 { 264 maskInter_.resize(mask_2D.extent(0) * mask_2D.extent(0)); 265 for (int j = 0; j < nj; ++j) 266 for (int i = 0; i < ni; ++i) maskInter_(i+j*ni) = mask_2D(i,j); 267 } 268 else 269 { 270 maskInter_.resize(i_index.numElements()); 271 for (int i = 0; i < i_index.numElements(); ++i) maskInter_(i) = true; 272 } 273 274 if (!mask.isEmpty()) 275 { 276 maskInter_.resize(mask.extent(0) * mask.extent(1)); 277 for (int j = 0; j < nj; ++j) 278 for (int i = 0; i < ni; ++i) maskInter_(i+j*ni) = mask(i,j); 279 } 280 else 281 { 282 maskInter_.resize(ni*nj); 283 for (int i = 0; i < maskInter_.numElements(); ++i) maskInter_(i) = true; 284 } 287 285 288 286 if (!mask.isEmpty()) … … 294 292 <<"Local size is "<<ni<<"x"<<nj<<endl 295 293 <<"Mask size is "<<mask.extent(0)<<"x"<<mask.extent(1)); 296 for (int i = 0; i < ni; i++)297 {298 for (int j = 0; j < nj; j++)299 {300 if (i < ibegin_mask && i > iend_mask &&301 j < jbegin_mask && j > jend_mask )302 mask(i,j) = false;303 }304 }294 // for (int i = 0; i < ni; i++) 295 // { 296 // for (int j = 0; j < nj; j++) 297 // { 298 // if (i < ibegin_mask && i > iend_mask && 299 // j < jbegin_mask && j > jend_mask ) 300 // mask(i,j) = false; 301 // } 302 // } 305 303 } 306 304 else // (!mask.hasValue()) … … 520 518 void CDomain::checkZoom(void) 521 519 { 522 // Résolution et vérification des données globales de zoom.523 if (!this->zoom_ni.isEmpty() || !this->zoom_nj.isEmpty() ||524 !this->zoom_ibegin.isEmpty() || !this->zoom_jbegin.isEmpty())525 {526 if (this->zoom_ni.isEmpty() || this->zoom_nj.isEmpty() ||527 this->zoom_ibegin.isEmpty() || this->zoom_jbegin.isEmpty())528 {529 ERROR("CDomain::checkZoom(void)",530 <<"if one of zoom attributes is defined then all zoom attributes must be defined") ;531 }532 else533 {534 int zoom_iend = zoom_ibegin + zoom_ni - 1;535 int zoom_jend = zoom_jbegin + zoom_nj - 1;536 537 if (zoom_ibegin < 0 || zoom_jbegin < 0 || zoom_iend > (ni_glo-1) || zoom_jend > (nj_glo-1))538 ERROR("CDomain::checkZoom(void)",539 << "Zoom is wrongly defined,"540 << " Check the values : zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin") ;541 }542 }543 else544 {545 zoom_ni = ni_glo;546 zoom_nj = nj_glo;547 zoom_ibegin = 0;548 zoom_jbegin = 0;549 }550 551 520 // compute client zoom indices 552 521 // compute client zoom indices … … 594 563 } 595 564 565 // void CDomain::checkAttributesOnClientBeforeTransformation() 566 // { 567 // if (this->isClientBeforeTransformationChecked) return; 568 // CContext* context=CContext::getCurrent(); 569 // 570 // this->checkDomain(); 571 // this->checkBounds(); 572 // this->checkArea(); 573 // 574 // if (context->hasClient) 575 // { 576 // this->checkDomainData(); 577 // this->checkCompression(); 578 // } 579 // 580 // this->isClientBeforeTransformationChecked = true; 581 // } 582 583 void CDomain::checkAttributesOnClientAfterTransformation() 584 { 585 CContext* context=CContext::getCurrent() ; 586 587 this->checkZoom(); 588 if (this->isClientAfterTransformationChecked) return; 589 if (context->hasClient) 590 { 591 this->checkMask(); 592 this->computeConnectedServer(); 593 this->completeLonLatClient(); 594 } 595 596 this->isClientAfterTransformationChecked = true; 597 } 598 596 599 //---------------------------------------------------------------- 597 600 // Divide function checkAttributes into 2 seperate ones … … 625 628 { 626 629 if (!this->isClientChecked) checkAttributesOnClient(); 630 if (!this->isClientAfterTransformationChecked) checkAttributesOnClientAfterTransformation(); 627 631 CContext* context=CContext::getCurrent() ; 628 632 … … 631 635 if (context->hasClient) 632 636 { 633 this->computeConnectedServer();634 this->completeLonLatClient();637 // this->computeConnectedServer(); 638 // this->completeLonLatClient(); 635 639 636 640 sendServerAttribut() ; … … 676 680 void CDomain::sendServerAttribut(void) 677 681 { 678 std::vector<int> nGlobDomain(2); 679 nGlobDomain[0] = ni_glo.getValue(); 680 nGlobDomain[1] = nj_glo.getValue(); 681 CServerDistributionDescription serverDescription(nGlobDomain); 682 CServerDistributionDescription serverDescription(nGlobDomain_); 682 683 683 684 CContext* context = CContext::getCurrent(); … … 685 686 int nbServer = client->serverSize; 686 687 687 serverDescription.computeServerDistribution(nbServer); 688 if (isUnstructed_) serverDescription.computeServerDistribution(nbServer,0); 689 else serverDescription.computeServerDistribution(nbServer,1); 690 688 691 std::vector<std::vector<int> > serverIndexBegin = serverDescription.getServerIndexBegin(); 689 692 std::vector<std::vector<int> > serverDimensionSizes = serverDescription.getServerDimensionSizes(); … … 718 721 } 719 722 723 void CDomain::computeNGlobDomain() 724 { 725 nGlobDomain_.resize(2); 726 nGlobDomain_[0] = ni_glo.getValue(); 727 nGlobDomain_[1] = nj_glo.getValue(); 728 } 729 720 730 void CDomain::computeConnectedServer(void) 721 731 { 722 ibegin_client=ibegin ; iend_client=iend ; ni_client=ni;723 jbegin_client=jbegin ; jend_client=jend ; nj_client=nj;732 ibegin_client=ibegin; ni_client=ni; iend_client=ibegin_client + ni_client - 1; 733 jbegin_client=jbegin; nj_client=nj; jend_client=jbegin_client + nj_client - 1; 724 734 725 735 CContext* context=CContext::getCurrent() ; … … 728 738 bool doComputeGlobalIndexServer = true; 729 739 730 int i,j,i_ind,j_ind 740 int i,j,i_ind,j_ind, nbIndex; 731 741 int zoom_iend=global_zoom_ibegin+global_zoom_ni-1 ; 732 742 int zoom_jend=global_zoom_jbegin+global_zoom_nj-1 ; … … 734 744 // Precompute number of index 735 745 int globalIndexCountZoom = 0; 736 for(j=0;j<nj;j++)737 for(i=0;i<ni;i++)738 739 i_ind=ibegin+i_index(i,j);740 j_ind=jbegin+j_index(i,j);741 742 743 744 745 746 746 nbIndex = i_index.numElements(); 747 for (i = 0; i < nbIndex; ++i) 748 { 749 i_ind=i_index(i); 750 j_ind=j_index(i); 751 752 if (i_ind >= global_zoom_ibegin && i_ind <= zoom_iend && j_ind >= global_zoom_jbegin && j_ind <= zoom_jend) 753 { 754 ++globalIndexCountZoom; 755 } 756 } 747 757 748 758 // Fill in index 749 759 CArray<size_t,1> globalIndexDomainZoom(globalIndexCountZoom); 750 CArray<size_t,1> globalIndexDomain(ni*nj); 760 CArray<size_t,1> localIndexDomainZoom(globalIndexCountZoom); 761 CArray<size_t,1> globalIndexDomain(nbIndex); 751 762 size_t globalIndex; 752 763 int globalIndexCount = 0; 753 764 globalIndexCountZoom = 0; 754 765 755 for(j=0;j<nj;j++) 756 for(i=0;i<ni;i++) 757 { 758 i_ind=ibegin+i_index(i,j) ; 759 j_ind=jbegin+j_index(i,j) ; 760 761 globalIndex = i_ind + j_ind * ni_glo; 762 globalIndexDomain(globalIndexCount) = globalIndex; 763 ++globalIndexCount; 764 if (i_ind >= global_zoom_ibegin && i_ind <= zoom_iend && j_ind >= global_zoom_jbegin && j_ind <= zoom_jend) 765 { 766 globalIndexDomainZoom(globalIndexCountZoom) = globalIndex; 767 ++globalIndexCountZoom; 768 } 769 } 770 771 std::vector<int> nGlobDomain(2); 772 nGlobDomain[0] = ni_glo.getValue(); 773 nGlobDomain[1] = nj_glo.getValue(); 766 for (i = 0; i < nbIndex; ++i) 767 { 768 i_ind=i_index(i); 769 j_ind=j_index(i); 770 globalIndex = i_ind + j_ind * ni_glo; 771 globalIndexDomain(globalIndexCount) = globalIndex; 772 ++globalIndexCount; 773 if (i_ind >= global_zoom_ibegin && i_ind <= zoom_iend && j_ind >= global_zoom_jbegin && j_ind <= zoom_jend) 774 { 775 globalIndexDomainZoom(globalIndexCountZoom) = globalIndex; 776 localIndexDomainZoom(globalIndexCountZoom) = i; 777 ++globalIndexCountZoom; 778 } 779 } 780 774 781 size_t globalSizeIndex = 1, indexBegin, indexEnd; 775 782 int range, clientSize = client->clientSize; 776 for (int i = 0; i < nGlobDomain .size(); ++i) globalSizeIndex *= nGlobDomain[i];783 for (int i = 0; i < nGlobDomain_.size(); ++i) globalSizeIndex *= nGlobDomain_[i]; 777 784 indexBegin = 0; 778 785 for (int i = 0; i < clientSize; ++i) … … 785 792 indexEnd = indexBegin + range - 1; 786 793 787 CServerDistributionDescription serverDescription(nGlobDomain); 788 serverDescription.computeServerGlobalIndexInRange(nbServer, std::make_pair<size_t,size_t>(indexBegin, indexEnd)); 794 CServerDistributionDescription serverDescription(nGlobDomain_); 795 if (isUnstructed_) serverDescription.computeServerGlobalIndexInRange(nbServer, std::make_pair<size_t,size_t>(indexBegin, indexEnd), 0); 796 else serverDescription.computeServerGlobalIndexInRange(nbServer, std::make_pair<size_t,size_t>(indexBegin, indexEnd), 1); 797 789 798 CClientServerMapping* clientServerMap = new CClientServerMappingDistributed(serverDescription.getGlobalIndexRange(), 790 799 client->intraComm); … … 805 814 if (iteVec != std::find(itbVec, iteVec, globalIndexDomainZoom(i))) 806 815 { 807 indSrv_[rank].push_back( globalIndexDomainZoom(i));816 indSrv_[rank].push_back(localIndexDomainZoom(i)); 808 817 } 809 818 } … … 824 833 825 834 delete clientServerMap; 835 } 836 837 const std::map<int, vector<size_t> >& CDomain::getIndexServer() const 838 { 839 return indSrv_; 826 840 } 827 841 … … 871 885 CArray<double,1>& lon = list_lon.back(); 872 886 CArray<double,1>& lat = list_lat.back(); 873 887 const std::vector<size_t>& temp = it->second; 874 888 for (n = 0; n < nbData; ++n) 875 889 { 876 890 idx = static_cast<int>(it->second[n]); 877 i = idx % ni_glo; 878 j = idx / ni_glo; 879 ind = (i - zoom_ibegin_client) + (j - zoom_jbegin_client) * zoom_ni_client; 891 i = i_index(idx); 892 j = j_index(idx); 893 ind = n; 894 // ind = (i - zoom_ibegin_client) + (j - zoom_jbegin_client) * zoom_ni_client; 880 895 881 896 lon(n) = lonvalue(ind); … … 894 909 } 895 910 896 indi(n) = i begin + i_index(i - ibegin, j - jbegin);897 indj(n) = j begin + j_index(i - ibegin, j - jbegin);911 indi(n) = i; 912 indj(n) = j; 898 913 899 914 if (hasArea) … … 1192 1207 StdString zoomDomainDefRoot("zoom_domain_definition"); 1193 1208 StdString zoom("zoom_domain"); 1209 StdString interpFromFileDomainDefRoot("interpolate_from_file_domain_definition"); 1210 StdString interpFromFile("interpolate_from_file_domain"); 1194 1211 do 1195 1212 { … … 1199 1216 transformationMap_.push_back(std::make_pair(TRANS_ZOOM_DOMAIN,tmp)); 1200 1217 } 1218 else if (node.getElementName() == interpFromFile) 1219 { 1220 CInterpolateFromFileDomain* tmp = (CInterpolateFromFileDomainGroup::get(interpFromFileDomainDefRoot))->createChild(); 1221 tmp->parse(node); 1222 transformationMap_.push_back(std::make_pair(TRANS_INTERPOLATE_DOMAIN_FROM_FILE,tmp)); 1223 } 1201 1224 } while (node.goToNextElement()) ; 1202 1225 node.goToParentElement(); -
XIOS/trunk/src/node/domain.hpp
r631 r657 68 68 69 69 void checkAttributesOnClient(); 70 void checkAttributesOnClientAfterTransformation(); 70 71 71 72 void sendCheckedAttributes(); … … 100 101 /// Test /// 101 102 bool IsWritten(const StdString & filename) const; 102 bool hasZoom(void) const;103 // bool hasZoom(void) const; 103 104 bool isEmpty(void) const; 104 105 bool isDistributed(void) const; … … 165 166 166 167 static ENodeType GetType(void); 167 168 const std::map<int, vector<size_t> >& getIndexServer() const; 168 169 CArray<int, 2> local_mask; 169 170 bool isCurvilinear ; … … 173 174 void checkTransformations(); 174 175 void setTransformations(const TransMapTypes&); 176 void computeNGlobDomain(); 175 177 176 178 private : … … 178 180 std::set<StdString> relFiles; 179 181 bool isClientChecked; // Verify whether all attributes of domain on the client side are good 182 bool isClientAfterTransformationChecked; 180 183 std::map<int, CArray<int,1> > indiSrv, indjSrv; 181 184 std::map<int,int> nbConnectedClients_; // Mapping of number of communicating client to a server … … 184 187 bool isDistributed_; 185 188 TransMapTypes transformationMap_; 189 std::vector<int> nGlobDomain_; 190 bool isUnstructed_; 191 CArray<bool,1> maskInter_; 192 186 193 187 194 DECLARE_REF_FUNC(Domain,domain) -
XIOS/trunk/src/node/grid.cpp
r656 r657 13 13 #include "context_server.hpp" 14 14 #include "array_new.hpp" 15 #include "server_distribution_description.hpp" 15 16 #include "client_server_mapping_distributed.hpp" 16 17 … … 23 24 , isChecked(false), isDomainAxisChecked(false) 24 25 , vDomainGroup_(), vAxisGroup_(), axisList_(), isAxisListSet(false), isDomListSet(false), clientDistribution_(0), isIndexSent(false) 25 , serverDistribution_(0), serverDistributionDescription_(0),clientServerMap_(0), writtenDataSize_(0), globalDim_()26 , serverDistribution_(0), clientServerMap_(0), writtenDataSize_(0), globalDim_() 26 27 , connectedDataSize_(), connectedServerRank_(), isDataDistributed_(true), transformations_(0), isTransformed_(false) 27 , axisPositionInGrid_() 28 , axisPositionInGrid_(), positionDimensionDistributed_(1) 28 29 { 29 30 setVirtualDomainGroup(); … … 35 36 , isChecked(false), isDomainAxisChecked(false) 36 37 , vDomainGroup_(), vAxisGroup_(), axisList_(), isAxisListSet(false), isDomListSet(false), clientDistribution_(0), isIndexSent(false) 37 , serverDistribution_(0), serverDistributionDescription_(0),clientServerMap_(0), writtenDataSize_(0), globalDim_()38 , serverDistribution_(0), clientServerMap_(0), writtenDataSize_(0), globalDim_() 38 39 , connectedDataSize_(), connectedServerRank_(), isDataDistributed_(true), transformations_(0), isTransformed_(false) 39 , axisPositionInGrid_() 40 , axisPositionInGrid_(), positionDimensionDistributed_(1) 40 41 { 41 42 setVirtualDomainGroup(); … … 47 48 if (0 != clientDistribution_) delete clientDistribution_; 48 49 if (0 != serverDistribution_) delete serverDistribution_; 49 if (0 != serverDistributionDescription_) delete serverDistributionDescription_;50 50 if (0 != clientServerMap_) delete clientServerMap_; 51 51 if (0 != transformations_) delete transformations_; … … 58 58 ENodeType CGrid::GetType(void) { return eGrid; } 59 59 60 //---------------------------------------------------------------61 60 62 61 StdSize CGrid::getDimension(void) const … … 112 111 } 113 112 113 // In some cases in which domain is masked, we need to count for connected server for longitude and latitude 114 std::vector<CDomain*> domListP = this->getDomains(); 115 if (!domListP.empty()) 116 { 117 for (int i = 0; i < domListP.size(); ++i) 118 { 119 const std::map<int, vector<size_t> >& indexDomainServer = domListP[i]->getIndexServer(); 120 std::map<int, vector<size_t> >::const_iterator itDom = indexDomainServer.begin(), iteDom = indexDomainServer.end(); 121 for (; itDom != iteDom; ++itDom) 122 { 123 if (ret.end() == ret.find(itDom->first)) 124 { 125 retVal = (itDom->second).size(); 126 retVal *= secureFactor; 127 ret.insert(std::make_pair<int,StdSize>(itDom->first, retVal)); 128 } 129 } 130 } 131 } 132 114 133 return ret; 115 134 } 116 135 136 void CGrid::checkAttributesAfterTransformation() 137 { 138 setDomainList(); 139 std::vector<CDomain*> domListP = this->getDomains(); 140 if (!domListP.empty()) 141 { 142 for (int i = 0; i < domListP.size(); ++i) 143 { 144 domListP[i]->checkAttributesOnClientAfterTransformation(); 145 } 146 } 147 } 117 148 118 149 void CGrid::solveDomainAxisRef(bool areAttributesChecked) … … 122 153 this->solveAxisRef(areAttributesChecked); 123 154 this->solveDomainRef(areAttributesChecked); 124 155 computeGridGlobalDimension(getDomains(), getAxis(), axis_domain_order); 125 156 this->isDomainAxisChecked = areAttributesChecked; 126 157 } … … 153 184 if (context->hasClient) 154 185 { 155 checkMask(); 186 this->checkAttributesAfterTransformation(); 187 this->checkMask(); 156 188 this->computeIndex(); 157 189 } … … 229 261 if (!domListP.empty()) 230 262 { 231 computeGridGlobalDimension(getDomains(), getAxis(), axis_domain_order);232 263 for (int i = 0; i < domListP.size(); ++i) 233 264 { … … 258 289 } 259 290 260 computeGridGlobalDimension(getDomains(), getAxis(), axis_domain_order);261 291 for (int i = 0; i < axisListP.size(); ++i) 262 292 { … … 267 297 ++idx; 268 298 } 269 270 299 } 271 300 } … … 275 304 return axisPositionInGrid_; 276 305 } 277 278 306 279 307 //--------------------------------------------------------------- … … 317 345 318 346 // Then compute distribution on server side 319 serverDistributionDescription_ = new CServerDistributionDescription(clientDistribution_->getNGlob());320 serverDistributionDescription _->computeServerDistribution(client->serverSize, true);321 serverDistributionDescription_->computeServerGlobalIndexInRange(client->serverSize,322 std::make_pair<size_t,size_t>(indexBegin, indexEnd));347 CServerDistributionDescription serverDistributionDescription(globalDim_); 348 serverDistributionDescription.computeServerGlobalIndexInRange(client->serverSize, 349 std::make_pair<size_t,size_t>(indexBegin, indexEnd), 350 positionDimensionDistributed_); 323 351 324 352 // Finally, compute index mapping between client(s) and server(s) 325 clientServerMap_ = new CClientServerMappingDistributed(serverDistributionDescription _->getGlobalIndexRange(),353 clientServerMap_ = new CClientServerMappingDistributed(serverDistributionDescription.getGlobalIndexRange(), 326 354 client->intraComm, 327 355 clientDistribution_->isDataDistributed()); … … 330 358 const std::map<int, std::vector<size_t> >& globalIndexOnServer = clientServerMap_->getGlobalIndexOnServer(); 331 359 const CArray<size_t,1>& globalIndexSendToServer = clientDistribution_->getGlobalDataIndexSendToServer(); 332 333 360 std::map<int, std::vector<size_t> >::const_iterator iteGlobalMap, itbGlobalMap, itGlobalMap; 334 361 itbGlobalMap = itGlobalMap = globalIndexOnServer.begin(); … … 640 667 if (axisDomainOrder(i)) 641 668 { 669 if (!(domains[idxDomain]->type.isEmpty()) && (domains[idxDomain]->type==CDomain::type_attr::unstructured)) 670 { 671 positionDimensionDistributed_ = idx; 672 } 673 else 674 { 675 positionDimensionDistributed_ = idx +1; 676 } 677 642 678 globalDim_[idx] = domains[idxDomain]->ni_glo.getValue(); 643 679 globalDim_[idx+1] = domains[idxDomain]->nj_glo.getValue(); 680 644 681 ++idxDomain; 645 682 idx += 2; -
XIOS/trunk/src/node/grid.hpp
r650 r657 13 13 #include "distribution_client.hpp" 14 14 #include "distribution_server.hpp" 15 #include "server_distribution_description.hpp"16 15 #include "client_server_mapping.hpp" 17 16 #include "utils.hpp" … … 218 217 CDomainGroup* getVirtualDomainGroup() const; 219 218 219 void checkAttributesAfterTransformation(); 220 220 221 221 222 void setTransformationAlgorithms(); … … 230 231 CDistributionClient* clientDistribution_; 231 232 CDistributionServer* serverDistribution_; 232 CServerDistributionDescription* serverDistributionDescription_;233 233 CClientServerMapping* clientServerMap_; 234 234 size_t writtenDataSize_; … … 236 236 std::vector<int> connectedServerRank_; 237 237 bool isDataDistributed_; 238 int positionDimensionDistributed_; 238 239 239 240 bool isTransformed_; -
XIOS/trunk/src/node/node_enum.hpp
r631 r657 23 23 eZoomAxis, 24 24 eInterpolateAxis, 25 eZoomDomain 25 eZoomDomain, 26 eInterpolateFromFileDomain 26 27 27 28 } ENodeType; -
XIOS/trunk/src/node/node_type.hpp
r631 r657 14 14 #include "interpolate_axis.hpp" 15 15 #include "zoom_domain.hpp" 16 #include "interpolate_from_file_domain.hpp" 16 17 17 18 #endif // __XIOS_NODE_TYPE__ -
XIOS/trunk/src/node/transformation_enum.hpp
r631 r657 10 10 TRANS_INVERSE_AXIS, 11 11 TRANS_INTERPOLATE_AXIS, 12 TRANS_ZOOM_DOMAIN 12 TRANS_ZOOM_DOMAIN, 13 TRANS_INTERPOLATE_DOMAIN_FROM_FILE 13 14 } ETranformationType; 14 15 -
XIOS/trunk/src/object_factory_decl.cpp
r631 r657 28 28 macro(CInterpolateAxis) 29 29 macro(CZoomDomain) 30 macro(CInterpolateFromFileDomain) 30 31 31 32 macro(CFieldGroup) … … 40 41 macro(CInterpolateAxisGroup) 41 42 macro(CZoomDomainGroup) 43 macro(CInterpolateFromFileDomainGroup) 42 44 } -
XIOS/trunk/src/object_template_decl.cpp
r631 r657 1 1 #include "object_template_impl.hpp" 2 2 #include "xios_spl.hpp" 3 #include "field.hpp" 4 #include "context.hpp" 5 #include "file.hpp" 6 #include "domain.hpp" 7 #include "grid.hpp" 8 #include "axis.hpp" 9 #include "variable.hpp" 10 #include "transformation.hpp" 11 #include "inverse_axis.hpp" 12 #include "zoom_axis.hpp" 13 #include "interpolate_axis.hpp" 14 #include "zoom_domain.hpp" 3 #include "node_type.hpp" 15 4 16 5 namespace xios … … 28 17 template class CObjectTemplate<CInterpolateAxis>; 29 18 template class CObjectTemplate<CZoomDomain>; 19 template class CObjectTemplate<CInterpolateFromFileDomain>; 30 20 31 21 template class CObjectTemplate<CContextGroup>; … … 40 30 template class CObjectTemplate<CInterpolateAxisGroup>; 41 31 template class CObjectTemplate<CZoomDomainGroup>; 32 template class CObjectTemplate<CInterpolateFromFileDomainGroup>; 42 33 } -
XIOS/trunk/src/output/nc4_data_output.cpp
r651 r657 457 457 dim0.push_back(dimXid); 458 458 459 SuperClassWriter::addDimension(dimXid, domain->zoom_n j_srv);459 SuperClassWriter::addDimension(dimXid, domain->zoom_ni_srv); 460 460 SuperClassWriter::addVariable(latid, NC_FLOAT, dim0); 461 461 SuperClassWriter::addVariable(lonid, NC_FLOAT, dim0); -
XIOS/trunk/src/server_distribution_description.cpp
r653 r657 3 3 \author Ha NGUYEN 4 4 \since 04 Jan 2015 5 \date 09 Mars20155 \date 24 Jul 2015 6 6 7 7 \brief Description of index distribution on server(s). … … 9 9 10 10 #include "server_distribution_description.hpp" 11 #include "exception.hpp" 11 12 12 13 namespace xios … … 27 28 */ 28 29 void CServerDistributionDescription::computeServerDistribution(int nServer, 30 int positionDimensionDistributed, 29 31 bool doComputeGlobalIndex, 30 32 ServerDistributionType serType) … … 32 34 switch (serType) { 33 35 case BAND_DISTRIBUTION: 34 computeBandDistribution(nServer );36 computeBandDistribution(nServer, positionDimensionDistributed); 35 37 break; 36 38 default: … … 95 97 */ 96 98 void CServerDistributionDescription::computeServerGlobalIndexInRange(int nServer, 97 const std::pair<size_t, size_t>& indexBeginEnd, 98 ServerDistributionType distributionType) 99 const std::pair<size_t, size_t>& indexBeginEnd, 100 int positionDimensionDistributed, 101 ServerDistributionType distributionType) 99 102 { 100 103 switch (distributionType) { 101 104 case BAND_DISTRIBUTION: 102 computeBandDistribution(nServer );105 computeBandDistribution(nServer, positionDimensionDistributed); 103 106 break; 104 107 default: … … 161 164 \param [in] nServer number of server 162 165 */ 163 void CServerDistributionDescription::computeBandDistribution(int nServer )166 void CServerDistributionDescription::computeBandDistribution(int nServer, int positionDimensionDistributed) 164 167 { 165 168 int dim = nGlobal_.size(); 169 if (positionDimensionDistributed > dim) 170 ERROR("CServerDistributionDescription::computeBandDistribution(int nServer, int positionDimensionDistributed)", 171 << "Position of distributed dimension is invalid" << std::endl 172 << "Position of distributed dimension is " << positionDimensionDistributed 173 << "Dimension " << dim) 174 166 175 indexBegin_.resize(nServer); 167 176 dimensionSizes_.resize(nServer); … … 178 187 std::vector<int> njRangeEnd(nServer,0); 179 188 180 i f (1<dim) nGlobTemp = nGlobal_[1];181 else nGlobTemp = nGlobal_[0];189 int positionDistributed = (1<dim) ? positionDimensionDistributed : 0; 190 nGlobTemp = nGlobal_[positionDistributed]; 182 191 183 192 for (int i = 0; i < nServer; ++i) … … 194 203 for (int j = 0; j < dim; ++j) 195 204 { 196 if ( 1!= j)205 if (positionDistributed != j) 197 206 { 198 207 if (1 == dim) -
XIOS/trunk/src/server_distribution_description.hpp
r653 r657 3 3 \author Ha NGUYEN 4 4 \since 04 Jan 2015 5 \date 09 Feb20155 \date 24 Jul 2015 6 6 7 7 \brief Description of index distribution on server(s). … … 34 34 virtual ~CServerDistributionDescription(); 35 35 36 void computeServerDistribution(int nServer, bool doComputeGlobalIndex = false, 36 void computeServerDistribution(int nServer, int positionDimensionDistributed = 1, 37 bool doComputeGlobalIndex = false, 37 38 ServerDistributionType type = BAND_DISTRIBUTION); 38 39 39 40 void computeServerGlobalIndexInRange(int nServer, 40 41 const std::pair<size_t, size_t>& indexBeginEnd, 42 int positionDimensionDistributed = 1, 41 43 ServerDistributionType = BAND_DISTRIBUTION); 42 44 … … 47 49 48 50 protected: 49 void computeBandDistribution(int nServer );51 void computeBandDistribution(int nServer, int positionDimensionDistributed = 1); 50 52 void computePlanDistribution(int nServer); 51 53 -
XIOS/trunk/src/test/test_new_features.f90
r655 r657 15 15 CHARACTER(len=15) :: calendar_type 16 16 TYPE(xios_context) :: ctx_hdl 17 INTEGER,PARAMETER :: ni_glo= 518 INTEGER,PARAMETER :: nj_glo= 519 INTEGER,PARAMETER :: llm= 517 INTEGER,PARAMETER :: ni_glo=10 18 INTEGER,PARAMETER :: nj_glo=10 19 INTEGER,PARAMETER :: llm=2 20 20 INTEGER,PARAMETER :: llmInterPolated=5 21 21 DOUBLE PRECISION :: lval(llm)=1, tsTemp, lvalInterPolated(llmInterPolated)=1 … … 29 29 DOUBLE PRECISION :: field_A_glo(ni_glo,nj_glo,llm), lval_ni_glo(ni_glo), lval_nj_glo(nj_glo) 30 30 DOUBLE PRECISION,ALLOCATABLE :: lon(:,:),lat(:,:),field_A(:,:,:), field_All_Axis(:,:,:), lonvalue(:) , & 31 field_Axis(:), lvaln(:), lval_ni(:), lval_nj(:), field_Two_Axis(:,:), lvalnInterp(:) 32 INTEGER :: ni,ibegin,iend,nj,jbegin,jend, nAxis, axisBegin, axisEnd, axisterpBegin, nAxisinterp, axisinterpEnd 31 field_Axis(:), lvaln(:), lval_ni(:), lval_nj(:), field_Two_Axis(:,:), lvalnInterp(:), & 32 lontransformed(:,:), lattransformed(:,:), lon_glotransformed(:,:), lat_glotransformed(:,:) 33 INTEGER :: ni,ibegin,iend,nj,jbegin,jend, nAxis, axisBegin, axisEnd 34 INTEGER :: axisterpBegin, nAxisinterp, axisinterpEnd 35 INTEGER :: niDomInterp,ibeginDomInterp,iendDomInterp,njDomInterp,jbeginDomInterp,jendDomInterp, niDomGlo, njDomGlo 33 36 INTEGER :: i,j,l,ts,n 34 37 … … 74 77 CALL Distribute_index(axisterpBegin, axisinterpEnd, nAxisinterp, llmInterPolated, rank, size) 75 78 79 niDomGlo = ni_glo - 4 80 njDomGlo = nj_glo - 4 81 ALLOCATE(lon_glotransformed(niDomGlo,njDomGlo), lat_glotransformed(niDomGlo,njDomGlo)) 82 DO j=1,njDomGlo 83 DO i=1,niDomGlo 84 lon_glotransformed(i,j)=(i-1)+(j-1)*niDomGlo 85 lat_glotransformed(i,j)=1000+(i-1)+(j-1)*niDomGlo 86 ENDDO 87 ENDDO 88 89 niDomInterp = niDomGlo; ibeginDomInterp = 0 90 jbeginDomInterp = 0 91 CALL Distribute_index(jbeginDomInterp, jendDomInterp, njDomInterp, njDomGlo, rank, size) 92 76 93 ALLOCATE(field_A(0:ni+1,-1:nj+2,llm), field_Two_Axis(ni_glo,1:nj), field_Axis(nAxis), field_All_Axis(1:ni,1:nj,llm), & 77 94 lon(ni,nj),lat(ni,nj), lonvalue(ni*nj), & 78 lvaln(nAxis), lval_ni(ni), lval_nj(nj), lvalnInterp(nAxisinterp)) 95 lvaln(nAxis), lval_ni(ni), lval_nj(nj), lvalnInterp(nAxisinterp), & 96 lontransformed(niDomInterp, njDomInterp), lattransformed(niDomInterp, njDomInterp)) 79 97 80 98 ALLOCATE(mask(nj)) … … 88 106 lon(:,:)=lon_glo(ibegin+1:iend+1,jbegin+1:jend+1) 89 107 lat(:,:)=lat_glo(ibegin+1:iend+1,jbegin+1:jend+1) 108 lontransformed(:,:) = lon_glotransformed(ibeginDomInterp+1:iendDomInterp+1,jbeginDomInterp+1:jendDomInterp+1) 109 lattransformed(:,:) = lat_glotransformed(ibeginDomInterp+1:iendDomInterp+1,jbeginDomInterp+1:jendDomInterp+1) 90 110 field_A(1:ni,1:nj,:) = field_A_glo(ibegin+1:iend+1,jbegin+1:jend+1,:) 91 111 field_Axis(1:nAxis) = field_A_glo(1,1,axisBegin+1:axisEnd+1) … … 109 129 CALL xios_set_axis_attr("axis_C", size=llm, value=lval) 110 130 CALL xios_set_axis_attr("axis_D", size=llm, ibegin=axisBegin, ni=nAxis, value=lvaln) 111 ! CALL xios_set_axis_attr("axis_D", size=llm, value=lval)112 131 CALL xios_set_axis_attr("axis_G", size=llmInterPolated, value=lvalnInterp, ibegin=axisterpBegin, ni=nAxisinterp) 113 132 CALL xios_set_domain_attr("domain_A",ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, ni=ni,jbegin=jbegin,nj=nj) 114 133 CALL xios_set_domain_attr("domain_A",data_dim=2, data_ibegin=-1, data_ni=ni+2, data_jbegin=-2, data_nj=nj+4) 115 134 CALL xios_set_domain_attr("domain_A",lonvalue=RESHAPE(lon,(/ni*nj/)),latvalue=RESHAPE(lat,(/ni*nj/))) 116 ! CALL xios_set_domain_attr("domain_A",zoom_ibegin=40, zoom_ni=20, zoom_jbegin=40, zoom_nj=10) 135 136 CALL xios_set_domain_attr("domain_A_transformed",ni_glo=niDomGlo, nj_glo=njDomGlo, ibegin=ibeginDomInterp, ni=niDomInterp,jbegin=jbeginDomInterp,nj=njDomInterp) 137 CALL xios_set_domain_attr("domain_A_transformed",lonvalue=RESHAPE(lontransformed,(/niDomInterp*njDomInterp/)),latvalue=RESHAPE(lattransformed,(/niDomInterp*njDomInterp/))) 138 117 139 CALL xios_set_fieldgroup_attr("field_definition",enabled=.TRUE.) 118 140 -
XIOS/trunk/src/test/test_unstruct_complete.f90
r655 r657 199 199 CALL xios_set_current_context(ctx_hdl) 200 200 201 CALL xios_define_calendar(type="Julian", &202 start_date=xios_date(2012, 03, 01, 15, 00, 00), &203 time_origin=xios_date(2012, 02, 29, 15, 00, 00))204 205 201 CALL xios_set_axis_attr("axis_srf",size=llm ,value=lval) ; 206 CALL xios_set_domain_attr("domain_srf",ni_glo=ncell_glo, ni=ncell, ibegin=1, i_index=RESHAPE(i_index,(/ncell,1/) )) 202 ! CALL xios_set_domain_attr("domain_srf",ni_glo=ncell_glo, ni=ncell, ibegin=1, i_index=RESHAPE(i_index,(/ncell,1/) )) 203 CALL xios_set_domain_attr("domain_srf",ni_glo=ncell_glo, ni=ncell, ibegin=1, i_index=i_index) 207 204 CALL xios_set_domain_attr("domain_srf",data_dim=1, data_ni=data_n_index, data_n_index=data_n_index, data_i_index=data_i_index, type='unstructured') 208 205 CALL xios_set_domain_attr("domain_srf",lonvalue=lon,latvalue=lat) 209 206 CALL xios_set_domain_attr("domain_srf", nvertex=4, bounds_lon=bounds_lon, bounds_lat=bounds_lat ) 207 ! CALL xios_set_domain_attr("domain_srf", mask=RESHAPE(mask,(/ncell,1/) )) 210 208 211 209 212 210 dtime%second=3600 213 CALL xios_set_ context_attr("surface", timestep=dtime)211 CALL xios_set_timestep(dtime) 214 212 CALL xios_close_context_definition() 215 213 -
XIOS/trunk/src/transformation/domain_algorithm_transformation.cpp
r631 r657 172 172 for (int k = 1; k < globalDim; ++k) 173 173 { 174 mulDim *= grid DestGlobalDim[k-1];174 mulDim *= gridSrcGlobalDim[k-1]; 175 175 globIndex += (currentIndex[k])*mulDim; 176 176 } -
XIOS/trunk/src/transformation/generic_algorithm_transformation.cpp
r631 r657 52 52 globalIndexSrcGrid); 53 53 size_t globalIndexSize = globalIndexDestGrid.numElements(); 54 std::vector<double>currentVecWeight = itTransWeight->second;54 const std::vector<double>& currentVecWeight = itTransWeight->second; 55 55 for (size_t idx = 0; idx < globalIndexSize; ++idx) 56 56 { -
XIOS/trunk/src/transformation/grid_transformation.cpp
r653 r657 12 12 #include "axis_algorithm_interpolate.hpp" 13 13 #include "domain_algorithm_zoom.hpp" 14 #include "domain_algorithm_interpolate_from_file.hpp" 14 15 #include "context.hpp" 15 16 #include "context_client.hpp" … … 277 278 278 279 CZoomDomain* zoomDomain = 0; 280 CInterpolateFromFileDomain* interpFileDomain = 0; 279 281 CGenericAlgorithmTransformation* algo = 0; 280 282 switch (transType) 281 283 { 284 case TRANS_INTERPOLATE_DOMAIN_FROM_FILE: 285 interpFileDomain = dynamic_cast<CInterpolateFromFileDomain*> (it->second); 286 algo = new CDomainAlgorithmInterpolateFromFile(domainListDestP[domainIndex], domainListSrcP[domainIndex],interpFileDomain); 287 break; 282 288 case TRANS_ZOOM_DOMAIN: 283 289 zoomDomain = dynamic_cast<CZoomDomain*> (it->second); … … 308 314 switch (transType) 309 315 { 316 case TRANS_INTERPOLATE_DOMAIN_FROM_FILE: 310 317 case TRANS_ZOOM_DOMAIN: 311 318 domainIndex = elementPosition2DomainPositionInGrid_[elementPositionInGrid]; -
XIOS/trunk/src/type/type_util.hpp
r631 r657 28 28 class CZoomDomain; 29 29 class CZoomDomainGroup; 30 class CInterpolateFromFileDomainGroup; 30 31 31 32 template <typename T> inline string getStrType(void); … … 72 73 macro(CZoomDomain) 73 74 macro(CZoomDomainGroup) 75 macro(CInterpolateFromFileDomain) 76 macro(CInterpolateFromFileDomainGroup) 74 77 #undef macro 75 78 } -
XIOS/trunk/src/xml_parser_decl.cpp
r631 r657 1 1 #include "xml_parser_impl.hpp" 2 2 #include "group_template.hpp" 3 #include "context.hpp" 4 #include "axis.hpp" 5 #include "domain.hpp" 6 #include "field.hpp" 7 #include "file.hpp" 8 #include "variable.hpp" 9 #include "inverse_axis.hpp" 10 #include "zoom_axis.hpp" 11 #include "interpolate_axis.hpp" 12 #include "zoom_domain.hpp" 3 #include "node_type.hpp" 13 4 14 5 namespace xios … … 32 23 macro( InterpolateAxis ) 33 24 macro( ZoomDomain ) 25 macro( InterpolateFromFileDomain ) 34 26 } 35 27 }
Note: See TracChangeset
for help on using the changeset viewer.