Changeset 7867
- Timestamp:
- 2017-04-03T17:11:05+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7864_XIOS_defs/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
r7768 r7867 170 170 ENDIF 171 171 172 ! vertical grid definition173 CALL iom_set_axis_attr( "deptht", gdept_1d )174 CALL iom_set_axis_attr( "depthu", gdept_1d )175 CALL iom_set_axis_attr( "depthv", gdept_1d )176 CALL iom_set_axis_attr( "depthw", gdepw_1d )177 178 172 ! Add vertical grid bounds 179 173 jkmin = MIN(2,jpk) ! in case jpk=1 (i.e. sas2D) … … 184 178 zw_bnds(2,1:jpkm1 ) = gdepw_1d(jkmin:jpk) 185 179 zw_bnds(2,jpk: ) = gdepw_1d(jpk) + e3t_1d(jpk) 186 CALL iom_set_axis_attr( "deptht", bounds=zt_bnds )187 CALL iom_set_axis_attr( "depthu", bounds=zt_bnds )188 CALL iom_set_axis_attr( "depthv", bounds=zt_bnds )189 CALL iom_set_axis_attr( "depthw", bounds=zw_bnds )180 CALL iom_set_axis_attr( "deptht", paxis=gdept_1d, bounds=zt_bnds ) 181 CALL iom_set_axis_attr( "depthu", paxis=gdept_1d, bounds=zt_bnds ) 182 CALL iom_set_axis_attr( "depthv", paxis=gdept_1d, bounds=zt_bnds ) 183 CALL iom_set_axis_attr( "depthw", paxis=gdepw_1d, bounds=zw_bnds ) 190 184 191 185 … … 1256 1250 1257 1251 IF ( xios_is_valid_domain (cdid) ) THEN 1258 CALL xios_set_domain_attr ( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj, & 1259 & data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj , & 1260 & lonvalue_1D=lonvalue, latvalue_1D=latvalue, mask_1D=mask, nvertex=nvertex, bounds_lon_1D=bounds_lon, & 1261 & bounds_lat_1D=bounds_lat, area=area, type='curvilinear') 1252 CALL xios_set_domain_attr ( cdid, type='curvilinear') 1253 IF(PRESENT (ni_glo)) CALL xios_set_domain_attr ( cdid, ni_glo=ni_glo) 1254 IF(PRESENT (nj_glo)) CALL xios_set_domain_attr ( cdid, nj_glo=nj_glo) 1255 IF(PRESENT (ibegin)) CALL xios_set_domain_attr ( cdid, ibegin=ibegin) 1256 IF(PRESENT (jbegin)) CALL xios_set_domain_attr ( cdid, jbegin=jbegin) 1257 IF(PRESENT (ni)) CALL xios_set_domain_attr ( cdid, ni=ni) 1258 IF(PRESENT (nj)) CALL xios_set_domain_attr ( cdid, nj=nj) 1259 IF(PRESENT (data_dim)) CALL xios_set_domain_attr ( cdid, data_dim=data_dim) 1260 IF(PRESENT (data_ibegin)) CALL xios_set_domain_attr ( cdid, data_ibegin=data_ibegin) 1261 IF(PRESENT (data_ni)) CALL xios_set_domain_attr ( cdid, data_ni=data_ni) 1262 IF(PRESENT (data_jbegin)) CALL xios_set_domain_attr ( cdid, data_jbegin=data_jbegin) 1263 IF(PRESENT (data_nj)) CALL xios_set_domain_attr ( cdid, data_nj=data_nj) 1264 IF(PRESENT (lonvalue)) CALL xios_set_domain_attr ( cdid, lonvalue_1D=lonvalue) 1265 IF(PRESENT (latvalue)) CALL xios_set_domain_attr ( cdid, latvalue_1D=latvalue) 1266 IF(PRESENT (mask)) CALL xios_set_domain_attr ( cdid, mask_1D=mask) 1267 IF(PRESENT (nvertex)) CALL xios_set_domain_attr ( cdid, nvertex=nvertex) 1268 IF(PRESENT (bounds_lon)) CALL xios_set_domain_attr ( cdid, bounds_lon_1D=bounds_lon ) 1269 IF(PRESENT (bounds_lat)) CALL xios_set_domain_attr ( cdid, bounds_lat_1D=bounds_lat) 1270 IF(PRESENT (area)) CALL xios_set_domain_attr ( cdid, area=area) 1262 1271 ENDIF 1263 1272 IF ( xios_is_valid_domaingroup(cdid) ) THEN 1264 CALL xios_set_domaingroup_attr( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj, & 1265 & data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj , & 1266 & lonvalue_1D=lonvalue, latvalue_1D=latvalue, mask_1D=mask, nvertex=nvertex, bounds_lon_1D=bounds_lon, & 1267 & bounds_lat_1D=bounds_lat, area=area, type='curvilinear' ) 1273 CALL xios_set_domaingroup_attr ( cdid, type='curvilinear') 1274 IF(PRESENT (ni_glo)) CALL xios_set_domaingroup_attr ( cdid, ni_glo=ni_glo ) 1275 IF(PRESENT (nj_glo)) CALL xios_set_domaingroup_attr ( cdid, nj_glo=nj_glo ) 1276 IF(PRESENT (ibegin)) CALL xios_set_domaingroup_attr ( cdid, ibegin=ibegin ) 1277 IF(PRESENT (jbegin)) CALL xios_set_domaingroup_attr ( cdid, jbegin=jbegin ) 1278 IF(PRESENT (ni)) CALL xios_set_domaingroup_attr ( cdid, ni=ni ) 1279 IF(PRESENT (nj)) CALL xios_set_domaingroup_attr ( cdid, nj=nj ) 1280 IF(PRESENT (data_dim)) CALL xios_set_domaingroup_attr ( cdid, data_dim=data_dim ) 1281 IF(PRESENT (data_ibegin)) CALL xios_set_domaingroup_attr ( cdid, data_ibegin=data_ibegin ) 1282 IF(PRESENT (data_ni)) CALL xios_set_domaingroup_attr ( cdid, data_ni=data_ni ) 1283 IF(PRESENT (data_jbegin)) CALL xios_set_domaingroup_attr ( cdid, data_jbegin=data_jbegin ) 1284 IF(PRESENT (data_nj)) CALL xios_set_domaingroup_attr ( cdid, data_nj=data_nj ) 1285 IF(PRESENT (lonvalue)) CALL xios_set_domaingroup_attr ( cdid, lonvalue_1D=lonvalue ) 1286 IF(PRESENT (latvalue)) CALL xios_set_domaingroup_attr ( cdid, latvalue_1D=latvalue ) 1287 IF(PRESENT (mask)) CALL xios_set_domaingroup_attr ( cdid, mask_1D=mask ) 1288 IF(PRESENT (nvertex)) CALL xios_set_domaingroup_attr ( cdid, nvertex=nvertex ) 1289 IF(PRESENT (bounds_lon)) CALL xios_set_domaingroup_attr ( cdid, bounds_lon_1D=bounds_lon ) 1290 IF(PRESENT (bounds_lat)) CALL xios_set_domaingroup_attr ( cdid, bounds_lat_1D=bounds_lat ) 1291 IF(PRESENT (area)) CALL xios_set_domaingroup_attr ( cdid, area=area ) 1268 1292 ENDIF 1269 1293 … … 1278 1302 1279 1303 IF ( xios_is_valid_zoom_domain (cdid) ) THEN 1280 CALL xios_set_zoom_domain_attr ( cdid, ibegin=ibegin, jbegin=jbegin, ni=ni, & 1281 & nj=nj) 1304 IF(PRESENT(ibegin)) CALL xios_set_zoom_domain_attr ( cdid, ibegin=ibegin) 1305 IF(PRESENT(jbegin)) CALL xios_set_zoom_domain_attr ( cdid, jbegin=jbegin) 1306 IF(PRESENT(nj)) CALL xios_set_zoom_domain_attr ( cdid, ni=ni) 1307 IF(PRESENT(ni)) CALL xios_set_zoom_domain_attr ( cdid, nj=nj) 1282 1308 ENDIF 1283 1309 END SUBROUTINE iom_set_zoom_domain_attr … … 1293 1319 IF ( xios_is_valid_axisgroup(cdid) ) CALL xios_set_axisgroup_attr( cdid, n_glo=SIZE(paxis), value=paxis ) 1294 1320 ENDIF 1295 IF ( xios_is_valid_axis (cdid) ) CALL xios_set_axis_attr ( cdid, bounds=bounds ) 1296 IF ( xios_is_valid_axisgroup(cdid) ) CALL xios_set_axisgroup_attr( cdid, bounds=bounds ) 1321 IF ( PRESENT(bounds) ) THEN 1322 IF ( xios_is_valid_axis (cdid) ) CALL xios_set_axis_attr ( cdid, bounds=bounds ) 1323 IF ( xios_is_valid_axisgroup(cdid) ) CALL xios_set_axisgroup_attr( cdid, bounds=bounds ) 1324 ENDIF 1297 1325 CALL xios_solve_inheritance() 1298 1326 END SUBROUTINE iom_set_axis_attr … … 1303 1331 TYPE(xios_duration),OPTIONAL , INTENT(in) :: freq_op 1304 1332 TYPE(xios_duration),OPTIONAL , INTENT(in) :: freq_offset 1305 IF ( xios_is_valid_field (cdid) ) CALL xios_set_field_attr & 1306 & ( cdid, freq_op=freq_op, freq_offset=freq_offset ) 1307 IF ( xios_is_valid_fieldgroup(cdid) ) CALL xios_set_fieldgroup_attr & 1308 & ( cdid, freq_op=freq_op, freq_offset=freq_offset ) 1333 IF ( PRESENT(freq_op) ) THEN 1334 IF ( xios_is_valid_field (cdid) ) CALL xios_set_field_attr( cdid, freq_op=freq_op ) 1335 IF ( xios_is_valid_fieldgroup(cdid) ) CALL xios_set_fieldgroup_attr( cdid, freq_op=freq_op ) 1336 ENDIF 1337 IF ( PRESENT(freq_offset) ) THEN 1338 IF ( xios_is_valid_field (cdid) ) CALL xios_set_field_attr( cdid, freq_offset=freq_offset ) 1339 IF ( xios_is_valid_fieldgroup(cdid) ) CALL xios_set_fieldgroup_attr( cdid, freq_offset=freq_offset ) 1340 ENDIF 1309 1341 CALL xios_solve_inheritance() 1310 1342 END SUBROUTINE iom_set_field_attr … … 1314 1346 CHARACTER(LEN=*) , INTENT(in) :: cdid 1315 1347 CHARACTER(LEN=*),OPTIONAL , INTENT(in) :: name, name_suffix 1316 IF ( xios_is_valid_file (cdid) ) CALL xios_set_file_attr ( cdid, name=name, name_suffix=name_suffix ) 1317 IF ( xios_is_valid_filegroup(cdid) ) CALL xios_set_filegroup_attr( cdid, name=name, name_suffix=name_suffix ) 1348 IF ( PRESENT(name) ) THEN 1349 IF ( xios_is_valid_file (cdid) ) CALL xios_set_file_attr ( cdid, name=name ) 1350 IF ( xios_is_valid_filegroup(cdid) ) CALL xios_set_filegroup_attr( cdid, name=name ) 1351 ENDIF 1352 IF ( PRESENT(name_suffix) ) THEN 1353 IF ( xios_is_valid_file (cdid) ) CALL xios_set_file_attr ( cdid, name_suffix=name_suffix ) 1354 IF ( xios_is_valid_filegroup(cdid) ) CALL xios_set_filegroup_attr( cdid, name_suffix=name_suffix ) 1355 ENDIF 1318 1356 CALL xios_solve_inheritance() 1319 1357 END SUBROUTINE iom_set_file_attr … … 1349 1387 CHARACTER(LEN=*) , INTENT(in) :: cdid 1350 1388 LOGICAL, DIMENSION(:,:,:), OPTIONAL, INTENT(in) :: mask 1351 IF ( xios_is_valid_grid (cdid) ) CALL xios_set_grid_attr ( cdid, mask_3D=mask ) 1352 IF ( xios_is_valid_gridgroup(cdid) ) CALL xios_set_gridgroup_attr( cdid, mask_3D=mask ) 1389 IF( PRESENT(mask)) THEN 1390 IF ( xios_is_valid_grid (cdid) ) CALL xios_set_grid_attr ( cdid, mask_3D=mask ) 1391 IF ( xios_is_valid_gridgroup(cdid) ) CALL xios_set_gridgroup_attr( cdid, mask_3D=mask ) 1392 ENDIF 1353 1393 CALL xios_solve_inheritance() 1354 1394 END SUBROUTINE iom_set_grid_attr
Note: See TracChangeset
for help on using the changeset viewer.