Changeset 567 for XIOS/trunk/src/interface
- Timestamp:
- 03/10/15 10:49:02 (9 years ago)
- Location:
- XIOS/trunk/src/interface
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/c_attr/icgrid_attr.cpp
r555 r567 69 69 70 70 71 void cxios_set_grid_mask (grid_Ptr grid_hdl, bool* mask, int extent1, int extent2, int extent3)71 void cxios_set_grid_mask1(grid_Ptr grid_hdl, bool* mask1, int extent1) 72 72 { 73 73 CTimer::get("XIOS").resume(); 74 CArray<bool, 3> tmp(mask,shape(extent1,extent2,extent3),neverDeleteData) ;75 grid_hdl->mask .reference(tmp.copy());74 CArray<bool,1> tmp(mask1,shape(extent1),neverDeleteData) ; 75 grid_hdl->mask1.reference(tmp.copy()); 76 76 CTimer::get("XIOS").suspend(); 77 77 } 78 78 79 void cxios_get_grid_mask (grid_Ptr grid_hdl, bool* mask, int extent1, int extent2, int extent3)79 void cxios_get_grid_mask1(grid_Ptr grid_hdl, bool* mask1, int extent1) 80 80 { 81 81 CTimer::get("XIOS").resume(); 82 CArray<bool, 3> tmp(mask,shape(extent1,extent2,extent3),neverDeleteData) ;83 tmp=grid_hdl->mask .getInheritedValue() ;82 CArray<bool,1> tmp(mask1,shape(extent1),neverDeleteData) ; 83 tmp=grid_hdl->mask1.getInheritedValue() ; 84 84 CTimer::get("XIOS").suspend(); 85 85 } 86 86 87 bool cxios_is_defined_grid_mask (grid_Ptr grid_hdl )87 bool cxios_is_defined_grid_mask1(grid_Ptr grid_hdl ) 88 88 { 89 89 CTimer::get("XIOS").resume(); 90 return grid_hdl->mask.hasInheritedValue(); 90 return grid_hdl->mask1.hasInheritedValue(); 91 CTimer::get("XIOS").suspend(); 92 } 93 94 95 96 void cxios_set_grid_mask2(grid_Ptr grid_hdl, bool* mask2, int extent1, int extent2) 97 { 98 CTimer::get("XIOS").resume(); 99 CArray<bool,2> tmp(mask2,shape(extent1,extent2),neverDeleteData) ; 100 grid_hdl->mask2.reference(tmp.copy()); 101 CTimer::get("XIOS").suspend(); 102 } 103 104 void cxios_get_grid_mask2(grid_Ptr grid_hdl, bool* mask2, int extent1, int extent2) 105 { 106 CTimer::get("XIOS").resume(); 107 CArray<bool,2> tmp(mask2,shape(extent1,extent2),neverDeleteData) ; 108 tmp=grid_hdl->mask2.getInheritedValue() ; 109 CTimer::get("XIOS").suspend(); 110 } 111 112 bool cxios_is_defined_grid_mask2(grid_Ptr grid_hdl ) 113 { 114 CTimer::get("XIOS").resume(); 115 return grid_hdl->mask2.hasInheritedValue(); 116 CTimer::get("XIOS").suspend(); 117 } 118 119 120 121 void cxios_set_grid_mask3(grid_Ptr grid_hdl, bool* mask3, int extent1, int extent2, int extent3) 122 { 123 CTimer::get("XIOS").resume(); 124 CArray<bool,3> tmp(mask3,shape(extent1,extent2,extent3),neverDeleteData) ; 125 grid_hdl->mask3.reference(tmp.copy()); 126 CTimer::get("XIOS").suspend(); 127 } 128 129 void cxios_get_grid_mask3(grid_Ptr grid_hdl, bool* mask3, int extent1, int extent2, int extent3) 130 { 131 CTimer::get("XIOS").resume(); 132 CArray<bool,3> tmp(mask3,shape(extent1,extent2,extent3),neverDeleteData) ; 133 tmp=grid_hdl->mask3.getInheritedValue() ; 134 CTimer::get("XIOS").suspend(); 135 } 136 137 bool cxios_is_defined_grid_mask3(grid_Ptr grid_hdl ) 138 { 139 CTimer::get("XIOS").resume(); 140 return grid_hdl->mask3.hasInheritedValue(); 91 141 CTimer::get("XIOS").suspend(); 92 142 } -
XIOS/trunk/src/interface/c_attr/icgridgroup_attr.cpp
r555 r567 95 95 96 96 97 void cxios_set_gridgroup_mask (gridgroup_Ptr gridgroup_hdl, bool* mask, int extent1, int extent2, int extent3)97 void cxios_set_gridgroup_mask1(gridgroup_Ptr gridgroup_hdl, bool* mask1, int extent1) 98 98 { 99 99 CTimer::get("XIOS").resume(); 100 CArray<bool, 3> tmp(mask,shape(extent1,extent2,extent3),neverDeleteData) ;101 gridgroup_hdl->mask .reference(tmp.copy());100 CArray<bool,1> tmp(mask1,shape(extent1),neverDeleteData) ; 101 gridgroup_hdl->mask1.reference(tmp.copy()); 102 102 CTimer::get("XIOS").suspend(); 103 103 } 104 104 105 void cxios_get_gridgroup_mask (gridgroup_Ptr gridgroup_hdl, bool* mask, int extent1, int extent2, int extent3)105 void cxios_get_gridgroup_mask1(gridgroup_Ptr gridgroup_hdl, bool* mask1, int extent1) 106 106 { 107 107 CTimer::get("XIOS").resume(); 108 CArray<bool, 3> tmp(mask,shape(extent1,extent2,extent3),neverDeleteData) ;109 tmp=gridgroup_hdl->mask .getInheritedValue() ;108 CArray<bool,1> tmp(mask1,shape(extent1),neverDeleteData) ; 109 tmp=gridgroup_hdl->mask1.getInheritedValue() ; 110 110 CTimer::get("XIOS").suspend(); 111 111 } 112 112 113 bool cxios_is_defined_gridgroup_mask (gridgroup_Ptr gridgroup_hdl )113 bool cxios_is_defined_gridgroup_mask1(gridgroup_Ptr gridgroup_hdl ) 114 114 { 115 115 CTimer::get("XIOS").resume(); 116 return gridgroup_hdl->mask.hasInheritedValue(); 116 return gridgroup_hdl->mask1.hasInheritedValue(); 117 CTimer::get("XIOS").suspend(); 118 } 119 120 121 122 void cxios_set_gridgroup_mask2(gridgroup_Ptr gridgroup_hdl, bool* mask2, int extent1, int extent2) 123 { 124 CTimer::get("XIOS").resume(); 125 CArray<bool,2> tmp(mask2,shape(extent1,extent2),neverDeleteData) ; 126 gridgroup_hdl->mask2.reference(tmp.copy()); 127 CTimer::get("XIOS").suspend(); 128 } 129 130 void cxios_get_gridgroup_mask2(gridgroup_Ptr gridgroup_hdl, bool* mask2, int extent1, int extent2) 131 { 132 CTimer::get("XIOS").resume(); 133 CArray<bool,2> tmp(mask2,shape(extent1,extent2),neverDeleteData) ; 134 tmp=gridgroup_hdl->mask2.getInheritedValue() ; 135 CTimer::get("XIOS").suspend(); 136 } 137 138 bool cxios_is_defined_gridgroup_mask2(gridgroup_Ptr gridgroup_hdl ) 139 { 140 CTimer::get("XIOS").resume(); 141 return gridgroup_hdl->mask2.hasInheritedValue(); 142 CTimer::get("XIOS").suspend(); 143 } 144 145 146 147 void cxios_set_gridgroup_mask3(gridgroup_Ptr gridgroup_hdl, bool* mask3, int extent1, int extent2, int extent3) 148 { 149 CTimer::get("XIOS").resume(); 150 CArray<bool,3> tmp(mask3,shape(extent1,extent2,extent3),neverDeleteData) ; 151 gridgroup_hdl->mask3.reference(tmp.copy()); 152 CTimer::get("XIOS").suspend(); 153 } 154 155 void cxios_get_gridgroup_mask3(gridgroup_Ptr gridgroup_hdl, bool* mask3, int extent1, int extent2, int extent3) 156 { 157 CTimer::get("XIOS").resume(); 158 CArray<bool,3> tmp(mask3,shape(extent1,extent2,extent3),neverDeleteData) ; 159 tmp=gridgroup_hdl->mask3.getInheritedValue() ; 160 CTimer::get("XIOS").suspend(); 161 } 162 163 bool cxios_is_defined_gridgroup_mask3(gridgroup_Ptr gridgroup_hdl ) 164 { 165 CTimer::get("XIOS").resume(); 166 return gridgroup_hdl->mask3.hasInheritedValue(); 117 167 CTimer::get("XIOS").suspend(); 118 168 } -
XIOS/trunk/src/interface/fortran_attr/grid_interface_attr.F90
r555 r567 52 52 53 53 54 SUBROUTINE cxios_set_grid_mask (grid_hdl, mask, extent1, extent2, extent3) BIND(C)54 SUBROUTINE cxios_set_grid_mask1(grid_hdl, mask1, extent1) BIND(C) 55 55 USE ISO_C_BINDING 56 56 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 57 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 57 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask1 58 INTEGER (kind = C_INT), VALUE :: extent1 59 END SUBROUTINE cxios_set_grid_mask1 60 61 SUBROUTINE cxios_get_grid_mask1(grid_hdl, mask1, extent1) BIND(C) 62 USE ISO_C_BINDING 63 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 64 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask1 65 INTEGER (kind = C_INT), VALUE :: extent1 66 END SUBROUTINE cxios_get_grid_mask1 67 68 FUNCTION cxios_is_defined_grid_mask1(grid_hdl ) BIND(C) 69 USE ISO_C_BINDING 70 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask1 71 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 72 END FUNCTION cxios_is_defined_grid_mask1 73 74 75 SUBROUTINE cxios_set_grid_mask2(grid_hdl, mask2, extent1, extent2) BIND(C) 76 USE ISO_C_BINDING 77 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 78 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask2 79 INTEGER (kind = C_INT), VALUE :: extent1 80 INTEGER (kind = C_INT), VALUE :: extent2 81 END SUBROUTINE cxios_set_grid_mask2 82 83 SUBROUTINE cxios_get_grid_mask2(grid_hdl, mask2, extent1, extent2) BIND(C) 84 USE ISO_C_BINDING 85 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 86 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask2 87 INTEGER (kind = C_INT), VALUE :: extent1 88 INTEGER (kind = C_INT), VALUE :: extent2 89 END SUBROUTINE cxios_get_grid_mask2 90 91 FUNCTION cxios_is_defined_grid_mask2(grid_hdl ) BIND(C) 92 USE ISO_C_BINDING 93 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask2 94 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 95 END FUNCTION cxios_is_defined_grid_mask2 96 97 98 SUBROUTINE cxios_set_grid_mask3(grid_hdl, mask3, extent1, extent2, extent3) BIND(C) 99 USE ISO_C_BINDING 100 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 101 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask3 58 102 INTEGER (kind = C_INT), VALUE :: extent1 59 103 INTEGER (kind = C_INT), VALUE :: extent2 60 104 INTEGER (kind = C_INT), VALUE :: extent3 61 END SUBROUTINE cxios_set_grid_mask 105 END SUBROUTINE cxios_set_grid_mask3 62 106 63 SUBROUTINE cxios_get_grid_mask (grid_hdl, mask, extent1, extent2, extent3) BIND(C)107 SUBROUTINE cxios_get_grid_mask3(grid_hdl, mask3, extent1, extent2, extent3) BIND(C) 64 108 USE ISO_C_BINDING 65 109 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 66 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 110 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask3 67 111 INTEGER (kind = C_INT), VALUE :: extent1 68 112 INTEGER (kind = C_INT), VALUE :: extent2 69 113 INTEGER (kind = C_INT), VALUE :: extent3 70 END SUBROUTINE cxios_get_grid_mask 114 END SUBROUTINE cxios_get_grid_mask3 71 115 72 FUNCTION cxios_is_defined_grid_mask (grid_hdl ) BIND(C)116 FUNCTION cxios_is_defined_grid_mask3(grid_hdl ) BIND(C) 73 117 USE ISO_C_BINDING 74 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask 118 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask3 75 119 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 76 END FUNCTION cxios_is_defined_grid_mask 120 END FUNCTION cxios_is_defined_grid_mask3 77 121 78 122 -
XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90
r555 r567 73 73 74 74 75 SUBROUTINE cxios_set_gridgroup_mask (gridgroup_hdl, mask, extent1, extent2, extent3) BIND(C)75 SUBROUTINE cxios_set_gridgroup_mask1(gridgroup_hdl, mask1, extent1) BIND(C) 76 76 USE ISO_C_BINDING 77 77 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 78 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 78 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask1 79 INTEGER (kind = C_INT), VALUE :: extent1 80 END SUBROUTINE cxios_set_gridgroup_mask1 81 82 SUBROUTINE cxios_get_gridgroup_mask1(gridgroup_hdl, mask1, extent1) BIND(C) 83 USE ISO_C_BINDING 84 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 85 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask1 86 INTEGER (kind = C_INT), VALUE :: extent1 87 END SUBROUTINE cxios_get_gridgroup_mask1 88 89 FUNCTION cxios_is_defined_gridgroup_mask1(gridgroup_hdl ) BIND(C) 90 USE ISO_C_BINDING 91 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask1 92 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 93 END FUNCTION cxios_is_defined_gridgroup_mask1 94 95 96 SUBROUTINE cxios_set_gridgroup_mask2(gridgroup_hdl, mask2, extent1, extent2) BIND(C) 97 USE ISO_C_BINDING 98 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 99 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask2 100 INTEGER (kind = C_INT), VALUE :: extent1 101 INTEGER (kind = C_INT), VALUE :: extent2 102 END SUBROUTINE cxios_set_gridgroup_mask2 103 104 SUBROUTINE cxios_get_gridgroup_mask2(gridgroup_hdl, mask2, extent1, extent2) BIND(C) 105 USE ISO_C_BINDING 106 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 107 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask2 108 INTEGER (kind = C_INT), VALUE :: extent1 109 INTEGER (kind = C_INT), VALUE :: extent2 110 END SUBROUTINE cxios_get_gridgroup_mask2 111 112 FUNCTION cxios_is_defined_gridgroup_mask2(gridgroup_hdl ) BIND(C) 113 USE ISO_C_BINDING 114 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask2 115 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 116 END FUNCTION cxios_is_defined_gridgroup_mask2 117 118 119 SUBROUTINE cxios_set_gridgroup_mask3(gridgroup_hdl, mask3, extent1, extent2, extent3) BIND(C) 120 USE ISO_C_BINDING 121 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 122 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask3 79 123 INTEGER (kind = C_INT), VALUE :: extent1 80 124 INTEGER (kind = C_INT), VALUE :: extent2 81 125 INTEGER (kind = C_INT), VALUE :: extent3 82 END SUBROUTINE cxios_set_gridgroup_mask 126 END SUBROUTINE cxios_set_gridgroup_mask3 83 127 84 SUBROUTINE cxios_get_gridgroup_mask (gridgroup_hdl, mask, extent1, extent2, extent3) BIND(C)128 SUBROUTINE cxios_get_gridgroup_mask3(gridgroup_hdl, mask3, extent1, extent2, extent3) BIND(C) 85 129 USE ISO_C_BINDING 86 130 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 87 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 131 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask3 88 132 INTEGER (kind = C_INT), VALUE :: extent1 89 133 INTEGER (kind = C_INT), VALUE :: extent2 90 134 INTEGER (kind = C_INT), VALUE :: extent3 91 END SUBROUTINE cxios_get_gridgroup_mask 135 END SUBROUTINE cxios_get_gridgroup_mask3 92 136 93 FUNCTION cxios_is_defined_gridgroup_mask (gridgroup_hdl ) BIND(C)137 FUNCTION cxios_is_defined_gridgroup_mask3(gridgroup_hdl ) BIND(C) 94 138 USE ISO_C_BINDING 95 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask 139 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask3 96 140 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 97 END FUNCTION cxios_is_defined_gridgroup_mask 141 END FUNCTION cxios_is_defined_gridgroup_mask3 98 142 99 143 -
XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
r556 r567 12 12 13 13 SUBROUTINE xios(set_grid_attr) & 14 ( grid_id, axisDomainOrder, description, mask , name )14 ( grid_id, axisDomainOrder, description, mask1, mask2, mask3, name ) 15 15 16 16 IMPLICIT NONE … … 20 20 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder_tmp(:) 21 21 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 22 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:,:,:) 23 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 22 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) 23 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 24 LOGICAL , OPTIONAL, INTENT(IN) :: mask2(:,:) 25 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 26 LOGICAL , OPTIONAL, INTENT(IN) :: mask3(:,:,:) 27 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 24 28 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 25 29 26 30 CALL xios(get_grid_handle)(grid_id,grid_hdl) 27 31 CALL xios(set_grid_attr_hdl_) & 28 ( grid_hdl, axisDomainOrder, description, mask , name )32 ( grid_hdl, axisDomainOrder, description, mask1, mask2, mask3, name ) 29 33 30 34 END SUBROUTINE xios(set_grid_attr) 31 35 32 36 SUBROUTINE xios(set_grid_attr_hdl) & 33 ( grid_hdl, axisDomainOrder, description, mask , name )37 ( grid_hdl, axisDomainOrder, description, mask1, mask2, mask3, name ) 34 38 35 39 IMPLICIT NONE … … 38 42 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder_tmp(:) 39 43 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 40 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:,:,:) 41 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 44 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) 45 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 46 LOGICAL , OPTIONAL, INTENT(IN) :: mask2(:,:) 47 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 48 LOGICAL , OPTIONAL, INTENT(IN) :: mask3(:,:,:) 49 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 42 50 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 43 51 44 52 CALL xios(set_grid_attr_hdl_) & 45 ( grid_hdl, axisDomainOrder, description, mask , name )53 ( grid_hdl, axisDomainOrder, description, mask1, mask2, mask3, name ) 46 54 47 55 END SUBROUTINE xios(set_grid_attr_hdl) 48 56 49 57 SUBROUTINE xios(set_grid_attr_hdl_) & 50 ( grid_hdl, axisDomainOrder_, description_, mask _, name_ )58 ( grid_hdl, axisDomainOrder_, description_, mask1_, mask2_, mask3_, name_ ) 51 59 52 60 IMPLICIT NONE … … 55 63 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder__tmp(:) 56 64 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 57 LOGICAL , OPTIONAL, INTENT(IN) :: mask_(:,:,:) 58 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:) 65 LOGICAL , OPTIONAL, INTENT(IN) :: mask1_(:) 66 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:) 67 LOGICAL , OPTIONAL, INTENT(IN) :: mask2_(:,:) 68 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:) 69 LOGICAL , OPTIONAL, INTENT(IN) :: mask3_(:,:,:) 70 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 59 71 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 60 72 … … 69 81 ENDIF 70 82 71 IF (PRESENT(mask_)) THEN 72 ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3))) 73 mask__tmp=mask_ 74 CALL cxios_set_grid_mask(grid_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3)) 83 IF (PRESENT(mask1_)) THEN 84 ALLOCATE(mask1__tmp(size(mask1_,1))) 85 mask1__tmp=mask1_ 86 CALL cxios_set_grid_mask1(grid_hdl%daddr, mask1__tmp,size(mask1_,1)) 87 ENDIF 88 89 IF (PRESENT(mask2_)) THEN 90 ALLOCATE(mask2__tmp(size(mask2_,1),size(mask2_,2))) 91 mask2__tmp=mask2_ 92 CALL cxios_set_grid_mask2(grid_hdl%daddr, mask2__tmp,size(mask2_,1),size(mask2_,2)) 93 ENDIF 94 95 IF (PRESENT(mask3_)) THEN 96 ALLOCATE(mask3__tmp(size(mask3_,1),size(mask3_,2),size(mask3_,3))) 97 mask3__tmp=mask3_ 98 CALL cxios_set_grid_mask3(grid_hdl%daddr, mask3__tmp,size(mask3_,1),size(mask3_,2),size(mask3_,3)) 75 99 ENDIF 76 100 … … 84 108 85 109 SUBROUTINE xios(get_grid_attr) & 86 ( grid_id, axisDomainOrder, description, mask , name )110 ( grid_id, axisDomainOrder, description, mask1, mask2, mask3, name ) 87 111 88 112 IMPLICIT NONE … … 92 116 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder_tmp(:) 93 117 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 94 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 95 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 118 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) 119 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 120 LOGICAL , OPTIONAL, INTENT(OUT) :: mask2(:,:) 121 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 122 LOGICAL , OPTIONAL, INTENT(OUT) :: mask3(:,:,:) 123 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 96 124 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 97 125 98 126 CALL xios(get_grid_handle)(grid_id,grid_hdl) 99 127 CALL xios(get_grid_attr_hdl_) & 100 ( grid_hdl, axisDomainOrder, description, mask , name )128 ( grid_hdl, axisDomainOrder, description, mask1, mask2, mask3, name ) 101 129 102 130 END SUBROUTINE xios(get_grid_attr) 103 131 104 132 SUBROUTINE xios(get_grid_attr_hdl) & 105 ( grid_hdl, axisDomainOrder, description, mask , name )133 ( grid_hdl, axisDomainOrder, description, mask1, mask2, mask3, name ) 106 134 107 135 IMPLICIT NONE … … 110 138 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder_tmp(:) 111 139 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 112 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 113 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 140 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) 141 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 142 LOGICAL , OPTIONAL, INTENT(OUT) :: mask2(:,:) 143 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 144 LOGICAL , OPTIONAL, INTENT(OUT) :: mask3(:,:,:) 145 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 114 146 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 115 147 116 148 CALL xios(get_grid_attr_hdl_) & 117 ( grid_hdl, axisDomainOrder, description, mask , name )149 ( grid_hdl, axisDomainOrder, description, mask1, mask2, mask3, name ) 118 150 119 151 END SUBROUTINE xios(get_grid_attr_hdl) 120 152 121 153 SUBROUTINE xios(get_grid_attr_hdl_) & 122 ( grid_hdl, axisDomainOrder_, description_, mask _, name_ )154 ( grid_hdl, axisDomainOrder_, description_, mask1_, mask2_, mask3_, name_ ) 123 155 124 156 IMPLICIT NONE … … 127 159 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder__tmp(:) 128 160 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 129 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_(:,:,:) 130 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:) 161 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1_(:) 162 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:) 163 LOGICAL , OPTIONAL, INTENT(OUT) :: mask2_(:,:) 164 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:) 165 LOGICAL , OPTIONAL, INTENT(OUT) :: mask3_(:,:,:) 166 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 131 167 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 132 168 … … 141 177 ENDIF 142 178 143 IF (PRESENT(mask_)) THEN 144 ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3))) 145 CALL cxios_get_grid_mask(grid_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3)) 146 mask_=mask__tmp 179 IF (PRESENT(mask1_)) THEN 180 ALLOCATE(mask1__tmp(size(mask1_,1))) 181 CALL cxios_get_grid_mask1(grid_hdl%daddr, mask1__tmp,size(mask1_,1)) 182 mask1_=mask1__tmp 183 ENDIF 184 185 IF (PRESENT(mask2_)) THEN 186 ALLOCATE(mask2__tmp(size(mask2_,1),size(mask2_,2))) 187 CALL cxios_get_grid_mask2(grid_hdl%daddr, mask2__tmp,size(mask2_,1),size(mask2_,2)) 188 mask2_=mask2__tmp 189 ENDIF 190 191 IF (PRESENT(mask3_)) THEN 192 ALLOCATE(mask3__tmp(size(mask3_,1),size(mask3_,2),size(mask3_,3))) 193 CALL cxios_get_grid_mask3(grid_hdl%daddr, mask3__tmp,size(mask3_,1),size(mask3_,2),size(mask3_,3)) 194 mask3_=mask3__tmp 147 195 ENDIF 148 196 … … 156 204 157 205 SUBROUTINE xios(is_defined_grid_attr) & 158 ( grid_id, axisDomainOrder, description, mask , name )206 ( grid_id, axisDomainOrder, description, mask1, mask2, mask3, name ) 159 207 160 208 IMPLICIT NONE … … 165 213 LOGICAL, OPTIONAL, INTENT(OUT) :: description 166 214 LOGICAL(KIND=C_BOOL) :: description_tmp 167 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 168 LOGICAL(KIND=C_BOOL) :: mask_tmp 215 LOGICAL, OPTIONAL, INTENT(OUT) :: mask1 216 LOGICAL(KIND=C_BOOL) :: mask1_tmp 217 LOGICAL, OPTIONAL, INTENT(OUT) :: mask2 218 LOGICAL(KIND=C_BOOL) :: mask2_tmp 219 LOGICAL, OPTIONAL, INTENT(OUT) :: mask3 220 LOGICAL(KIND=C_BOOL) :: mask3_tmp 169 221 LOGICAL, OPTIONAL, INTENT(OUT) :: name 170 222 LOGICAL(KIND=C_BOOL) :: name_tmp … … 172 224 CALL xios(get_grid_handle)(grid_id,grid_hdl) 173 225 CALL xios(is_defined_grid_attr_hdl_) & 174 ( grid_hdl, axisDomainOrder, description, mask , name )226 ( grid_hdl, axisDomainOrder, description, mask1, mask2, mask3, name ) 175 227 176 228 END SUBROUTINE xios(is_defined_grid_attr) 177 229 178 230 SUBROUTINE xios(is_defined_grid_attr_hdl) & 179 ( grid_hdl, axisDomainOrder, description, mask , name )231 ( grid_hdl, axisDomainOrder, description, mask1, mask2, mask3, name ) 180 232 181 233 IMPLICIT NONE … … 185 237 LOGICAL, OPTIONAL, INTENT(OUT) :: description 186 238 LOGICAL(KIND=C_BOOL) :: description_tmp 187 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 188 LOGICAL(KIND=C_BOOL) :: mask_tmp 239 LOGICAL, OPTIONAL, INTENT(OUT) :: mask1 240 LOGICAL(KIND=C_BOOL) :: mask1_tmp 241 LOGICAL, OPTIONAL, INTENT(OUT) :: mask2 242 LOGICAL(KIND=C_BOOL) :: mask2_tmp 243 LOGICAL, OPTIONAL, INTENT(OUT) :: mask3 244 LOGICAL(KIND=C_BOOL) :: mask3_tmp 189 245 LOGICAL, OPTIONAL, INTENT(OUT) :: name 190 246 LOGICAL(KIND=C_BOOL) :: name_tmp 191 247 192 248 CALL xios(is_defined_grid_attr_hdl_) & 193 ( grid_hdl, axisDomainOrder, description, mask , name )249 ( grid_hdl, axisDomainOrder, description, mask1, mask2, mask3, name ) 194 250 195 251 END SUBROUTINE xios(is_defined_grid_attr_hdl) 196 252 197 253 SUBROUTINE xios(is_defined_grid_attr_hdl_) & 198 ( grid_hdl, axisDomainOrder_, description_, mask _, name_ )254 ( grid_hdl, axisDomainOrder_, description_, mask1_, mask2_, mask3_, name_ ) 199 255 200 256 IMPLICIT NONE … … 204 260 LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 205 261 LOGICAL(KIND=C_BOOL) :: description__tmp 206 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 207 LOGICAL(KIND=C_BOOL) :: mask__tmp 262 LOGICAL, OPTIONAL, INTENT(OUT) :: mask1_ 263 LOGICAL(KIND=C_BOOL) :: mask1__tmp 264 LOGICAL, OPTIONAL, INTENT(OUT) :: mask2_ 265 LOGICAL(KIND=C_BOOL) :: mask2__tmp 266 LOGICAL, OPTIONAL, INTENT(OUT) :: mask3_ 267 LOGICAL(KIND=C_BOOL) :: mask3__tmp 208 268 LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 209 269 LOGICAL(KIND=C_BOOL) :: name__tmp … … 219 279 ENDIF 220 280 221 IF (PRESENT(mask_)) THEN 222 mask__tmp=cxios_is_defined_grid_mask(grid_hdl%daddr) 223 mask_=mask__tmp 281 IF (PRESENT(mask1_)) THEN 282 mask1__tmp=cxios_is_defined_grid_mask1(grid_hdl%daddr) 283 mask1_=mask1__tmp 284 ENDIF 285 286 IF (PRESENT(mask2_)) THEN 287 mask2__tmp=cxios_is_defined_grid_mask2(grid_hdl%daddr) 288 mask2_=mask2__tmp 289 ENDIF 290 291 IF (PRESENT(mask3_)) THEN 292 mask3__tmp=cxios_is_defined_grid_mask3(grid_hdl%daddr) 293 mask3_=mask3__tmp 224 294 ENDIF 225 295 -
XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90
r556 r567 12 12 13 13 SUBROUTINE xios(set_gridgroup_attr) & 14 ( gridgroup_id, axisDomainOrder, description, group_ref, mask , name )14 ( gridgroup_id, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 15 15 16 16 IMPLICIT NONE … … 21 21 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 22 22 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 23 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:,:,:) 24 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 23 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) 24 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 25 LOGICAL , OPTIONAL, INTENT(IN) :: mask2(:,:) 26 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 27 LOGICAL , OPTIONAL, INTENT(IN) :: mask3(:,:,:) 28 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 25 29 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 26 30 27 31 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 28 32 CALL xios(set_gridgroup_attr_hdl_) & 29 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )33 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 30 34 31 35 END SUBROUTINE xios(set_gridgroup_attr) 32 36 33 37 SUBROUTINE xios(set_gridgroup_attr_hdl) & 34 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )38 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 35 39 36 40 IMPLICIT NONE … … 40 44 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 41 45 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 42 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:,:,:) 43 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 46 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) 47 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 48 LOGICAL , OPTIONAL, INTENT(IN) :: mask2(:,:) 49 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 50 LOGICAL , OPTIONAL, INTENT(IN) :: mask3(:,:,:) 51 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 44 52 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 45 53 46 54 CALL xios(set_gridgroup_attr_hdl_) & 47 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )55 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 48 56 49 57 END SUBROUTINE xios(set_gridgroup_attr_hdl) 50 58 51 59 SUBROUTINE xios(set_gridgroup_attr_hdl_) & 52 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask _, name_ )60 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask1_, mask2_, mask3_, name_ ) 53 61 54 62 IMPLICIT NONE … … 58 66 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 59 67 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 60 LOGICAL , OPTIONAL, INTENT(IN) :: mask_(:,:,:) 61 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:) 68 LOGICAL , OPTIONAL, INTENT(IN) :: mask1_(:) 69 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:) 70 LOGICAL , OPTIONAL, INTENT(IN) :: mask2_(:,:) 71 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:) 72 LOGICAL , OPTIONAL, INTENT(IN) :: mask3_(:,:,:) 73 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 62 74 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 63 75 … … 76 88 ENDIF 77 89 78 IF (PRESENT(mask_)) THEN 79 ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3))) 80 mask__tmp=mask_ 81 CALL cxios_set_gridgroup_mask(gridgroup_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3)) 90 IF (PRESENT(mask1_)) THEN 91 ALLOCATE(mask1__tmp(size(mask1_,1))) 92 mask1__tmp=mask1_ 93 CALL cxios_set_gridgroup_mask1(gridgroup_hdl%daddr, mask1__tmp,size(mask1_,1)) 94 ENDIF 95 96 IF (PRESENT(mask2_)) THEN 97 ALLOCATE(mask2__tmp(size(mask2_,1),size(mask2_,2))) 98 mask2__tmp=mask2_ 99 CALL cxios_set_gridgroup_mask2(gridgroup_hdl%daddr, mask2__tmp,size(mask2_,1),size(mask2_,2)) 100 ENDIF 101 102 IF (PRESENT(mask3_)) THEN 103 ALLOCATE(mask3__tmp(size(mask3_,1),size(mask3_,2),size(mask3_,3))) 104 mask3__tmp=mask3_ 105 CALL cxios_set_gridgroup_mask3(gridgroup_hdl%daddr, mask3__tmp,size(mask3_,1),size(mask3_,2),size(mask3_,3)) 82 106 ENDIF 83 107 … … 91 115 92 116 SUBROUTINE xios(get_gridgroup_attr) & 93 ( gridgroup_id, axisDomainOrder, description, group_ref, mask , name )117 ( gridgroup_id, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 94 118 95 119 IMPLICIT NONE … … 100 124 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 101 125 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 102 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 103 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 126 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) 127 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 128 LOGICAL , OPTIONAL, INTENT(OUT) :: mask2(:,:) 129 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 130 LOGICAL , OPTIONAL, INTENT(OUT) :: mask3(:,:,:) 131 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 104 132 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 105 133 106 134 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 107 135 CALL xios(get_gridgroup_attr_hdl_) & 108 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )136 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 109 137 110 138 END SUBROUTINE xios(get_gridgroup_attr) 111 139 112 140 SUBROUTINE xios(get_gridgroup_attr_hdl) & 113 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )141 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 114 142 115 143 IMPLICIT NONE … … 119 147 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 120 148 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 121 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 122 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 149 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) 150 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 151 LOGICAL , OPTIONAL, INTENT(OUT) :: mask2(:,:) 152 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 153 LOGICAL , OPTIONAL, INTENT(OUT) :: mask3(:,:,:) 154 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 123 155 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 124 156 125 157 CALL xios(get_gridgroup_attr_hdl_) & 126 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )158 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 127 159 128 160 END SUBROUTINE xios(get_gridgroup_attr_hdl) 129 161 130 162 SUBROUTINE xios(get_gridgroup_attr_hdl_) & 131 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask _, name_ )163 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask1_, mask2_, mask3_, name_ ) 132 164 133 165 IMPLICIT NONE … … 137 169 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 138 170 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 139 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_(:,:,:) 140 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:) 171 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1_(:) 172 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:) 173 LOGICAL , OPTIONAL, INTENT(OUT) :: mask2_(:,:) 174 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:) 175 LOGICAL , OPTIONAL, INTENT(OUT) :: mask3_(:,:,:) 176 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 141 177 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 142 178 … … 155 191 ENDIF 156 192 157 IF (PRESENT(mask_)) THEN 158 ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3))) 159 CALL cxios_get_gridgroup_mask(gridgroup_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3)) 160 mask_=mask__tmp 193 IF (PRESENT(mask1_)) THEN 194 ALLOCATE(mask1__tmp(size(mask1_,1))) 195 CALL cxios_get_gridgroup_mask1(gridgroup_hdl%daddr, mask1__tmp,size(mask1_,1)) 196 mask1_=mask1__tmp 197 ENDIF 198 199 IF (PRESENT(mask2_)) THEN 200 ALLOCATE(mask2__tmp(size(mask2_,1),size(mask2_,2))) 201 CALL cxios_get_gridgroup_mask2(gridgroup_hdl%daddr, mask2__tmp,size(mask2_,1),size(mask2_,2)) 202 mask2_=mask2__tmp 203 ENDIF 204 205 IF (PRESENT(mask3_)) THEN 206 ALLOCATE(mask3__tmp(size(mask3_,1),size(mask3_,2),size(mask3_,3))) 207 CALL cxios_get_gridgroup_mask3(gridgroup_hdl%daddr, mask3__tmp,size(mask3_,1),size(mask3_,2),size(mask3_,3)) 208 mask3_=mask3__tmp 161 209 ENDIF 162 210 … … 170 218 171 219 SUBROUTINE xios(is_defined_gridgroup_attr) & 172 ( gridgroup_id, axisDomainOrder, description, group_ref, mask , name )220 ( gridgroup_id, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 173 221 174 222 IMPLICIT NONE … … 181 229 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 182 230 LOGICAL(KIND=C_BOOL) :: group_ref_tmp 183 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 184 LOGICAL(KIND=C_BOOL) :: mask_tmp 231 LOGICAL, OPTIONAL, INTENT(OUT) :: mask1 232 LOGICAL(KIND=C_BOOL) :: mask1_tmp 233 LOGICAL, OPTIONAL, INTENT(OUT) :: mask2 234 LOGICAL(KIND=C_BOOL) :: mask2_tmp 235 LOGICAL, OPTIONAL, INTENT(OUT) :: mask3 236 LOGICAL(KIND=C_BOOL) :: mask3_tmp 185 237 LOGICAL, OPTIONAL, INTENT(OUT) :: name 186 238 LOGICAL(KIND=C_BOOL) :: name_tmp … … 188 240 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 189 241 CALL xios(is_defined_gridgroup_attr_hdl_) & 190 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )242 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 191 243 192 244 END SUBROUTINE xios(is_defined_gridgroup_attr) 193 245 194 246 SUBROUTINE xios(is_defined_gridgroup_attr_hdl) & 195 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )247 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 196 248 197 249 IMPLICIT NONE … … 203 255 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 204 256 LOGICAL(KIND=C_BOOL) :: group_ref_tmp 205 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 206 LOGICAL(KIND=C_BOOL) :: mask_tmp 257 LOGICAL, OPTIONAL, INTENT(OUT) :: mask1 258 LOGICAL(KIND=C_BOOL) :: mask1_tmp 259 LOGICAL, OPTIONAL, INTENT(OUT) :: mask2 260 LOGICAL(KIND=C_BOOL) :: mask2_tmp 261 LOGICAL, OPTIONAL, INTENT(OUT) :: mask3 262 LOGICAL(KIND=C_BOOL) :: mask3_tmp 207 263 LOGICAL, OPTIONAL, INTENT(OUT) :: name 208 264 LOGICAL(KIND=C_BOOL) :: name_tmp 209 265 210 266 CALL xios(is_defined_gridgroup_attr_hdl_) & 211 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )267 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 212 268 213 269 END SUBROUTINE xios(is_defined_gridgroup_attr_hdl) 214 270 215 271 SUBROUTINE xios(is_defined_gridgroup_attr_hdl_) & 216 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask _, name_ )272 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask1_, mask2_, mask3_, name_ ) 217 273 218 274 IMPLICIT NONE … … 224 280 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 225 281 LOGICAL(KIND=C_BOOL) :: group_ref__tmp 226 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 227 LOGICAL(KIND=C_BOOL) :: mask__tmp 282 LOGICAL, OPTIONAL, INTENT(OUT) :: mask1_ 283 LOGICAL(KIND=C_BOOL) :: mask1__tmp 284 LOGICAL, OPTIONAL, INTENT(OUT) :: mask2_ 285 LOGICAL(KIND=C_BOOL) :: mask2__tmp 286 LOGICAL, OPTIONAL, INTENT(OUT) :: mask3_ 287 LOGICAL(KIND=C_BOOL) :: mask3__tmp 228 288 LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 229 289 LOGICAL(KIND=C_BOOL) :: name__tmp … … 244 304 ENDIF 245 305 246 IF (PRESENT(mask_)) THEN 247 mask__tmp=cxios_is_defined_gridgroup_mask(gridgroup_hdl%daddr) 248 mask_=mask__tmp 306 IF (PRESENT(mask1_)) THEN 307 mask1__tmp=cxios_is_defined_gridgroup_mask1(gridgroup_hdl%daddr) 308 mask1_=mask1__tmp 309 ENDIF 310 311 IF (PRESENT(mask2_)) THEN 312 mask2__tmp=cxios_is_defined_gridgroup_mask2(gridgroup_hdl%daddr) 313 mask2_=mask2__tmp 314 ENDIF 315 316 IF (PRESENT(mask3_)) THEN 317 mask3__tmp=cxios_is_defined_gridgroup_mask3(gridgroup_hdl%daddr) 318 mask3_=mask3__tmp 249 319 ENDIF 250 320
Note: See TracChangeset
for help on using the changeset viewer.