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 9930 for NEMO/trunk/src/OCE/IOM – NEMO

Ignore:
Timestamp:
2018-07-11T16:12:14+02:00 (6 years ago)
Author:
smasson
Message:

trunk: reactivate predefined zoom with xios2, see #2115

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/IOM/iom.F90

    r9903 r9930  
    17611761   !!---------------------------------------------------------------------- 
    17621762 
    1763    SUBROUTINE iom_set_domain_attr( cdid, ni_glo, nj_glo, ibegin, jbegin, ni, nj, zoom_ibegin, zoom_jbegin, zoom_ni, zoom_nj,   & 
     1763   SUBROUTINE iom_set_domain_attr( cdid, ni_glo, nj_glo, ibegin, jbegin, ni, nj,                                               & 
    17641764      &                                    data_dim, data_ibegin, data_ni, data_jbegin, data_nj, lonvalue, latvalue, mask,     & 
    17651765      &                                    nvertex, bounds_lon, bounds_lat, area ) 
     
    17691769      INTEGER                 , OPTIONAL, INTENT(in) ::   ni_glo, nj_glo, ibegin, jbegin, ni, nj 
    17701770      INTEGER                 , OPTIONAL, INTENT(in) ::   data_dim, data_ibegin, data_ni, data_jbegin, data_nj 
    1771       INTEGER                 , OPTIONAL, INTENT(in) ::   zoom_ibegin, zoom_jbegin, zoom_ni, zoom_nj, nvertex 
     1771      INTEGER                 , OPTIONAL, INTENT(in) ::   nvertex 
    17721772      REAL(wp), DIMENSION(:)  , OPTIONAL, INTENT(in) ::   lonvalue, latvalue 
    17731773      REAL(wp), DIMENSION(:,:), OPTIONAL, INTENT(in) ::   bounds_lon, bounds_lat, area 
     
    17961796      !!---------------------------------------------------------------------- 
    17971797      !!---------------------------------------------------------------------- 
    1798       CHARACTER(LEN=*)          , INTENT(in) ::   cdid 
    1799       INTEGER         , OPTIONAL, INTENT(in) ::   ibegin, jbegin, ni, nj 
    1800       !!---------------------------------------------------------------------- 
    1801       IF( xios_is_valid_zoom_domain(cdid) )   CALL xios_set_zoom_domain_attr( cdid, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj ) 
     1798      CHARACTER(LEN=*), INTENT(in) ::   cdid 
     1799      INTEGER         , INTENT(in) ::   ibegin, jbegin, ni, nj 
     1800      ! 
     1801      TYPE(xios_gridgroup) :: gridgroup_hdl 
     1802      TYPE(xios_grid)      :: grid_hdl 
     1803      TYPE(xios_domain)    :: domain_hdl  
     1804      TYPE(xios_axis)      :: axis_hdl  
     1805      CHARACTER(LEN=64)    :: cldomrefid   ! domain_ref name 
     1806      CHARACTER(len=1)     :: cl1          ! last character of this name 
     1807      !!---------------------------------------------------------------------- 
     1808      ! 
     1809      IF( xios_is_valid_zoom_domain(cdid) ) THEN 
     1810         ! define the zoom_domain attributs 
     1811         CALL xios_set_zoom_domain_attr( cdid, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj ) 
     1812         ! define a new 2D grid with this new domain 
     1813         CALL xios_get_handle("grid_definition", gridgroup_hdl ) 
     1814         CALL xios_add_child(gridgroup_hdl, grid_hdl, TRIM(cdid)//'_2D' )   ! add a new 2D grid to grid_definition 
     1815         CALL xios_add_child(grid_hdl, domain_hdl, TRIM(cdid) )             ! add its domain 
     1816         ! define a new 3D grid with this new domain 
     1817         CALL xios_add_child(gridgroup_hdl, grid_hdl, TRIM(cdid)//'_3D' )   ! add a new 3D grid to grid_definition 
     1818         CALL xios_add_child(grid_hdl, domain_hdl, TRIM(cdid) )             ! add its domain 
     1819         ! vertical axis 
     1820         cl1 = cdid(LEN_TRIM(cdid):)                                        ! last letter of cdid 
     1821         cl1 = CHAR(ICHAR(cl1)+32)                                          ! from upper to lower case 
     1822         CALL xios_add_child(grid_hdl, axis_hdl, 'depth'//cl1)              ! add its axis 
     1823      ENDIF 
     1824      !       
    18021825   END SUBROUTINE iom_set_zoom_domain_attr 
    18031826 
     
    20792102      CALL iom_set_domain_attr("gznl", lonvalue = zlon,   & 
    20802103         &                             latvalue = RESHAPE(plat(nldi:nlei, nldj:nlej),(/ ni*nj /)))   
    2081       CALL iom_set_zoom_domain_attr ("ptr", ibegin=ix-1, jbegin=0, ni=1, nj=jpjglo) 
     2104      CALL iom_set_zoom_domain_attr("znl_T", ibegin=ix-1, jbegin=0, ni=1, nj=jpjglo) 
     2105      CALL iom_set_zoom_domain_attr("znl_W", ibegin=ix-1, jbegin=0, ni=1, nj=jpjglo) 
    20822106      ! 
    20832107      CALL iom_update_file_name('ptr') 
     
    21572181         ! Equatorial section (attributs: jbegin, ni, name_suffix) 
    21582182         CALL dom_ngb( 0., 0., ix, iy, cl1 ) 
    2159          CALL iom_set_zoom_domain_attr ('Eq'//cl1, jbegin=iy-1, ni=jpiglo) 
     2183         CALL iom_set_zoom_domain_attr('Eq'//cl1, ibegin=0, jbegin=iy-1, ni=jpiglo, nj=1 ) 
    21602184         CALL iom_get_file_attr   ('Eq'//cl1, name_suffix = clsuff             ) 
    21612185         CALL iom_set_file_attr   ('Eq'//cl1, name_suffix = TRIM(clsuff)//'_Eq') 
     
    22362260               ENDIF 
    22372261               clname = TRIM(ADJUSTL(clat))//TRIM(ADJUSTL(clon)) 
    2238                CALL iom_set_zoom_domain_attr  (TRIM(clname)//cl1, ibegin= ix-1, jbegin= iy-1) 
     2262               CALL iom_set_zoom_domain_attr(TRIM(clname)//cl1, ibegin= ix-1, jbegin= iy-1, ni=1, nj=1) 
    22392263 
    22402264               CALL iom_get_file_attr   (TRIM(clname)//cl1, name_suffix = clsuff                         ) 
Note: See TracChangeset for help on using the changeset viewer.