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 12377 for NEMO/trunk/src/OCE/DOM/dommsk.F90 – NEMO

Ignore:
Timestamp:
2020-02-12T15:39:06+01:00 (4 years ago)
Author:
acc
Message:

The big one. Merging all 2019 developments from the option 1 branch back onto the trunk.

This changeset reproduces 2019/dev_r11943_MERGE_2019 on the trunk using a 2-URL merge
onto a working copy of the trunk. I.e.:

svn merge --ignore-ancestry \

svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk \
svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/branches/2019/dev_r11943_MERGE_2019 ./

The --ignore-ancestry flag avoids problems that may otherwise arise from the fact that
the merge history been trunk and branch may have been applied in a different order but
care has been taken before this step to ensure that all applicable fixes and updates
are present in the merge branch.

The trunk state just before this step has been branched to releases/release-4.0-HEAD
and that branch has been immediately tagged as releases/release-4.0.2. Any fixes
or additions in response to tickets on 4.0, 4.0.1 or 4.0.2 should be done on
releases/release-4.0-HEAD. From now on future 'point' releases (e.g. 4.0.2) will
remain unchanged with periodic releases as needs demand. Note release-4.0-HEAD is a
transitional naming convention. Future full releases, say 4.2, will have a release-4.2
branch which fulfills this role and the first point release (e.g. 4.2.0) will be made
immediately following the release branch creation.

2020 developments can be started from any trunk revision later than this one.

Location:
NEMO/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk

    • 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_r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
  • NEMO/trunk/src/OCE/DOM/dommsk.F90

    r11536 r12377  
    4444 
    4545   !! * Substitutions 
    46 #  include "vectopt_loop_substitute.h90" 
     46#  include "do_loop_substitute.h90" 
    4747   !!---------------------------------------------------------------------- 
    4848   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    103103      !!--------------------------------------------------------------------- 
    104104      ! 
    105       REWIND( numnam_ref )              ! Namelist namlbc in reference namelist : Lateral momentum boundary condition 
    106105      READ  ( numnam_ref, namlbc, IOSTAT = ios, ERR = 901 ) 
    107106901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namlbc in reference namelist' ) 
    108       REWIND( numnam_cfg )              ! Namelist namlbc in configuration namelist : Lateral momentum boundary condition 
    109107      READ  ( numnam_cfg, namlbc, IOSTAT = ios, ERR = 902 ) 
    110108902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namlbc in configuration namelist' ) 
     
    133131      ! 
    134132      tmask(:,:,:) = 0._wp 
    135       DO jj = 1, jpj 
    136          DO ji = 1, jpi 
    137             iktop = k_top(ji,jj) 
    138             ikbot = k_bot(ji,jj) 
    139             IF( iktop /= 0 ) THEN       ! water in the column 
    140                tmask(ji,jj,iktop:ikbot  ) = 1._wp 
    141             ENDIF 
    142          END DO   
    143       END DO 
     133      DO_2D_11_11 
     134         iktop = k_top(ji,jj) 
     135         ikbot = k_bot(ji,jj) 
     136         IF( iktop /= 0 ) THEN       ! water in the column 
     137            tmask(ji,jj,iktop:ikbot  ) = 1._wp 
     138         ENDIF 
     139      END_2D 
    144140      ! 
    145141      ! the following call is mandatory 
     
    148144 
    149145     ! Mask corrections for bdy (read in mppini2) 
    150       REWIND( numnam_ref )              ! Namelist nambdy in reference namelist :Unstructured open boundaries 
    151146      READ  ( numnam_ref, nambdy, IOSTAT = ios, ERR = 903) 
    152147903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nambdy in reference namelist' ) 
    153       REWIND( numnam_cfg )              ! Namelist nambdy in configuration namelist :Unstructured open boundaries 
    154148      READ  ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 904 ) 
    155149904   IF( ios >  0 )   CALL ctl_nam ( ios , 'nambdy in configuration namelist' ) 
     
    159153         CALL iom_get ( inum, jpdom_data, 'bdy_msk', bdytmask(:,:) ) 
    160154         CALL iom_close( inum ) 
    161          DO jk = 1, jpkm1 
    162             DO jj = 1, jpj 
    163                DO ji = 1, jpi 
    164                   tmask(ji,jj,jk) = tmask(ji,jj,jk) * bdytmask(ji,jj) 
    165                END DO 
    166             END DO 
    167          END DO 
     155         DO_3D_11_11( 1, jpkm1 ) 
     156            tmask(ji,jj,jk) = tmask(ji,jj,jk) * bdytmask(ji,jj) 
     157         END_3D 
    168158      ENDIF 
    169159          
     
    173163      DO jk = 1, jpk 
    174164         DO jj = 1, jpjm1 
    175             DO ji = 1, fs_jpim1   ! vector loop 
     165            DO ji = 1, jpim1   ! vector loop 
    176166               umask(ji,jj,jk) = tmask(ji,jj  ,jk) * tmask(ji+1,jj  ,jk) 
    177167               vmask(ji,jj,jk) = tmask(ji,jj  ,jk) * tmask(ji  ,jj+1,jk) 
     
    247237         DO jk = 1, jpk 
    248238            zwf(:,:) = fmask(:,:,jk)          
    249             DO jj = 2, jpjm1 
    250                DO ji = fs_2, fs_jpim1   ! vector opt. 
    251                   IF( fmask(ji,jj,jk) == 0._wp ) THEN 
    252                      fmask(ji,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,jj), zwf(ji,jj+1),   & 
    253                         &                                           zwf(ji-1,jj), zwf(ji,jj-1)  )  ) 
    254                   ENDIF 
    255                END DO 
    256             END DO 
     239            DO_2D_00_00 
     240               IF( fmask(ji,jj,jk) == 0._wp ) THEN 
     241                  fmask(ji,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,jj), zwf(ji,jj+1),   & 
     242                     &                                           zwf(ji-1,jj), zwf(ji,jj-1)  )  ) 
     243               ENDIF 
     244            END_2D 
    257245            DO jj = 2, jpjm1 
    258246               IF( fmask(1,jj,jk) == 0._wp ) THEN 
Note: See TracChangeset for help on using the changeset viewer.