Skip to content
Snippets Groups Projects
Commit 6ddab223 authored by Sebastien Masson's avatar Sebastien Masson
Browse files

Merge branch '170-add-xios3-compatibility' into 'main'

Resolve "add XIOS3 compatibility"

Closes #170

See merge request nemo/nemo!242
parents 2bec55a1 37562b06
No related branches found
No related tags found
No related merge requests found
...@@ -2012,7 +2012,9 @@ CONTAINS ...@@ -2012,7 +2012,9 @@ CONTAINS
IF( iom_use(cdname) ) THEN IF( iom_use(cdname) ) THEN
#if defined key_xios #if defined key_xios
IF( is_tile(SIZE(pfield2d, 1), SIZE(pfield2d, 2)) ) THEN IF( is_tile(SIZE(pfield2d, 1), SIZE(pfield2d, 2)) ) THEN
#ifndef key_xios3
CALL xios_send_field( cdname, pfield2d, ntile - 1 ) CALL xios_send_field( cdname, pfield2d, ntile - 1 )
#endif
ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN
CALL xios_send_field( cdname, pfield2d ) CALL xios_send_field( cdname, pfield2d )
ENDIF ENDIF
...@@ -2028,7 +2030,9 @@ CONTAINS ...@@ -2028,7 +2030,9 @@ CONTAINS
IF( iom_use(cdname) ) THEN IF( iom_use(cdname) ) THEN
#if defined key_xios #if defined key_xios
IF( is_tile(SIZE(pfield2d, 1), SIZE(pfield2d, 2)) ) THEN IF( is_tile(SIZE(pfield2d, 1), SIZE(pfield2d, 2)) ) THEN
#ifndef key_xios3
CALL xios_send_field( cdname, pfield2d, ntile - 1 ) CALL xios_send_field( cdname, pfield2d, ntile - 1 )
#endif
ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN
CALL xios_send_field( cdname, pfield2d ) CALL xios_send_field( cdname, pfield2d )
ENDIF ENDIF
...@@ -2044,7 +2048,9 @@ CONTAINS ...@@ -2044,7 +2048,9 @@ CONTAINS
IF( iom_use(cdname) ) THEN IF( iom_use(cdname) ) THEN
#if defined key_xios #if defined key_xios
IF( is_tile(SIZE(pfield3d, 1), SIZE(pfield3d, 2)) ) THEN IF( is_tile(SIZE(pfield3d, 1), SIZE(pfield3d, 2)) ) THEN
#ifndef key_xios3
CALL xios_send_field( cdname, pfield3d, ntile - 1 ) CALL xios_send_field( cdname, pfield3d, ntile - 1 )
#endif
ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN
CALL xios_send_field( cdname, pfield3d ) CALL xios_send_field( cdname, pfield3d )
ENDIF ENDIF
...@@ -2060,7 +2066,9 @@ CONTAINS ...@@ -2060,7 +2066,9 @@ CONTAINS
IF( iom_use(cdname) ) THEN IF( iom_use(cdname) ) THEN
#if defined key_xios #if defined key_xios
IF( is_tile(SIZE(pfield3d, 1), SIZE(pfield3d, 2)) ) THEN IF( is_tile(SIZE(pfield3d, 1), SIZE(pfield3d, 2)) ) THEN
#ifndef key_xios3
CALL xios_send_field( cdname, pfield3d, ntile - 1 ) CALL xios_send_field( cdname, pfield3d, ntile - 1 )
#endif
ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN
CALL xios_send_field( cdname, pfield3d ) CALL xios_send_field( cdname, pfield3d )
ENDIF ENDIF
...@@ -2076,7 +2084,9 @@ CONTAINS ...@@ -2076,7 +2084,9 @@ CONTAINS
IF( iom_use(cdname) ) THEN IF( iom_use(cdname) ) THEN
#if defined key_xios #if defined key_xios
IF( is_tile(SIZE(pfield4d, 1), SIZE(pfield4d, 2)) ) THEN IF( is_tile(SIZE(pfield4d, 1), SIZE(pfield4d, 2)) ) THEN
#ifndef key_xios3
CALL xios_send_field( cdname, pfield4d, ntile - 1 ) CALL xios_send_field( cdname, pfield4d, ntile - 1 )
#endif
ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN
CALL xios_send_field( cdname, pfield4d ) CALL xios_send_field( cdname, pfield4d )
ENDIF ENDIF
...@@ -2092,7 +2102,9 @@ CONTAINS ...@@ -2092,7 +2102,9 @@ CONTAINS
IF( iom_use(cdname) ) THEN IF( iom_use(cdname) ) THEN
#if defined key_xios #if defined key_xios
IF( is_tile(SIZE(pfield4d, 1), SIZE(pfield4d, 2)) ) THEN IF( is_tile(SIZE(pfield4d, 1), SIZE(pfield4d, 2)) ) THEN
#ifndef key_xios3
CALL xios_send_field( cdname, pfield4d, ntile - 1 ) CALL xios_send_field( cdname, pfield4d, ntile - 1 )
#endif
ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ELSE IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN
CALL xios_send_field( cdname, pfield4d ) CALL xios_send_field( cdname, pfield4d )
ENDIF ENDIF
...@@ -2128,18 +2140,22 @@ CONTAINS ...@@ -2128,18 +2140,22 @@ CONTAINS
IF( xios_is_valid_domain (cdid) ) THEN IF( xios_is_valid_domain (cdid) ) THEN
CALL xios_set_domain_attr ( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj, & CALL xios_set_domain_attr ( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj, &
& data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj , & & data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj , &
#ifndef key_xios3
& ntiles=ntiles, tile_ibegin=tile_ibegin, tile_jbegin=tile_jbegin, tile_ni=tile_ni, tile_nj=tile_nj, & & ntiles=ntiles, tile_ibegin=tile_ibegin, tile_jbegin=tile_jbegin, tile_ni=tile_ni, tile_nj=tile_nj, &
& tile_data_ibegin=tile_data_ibegin, tile_data_jbegin=tile_data_jbegin, & & tile_data_ibegin=tile_data_ibegin, tile_data_jbegin=tile_data_jbegin, &
& tile_data_ni=tile_data_ni, tile_data_nj=tile_data_nj, & & tile_data_ni=tile_data_ni, tile_data_nj=tile_data_nj, &
#endif
& lonvalue_1D=lonvalue, latvalue_1D=latvalue, mask_1D=mask, nvertex=nvertex, bounds_lon_1D=bounds_lon, & & lonvalue_1D=lonvalue, latvalue_1D=latvalue, mask_1D=mask, nvertex=nvertex, bounds_lon_1D=bounds_lon, &
& bounds_lat_1D=bounds_lat, area=area, type='curvilinear') & bounds_lat_1D=bounds_lat, area=area, type='curvilinear')
ENDIF ENDIF
IF( xios_is_valid_domaingroup(cdid) ) THEN IF( xios_is_valid_domaingroup(cdid) ) THEN
CALL xios_set_domaingroup_attr( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj, & CALL xios_set_domaingroup_attr( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj, &
& data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj , & & data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj , &
#ifndef key_xios3
& ntiles=ntiles, tile_ibegin=tile_ibegin, tile_jbegin=tile_jbegin, tile_ni=tile_ni, tile_nj=tile_nj, & & ntiles=ntiles, tile_ibegin=tile_ibegin, tile_jbegin=tile_jbegin, tile_ni=tile_ni, tile_nj=tile_nj, &
& tile_data_ibegin=tile_data_ibegin, tile_data_jbegin=tile_data_jbegin, & & tile_data_ibegin=tile_data_ibegin, tile_data_jbegin=tile_data_jbegin, &
& tile_data_ni=tile_data_ni, tile_data_nj=tile_data_nj, & & tile_data_ni=tile_data_ni, tile_data_nj=tile_data_nj, &
#endif
& lonvalue_1D=lonvalue, latvalue_1D=latvalue, mask_1D=mask, nvertex=nvertex, bounds_lon_1D=bounds_lon, & & lonvalue_1D=lonvalue, latvalue_1D=latvalue, mask_1D=mask, nvertex=nvertex, bounds_lon_1D=bounds_lon, &
& bounds_lat_1D=bounds_lat, area=area, type='curvilinear' ) & bounds_lat_1D=bounds_lat, area=area, type='curvilinear' )
ENDIF ENDIF
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment