Changeset 817
- Timestamp:
- 01/26/16 18:19:09 (7 years ago)
- Location:
- XIOS/trunk/src
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/config/axis_attribute.conf
r775 r817 12 12 13 13 /* LOCAL */ 14 DECLARE_ARRAY(double, 1, value) 14 DECLARE_ARRAY(double , 1 , value) 15 DECLARE_ATTRIBUTE(StdString, axis_ref) 15 16 16 DECLARE_A TTRIBUTE(StdString, axis_ref)17 DECLARE_ARRAY(int ,1 , index) 17 18 18 19 /* LOCAL */ 19 20 DECLARE_ATTRIBUTE(int, data_n) 20 21 DECLARE_ATTRIBUTE(int, data_begin) 21 DECLARE_ARRAY(int ,1 , data_index)22 DECLARE_ARRAY(int , 1 , data_index) 22 23 23 24 /*LOCAL */ -
XIOS/trunk/src/config/grid_attribute.conf
r791 r817 2 2 DECLARE_ATTRIBUTE(StdString, description) 3 3 4 DECLARE_ARRAY(bool, 1, mask 1)5 DECLARE_ARRAY(bool, 2, mask 2)6 DECLARE_ARRAY(bool, 3, mask 3)7 //DECLARE_ARRAY(bool, 4, mask 4)8 //DECLARE_ARRAY(bool, 5, mask 5)9 //DECLARE_ARRAY(bool, 6, mask 6)10 //DECLARE_ARRAY(bool, 7, mask 7)4 DECLARE_ARRAY(bool, 1, mask_1d) 5 DECLARE_ARRAY(bool, 2, mask_2d) 6 DECLARE_ARRAY(bool, 3, mask_3d) 7 //DECLARE_ARRAY(bool, 4, mask_4d) 8 //DECLARE_ARRAY(bool, 5, mask_5d) 9 //DECLARE_ARRAY(bool, 6, mask_6d) 10 //DECLARE_ARRAY(bool, 7, mask_7d) 11 11 12 12 -
XIOS/trunk/src/distribution_client.cpp
r668 r817 64 64 switch (gridDim) { 65 65 case 1: 66 readGridMaskInfo(grid->mask 1);66 readGridMaskInfo(grid->mask_1d); 67 67 break; 68 68 case 2: 69 readGridMaskInfo(grid->mask 2);69 readGridMaskInfo(grid->mask_2d); 70 70 break; 71 71 case 3: 72 readGridMaskInfo(grid->mask 3);72 readGridMaskInfo(grid->mask_3d); 73 73 break; 74 74 default: -
XIOS/trunk/src/interface/c_attr/icaxis_attr.cpp
r779 r817 163 163 164 164 165 void cxios_set_axis_index(axis_Ptr axis_hdl, int* index, int* extent) 166 { 167 CTimer::get("XIOS").resume(); 168 CArray<int,1> tmp(index, shape(extent[0]), neverDeleteData); 169 axis_hdl->index.reference(tmp.copy()); 170 CTimer::get("XIOS").suspend(); 171 } 172 173 void cxios_get_axis_index(axis_Ptr axis_hdl, int* index, int* extent) 174 { 175 CTimer::get("XIOS").resume(); 176 CArray<int,1> tmp(index, shape(extent[0]), neverDeleteData); 177 tmp=axis_hdl->index.getInheritedValue(); 178 CTimer::get("XIOS").suspend(); 179 } 180 181 bool cxios_is_defined_axis_index(axis_Ptr axis_hdl) 182 { 183 CTimer::get("XIOS").resume(); 184 bool isDefined = axis_hdl->index.hasInheritedValue(); 185 CTimer::get("XIOS").suspend(); 186 return isDefined; 187 } 188 189 165 190 void cxios_set_axis_long_name(axis_Ptr axis_hdl, const char * long_name, int long_name_size) 166 191 { -
XIOS/trunk/src/interface/c_attr/icaxisgroup_attr.cpp
r779 r817 189 189 190 190 191 void cxios_set_axisgroup_index(axisgroup_Ptr axisgroup_hdl, int* index, int* extent) 192 { 193 CTimer::get("XIOS").resume(); 194 CArray<int,1> tmp(index, shape(extent[0]), neverDeleteData); 195 axisgroup_hdl->index.reference(tmp.copy()); 196 CTimer::get("XIOS").suspend(); 197 } 198 199 void cxios_get_axisgroup_index(axisgroup_Ptr axisgroup_hdl, int* index, int* extent) 200 { 201 CTimer::get("XIOS").resume(); 202 CArray<int,1> tmp(index, shape(extent[0]), neverDeleteData); 203 tmp=axisgroup_hdl->index.getInheritedValue(); 204 CTimer::get("XIOS").suspend(); 205 } 206 207 bool cxios_is_defined_axisgroup_index(axisgroup_Ptr axisgroup_hdl) 208 { 209 CTimer::get("XIOS").resume(); 210 bool isDefined = axisgroup_hdl->index.hasInheritedValue(); 211 CTimer::get("XIOS").suspend(); 212 return isDefined; 213 } 214 215 191 216 void cxios_set_axisgroup_long_name(axisgroup_Ptr axisgroup_hdl, const char * long_name, int long_name_size) 192 217 { -
XIOS/trunk/src/interface/c_attr/icgrid_attr.cpp
r791 r817 44 44 45 45 46 void cxios_set_grid_mask 1(grid_Ptr grid_hdl, bool* mask1, int* extent)46 void cxios_set_grid_mask_1d(grid_Ptr grid_hdl, bool* mask_1d, int* extent) 47 47 { 48 48 CTimer::get("XIOS").resume(); 49 CArray<bool,1> tmp(mask 1, shape(extent[0]), neverDeleteData);50 grid_hdl->mask 1.reference(tmp.copy());49 CArray<bool,1> tmp(mask_1d, shape(extent[0]), neverDeleteData); 50 grid_hdl->mask_1d.reference(tmp.copy()); 51 51 CTimer::get("XIOS").suspend(); 52 52 } 53 53 54 void cxios_get_grid_mask 1(grid_Ptr grid_hdl, bool* mask1, int* extent)54 void cxios_get_grid_mask_1d(grid_Ptr grid_hdl, bool* mask_1d, int* extent) 55 55 { 56 56 CTimer::get("XIOS").resume(); 57 CArray<bool,1> tmp(mask 1, shape(extent[0]), neverDeleteData);58 tmp=grid_hdl->mask 1.getInheritedValue();57 CArray<bool,1> tmp(mask_1d, shape(extent[0]), neverDeleteData); 58 tmp=grid_hdl->mask_1d.getInheritedValue(); 59 59 CTimer::get("XIOS").suspend(); 60 60 } 61 61 62 bool cxios_is_defined_grid_mask 1(grid_Ptr grid_hdl)62 bool cxios_is_defined_grid_mask_1d(grid_Ptr grid_hdl) 63 63 { 64 64 CTimer::get("XIOS").resume(); 65 bool isDefined = grid_hdl->mask 1.hasInheritedValue();65 bool isDefined = grid_hdl->mask_1d.hasInheritedValue(); 66 66 CTimer::get("XIOS").suspend(); 67 67 return isDefined; … … 69 69 70 70 71 void cxios_set_grid_mask 2(grid_Ptr grid_hdl, bool* mask2, int* extent)71 void cxios_set_grid_mask_2d(grid_Ptr grid_hdl, bool* mask_2d, int* extent) 72 72 { 73 73 CTimer::get("XIOS").resume(); 74 CArray<bool,2> tmp(mask 2, shape(extent[0], extent[1]), neverDeleteData);75 grid_hdl->mask 2.reference(tmp.copy());74 CArray<bool,2> tmp(mask_2d, shape(extent[0], extent[1]), neverDeleteData); 75 grid_hdl->mask_2d.reference(tmp.copy()); 76 76 CTimer::get("XIOS").suspend(); 77 77 } 78 78 79 void cxios_get_grid_mask 2(grid_Ptr grid_hdl, bool* mask2, int* extent)79 void cxios_get_grid_mask_2d(grid_Ptr grid_hdl, bool* mask_2d, int* extent) 80 80 { 81 81 CTimer::get("XIOS").resume(); 82 CArray<bool,2> tmp(mask 2, shape(extent[0], extent[1]), neverDeleteData);83 tmp=grid_hdl->mask 2.getInheritedValue();82 CArray<bool,2> tmp(mask_2d, shape(extent[0], extent[1]), neverDeleteData); 83 tmp=grid_hdl->mask_2d.getInheritedValue(); 84 84 CTimer::get("XIOS").suspend(); 85 85 } 86 86 87 bool cxios_is_defined_grid_mask 2(grid_Ptr grid_hdl)87 bool cxios_is_defined_grid_mask_2d(grid_Ptr grid_hdl) 88 88 { 89 89 CTimer::get("XIOS").resume(); 90 bool isDefined = grid_hdl->mask 2.hasInheritedValue();90 bool isDefined = grid_hdl->mask_2d.hasInheritedValue(); 91 91 CTimer::get("XIOS").suspend(); 92 92 return isDefined; … … 94 94 95 95 96 void cxios_set_grid_mask 3(grid_Ptr grid_hdl, bool* mask3, int* extent)96 void cxios_set_grid_mask_3d(grid_Ptr grid_hdl, bool* mask_3d, int* extent) 97 97 { 98 98 CTimer::get("XIOS").resume(); 99 CArray<bool,3> tmp(mask 3, shape(extent[0], extent[1], extent[2]), neverDeleteData);100 grid_hdl->mask 3.reference(tmp.copy());99 CArray<bool,3> tmp(mask_3d, shape(extent[0], extent[1], extent[2]), neverDeleteData); 100 grid_hdl->mask_3d.reference(tmp.copy()); 101 101 CTimer::get("XIOS").suspend(); 102 102 } 103 103 104 void cxios_get_grid_mask 3(grid_Ptr grid_hdl, bool* mask3, int* extent)104 void cxios_get_grid_mask_3d(grid_Ptr grid_hdl, bool* mask_3d, int* extent) 105 105 { 106 106 CTimer::get("XIOS").resume(); 107 CArray<bool,3> tmp(mask 3, shape(extent[0], extent[1], extent[2]), neverDeleteData);108 tmp=grid_hdl->mask 3.getInheritedValue();107 CArray<bool,3> tmp(mask_3d, shape(extent[0], extent[1], extent[2]), neverDeleteData); 108 tmp=grid_hdl->mask_3d.getInheritedValue(); 109 109 CTimer::get("XIOS").suspend(); 110 110 } 111 111 112 bool cxios_is_defined_grid_mask 3(grid_Ptr grid_hdl)112 bool cxios_is_defined_grid_mask_3d(grid_Ptr grid_hdl) 113 113 { 114 114 CTimer::get("XIOS").resume(); 115 bool isDefined = grid_hdl->mask 3.hasInheritedValue();115 bool isDefined = grid_hdl->mask_3d.hasInheritedValue(); 116 116 CTimer::get("XIOS").suspend(); 117 117 return isDefined; -
XIOS/trunk/src/interface/c_attr/icgridgroup_attr.cpp
r791 r817 70 70 71 71 72 void cxios_set_gridgroup_mask 1(gridgroup_Ptr gridgroup_hdl, bool* mask1, int* extent)72 void cxios_set_gridgroup_mask_1d(gridgroup_Ptr gridgroup_hdl, bool* mask_1d, int* extent) 73 73 { 74 74 CTimer::get("XIOS").resume(); 75 CArray<bool,1> tmp(mask 1, shape(extent[0]), neverDeleteData);76 gridgroup_hdl->mask 1.reference(tmp.copy());75 CArray<bool,1> tmp(mask_1d, shape(extent[0]), neverDeleteData); 76 gridgroup_hdl->mask_1d.reference(tmp.copy()); 77 77 CTimer::get("XIOS").suspend(); 78 78 } 79 79 80 void cxios_get_gridgroup_mask 1(gridgroup_Ptr gridgroup_hdl, bool* mask1, int* extent)80 void cxios_get_gridgroup_mask_1d(gridgroup_Ptr gridgroup_hdl, bool* mask_1d, int* extent) 81 81 { 82 82 CTimer::get("XIOS").resume(); 83 CArray<bool,1> tmp(mask 1, shape(extent[0]), neverDeleteData);84 tmp=gridgroup_hdl->mask 1.getInheritedValue();83 CArray<bool,1> tmp(mask_1d, shape(extent[0]), neverDeleteData); 84 tmp=gridgroup_hdl->mask_1d.getInheritedValue(); 85 85 CTimer::get("XIOS").suspend(); 86 86 } 87 87 88 bool cxios_is_defined_gridgroup_mask 1(gridgroup_Ptr gridgroup_hdl)88 bool cxios_is_defined_gridgroup_mask_1d(gridgroup_Ptr gridgroup_hdl) 89 89 { 90 90 CTimer::get("XIOS").resume(); 91 bool isDefined = gridgroup_hdl->mask 1.hasInheritedValue();91 bool isDefined = gridgroup_hdl->mask_1d.hasInheritedValue(); 92 92 CTimer::get("XIOS").suspend(); 93 93 return isDefined; … … 95 95 96 96 97 void cxios_set_gridgroup_mask 2(gridgroup_Ptr gridgroup_hdl, bool* mask2, int* extent)97 void cxios_set_gridgroup_mask_2d(gridgroup_Ptr gridgroup_hdl, bool* mask_2d, int* extent) 98 98 { 99 99 CTimer::get("XIOS").resume(); 100 CArray<bool,2> tmp(mask 2, shape(extent[0], extent[1]), neverDeleteData);101 gridgroup_hdl->mask 2.reference(tmp.copy());100 CArray<bool,2> tmp(mask_2d, shape(extent[0], extent[1]), neverDeleteData); 101 gridgroup_hdl->mask_2d.reference(tmp.copy()); 102 102 CTimer::get("XIOS").suspend(); 103 103 } 104 104 105 void cxios_get_gridgroup_mask 2(gridgroup_Ptr gridgroup_hdl, bool* mask2, int* extent)105 void cxios_get_gridgroup_mask_2d(gridgroup_Ptr gridgroup_hdl, bool* mask_2d, int* extent) 106 106 { 107 107 CTimer::get("XIOS").resume(); 108 CArray<bool,2> tmp(mask 2, shape(extent[0], extent[1]), neverDeleteData);109 tmp=gridgroup_hdl->mask 2.getInheritedValue();108 CArray<bool,2> tmp(mask_2d, shape(extent[0], extent[1]), neverDeleteData); 109 tmp=gridgroup_hdl->mask_2d.getInheritedValue(); 110 110 CTimer::get("XIOS").suspend(); 111 111 } 112 112 113 bool cxios_is_defined_gridgroup_mask 2(gridgroup_Ptr gridgroup_hdl)113 bool cxios_is_defined_gridgroup_mask_2d(gridgroup_Ptr gridgroup_hdl) 114 114 { 115 115 CTimer::get("XIOS").resume(); 116 bool isDefined = gridgroup_hdl->mask 2.hasInheritedValue();116 bool isDefined = gridgroup_hdl->mask_2d.hasInheritedValue(); 117 117 CTimer::get("XIOS").suspend(); 118 118 return isDefined; … … 120 120 121 121 122 void cxios_set_gridgroup_mask 3(gridgroup_Ptr gridgroup_hdl, bool* mask3, int* extent)122 void cxios_set_gridgroup_mask_3d(gridgroup_Ptr gridgroup_hdl, bool* mask_3d, int* extent) 123 123 { 124 124 CTimer::get("XIOS").resume(); 125 CArray<bool,3> tmp(mask 3, shape(extent[0], extent[1], extent[2]), neverDeleteData);126 gridgroup_hdl->mask 3.reference(tmp.copy());125 CArray<bool,3> tmp(mask_3d, shape(extent[0], extent[1], extent[2]), neverDeleteData); 126 gridgroup_hdl->mask_3d.reference(tmp.copy()); 127 127 CTimer::get("XIOS").suspend(); 128 128 } 129 129 130 void cxios_get_gridgroup_mask 3(gridgroup_Ptr gridgroup_hdl, bool* mask3, int* extent)130 void cxios_get_gridgroup_mask_3d(gridgroup_Ptr gridgroup_hdl, bool* mask_3d, int* extent) 131 131 { 132 132 CTimer::get("XIOS").resume(); 133 CArray<bool,3> tmp(mask 3, shape(extent[0], extent[1], extent[2]), neverDeleteData);134 tmp=gridgroup_hdl->mask 3.getInheritedValue();133 CArray<bool,3> tmp(mask_3d, shape(extent[0], extent[1], extent[2]), neverDeleteData); 134 tmp=gridgroup_hdl->mask_3d.getInheritedValue(); 135 135 CTimer::get("XIOS").suspend(); 136 136 } 137 137 138 bool cxios_is_defined_gridgroup_mask 3(gridgroup_Ptr gridgroup_hdl)138 bool cxios_is_defined_gridgroup_mask_3d(gridgroup_Ptr gridgroup_hdl) 139 139 { 140 140 CTimer::get("XIOS").resume(); 141 bool isDefined = gridgroup_hdl->mask 3.hasInheritedValue();141 bool isDefined = gridgroup_hdl->mask_3d.hasInheritedValue(); 142 142 CTimer::get("XIOS").suspend(); 143 143 return isDefined; -
XIOS/trunk/src/interface/fortran_attr/axis_interface_attr.F90
r779 r817 130 130 131 131 132 SUBROUTINE cxios_set_axis_index(axis_hdl, index, extent) BIND(C) 133 USE ISO_C_BINDING 134 INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 135 INTEGER (KIND=C_INT) , DIMENSION(*) :: index 136 INTEGER (kind = C_INT), DIMENSION(*) :: extent 137 END SUBROUTINE cxios_set_axis_index 138 139 SUBROUTINE cxios_get_axis_index(axis_hdl, index, extent) BIND(C) 140 USE ISO_C_BINDING 141 INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 142 INTEGER (KIND=C_INT) , DIMENSION(*) :: index 143 INTEGER (kind = C_INT), DIMENSION(*) :: extent 144 END SUBROUTINE cxios_get_axis_index 145 146 FUNCTION cxios_is_defined_axis_index(axis_hdl) BIND(C) 147 USE ISO_C_BINDING 148 LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_index 149 INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 150 END FUNCTION cxios_is_defined_axis_index 151 152 132 153 SUBROUTINE cxios_set_axis_long_name(axis_hdl, long_name, long_name_size) BIND(C) 133 154 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/axisgroup_interface_attr.F90
r779 r817 151 151 152 152 153 SUBROUTINE cxios_set_axisgroup_index(axisgroup_hdl, index, extent) BIND(C) 154 USE ISO_C_BINDING 155 INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 156 INTEGER (KIND=C_INT) , DIMENSION(*) :: index 157 INTEGER (kind = C_INT), DIMENSION(*) :: extent 158 END SUBROUTINE cxios_set_axisgroup_index 159 160 SUBROUTINE cxios_get_axisgroup_index(axisgroup_hdl, index, extent) BIND(C) 161 USE ISO_C_BINDING 162 INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 163 INTEGER (KIND=C_INT) , DIMENSION(*) :: index 164 INTEGER (kind = C_INT), DIMENSION(*) :: extent 165 END SUBROUTINE cxios_get_axisgroup_index 166 167 FUNCTION cxios_is_defined_axisgroup_index(axisgroup_hdl) BIND(C) 168 USE ISO_C_BINDING 169 LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_index 170 INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 171 END FUNCTION cxios_is_defined_axisgroup_index 172 173 153 174 SUBROUTINE cxios_set_axisgroup_long_name(axisgroup_hdl, long_name, long_name_size) BIND(C) 154 175 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/grid_interface_attr.F90
r791 r817 31 31 32 32 33 SUBROUTINE cxios_set_grid_mask 1(grid_hdl, mask1, extent) BIND(C)33 SUBROUTINE cxios_set_grid_mask_1d(grid_hdl, mask_1d, extent) BIND(C) 34 34 USE ISO_C_BINDING 35 35 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 36 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 136 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_1d 37 37 INTEGER (kind = C_INT), DIMENSION(*) :: extent 38 END SUBROUTINE cxios_set_grid_mask 138 END SUBROUTINE cxios_set_grid_mask_1d 39 39 40 SUBROUTINE cxios_get_grid_mask 1(grid_hdl, mask1, extent) BIND(C)40 SUBROUTINE cxios_get_grid_mask_1d(grid_hdl, mask_1d, extent) BIND(C) 41 41 USE ISO_C_BINDING 42 42 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 43 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 143 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_1d 44 44 INTEGER (kind = C_INT), DIMENSION(*) :: extent 45 END SUBROUTINE cxios_get_grid_mask 145 END SUBROUTINE cxios_get_grid_mask_1d 46 46 47 FUNCTION cxios_is_defined_grid_mask 1(grid_hdl) BIND(C)47 FUNCTION cxios_is_defined_grid_mask_1d(grid_hdl) BIND(C) 48 48 USE ISO_C_BINDING 49 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask 149 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_1d 50 50 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 51 END FUNCTION cxios_is_defined_grid_mask 151 END FUNCTION cxios_is_defined_grid_mask_1d 52 52 53 53 54 SUBROUTINE cxios_set_grid_mask 2(grid_hdl, mask2, extent) BIND(C)54 SUBROUTINE cxios_set_grid_mask_2d(grid_hdl, mask_2d, extent) 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 257 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_2d 58 58 INTEGER (kind = C_INT), DIMENSION(*) :: extent 59 END SUBROUTINE cxios_set_grid_mask 259 END SUBROUTINE cxios_set_grid_mask_2d 60 60 61 SUBROUTINE cxios_get_grid_mask 2(grid_hdl, mask2, extent) BIND(C)61 SUBROUTINE cxios_get_grid_mask_2d(grid_hdl, mask_2d, extent) BIND(C) 62 62 USE ISO_C_BINDING 63 63 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 64 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 264 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_2d 65 65 INTEGER (kind = C_INT), DIMENSION(*) :: extent 66 END SUBROUTINE cxios_get_grid_mask 266 END SUBROUTINE cxios_get_grid_mask_2d 67 67 68 FUNCTION cxios_is_defined_grid_mask 2(grid_hdl) BIND(C)68 FUNCTION cxios_is_defined_grid_mask_2d(grid_hdl) BIND(C) 69 69 USE ISO_C_BINDING 70 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask 270 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_2d 71 71 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 72 END FUNCTION cxios_is_defined_grid_mask 272 END FUNCTION cxios_is_defined_grid_mask_2d 73 73 74 74 75 SUBROUTINE cxios_set_grid_mask 3(grid_hdl, mask3, extent) BIND(C)75 SUBROUTINE cxios_set_grid_mask_3d(grid_hdl, mask_3d, extent) BIND(C) 76 76 USE ISO_C_BINDING 77 77 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 78 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 378 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_3d 79 79 INTEGER (kind = C_INT), DIMENSION(*) :: extent 80 END SUBROUTINE cxios_set_grid_mask 380 END SUBROUTINE cxios_set_grid_mask_3d 81 81 82 SUBROUTINE cxios_get_grid_mask 3(grid_hdl, mask3, extent) BIND(C)82 SUBROUTINE cxios_get_grid_mask_3d(grid_hdl, mask_3d, extent) BIND(C) 83 83 USE ISO_C_BINDING 84 84 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 85 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 385 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_3d 86 86 INTEGER (kind = C_INT), DIMENSION(*) :: extent 87 END SUBROUTINE cxios_get_grid_mask 387 END SUBROUTINE cxios_get_grid_mask_3d 88 88 89 FUNCTION cxios_is_defined_grid_mask 3(grid_hdl) BIND(C)89 FUNCTION cxios_is_defined_grid_mask_3d(grid_hdl) BIND(C) 90 90 USE ISO_C_BINDING 91 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask 391 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_3d 92 92 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 93 END FUNCTION cxios_is_defined_grid_mask 393 END FUNCTION cxios_is_defined_grid_mask_3d 94 94 95 95 -
XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90
r791 r817 52 52 53 53 54 SUBROUTINE cxios_set_gridgroup_mask 1(gridgroup_hdl, mask1, extent) BIND(C)54 SUBROUTINE cxios_set_gridgroup_mask_1d(gridgroup_hdl, mask_1d, extent) BIND(C) 55 55 USE ISO_C_BINDING 56 56 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 57 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 157 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_1d 58 58 INTEGER (kind = C_INT), DIMENSION(*) :: extent 59 END SUBROUTINE cxios_set_gridgroup_mask 159 END SUBROUTINE cxios_set_gridgroup_mask_1d 60 60 61 SUBROUTINE cxios_get_gridgroup_mask 1(gridgroup_hdl, mask1, extent) BIND(C)61 SUBROUTINE cxios_get_gridgroup_mask_1d(gridgroup_hdl, mask_1d, extent) BIND(C) 62 62 USE ISO_C_BINDING 63 63 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 64 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 164 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_1d 65 65 INTEGER (kind = C_INT), DIMENSION(*) :: extent 66 END SUBROUTINE cxios_get_gridgroup_mask 166 END SUBROUTINE cxios_get_gridgroup_mask_1d 67 67 68 FUNCTION cxios_is_defined_gridgroup_mask 1(gridgroup_hdl) BIND(C)68 FUNCTION cxios_is_defined_gridgroup_mask_1d(gridgroup_hdl) BIND(C) 69 69 USE ISO_C_BINDING 70 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask 170 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_1d 71 71 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 72 END FUNCTION cxios_is_defined_gridgroup_mask 172 END FUNCTION cxios_is_defined_gridgroup_mask_1d 73 73 74 74 75 SUBROUTINE cxios_set_gridgroup_mask 2(gridgroup_hdl, mask2, extent) BIND(C)75 SUBROUTINE cxios_set_gridgroup_mask_2d(gridgroup_hdl, mask_2d, extent) 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 278 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_2d 79 79 INTEGER (kind = C_INT), DIMENSION(*) :: extent 80 END SUBROUTINE cxios_set_gridgroup_mask 280 END SUBROUTINE cxios_set_gridgroup_mask_2d 81 81 82 SUBROUTINE cxios_get_gridgroup_mask 2(gridgroup_hdl, mask2, extent) BIND(C)82 SUBROUTINE cxios_get_gridgroup_mask_2d(gridgroup_hdl, mask_2d, extent) BIND(C) 83 83 USE ISO_C_BINDING 84 84 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 85 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 285 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_2d 86 86 INTEGER (kind = C_INT), DIMENSION(*) :: extent 87 END SUBROUTINE cxios_get_gridgroup_mask 287 END SUBROUTINE cxios_get_gridgroup_mask_2d 88 88 89 FUNCTION cxios_is_defined_gridgroup_mask 2(gridgroup_hdl) BIND(C)89 FUNCTION cxios_is_defined_gridgroup_mask_2d(gridgroup_hdl) BIND(C) 90 90 USE ISO_C_BINDING 91 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask 291 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_2d 92 92 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 93 END FUNCTION cxios_is_defined_gridgroup_mask 293 END FUNCTION cxios_is_defined_gridgroup_mask_2d 94 94 95 95 96 SUBROUTINE cxios_set_gridgroup_mask 3(gridgroup_hdl, mask3, extent) BIND(C)96 SUBROUTINE cxios_set_gridgroup_mask_3d(gridgroup_hdl, mask_3d, extent) BIND(C) 97 97 USE ISO_C_BINDING 98 98 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 99 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 399 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_3d 100 100 INTEGER (kind = C_INT), DIMENSION(*) :: extent 101 END SUBROUTINE cxios_set_gridgroup_mask 3101 END SUBROUTINE cxios_set_gridgroup_mask_3d 102 102 103 SUBROUTINE cxios_get_gridgroup_mask 3(gridgroup_hdl, mask3, extent) BIND(C)103 SUBROUTINE cxios_get_gridgroup_mask_3d(gridgroup_hdl, mask_3d, extent) BIND(C) 104 104 USE ISO_C_BINDING 105 105 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 106 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask 3106 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: mask_3d 107 107 INTEGER (kind = C_INT), DIMENSION(*) :: extent 108 END SUBROUTINE cxios_get_gridgroup_mask 3108 END SUBROUTINE cxios_get_gridgroup_mask_3d 109 109 110 FUNCTION cxios_is_defined_gridgroup_mask 3(gridgroup_hdl) BIND(C)110 FUNCTION cxios_is_defined_gridgroup_mask_3d(gridgroup_hdl) BIND(C) 111 111 USE ISO_C_BINDING 112 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask 3112 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_3d 113 113 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 114 END FUNCTION cxios_is_defined_gridgroup_mask 3114 END FUNCTION cxios_is_defined_gridgroup_mask_3d 115 115 116 116 -
XIOS/trunk/src/interface/fortran_attr/iaxis_attr.F90
r779 r817 12 12 13 13 SUBROUTINE xios(set_axis_attr) & 14 ( axis_id, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition &15 , n_ glo, name, positive, standard_name, unit, value )14 ( axis_id, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask, n & 15 , n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 16 16 17 17 IMPLICIT NONE … … 24 24 INTEGER , OPTIONAL, INTENT(IN) :: data_index(:) 25 25 INTEGER , OPTIONAL, INTENT(IN) :: data_n 26 INTEGER , OPTIONAL, INTENT(IN) :: index(:) 26 27 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 27 28 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:) … … 38 39 CALL xios(get_axis_handle)(axis_id,axis_hdl) 39 40 CALL xios(set_axis_attr_hdl_) & 40 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition&41 , n _glo, name, positive, standard_name, unit, value )41 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask & 42 , n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 42 43 43 44 END SUBROUTINE xios(set_axis_attr) 44 45 45 46 SUBROUTINE xios(set_axis_attr_hdl) & 46 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition&47 , n _glo, name, positive, standard_name, unit, value )47 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask & 48 , n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 48 49 49 50 IMPLICIT NONE … … 55 56 INTEGER , OPTIONAL, INTENT(IN) :: data_index(:) 56 57 INTEGER , OPTIONAL, INTENT(IN) :: data_n 58 INTEGER , OPTIONAL, INTENT(IN) :: index(:) 57 59 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 58 60 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:) … … 68 70 69 71 CALL xios(set_axis_attr_hdl_) & 70 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition&71 , n _glo, name, positive, standard_name, unit, value )72 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask & 73 , n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 72 74 73 75 END SUBROUTINE xios(set_axis_attr_hdl) 74 76 75 77 SUBROUTINE xios(set_axis_attr_hdl_) & 76 ( axis_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, long_name_, mask_ & 77 , n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_, unit_, value_ ) 78 ( axis_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, index_, long_name_ & 79 , mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_, unit_, value_ & 80 ) 78 81 79 82 IMPLICIT NONE … … 85 88 INTEGER , OPTIONAL, INTENT(IN) :: data_index_(:) 86 89 INTEGER , OPTIONAL, INTENT(IN) :: data_n_ 90 INTEGER , OPTIONAL, INTENT(IN) :: index_(:) 87 91 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 88 92 LOGICAL , OPTIONAL, INTENT(IN) :: mask_(:) … … 121 125 ENDIF 122 126 127 IF (PRESENT(index_)) THEN 128 CALL cxios_set_axis_index(axis_hdl%daddr, index_, SHAPE(index_)) 129 ENDIF 130 123 131 IF (PRESENT(long_name_)) THEN 124 132 CALL cxios_set_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_)) … … 166 174 167 175 SUBROUTINE xios(get_axis_attr) & 168 ( axis_id, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition &169 , n_ glo, name, positive, standard_name, unit, value )176 ( axis_id, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask, n & 177 , n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 170 178 171 179 IMPLICIT NONE … … 178 186 INTEGER , OPTIONAL, INTENT(OUT) :: data_index(:) 179 187 INTEGER , OPTIONAL, INTENT(OUT) :: data_n 188 INTEGER , OPTIONAL, INTENT(OUT) :: index(:) 180 189 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 181 190 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:) … … 192 201 CALL xios(get_axis_handle)(axis_id,axis_hdl) 193 202 CALL xios(get_axis_attr_hdl_) & 194 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition&195 , n _glo, name, positive, standard_name, unit, value )203 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask & 204 , n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 196 205 197 206 END SUBROUTINE xios(get_axis_attr) 198 207 199 208 SUBROUTINE xios(get_axis_attr_hdl) & 200 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition&201 , n _glo, name, positive, standard_name, unit, value )209 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask & 210 , n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 202 211 203 212 IMPLICIT NONE … … 209 218 INTEGER , OPTIONAL, INTENT(OUT) :: data_index(:) 210 219 INTEGER , OPTIONAL, INTENT(OUT) :: data_n 220 INTEGER , OPTIONAL, INTENT(OUT) :: index(:) 211 221 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 212 222 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:) … … 222 232 223 233 CALL xios(get_axis_attr_hdl_) & 224 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition&225 , n _glo, name, positive, standard_name, unit, value )234 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask & 235 , n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 226 236 227 237 END SUBROUTINE xios(get_axis_attr_hdl) 228 238 229 239 SUBROUTINE xios(get_axis_attr_hdl_) & 230 ( axis_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, long_name_, mask_ & 231 , n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_, unit_, value_ ) 240 ( axis_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, index_, long_name_ & 241 , mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_, unit_, value_ & 242 ) 232 243 233 244 IMPLICIT NONE … … 239 250 INTEGER , OPTIONAL, INTENT(OUT) :: data_index_(:) 240 251 INTEGER , OPTIONAL, INTENT(OUT) :: data_n_ 252 INTEGER , OPTIONAL, INTENT(OUT) :: index_(:) 241 253 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 242 254 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_(:) … … 275 287 ENDIF 276 288 289 IF (PRESENT(index_)) THEN 290 CALL cxios_get_axis_index(axis_hdl%daddr, index_, SHAPE(index_)) 291 ENDIF 292 277 293 IF (PRESENT(long_name_)) THEN 278 294 CALL cxios_get_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_)) … … 320 336 321 337 SUBROUTINE xios(is_defined_axis_attr) & 322 ( axis_id, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition &323 , n_ glo, name, positive, standard_name, unit, value )338 ( axis_id, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask, n & 339 , n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 324 340 325 341 IMPLICIT NONE … … 338 354 LOGICAL, OPTIONAL, INTENT(OUT) :: data_n 339 355 LOGICAL(KIND=C_BOOL) :: data_n_tmp 356 LOGICAL, OPTIONAL, INTENT(OUT) :: index 357 LOGICAL(KIND=C_BOOL) :: index_tmp 340 358 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 341 359 LOGICAL(KIND=C_BOOL) :: long_name_tmp … … 361 379 CALL xios(get_axis_handle)(axis_id,axis_hdl) 362 380 CALL xios(is_defined_axis_attr_hdl_) & 363 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition&364 , n _glo, name, positive, standard_name, unit, value )381 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask & 382 , n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 365 383 366 384 END SUBROUTINE xios(is_defined_axis_attr) 367 385 368 386 SUBROUTINE xios(is_defined_axis_attr_hdl) & 369 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition&370 , n _glo, name, positive, standard_name, unit, value )387 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask & 388 , n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 371 389 372 390 IMPLICIT NONE … … 384 402 LOGICAL, OPTIONAL, INTENT(OUT) :: data_n 385 403 LOGICAL(KIND=C_BOOL) :: data_n_tmp 404 LOGICAL, OPTIONAL, INTENT(OUT) :: index 405 LOGICAL(KIND=C_BOOL) :: index_tmp 386 406 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 387 407 LOGICAL(KIND=C_BOOL) :: long_name_tmp … … 406 426 407 427 CALL xios(is_defined_axis_attr_hdl_) & 408 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, long_name, mask, n, n_distributed_partition&409 , n _glo, name, positive, standard_name, unit, value )428 ( axis_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, index, long_name, mask & 429 , n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 410 430 411 431 END SUBROUTINE xios(is_defined_axis_attr_hdl) 412 432 413 433 SUBROUTINE xios(is_defined_axis_attr_hdl_) & 414 ( axis_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, long_name_, mask_ & 415 , n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_, unit_, value_ ) 434 ( axis_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, index_, long_name_ & 435 , mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_, unit_, value_ & 436 ) 416 437 417 438 IMPLICIT NONE … … 429 450 LOGICAL, OPTIONAL, INTENT(OUT) :: data_n_ 430 451 LOGICAL(KIND=C_BOOL) :: data_n__tmp 452 LOGICAL, OPTIONAL, INTENT(OUT) :: index_ 453 LOGICAL(KIND=C_BOOL) :: index__tmp 431 454 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 432 455 LOGICAL(KIND=C_BOOL) :: long_name__tmp … … 480 503 ENDIF 481 504 505 IF (PRESENT(index_)) THEN 506 index__tmp = cxios_is_defined_axis_index(axis_hdl%daddr) 507 index_ = index__tmp 508 ENDIF 509 482 510 IF (PRESENT(long_name_)) THEN 483 511 long_name__tmp = cxios_is_defined_axis_long_name(axis_hdl%daddr) -
XIOS/trunk/src/interface/fortran_attr/iaxisgroup_attr.F90
r779 r817 12 12 13 13 SUBROUTINE xios(set_axisgroup_attr) & 14 ( axisgroup_id, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &14 ( axisgroup_id, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 15 15 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 16 16 … … 25 25 INTEGER , OPTIONAL, INTENT(IN) :: data_n 26 26 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 27 INTEGER , OPTIONAL, INTENT(IN) :: index(:) 27 28 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 28 29 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:) … … 39 40 CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl) 40 41 CALL xios(set_axisgroup_attr_hdl_) & 41 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &42 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 42 43 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 43 44 … … 45 46 46 47 SUBROUTINE xios(set_axisgroup_attr_hdl) & 47 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &48 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 48 49 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 49 50 … … 57 58 INTEGER , OPTIONAL, INTENT(IN) :: data_n 58 59 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 60 INTEGER , OPTIONAL, INTENT(IN) :: index(:) 59 61 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 60 62 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:) … … 70 72 71 73 CALL xios(set_axisgroup_attr_hdl_) & 72 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &74 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 73 75 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 74 76 … … 76 78 77 79 SUBROUTINE xios(set_axisgroup_attr_hdl_) & 78 ( axisgroup_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, group_ref_, long_name_ &79 , mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_, unit_, value_ &80 )80 ( axisgroup_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, group_ref_, index_ & 81 , long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_ & 82 , unit_, value_ ) 81 83 82 84 IMPLICIT NONE … … 89 91 INTEGER , OPTIONAL, INTENT(IN) :: data_n_ 90 92 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 93 INTEGER , OPTIONAL, INTENT(IN) :: index_(:) 91 94 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 92 95 LOGICAL , OPTIONAL, INTENT(IN) :: mask_(:) … … 129 132 ENDIF 130 133 134 IF (PRESENT(index_)) THEN 135 CALL cxios_set_axisgroup_index(axisgroup_hdl%daddr, index_, SHAPE(index_)) 136 ENDIF 137 131 138 IF (PRESENT(long_name_)) THEN 132 139 CALL cxios_set_axisgroup_long_name(axisgroup_hdl%daddr, long_name_, len(long_name_)) … … 174 181 175 182 SUBROUTINE xios(get_axisgroup_attr) & 176 ( axisgroup_id, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &183 ( axisgroup_id, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 177 184 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 178 185 … … 187 194 INTEGER , OPTIONAL, INTENT(OUT) :: data_n 188 195 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 196 INTEGER , OPTIONAL, INTENT(OUT) :: index(:) 189 197 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 190 198 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:) … … 201 209 CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl) 202 210 CALL xios(get_axisgroup_attr_hdl_) & 203 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &211 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 204 212 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 205 213 … … 207 215 208 216 SUBROUTINE xios(get_axisgroup_attr_hdl) & 209 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &217 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 210 218 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 211 219 … … 219 227 INTEGER , OPTIONAL, INTENT(OUT) :: data_n 220 228 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 229 INTEGER , OPTIONAL, INTENT(OUT) :: index(:) 221 230 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 222 231 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:) … … 232 241 233 242 CALL xios(get_axisgroup_attr_hdl_) & 234 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &243 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 235 244 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 236 245 … … 238 247 239 248 SUBROUTINE xios(get_axisgroup_attr_hdl_) & 240 ( axisgroup_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, group_ref_, long_name_ &241 , mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_, unit_, value_ &242 )249 ( axisgroup_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, group_ref_, index_ & 250 , long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_ & 251 , unit_, value_ ) 243 252 244 253 IMPLICIT NONE … … 251 260 INTEGER , OPTIONAL, INTENT(OUT) :: data_n_ 252 261 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 262 INTEGER , OPTIONAL, INTENT(OUT) :: index_(:) 253 263 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 254 264 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_(:) … … 291 301 ENDIF 292 302 303 IF (PRESENT(index_)) THEN 304 CALL cxios_get_axisgroup_index(axisgroup_hdl%daddr, index_, SHAPE(index_)) 305 ENDIF 306 293 307 IF (PRESENT(long_name_)) THEN 294 308 CALL cxios_get_axisgroup_long_name(axisgroup_hdl%daddr, long_name_, len(long_name_)) … … 336 350 337 351 SUBROUTINE xios(is_defined_axisgroup_attr) & 338 ( axisgroup_id, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &352 ( axisgroup_id, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 339 353 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 340 354 … … 356 370 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 357 371 LOGICAL(KIND=C_BOOL) :: group_ref_tmp 372 LOGICAL, OPTIONAL, INTENT(OUT) :: index 373 LOGICAL(KIND=C_BOOL) :: index_tmp 358 374 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 359 375 LOGICAL(KIND=C_BOOL) :: long_name_tmp … … 379 395 CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl) 380 396 CALL xios(is_defined_axisgroup_attr_hdl_) & 381 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &397 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 382 398 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 383 399 … … 385 401 386 402 SUBROUTINE xios(is_defined_axisgroup_attr_hdl) & 387 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &403 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 388 404 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 389 405 … … 404 420 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 405 421 LOGICAL(KIND=C_BOOL) :: group_ref_tmp 422 LOGICAL, OPTIONAL, INTENT(OUT) :: index 423 LOGICAL(KIND=C_BOOL) :: index_tmp 406 424 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 407 425 LOGICAL(KIND=C_BOOL) :: long_name_tmp … … 426 444 427 445 CALL xios(is_defined_axisgroup_attr_hdl_) & 428 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, long_name &446 ( axisgroup_hdl, axis_ref, begin, bounds, data_begin, data_index, data_n, group_ref, index, long_name & 429 447 , mask, n, n_distributed_partition, n_glo, name, positive, standard_name, unit, value ) 430 448 … … 432 450 433 451 SUBROUTINE xios(is_defined_axisgroup_attr_hdl_) & 434 ( axisgroup_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, group_ref_, long_name_ &435 , mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_, unit_, value_ &436 )452 ( axisgroup_hdl, axis_ref_, begin_, bounds_, data_begin_, data_index_, data_n_, group_ref_, index_ & 453 , long_name_, mask_, n_, n_distributed_partition_, n_glo_, name_, positive_, standard_name_ & 454 , unit_, value_ ) 437 455 438 456 IMPLICIT NONE … … 452 470 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 453 471 LOGICAL(KIND=C_BOOL) :: group_ref__tmp 472 LOGICAL, OPTIONAL, INTENT(OUT) :: index_ 473 LOGICAL(KIND=C_BOOL) :: index__tmp 454 474 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 455 475 LOGICAL(KIND=C_BOOL) :: long_name__tmp … … 508 528 ENDIF 509 529 530 IF (PRESENT(index_)) THEN 531 index__tmp = cxios_is_defined_axisgroup_index(axisgroup_hdl%daddr) 532 index_ = index__tmp 533 ENDIF 534 510 535 IF (PRESENT(long_name_)) THEN 511 536 long_name__tmp = cxios_is_defined_axisgroup_long_name(axisgroup_hdl%daddr) -
XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
r791 r817 12 12 13 13 SUBROUTINE xios(set_grid_attr) & 14 ( grid_id, description, mask 1, mask2, mask3, name )14 ( grid_id, description, mask_1d, mask_2d, mask_3d, name ) 15 15 16 16 IMPLICIT NONE … … 18 18 CHARACTER(LEN=*), INTENT(IN) ::grid_id 19 19 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 20 LOGICAL , OPTIONAL, INTENT(IN) :: mask 1(:)21 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1_tmp(:)22 LOGICAL , OPTIONAL, INTENT(IN) :: mask 2(:,:)23 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2_tmp(:,:)24 LOGICAL , OPTIONAL, INTENT(IN) :: mask 3(:,:,:)25 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3_tmp(:,:,:)20 LOGICAL , OPTIONAL, INTENT(IN) :: mask_1d(:) 21 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 22 LOGICAL , OPTIONAL, INTENT(IN) :: mask_2d(:,:) 23 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 24 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 25 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 26 26 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 27 27 28 28 CALL xios(get_grid_handle)(grid_id,grid_hdl) 29 29 CALL xios(set_grid_attr_hdl_) & 30 ( grid_hdl, description, mask 1, mask2, mask3, name )30 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 31 31 32 32 END SUBROUTINE xios(set_grid_attr) 33 33 34 34 SUBROUTINE xios(set_grid_attr_hdl) & 35 ( grid_hdl, description, mask 1, mask2, mask3, name )35 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 36 36 37 37 IMPLICIT NONE 38 38 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 39 39 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 40 LOGICAL , OPTIONAL, INTENT(IN) :: mask 1(:)41 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1_tmp(:)42 LOGICAL , OPTIONAL, INTENT(IN) :: mask 2(:,:)43 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2_tmp(:,:)44 LOGICAL , OPTIONAL, INTENT(IN) :: mask 3(:,:,:)45 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3_tmp(:,:,:)40 LOGICAL , OPTIONAL, INTENT(IN) :: mask_1d(:) 41 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 42 LOGICAL , OPTIONAL, INTENT(IN) :: mask_2d(:,:) 43 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 44 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 45 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 46 46 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 47 47 48 48 CALL xios(set_grid_attr_hdl_) & 49 ( grid_hdl, description, mask 1, mask2, mask3, name )49 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 50 50 51 51 END SUBROUTINE xios(set_grid_attr_hdl) 52 52 53 53 SUBROUTINE xios(set_grid_attr_hdl_) & 54 ( grid_hdl, description_, mask 1_, mask2_, mask3_, name_ )54 ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ ) 55 55 56 56 IMPLICIT NONE 57 57 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 58 58 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 59 LOGICAL , OPTIONAL, INTENT(IN) :: mask 1_(:)60 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1__tmp(:)61 LOGICAL , OPTIONAL, INTENT(IN) :: mask 2_(:,:)62 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2__tmp(:,:)63 LOGICAL , OPTIONAL, INTENT(IN) :: mask 3_(:,:,:)64 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3__tmp(:,:,:)59 LOGICAL , OPTIONAL, INTENT(IN) :: mask_1d_(:) 60 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 61 LOGICAL , OPTIONAL, INTENT(IN) :: mask_2d_(:,:) 62 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:) 63 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:) 64 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 65 65 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 66 66 … … 69 69 ENDIF 70 70 71 IF (PRESENT(mask 1_)) THEN72 ALLOCATE(mask 1__tmp(SIZE(mask1_,1)))73 mask 1__tmp = mask1_74 CALL cxios_set_grid_mask 1(grid_hdl%daddr, mask1__tmp, SHAPE(mask1_))75 ENDIF 76 77 IF (PRESENT(mask 2_)) THEN78 ALLOCATE(mask 2__tmp(SIZE(mask2_,1), SIZE(mask2_,2)))79 mask 2__tmp = mask2_80 CALL cxios_set_grid_mask 2(grid_hdl%daddr, mask2__tmp, SHAPE(mask2_))81 ENDIF 82 83 IF (PRESENT(mask 3_)) THEN84 ALLOCATE(mask 3__tmp(SIZE(mask3_,1), SIZE(mask3_,2), SIZE(mask3_,3)))85 mask 3__tmp = mask3_86 CALL cxios_set_grid_mask 3(grid_hdl%daddr, mask3__tmp, SHAPE(mask3_))71 IF (PRESENT(mask_1d_)) THEN 72 ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1))) 73 mask_1d__tmp = mask_1d_ 74 CALL cxios_set_grid_mask_1d(grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 75 ENDIF 76 77 IF (PRESENT(mask_2d_)) THEN 78 ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2))) 79 mask_2d__tmp = mask_2d_ 80 CALL cxios_set_grid_mask_2d(grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 81 ENDIF 82 83 IF (PRESENT(mask_3d_)) THEN 84 ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3))) 85 mask_3d__tmp = mask_3d_ 86 CALL cxios_set_grid_mask_3d(grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_)) 87 87 ENDIF 88 88 … … 94 94 95 95 SUBROUTINE xios(get_grid_attr) & 96 ( grid_id, description, mask 1, mask2, mask3, name )96 ( grid_id, description, mask_1d, mask_2d, mask_3d, name ) 97 97 98 98 IMPLICIT NONE … … 100 100 CHARACTER(LEN=*), INTENT(IN) ::grid_id 101 101 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 102 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 1(:)103 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1_tmp(:)104 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 2(:,:)105 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2_tmp(:,:)106 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 3(:,:,:)107 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3_tmp(:,:,:)102 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_1d(:) 103 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 104 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_2d(:,:) 105 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 106 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 107 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 108 108 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 109 109 110 110 CALL xios(get_grid_handle)(grid_id,grid_hdl) 111 111 CALL xios(get_grid_attr_hdl_) & 112 ( grid_hdl, description, mask 1, mask2, mask3, name )112 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 113 113 114 114 END SUBROUTINE xios(get_grid_attr) 115 115 116 116 SUBROUTINE xios(get_grid_attr_hdl) & 117 ( grid_hdl, description, mask 1, mask2, mask3, name )117 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 118 118 119 119 IMPLICIT NONE 120 120 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 121 121 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 122 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 1(:)123 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1_tmp(:)124 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 2(:,:)125 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2_tmp(:,:)126 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 3(:,:,:)127 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3_tmp(:,:,:)122 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_1d(:) 123 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 124 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_2d(:,:) 125 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 126 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 127 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 128 128 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 129 129 130 130 CALL xios(get_grid_attr_hdl_) & 131 ( grid_hdl, description, mask 1, mask2, mask3, name )131 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 132 132 133 133 END SUBROUTINE xios(get_grid_attr_hdl) 134 134 135 135 SUBROUTINE xios(get_grid_attr_hdl_) & 136 ( grid_hdl, description_, mask 1_, mask2_, mask3_, name_ )136 ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ ) 137 137 138 138 IMPLICIT NONE 139 139 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 140 140 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 141 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 1_(:)142 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1__tmp(:)143 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 2_(:,:)144 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2__tmp(:,:)145 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 3_(:,:,:)146 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3__tmp(:,:,:)141 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_1d_(:) 142 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 143 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:) 144 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:) 145 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:) 146 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 147 147 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 148 148 … … 151 151 ENDIF 152 152 153 IF (PRESENT(mask 1_)) THEN154 ALLOCATE(mask 1__tmp(SIZE(mask1_,1)))155 CALL cxios_get_grid_mask 1(grid_hdl%daddr, mask1__tmp, SHAPE(mask1_))156 mask 1_ = mask1__tmp157 ENDIF 158 159 IF (PRESENT(mask 2_)) THEN160 ALLOCATE(mask 2__tmp(SIZE(mask2_,1), SIZE(mask2_,2)))161 CALL cxios_get_grid_mask 2(grid_hdl%daddr, mask2__tmp, SHAPE(mask2_))162 mask 2_ = mask2__tmp163 ENDIF 164 165 IF (PRESENT(mask 3_)) THEN166 ALLOCATE(mask 3__tmp(SIZE(mask3_,1), SIZE(mask3_,2), SIZE(mask3_,3)))167 CALL cxios_get_grid_mask 3(grid_hdl%daddr, mask3__tmp, SHAPE(mask3_))168 mask 3_ = mask3__tmp153 IF (PRESENT(mask_1d_)) THEN 154 ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1))) 155 CALL cxios_get_grid_mask_1d(grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 156 mask_1d_ = mask_1d__tmp 157 ENDIF 158 159 IF (PRESENT(mask_2d_)) THEN 160 ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2))) 161 CALL cxios_get_grid_mask_2d(grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 162 mask_2d_ = mask_2d__tmp 163 ENDIF 164 165 IF (PRESENT(mask_3d_)) THEN 166 ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3))) 167 CALL cxios_get_grid_mask_3d(grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_)) 168 mask_3d_ = mask_3d__tmp 169 169 ENDIF 170 170 … … 176 176 177 177 SUBROUTINE xios(is_defined_grid_attr) & 178 ( grid_id, description, mask 1, mask2, mask3, name )178 ( grid_id, description, mask_1d, mask_2d, mask_3d, name ) 179 179 180 180 IMPLICIT NONE … … 183 183 LOGICAL, OPTIONAL, INTENT(OUT) :: description 184 184 LOGICAL(KIND=C_BOOL) :: description_tmp 185 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 1186 LOGICAL(KIND=C_BOOL) :: mask 1_tmp187 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 2188 LOGICAL(KIND=C_BOOL) :: mask 2_tmp189 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 3190 LOGICAL(KIND=C_BOOL) :: mask 3_tmp185 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 186 LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 187 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 188 LOGICAL(KIND=C_BOOL) :: mask_2d_tmp 189 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 190 LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 191 191 LOGICAL, OPTIONAL, INTENT(OUT) :: name 192 192 LOGICAL(KIND=C_BOOL) :: name_tmp … … 194 194 CALL xios(get_grid_handle)(grid_id,grid_hdl) 195 195 CALL xios(is_defined_grid_attr_hdl_) & 196 ( grid_hdl, description, mask 1, mask2, mask3, name )196 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 197 197 198 198 END SUBROUTINE xios(is_defined_grid_attr) 199 199 200 200 SUBROUTINE xios(is_defined_grid_attr_hdl) & 201 ( grid_hdl, description, mask 1, mask2, mask3, name )201 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 202 202 203 203 IMPLICIT NONE … … 205 205 LOGICAL, OPTIONAL, INTENT(OUT) :: description 206 206 LOGICAL(KIND=C_BOOL) :: description_tmp 207 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 1208 LOGICAL(KIND=C_BOOL) :: mask 1_tmp209 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 2210 LOGICAL(KIND=C_BOOL) :: mask 2_tmp211 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 3212 LOGICAL(KIND=C_BOOL) :: mask 3_tmp207 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 208 LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 209 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 210 LOGICAL(KIND=C_BOOL) :: mask_2d_tmp 211 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 212 LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 213 213 LOGICAL, OPTIONAL, INTENT(OUT) :: name 214 214 LOGICAL(KIND=C_BOOL) :: name_tmp 215 215 216 216 CALL xios(is_defined_grid_attr_hdl_) & 217 ( grid_hdl, description, mask 1, mask2, mask3, name )217 ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 218 218 219 219 END SUBROUTINE xios(is_defined_grid_attr_hdl) 220 220 221 221 SUBROUTINE xios(is_defined_grid_attr_hdl_) & 222 ( grid_hdl, description_, mask 1_, mask2_, mask3_, name_ )222 ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ ) 223 223 224 224 IMPLICIT NONE … … 226 226 LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 227 227 LOGICAL(KIND=C_BOOL) :: description__tmp 228 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 1_229 LOGICAL(KIND=C_BOOL) :: mask 1__tmp230 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 2_231 LOGICAL(KIND=C_BOOL) :: mask 2__tmp232 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 3_233 LOGICAL(KIND=C_BOOL) :: mask 3__tmp228 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_ 229 LOGICAL(KIND=C_BOOL) :: mask_1d__tmp 230 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_ 231 LOGICAL(KIND=C_BOOL) :: mask_2d__tmp 232 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_ 233 LOGICAL(KIND=C_BOOL) :: mask_3d__tmp 234 234 LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 235 235 LOGICAL(KIND=C_BOOL) :: name__tmp … … 240 240 ENDIF 241 241 242 IF (PRESENT(mask 1_)) THEN243 mask 1__tmp = cxios_is_defined_grid_mask1(grid_hdl%daddr)244 mask 1_ = mask1__tmp245 ENDIF 246 247 IF (PRESENT(mask 2_)) THEN248 mask 2__tmp = cxios_is_defined_grid_mask2(grid_hdl%daddr)249 mask 2_ = mask2__tmp250 ENDIF 251 252 IF (PRESENT(mask 3_)) THEN253 mask 3__tmp = cxios_is_defined_grid_mask3(grid_hdl%daddr)254 mask 3_ = mask3__tmp242 IF (PRESENT(mask_1d_)) THEN 243 mask_1d__tmp = cxios_is_defined_grid_mask_1d(grid_hdl%daddr) 244 mask_1d_ = mask_1d__tmp 245 ENDIF 246 247 IF (PRESENT(mask_2d_)) THEN 248 mask_2d__tmp = cxios_is_defined_grid_mask_2d(grid_hdl%daddr) 249 mask_2d_ = mask_2d__tmp 250 ENDIF 251 252 IF (PRESENT(mask_3d_)) THEN 253 mask_3d__tmp = cxios_is_defined_grid_mask_3d(grid_hdl%daddr) 254 mask_3d_ = mask_3d__tmp 255 255 ENDIF 256 256 -
XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90
r791 r817 12 12 13 13 SUBROUTINE xios(set_gridgroup_attr) & 14 ( gridgroup_id, description, group_ref, mask 1, mask2, mask3, name )14 ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 15 15 16 16 IMPLICIT NONE … … 19 19 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 20 20 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 21 LOGICAL , OPTIONAL, INTENT(IN) :: mask 1(:)22 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1_tmp(:)23 LOGICAL , OPTIONAL, INTENT(IN) :: mask 2(:,:)24 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2_tmp(:,:)25 LOGICAL , OPTIONAL, INTENT(IN) :: mask 3(:,:,:)26 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3_tmp(:,:,:)21 LOGICAL , OPTIONAL, INTENT(IN) :: mask_1d(:) 22 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 23 LOGICAL , OPTIONAL, INTENT(IN) :: mask_2d(:,:) 24 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 25 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 26 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 27 27 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 28 28 29 29 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 30 30 CALL xios(set_gridgroup_attr_hdl_) & 31 ( gridgroup_hdl, description, group_ref, mask 1, mask2, mask3, name )31 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 32 32 33 33 END SUBROUTINE xios(set_gridgroup_attr) 34 34 35 35 SUBROUTINE xios(set_gridgroup_attr_hdl) & 36 ( gridgroup_hdl, description, group_ref, mask 1, mask2, mask3, name )36 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 37 37 38 38 IMPLICIT NONE … … 40 40 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 41 41 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 42 LOGICAL , OPTIONAL, INTENT(IN) :: mask 1(:)43 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1_tmp(:)44 LOGICAL , OPTIONAL, INTENT(IN) :: mask 2(:,:)45 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2_tmp(:,:)46 LOGICAL , OPTIONAL, INTENT(IN) :: mask 3(:,:,:)47 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3_tmp(:,:,:)42 LOGICAL , OPTIONAL, INTENT(IN) :: mask_1d(:) 43 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 44 LOGICAL , OPTIONAL, INTENT(IN) :: mask_2d(:,:) 45 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 46 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 47 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 48 48 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 49 49 50 50 CALL xios(set_gridgroup_attr_hdl_) & 51 ( gridgroup_hdl, description, group_ref, mask 1, mask2, mask3, name )51 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 52 52 53 53 END SUBROUTINE xios(set_gridgroup_attr_hdl) 54 54 55 55 SUBROUTINE xios(set_gridgroup_attr_hdl_) & 56 ( gridgroup_hdl, description_, group_ref_, mask 1_, mask2_, mask3_, name_ )56 ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ ) 57 57 58 58 IMPLICIT NONE … … 60 60 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 61 61 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 62 LOGICAL , OPTIONAL, INTENT(IN) :: mask 1_(:)63 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1__tmp(:)64 LOGICAL , OPTIONAL, INTENT(IN) :: mask 2_(:,:)65 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2__tmp(:,:)66 LOGICAL , OPTIONAL, INTENT(IN) :: mask 3_(:,:,:)67 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3__tmp(:,:,:)62 LOGICAL , OPTIONAL, INTENT(IN) :: mask_1d_(:) 63 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 64 LOGICAL , OPTIONAL, INTENT(IN) :: mask_2d_(:,:) 65 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:) 66 LOGICAL , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:) 67 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 68 68 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 69 69 … … 76 76 ENDIF 77 77 78 IF (PRESENT(mask 1_)) THEN79 ALLOCATE(mask 1__tmp(SIZE(mask1_,1)))80 mask 1__tmp = mask1_81 CALL cxios_set_gridgroup_mask 1(gridgroup_hdl%daddr, mask1__tmp, SHAPE(mask1_))82 ENDIF 83 84 IF (PRESENT(mask 2_)) THEN85 ALLOCATE(mask 2__tmp(SIZE(mask2_,1), SIZE(mask2_,2)))86 mask 2__tmp = mask2_87 CALL cxios_set_gridgroup_mask 2(gridgroup_hdl%daddr, mask2__tmp, SHAPE(mask2_))88 ENDIF 89 90 IF (PRESENT(mask 3_)) THEN91 ALLOCATE(mask 3__tmp(SIZE(mask3_,1), SIZE(mask3_,2), SIZE(mask3_,3)))92 mask 3__tmp = mask3_93 CALL cxios_set_gridgroup_mask 3(gridgroup_hdl%daddr, mask3__tmp, SHAPE(mask3_))78 IF (PRESENT(mask_1d_)) THEN 79 ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1))) 80 mask_1d__tmp = mask_1d_ 81 CALL cxios_set_gridgroup_mask_1d(gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 82 ENDIF 83 84 IF (PRESENT(mask_2d_)) THEN 85 ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2))) 86 mask_2d__tmp = mask_2d_ 87 CALL cxios_set_gridgroup_mask_2d(gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 88 ENDIF 89 90 IF (PRESENT(mask_3d_)) THEN 91 ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3))) 92 mask_3d__tmp = mask_3d_ 93 CALL cxios_set_gridgroup_mask_3d(gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_)) 94 94 ENDIF 95 95 … … 101 101 102 102 SUBROUTINE xios(get_gridgroup_attr) & 103 ( gridgroup_id, description, group_ref, mask 1, mask2, mask3, name )103 ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 104 104 105 105 IMPLICIT NONE … … 108 108 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 109 109 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 110 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 1(:)111 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1_tmp(:)112 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 2(:,:)113 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2_tmp(:,:)114 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 3(:,:,:)115 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3_tmp(:,:,:)110 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_1d(:) 111 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 112 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_2d(:,:) 113 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 114 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 115 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 116 116 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 117 117 118 118 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 119 119 CALL xios(get_gridgroup_attr_hdl_) & 120 ( gridgroup_hdl, description, group_ref, mask 1, mask2, mask3, name )120 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 121 121 122 122 END SUBROUTINE xios(get_gridgroup_attr) 123 123 124 124 SUBROUTINE xios(get_gridgroup_attr_hdl) & 125 ( gridgroup_hdl, description, group_ref, mask 1, mask2, mask3, name )125 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 126 126 127 127 IMPLICIT NONE … … 129 129 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 130 130 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 131 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 1(:)132 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1_tmp(:)133 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 2(:,:)134 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2_tmp(:,:)135 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 3(:,:,:)136 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3_tmp(:,:,:)131 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_1d(:) 132 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 133 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_2d(:,:) 134 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 135 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 136 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 137 137 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 138 138 139 139 CALL xios(get_gridgroup_attr_hdl_) & 140 ( gridgroup_hdl, description, group_ref, mask 1, mask2, mask3, name )140 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 141 141 142 142 END SUBROUTINE xios(get_gridgroup_attr_hdl) 143 143 144 144 SUBROUTINE xios(get_gridgroup_attr_hdl_) & 145 ( gridgroup_hdl, description_, group_ref_, mask 1_, mask2_, mask3_, name_ )145 ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ ) 146 146 147 147 IMPLICIT NONE … … 149 149 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 150 150 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 151 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 1_(:)152 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 1__tmp(:)153 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 2_(:,:)154 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 2__tmp(:,:)155 LOGICAL , OPTIONAL, INTENT(OUT) :: mask 3_(:,:,:)156 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask 3__tmp(:,:,:)151 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_1d_(:) 152 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 153 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:) 154 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:) 155 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:) 156 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 157 157 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 158 158 … … 165 165 ENDIF 166 166 167 IF (PRESENT(mask 1_)) THEN168 ALLOCATE(mask 1__tmp(SIZE(mask1_,1)))169 CALL cxios_get_gridgroup_mask 1(gridgroup_hdl%daddr, mask1__tmp, SHAPE(mask1_))170 mask 1_ = mask1__tmp171 ENDIF 172 173 IF (PRESENT(mask 2_)) THEN174 ALLOCATE(mask 2__tmp(SIZE(mask2_,1), SIZE(mask2_,2)))175 CALL cxios_get_gridgroup_mask 2(gridgroup_hdl%daddr, mask2__tmp, SHAPE(mask2_))176 mask 2_ = mask2__tmp177 ENDIF 178 179 IF (PRESENT(mask 3_)) THEN180 ALLOCATE(mask 3__tmp(SIZE(mask3_,1), SIZE(mask3_,2), SIZE(mask3_,3)))181 CALL cxios_get_gridgroup_mask 3(gridgroup_hdl%daddr, mask3__tmp, SHAPE(mask3_))182 mask 3_ = mask3__tmp167 IF (PRESENT(mask_1d_)) THEN 168 ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1))) 169 CALL cxios_get_gridgroup_mask_1d(gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 170 mask_1d_ = mask_1d__tmp 171 ENDIF 172 173 IF (PRESENT(mask_2d_)) THEN 174 ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2))) 175 CALL cxios_get_gridgroup_mask_2d(gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 176 mask_2d_ = mask_2d__tmp 177 ENDIF 178 179 IF (PRESENT(mask_3d_)) THEN 180 ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3))) 181 CALL cxios_get_gridgroup_mask_3d(gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_)) 182 mask_3d_ = mask_3d__tmp 183 183 ENDIF 184 184 … … 190 190 191 191 SUBROUTINE xios(is_defined_gridgroup_attr) & 192 ( gridgroup_id, description, group_ref, mask 1, mask2, mask3, name )192 ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 193 193 194 194 IMPLICIT NONE … … 199 199 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 200 200 LOGICAL(KIND=C_BOOL) :: group_ref_tmp 201 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 1202 LOGICAL(KIND=C_BOOL) :: mask 1_tmp203 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 2204 LOGICAL(KIND=C_BOOL) :: mask 2_tmp205 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 3206 LOGICAL(KIND=C_BOOL) :: mask 3_tmp201 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 202 LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 203 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 204 LOGICAL(KIND=C_BOOL) :: mask_2d_tmp 205 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 206 LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 207 207 LOGICAL, OPTIONAL, INTENT(OUT) :: name 208 208 LOGICAL(KIND=C_BOOL) :: name_tmp … … 210 210 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 211 211 CALL xios(is_defined_gridgroup_attr_hdl_) & 212 ( gridgroup_hdl, description, group_ref, mask 1, mask2, mask3, name )212 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 213 213 214 214 END SUBROUTINE xios(is_defined_gridgroup_attr) 215 215 216 216 SUBROUTINE xios(is_defined_gridgroup_attr_hdl) & 217 ( gridgroup_hdl, description, group_ref, mask 1, mask2, mask3, name )217 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 218 218 219 219 IMPLICIT NONE … … 223 223 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 224 224 LOGICAL(KIND=C_BOOL) :: group_ref_tmp 225 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 1226 LOGICAL(KIND=C_BOOL) :: mask 1_tmp227 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 2228 LOGICAL(KIND=C_BOOL) :: mask 2_tmp229 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 3230 LOGICAL(KIND=C_BOOL) :: mask 3_tmp225 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 226 LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 227 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 228 LOGICAL(KIND=C_BOOL) :: mask_2d_tmp 229 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 230 LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 231 231 LOGICAL, OPTIONAL, INTENT(OUT) :: name 232 232 LOGICAL(KIND=C_BOOL) :: name_tmp 233 233 234 234 CALL xios(is_defined_gridgroup_attr_hdl_) & 235 ( gridgroup_hdl, description, group_ref, mask 1, mask2, mask3, name )235 ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 236 236 237 237 END SUBROUTINE xios(is_defined_gridgroup_attr_hdl) 238 238 239 239 SUBROUTINE xios(is_defined_gridgroup_attr_hdl_) & 240 ( gridgroup_hdl, description_, group_ref_, mask 1_, mask2_, mask3_, name_ )240 ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ ) 241 241 242 242 IMPLICIT NONE … … 246 246 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 247 247 LOGICAL(KIND=C_BOOL) :: group_ref__tmp 248 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 1_249 LOGICAL(KIND=C_BOOL) :: mask 1__tmp250 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 2_251 LOGICAL(KIND=C_BOOL) :: mask 2__tmp252 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 3_253 LOGICAL(KIND=C_BOOL) :: mask 3__tmp248 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_ 249 LOGICAL(KIND=C_BOOL) :: mask_1d__tmp 250 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_ 251 LOGICAL(KIND=C_BOOL) :: mask_2d__tmp 252 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_ 253 LOGICAL(KIND=C_BOOL) :: mask_3d__tmp 254 254 LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 255 255 LOGICAL(KIND=C_BOOL) :: name__tmp … … 265 265 ENDIF 266 266 267 IF (PRESENT(mask 1_)) THEN268 mask 1__tmp = cxios_is_defined_gridgroup_mask1(gridgroup_hdl%daddr)269 mask 1_ = mask1__tmp270 ENDIF 271 272 IF (PRESENT(mask 2_)) THEN273 mask 2__tmp = cxios_is_defined_gridgroup_mask2(gridgroup_hdl%daddr)274 mask 2_ = mask2__tmp275 ENDIF 276 277 IF (PRESENT(mask 3_)) THEN278 mask 3__tmp = cxios_is_defined_gridgroup_mask3(gridgroup_hdl%daddr)279 mask 3_ = mask3__tmp267 IF (PRESENT(mask_1d_)) THEN 268 mask_1d__tmp = cxios_is_defined_gridgroup_mask_1d(gridgroup_hdl%daddr) 269 mask_1d_ = mask_1d__tmp 270 ENDIF 271 272 IF (PRESENT(mask_2d_)) THEN 273 mask_2d__tmp = cxios_is_defined_gridgroup_mask_2d(gridgroup_hdl%daddr) 274 mask_2d_ = mask_2d__tmp 275 ENDIF 276 277 IF (PRESENT(mask_3d_)) THEN 278 mask_3d__tmp = cxios_is_defined_gridgroup_mask_3d(gridgroup_hdl%daddr) 279 mask_3d_ = mask_3d__tmp 280 280 ENDIF 281 281 -
XIOS/trunk/src/node/axis.cpp
r816 r817 230 230 } 231 231 232 // StdSize true_size = value.numElements(); 233 // if (this->n.getValue() != true_size) 234 // ERROR("CAxis::checkAttributes(void)", 235 // << "[ id = '" << getId() << "' , context = '" << CObjectFactory::GetCurrentContextId() << "' ] " 236 // << "The axis is wrongly defined, attribute 'value' has a different size (" << true_size << ") than the one defined by the \'size\' attribute (" << n.getValue() << ")."); 232 if (this->index.isEmpty()) 233 { 234 index.resize(n); 235 for (int i = 0; i < n; ++i) index(i) = i+begin; 236 } 237 237 238 238 this->checkData(); … … 393 393 size_t zoom_end = global_zoom_begin+global_zoom_size-1; 394 394 size_t nZoomCount = 0; 395 for (size_t idx = 0; idx < ni; ++idx)396 {397 size_t globalIndex = ibegin + idx;398 395 size_t nbIndex = index.numElements(); 396 for (size_t idx = 0; idx < nbIndex; ++idx) 397 { 398 size_t globalIndex = index(idx); 399 399 if (globalIndex >= global_zoom_begin && globalIndex <= zoom_end) ++nZoomCount; 400 400 } 401 401 402 CArray<size_t,1> globalIndexAxis(n i);402 CArray<size_t,1> globalIndexAxis(nbIndex); 403 403 std::vector<size_t> globalAxisZoom(nZoomCount); 404 404 nZoomCount = 0; 405 for (size_t idx = 0; idx < n i; ++idx)406 { 407 size_t globalIndex = i begin + idx;405 for (size_t idx = 0; idx < nbIndex; ++idx) 406 { 407 size_t globalIndex = index(idx); 408 408 globalIndexAxis(idx) = globalIndex; 409 409 if (globalIndex >= global_zoom_begin && globalIndex <= zoom_end) -
XIOS/trunk/src/node/grid.cpp
r815 r817 227 227 { 228 228 // We don't check if the mask is valid here, just if a mask has been defined at this point. 229 isCompressible_ = !mask 1.isEmpty() || !mask2.isEmpty() || !mask3.isEmpty();229 isCompressible_ = !mask_1d.isEmpty() || !mask_2d.isEmpty() || !mask_3d.isEmpty(); 230 230 } 231 231 … … 278 278 switch (dim) { 279 279 case 1: 280 checkGridMask(mask 1, domainMasks, axisMasks, axis_domain_order);280 checkGridMask(mask_1d, domainMasks, axisMasks, axis_domain_order); 281 281 break; 282 282 case 2: 283 checkGridMask(mask 2, domainMasks, axisMasks, axis_domain_order);283 checkGridMask(mask_2d, domainMasks, axisMasks, axis_domain_order); 284 284 break; 285 285 case 3: 286 checkGridMask(mask 3, domainMasks, axisMasks, axis_domain_order);286 checkGridMask(mask_3d, domainMasks, axisMasks, axis_domain_order); 287 287 break; 288 288 // case 4: … … 312 312 switch (dim) { 313 313 case 1: 314 modifyGridMask(mask 1, indexToModify);314 modifyGridMask(mask_1d, indexToModify); 315 315 break; 316 316 case 2: 317 modifyGridMask(mask 2, indexToModify);317 modifyGridMask(mask_2d, indexToModify); 318 318 break; 319 319 case 3: 320 modifyGridMask(mask 3, indexToModify);320 modifyGridMask(mask_3d, indexToModify); 321 321 break; 322 322
Note: See TracChangeset
for help on using the changeset viewer.