New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 7650 – NEMO

Changeset 7650


Ignore:
Timestamp:
2017-02-06T16:24:31+01:00 (7 years ago)
Author:
andmirek
Message:

#1840 : if(PRESENT) for eanch OPTIONAL variable in iom.F90

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_5518_xios_definitions/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r5426 r7650  
    11591159 
    11601160      IF ( xios_is_valid_domain     (cdid) ) THEN 
    1161          CALL xios_set_domain_attr     ( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj,   & 
    1162             &    data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj ,   & 
    1163             &    zoom_ibegin=zoom_ibegin, zoom_jbegin=zoom_jbegin, zoom_ni=zoom_ni, zoom_nj=zoom_nj,                       & 
    1164             &    lonvalue=lonvalue, latvalue=latvalue, mask=mask, nvertex=nvertex, bounds_lon=bounds_lon,                  & 
    1165             &    bounds_lat=bounds_lat, area=area ) 
     1161         IF(PRESENT (ni_glo))        CALL xios_set_domain_attr     ( cdid, ni_glo=ni_glo) 
     1162         IF(PRESENT (nj_glo))        CALL xios_set_domain_attr     ( cdid, nj_glo=nj_glo) 
     1163         IF(PRESENT (ibegin))        CALL xios_set_domain_attr     ( cdid, ibegin=ibegin) 
     1164         IF(PRESENT (jbegin))        CALL xios_set_domain_attr     ( cdid, jbegin=jbegin) 
     1165         IF(PRESENT (ni))            CALL xios_set_domain_attr     ( cdid, ni=ni) 
     1166         IF(PRESENT (nj))            CALL xios_set_domain_attr     ( cdid, nj=nj) 
     1167         IF(PRESENT (data_dim))      CALL xios_set_domain_attr     ( cdid, data_dim=data_dim) 
     1168         IF(PRESENT (data_ibegin))   CALL xios_set_domain_attr     ( cdid, data_ibegin=data_ibegin) 
     1169         IF(PRESENT (data_ni))       CALL xios_set_domain_attr     ( cdid, data_ni=data_ni) 
     1170         IF(PRESENT (data_jbegin))   CALL xios_set_domain_attr     ( cdid, data_jbegin=data_jbegin) 
     1171         IF(PRESENT (data_nj))       CALL xios_set_domain_attr     ( cdid, data_nj=data_nj) 
     1172         IF(PRESENT (zoom_ibegin))   CALL xios_set_domain_attr     ( cdid, zoom_ibegin=zoom_ibegin) 
     1173         IF(PRESENT (zoom_jbegin))   CALL xios_set_domain_attr     ( cdid, zoom_jbegin=zoom_jbegin) 
     1174         IF(PRESENT (zoom_ni))       CALL xios_set_domain_attr     ( cdid, zoom_ni=zoom_ni) 
     1175         IF(PRESENT (zoom_nj))       CALL xios_set_domain_attr     ( cdid, zoom_nj=zoom_nj) 
     1176         IF(PRESENT (lonvalue))      CALL xios_set_domain_attr     ( cdid, lonvalue_1D=lonvalue) 
     1177         IF(PRESENT (latvalue))      CALL xios_set_domain_attr     ( cdid, latvalue_1D=latvalue) 
     1178         IF(PRESENT (mask))          CALL xios_set_domain_attr     ( cdid, mask_1D=mask) 
     1179         IF(PRESENT (nvertex))       CALL xios_set_domain_attr     ( cdid, nvertex=nvertex) 
     1180         IF(PRESENT (bounds_lon))    CALL xios_set_domain_attr     ( cdid, bounds_lon_1D=bounds_lon ) 
     1181         IF(PRESENT (bounds_lat))    CALL xios_set_domain_attr     ( cdid, bounds_lat_1D=bounds_lat) 
     1182         IF(PRESENT (area))          CALL xios_set_domain_attr     ( cdid, area=area) 
    11661183      ENDIF 
    11671184 
    11681185      IF ( xios_is_valid_domaingroup(cdid) ) THEN 
    1169          CALL xios_set_domaingroup_attr( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj,   & 
    1170             &    data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj ,   & 
    1171             &    zoom_ibegin=zoom_ibegin, zoom_jbegin=zoom_jbegin, zoom_ni=zoom_ni, zoom_nj=zoom_nj,                       & 
    1172             &    lonvalue=lonvalue, latvalue=latvalue, mask=mask, nvertex=nvertex, bounds_lon=bounds_lon,                  & 
    1173             &    bounds_lat=bounds_lat, area=area ) 
     1186         IF(PRESENT (ni_glo))        CALL xios_set_domaingroup_attr     ( cdid, ni_glo=ni_glo) 
     1187         IF(PRESENT (nj_glo))        CALL xios_set_domaingroup_attr     ( cdid, nj_glo=nj_glo) 
     1188         IF(PRESENT (ibegin))        CALL xios_set_domaingroup_attr     ( cdid, ibegin=ibegin) 
     1189         IF(PRESENT (jbegin))        CALL xios_set_domaingroup_attr     ( cdid, jbegin=jbegin) 
     1190         IF(PRESENT (ni))            CALL xios_set_domaingroup_attr     ( cdid, ni=ni) 
     1191         IF(PRESENT (nj))            CALL xios_set_domaingroup_attr     ( cdid, nj=nj) 
     1192         IF(PRESENT (data_dim))      CALL xios_set_domaingroup_attr     ( cdid, data_dim=data_dim) 
     1193         IF(PRESENT (data_ibegin))   CALL xios_set_domaingroup_attr     ( cdid, data_ibegin=data_ibegin) 
     1194         IF(PRESENT (data_ni))       CALL xios_set_domaingroup_attr     ( cdid, data_ni=data_ni) 
     1195         IF(PRESENT (data_jbegin))   CALL xios_set_domaingroup_attr     ( cdid, data_jbegin=data_jbegin) 
     1196         IF(PRESENT (data_nj))       CALL xios_set_domaingroup_attr     ( cdid, data_nj=data_nj) 
     1197         IF(PRESENT (zoom_ibegin))   CALL xios_set_domaingroup_attr     ( cdid, zoom_ibegin=zoom_ibegin) 
     1198         IF(PRESENT (zoom_jbegin))   CALL xios_set_domaingroup_attr     ( cdid, zoom_jbegin=zoom_jbegin) 
     1199         IF(PRESENT (zoom_ni))       CALL xios_set_domaingroup_attr     ( cdid, zoom_ni=zoom_ni) 
     1200         IF(PRESENT (zoom_nj))       CALL xios_set_domaingroup_attr     ( cdid, zoom_nj=zoom_nj) 
     1201         IF(PRESENT (lonvalue))      CALL xios_set_domaingroup_attr     ( cdid, lonvalue_1D=lonvalue) 
     1202         IF(PRESENT (latvalue))      CALL xios_set_domaingroup_attr     ( cdid, latvalue_1D=latvalue) 
     1203         IF(PRESENT (mask))          CALL xios_set_domaingroup_attr     ( cdid, mask_1D=mask) 
     1204         IF(PRESENT (nvertex))       CALL xios_set_domaingroup_attr     ( cdid, nvertex=nvertex) 
     1205         IF(PRESENT (bounds_lon))    CALL xios_set_domaingroup_attr     ( cdid, bounds_lon_1D=bounds_lon ) 
     1206         IF(PRESENT (bounds_lat))    CALL xios_set_domaingroup_attr     ( cdid, bounds_lat_1D=bounds_lat) 
     1207         IF(PRESENT (area))          CALL xios_set_domaingroup_attr     ( cdid, area=area) 
    11741208      ENDIF 
    11751209      CALL xios_solve_inheritance() 
     
    11861220         IF ( xios_is_valid_axisgroup(cdid) )   CALL xios_set_axisgroup_attr( cdid, size=SIZE(paxis), value=paxis ) 
    11871221      ENDIF 
    1188       IF ( xios_is_valid_axis     (cdid) )   CALL xios_set_axis_attr     ( cdid, bounds=bounds ) 
    1189       IF ( xios_is_valid_axisgroup(cdid) )   CALL xios_set_axisgroup_attr( cdid, bounds=bounds ) 
     1222      IF ( PRESENT(bounds) ) THEN 
     1223         IF ( xios_is_valid_axis     (cdid) )   CALL xios_set_axis_attr     ( cdid, bounds=bounds ) 
     1224         IF ( xios_is_valid_axisgroup(cdid) )   CALL xios_set_axisgroup_attr( cdid, bounds=bounds ) 
     1225      ENDIF 
    11901226      CALL xios_solve_inheritance() 
    11911227   END SUBROUTINE iom_set_axis_attr 
     
    11961232      CHARACTER(LEN=*),OPTIONAL , INTENT(in) ::   freq_op 
    11971233      CHARACTER(LEN=*),OPTIONAL , INTENT(in) ::   freq_offset 
    1198       IF ( xios_is_valid_field     (cdid) )   CALL xios_set_field_attr     ( cdid, freq_op=freq_op, freq_offset=freq_offset ) 
    1199       IF ( xios_is_valid_fieldgroup(cdid) )   CALL xios_set_fieldgroup_attr( cdid, freq_op=freq_op, freq_offset=freq_offset ) 
     1234      IF ( xios_is_valid_field     (cdid) .AND. PRESENT(freq_op) )   & 
     1235         CALL xios_set_field_attr     ( cdid, freq_op=freq_op ) 
     1236         CALL xios_set_fieldgroup_attr( cdid, freq_op=freq_op ) 
     1237      IF ( xios_is_valid_fieldgroup(cdid) .AND. PRESENT(freq_offset) )  & 
     1238         CALL xios_set_field_attr     ( cdid, freq_offset=freq_offset ) 
     1239         CALL xios_set_fieldgroup_attr( cdid, freq_offset=freq_offset ) 
    12001240      CALL xios_solve_inheritance() 
    12011241   END SUBROUTINE iom_set_field_attr 
     
    12051245      CHARACTER(LEN=*)          , INTENT(in) ::   cdid 
    12061246      CHARACTER(LEN=*),OPTIONAL , INTENT(in) ::   name, name_suffix 
    1207       IF ( xios_is_valid_file     (cdid) )   CALL xios_set_file_attr     ( cdid, name=name, name_suffix=name_suffix ) 
    1208       IF ( xios_is_valid_filegroup(cdid) )   CALL xios_set_filegroup_attr( cdid, name=name, name_suffix=name_suffix ) 
     1247      IF( PRESENT( name ) ) THEN 
     1248         IF ( xios_is_valid_file     (cdid) )   CALL xios_set_file_attr     ( cdid, name=name ) 
     1249         IF ( xios_is_valid_filegroup(cdid) )   CALL xios_set_filegroup_attr( cdid, name=name ) 
     1250      ENDIF 
     1251      IF( PRESENT( name_suffix ) ) THEN 
     1252         IF ( xios_is_valid_file     (cdid) )   CALL xios_set_file_attr     ( cdid, name_suffix=name_suffix ) 
     1253         IF ( xios_is_valid_filegroup(cdid) )   CALL xios_set_filegroup_attr( cdid, name_suffix=name_suffix ) 
     1254      ENDIF 
    12091255      CALL xios_solve_inheritance() 
    12101256   END SUBROUTINE iom_set_file_attr 
     
    12391285      CHARACTER(LEN=*)                   , INTENT(in) ::   cdid 
    12401286      LOGICAL, DIMENSION(:,:,:), OPTIONAL, INTENT(in) ::   mask 
    1241       IF ( xios_is_valid_grid     (cdid) )   CALL xios_set_grid_attr     ( cdid, mask=mask ) 
    1242       IF ( xios_is_valid_gridgroup(cdid) )   CALL xios_set_gridgroup_attr( cdid, mask=mask ) 
    1243       CALL xios_solve_inheritance() 
     1287      IF( PRESENT(mask) ) THEN 
     1288         IF ( xios_is_valid_grid     (cdid) )   CALL xios_set_grid_attr     ( cdid, mask=mask ) 
     1289         IF ( xios_is_valid_gridgroup(cdid) )   CALL xios_set_gridgroup_attr( cdid, mask=mask ) 
     1290         CALL xios_solve_inheritance() 
     1291      ENDIF 
    12441292   END SUBROUTINE iom_set_grid_attr 
    12451293 
Note: See TracChangeset for help on using the changeset viewer.