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 14644 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/DOM/domzgr.F90 – NEMO

Ignore:
Timestamp:
2021-03-26T15:33:49+01:00 (3 years ago)
Author:
sparonuz
Message:

Merge trunk -r14642:HEAD

Location:
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final

    • Property svn:externals
      •  

        old new  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette_wave@13990         sette 
         11^/utils/CI/sette@14244        sette 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/DOM/domzgr.F90

    r14219 r14644  
    116116      ! 
    117117      zmsk(:,:) = 1._wp                                       ! default: no closed boundaries 
    118       IF( jperio == 0 .OR. jperio == 2 .OR. jperio == 3 .OR. jperio == 5 ) THEN   ! E-W closed 
     118      IF( .NOT. l_Iperio ) THEN                                    ! E-W closed: 
    119119         zmsk(  mi0(     1+nn_hls):mi1(     1+nn_hls),:) = 0._wp   ! first column of inner global domain at 0 
    120120         zmsk(  mi0(jpiglo-nn_hls):mi1(jpiglo-nn_hls),:) = 0._wp   ! last  column of inner global domain at 0  
    121121      ENDIF 
    122       IF( .NOT. ( jperio == 2 .OR. jperio == 7 ) ) THEN                           ! S closed 
     122      IF( .NOT. l_Jperio ) THEN                                    ! S closed: 
    123123         zmsk(:,mj0(     1+nn_hls):mj1(     1+nn_hls)  ) = 0._wp   ! first   line of inner global domain at 0 
    124124      ENDIF 
    125       IF( jperio == 0 .OR. jperio == 1 ) THEN                                     ! N closed 
     125      IF( .NOT. ( l_Jperio .OR. l_NFold ) ) THEN                   ! N closed: 
    126126         zmsk(:,mj0(jpjglo-nn_hls):mj1(jpjglo-nn_hls)  ) = 0._wp   ! last    line of inner global domain at 0 
    127127      ENDIF 
     
    227227      ! 
    228228      INTEGER  ::   jk     ! dummy loop index 
    229       INTEGER  ::   inum   ! local logical unit 
     229      INTEGER  ::   inum, iatt 
    230230      REAL(WP) ::   z_zco, z_zps, z_sco, z_cav 
    231231      REAL(wp), DIMENSION(jpi,jpj) ::   z2d   ! 2D workspace 
     232      CHARACTER(len=7) ::   catt   ! 'zco', 'zps, 'sco' or 'UNKNOWN' 
    232233      !!---------------------------------------------------------------------- 
    233234      ! 
     
    241242      ! 
    242243      !                          !* type of vertical coordinate 
    243       CALL iom_get( inum, 'ln_zco'   , z_zco ) 
    244       CALL iom_get( inum, 'ln_zps'   , z_zps ) 
    245       CALL iom_get( inum, 'ln_sco'   , z_sco ) 
    246       IF( z_zco == 0._wp ) THEN   ;   ld_zco = .false.   ;   ELSE   ;   ld_zco = .true.   ;   ENDIF 
    247       IF( z_zps == 0._wp ) THEN   ;   ld_zps = .false.   ;   ELSE   ;   ld_zps = .true.   ;   ENDIF 
    248       IF( z_sco == 0._wp ) THEN   ;   ld_sco = .false.   ;   ELSE   ;   ld_sco = .true.   ;   ENDIF 
    249       ! 
     244      CALL iom_getatt( inum, 'VertCoord', catt )   ! returns 'UNKNOWN' if not found 
     245      ld_zco = catt == 'zco'          ! default = .false. 
     246      ld_zps = catt == 'zps'          ! default = .false. 
     247      ld_sco = catt == 'sco'          ! default = .false. 
    250248      !                          !* ocean cavities under iceshelves 
    251       CALL iom_get( inum, 'ln_isfcav', z_cav ) 
    252       IF( z_cav == 0._wp ) THEN   ;   ld_isfcav = .false.   ;   ELSE   ;   ld_isfcav = .true.   ;   ENDIF 
     249      CALL iom_getatt( inum,    'IsfCav', iatt )   ! returns -999 if not found 
     250      ld_isfcav = iatt == 1           ! default = .false. 
     251      ! 
     252      ! ------- keep compatibility with OLD VERSION... start ------- 
     253      IF( catt == 'UNKNOWN' ) THEN 
     254         CALL iom_get( inum,    'ln_zco', z_zco )   ;   ld_zco = z_zco /= 0._wp 
     255         CALL iom_get( inum,    'ln_zps', z_zps )   ;   ld_zps = z_zps /= 0._wp 
     256         CALL iom_get( inum,    'ln_sco', z_sco )   ;   ld_sco = z_sco /= 0._wp 
     257      ENDIF 
     258      IF( iatt == -999 ) THEN 
     259         CALL iom_get( inum, 'ln_isfcav', z_cav )   ;   ld_isfcav = z_cav /= 0._wp 
     260      ENDIF 
     261      ! ------- keep compatibility with OLD VERSION... end ------- 
    253262      ! 
    254263      !                          !* vertical scale factors 
Note: See TracChangeset for help on using the changeset viewer.