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 5462 for branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OFF_SRC/dommsk.F90 – NEMO

Ignore:
Timestamp:
2015-06-22T16:40:58+02:00 (9 years ago)
Author:
davestorkey
Message:

Update UKMO/restart_datestamp branch to revision 5442 of trunk. Also clear the SVN keywords again - necessary after the update step.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/restart_datestamp/NEMOGCM/NEMO/OFF_SRC/dommsk.F90

    r5420 r5462  
    1515   USE in_out_manager  ! I/O manager 
    1616   USE wrk_nemo   
     17   USE lbclnk   
    1718 
    1819   IMPLICIT NONE 
     
    4849      !!---------------------------------------------------------------------- 
    4950      ! 
    50       INTEGER  ::   ji, jk                   ! dummy loop indices 
     51      INTEGER  ::   ji, jj, jk                   ! dummy loop indices 
    5152      INTEGER  ::   iif, iil, ijf, ijl       ! local integers 
    5253      INTEGER, POINTER, DIMENSION(:,:) ::  imsk  
     
    8384      ENDIF  
    8485      ! 
     86      ! (ISF) MIN(1,SUM(umask)) is here to check if you have effectively at 
     87      ! least 1 wet u point 
     88      DO jj = 1, jpjm1 
     89         DO ji = 1, fs_jpim1   ! vector loop 
     90            umask_i(ji,jj)  = ssmask(ji,jj) * ssmask(ji+1,jj  )  * MIN(1._wp,SUM(umask(ji,jj,:))) 
     91            vmask_i(ji,jj)  = ssmask(ji,jj) * ssmask(ji  ,jj+1)  * MIN(1._wp,SUM(vmask(ji,jj,:))) 
     92         END DO 
     93         DO ji = 1, jpim1      ! NO vector opt. 
     94            fmask_i(ji,jj) =  ssmask(ji,jj  ) * ssmask(ji+1,jj  )   & 
     95               &            * ssmask(ji,jj+1) * ssmask(ji+1,jj+1) * MIN(1._wp,SUM(fmask(ji,jj,:))) 
     96         END DO 
     97      END DO 
     98      CALL lbc_lnk( umask_i, 'U', 1._wp )      ! Lateral boundary conditions 
     99      CALL lbc_lnk( vmask_i, 'V', 1._wp ) 
     100      CALL lbc_lnk( fmask_i, 'F', 1._wp ) 
     101 
     102      ! 3. Ocean/land mask at wu-, wv- and w points  
     103      !---------------------------------------------- 
     104      wmask (:,:,1) = tmask(:,:,1) ! ???????? 
     105      wumask(:,:,1) = umask(:,:,1) ! ???????? 
     106      wvmask(:,:,1) = vmask(:,:,1) ! ???????? 
     107      DO jk=2,jpk 
     108         wmask (:,:,jk)=tmask(:,:,jk) * tmask(:,:,jk-1) 
     109         wumask(:,:,jk)=umask(:,:,jk) * umask(:,:,jk-1)    
     110         wvmask(:,:,jk)=vmask(:,:,jk) * vmask(:,:,jk-1) 
     111      END DO 
     112      ! 
    85113      IF( nprint == 1 .AND. lwp ) THEN    ! Control print 
    86114         imsk(:,:) = INT( tmask_i(:,:) ) 
Note: See TracChangeset for help on using the changeset viewer.