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 13463 for NEMO/branches/2019/dev_r11351_fldread_with_XIOS/tests/WAD/MY_SRC/usrdef_zgr.F90 – NEMO

Ignore:
Timestamp:
2020-09-14T17:40:34+02:00 (4 years ago)
Author:
andmirek
Message:

Ticket #2195:update to trunk 13461

Location:
NEMO/branches/2019/dev_r11351_fldread_with_XIOS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11351_fldread_with_XIOS

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
         5^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8 
         9# SETTE 
         10^/utils/CI/sette@13382        sette 
  • NEMO/branches/2019/dev_r11351_fldread_with_XIOS/tests/WAD/MY_SRC/usrdef_zgr.F90

    r10425 r13463  
    1515   !!--------------------------------------------------------------------- 
    1616   USE oce            ! ocean variables 
    17    USE dom_oce ,  ONLY: ht_0, mi0, mi1, nimpp, njmpp,  & 
    18                       & mj0, mj1, glamt, gphit         ! ocean space and time domain 
     17   USE dom_oce ,  ONLY: ht_0, mi0, mi1, mj0, mj1, glamt, gphit         ! ocean space and time domain 
    1918   USE usrdef_nam     ! User defined : namelist variables 
    2019   USE wet_dry ,  ONLY: rn_wdmin1, rn_wdmin2, rn_wdld  ! Wetting and drying 
     
    3029 
    3130   !! * Substitutions 
    32 #  include "vectopt_loop_substitute.h90" 
     31#  include "do_loop_substitute.h90" 
    3332   !!---------------------------------------------------------------------- 
    3433   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    244243      ! at v-point: averaging zht 
    245244      zhv = 0._wp 
    246       DO jj = 1, jpjm1 
    247          zhv(:,jj) = 0.5_wp * ( zht(:,jj) + zht(:,jj+1) ) 
    248       END DO 
     245      DO_2D( 0, 0, 0, 0 ) 
     246         zhv(ji,jj) = 0.5_wp * ( zht(ji,jj) + zht(ji,jj+1) ) 
     247      END_2D 
    249248      CALL lbc_lnk( 'usrdef_zgr', zhv, 'V', 1. )     ! boundary condition: this mask the surrounding grid-points 
    250249      DO jj = mj0(1), mj1(1)   ! first  row of global domain only 
     
    281280         ht_0 = zht 
    282281         k_bot(:,:) = jpkm1 * k_top(:,:)  !* bottom ocean = jpk-1 (here use k_top as a land mask) 
    283          DO jj = 1, jpj 
    284             DO ji = 1, jpi 
    285               IF( zht(ji,jj) <= -(rn_wdld - rn_wdmin2)) THEN 
    286                 k_bot(ji,jj) = 0 
    287                 k_top(ji,jj) = 0 
    288               ENDIF 
    289            END DO 
    290          END DO 
     282         DO_2D( 1, 1, 1, 1 ) 
     283            IF( zht(ji,jj) <= -(rn_wdld - rn_wdmin2)) THEN 
     284               k_bot(ji,jj) = 0 
     285               k_top(ji,jj) = 0 
     286            ENDIF 
     287         END_2D 
    291288         ! 
    292289         !                                !* terrain-following coordinate with e3.(k)=cst) 
    293290         !                                !  OVERFLOW case : identical with j-index (T=V, U=F) 
    294          DO jj = 1, jpjm1 
    295             DO ji = 1, jpim1 
    296               z1_jpkm1 = 1._wp / REAL( k_bot(ji,jj) - k_top(ji,jj) + 1 , wp) 
    297               DO jk = 1, jpk 
    298                   zwet = MAX( zht(ji,jj), rn_wdmin1 ) 
    299                   pdept(ji,jj,jk) = zwet * z1_jpkm1 * ( REAL( jk   , wp ) - 0.5_wp ) 
    300                   pdepw(ji,jj,jk) = zwet * z1_jpkm1 * ( REAL( jk-1 , wp )          ) 
    301                   pe3t (ji,jj,jk) = zwet * z1_jpkm1 
    302                   pe3w (ji,jj,jk) = zwet * z1_jpkm1 
    303                   zwet = MAX( zhu(ji,jj), rn_wdmin1 ) 
    304                   pe3u (ji,jj,jk) = zwet * z1_jpkm1 
    305                   pe3uw(ji,jj,jk) = zwet * z1_jpkm1 
    306                   pe3f (ji,jj,jk) = zwet * z1_jpkm1 
    307                   zwet = MAX( zhv(ji,jj), rn_wdmin1 ) 
    308                   pe3v (ji,jj,jk) = zwet * z1_jpkm1 
    309                   pe3vw(ji,jj,jk) = zwet * z1_jpkm1 
    310               END DO       
    311            END DO       
    312          END DO       
     291         DO_2D( 0, 0, 0, 0 ) 
     292            z1_jpkm1 = 1._wp / REAL( k_bot(ji,jj) - k_top(ji,jj) + 1 , wp) 
     293            DO jk = 1, jpk 
     294               zwet = MAX( zht(ji,jj), rn_wdmin1 ) 
     295               pdept(ji,jj,jk) = zwet * z1_jpkm1 * ( REAL( jk   , wp ) - 0.5_wp ) 
     296               pdepw(ji,jj,jk) = zwet * z1_jpkm1 * ( REAL( jk-1 , wp )          ) 
     297               pe3t (ji,jj,jk) = zwet * z1_jpkm1 
     298               pe3w (ji,jj,jk) = zwet * z1_jpkm1 
     299               zwet = MAX( zhu(ji,jj), rn_wdmin1 ) 
     300               pe3u (ji,jj,jk) = zwet * z1_jpkm1 
     301               pe3uw(ji,jj,jk) = zwet * z1_jpkm1 
     302               pe3f (ji,jj,jk) = zwet * z1_jpkm1 
     303               zwet = MAX( zhv(ji,jj), rn_wdmin1 ) 
     304               pe3v (ji,jj,jk) = zwet * z1_jpkm1 
     305               pe3vw(ji,jj,jk) = zwet * z1_jpkm1 
     306            END DO 
     307         END_2D      
    313308         CALL lbc_lnk( 'usrdef_zgr', pdept, 'T', 1. ) 
    314309         CALL lbc_lnk( 'usrdef_zgr', pdepw, 'T', 1. ) 
Note: See TracChangeset for help on using the changeset viewer.