Changeset 9600


Ignore:
Timestamp:
2018-05-16T09:39:44+02:00 (2 years ago)
Author:
jamesharle
Message:

Correction for missing code handling bdytmask (see ticket #2084)

Location:
NEMO/trunk/src/OCE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/BDY/bdyini.F90

    r9598 r9600  
    11231123      bdytmask(:,:) = ssmask(:,:) 
    11241124 
    1125       IF( ln_mask_file ) THEN 
    1126          CALL iom_open( cn_mask_file, inum ) 
    1127          CALL iom_get ( inum, jpdom_data, 'bdy_msk', bdytmask(:,:) ) 
    1128          CALL iom_close( inum ) 
    1129  
    1130          ! Derive mask on U and V grid from mask on T grid 
    1131          bdyumask(:,:) = 0._wp 
    1132          bdyvmask(:,:) = 0._wp 
    1133          DO ij=1, jpjm1 
    1134             DO ii=1, jpim1 
    1135                bdyumask(ii,ij) = bdytmask(ii,ij) * bdytmask(ii+1, ij ) 
    1136                bdyvmask(ii,ij) = bdytmask(ii,ij) * bdytmask(ii  ,ij+1)   
    1137             END DO 
     1125      ! Derive mask on U and V grid from mask on T grid 
     1126 
     1127      bdyumask(:,:) = 0._wp 
     1128      bdyvmask(:,:) = 0._wp 
     1129      DO ij = 1, jpjm1 
     1130         DO ii = 1, jpim1 
     1131            bdyumask(ii,ij) = bdytmask(ii,ij) * bdytmask(ii+1, ij ) 
     1132            bdyvmask(ii,ij) = bdytmask(ii,ij) * bdytmask(ii  ,ij+1)   
    11381133         END DO 
    1139          CALL lbc_lnk_multi( bdyumask, 'U', 1., bdyvmask, 'V', 1. )      ! Lateral boundary cond. 
    1140       ENDIF ! ln_mask_file=.TRUE. 
    1141        
    1142       IF( .NOT.ln_mask_file ) THEN 
    1143          ! If .not. ln_mask_file then we need to derive mask on U and V grid from mask on T grid here. 
    1144          bdyumask(:,:) = 0._wp 
    1145          bdyvmask(:,:) = 0._wp 
    1146          DO ij = 1, jpjm1 
    1147             DO ii = 1, jpim1 
    1148                bdyumask(ii,ij) = bdytmask(ii,ij) * bdytmask(ii+1, ij ) 
    1149                bdyvmask(ii,ij) = bdytmask(ii,ij) * bdytmask(ii  ,ij+1)   
    1150             END DO 
    1151          END DO 
    1152          CALL lbc_lnk_multi( bdyumask, 'U', 1. , bdyvmask, 'V', 1. )   ! Lateral boundary cond.  
    1153       ENDIF 
     1134      END DO 
     1135      CALL lbc_lnk_multi( bdyumask, 'U', 1. , bdyvmask, 'V', 1. )   ! Lateral boundary cond.  
    11541136 
    11551137      ! bdy masks are now set to zero on boundary points: 
  • NEMO/trunk/src/OCE/DOM/dommsk.F90

    r9598 r9600  
    2929   ! 
    3030   USE in_out_manager ! I/O manager 
     31   USE iom            ! IOM library 
    3132   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    3233   USE lib_mpp        ! Massively Parallel Processing library 
     
    155156      ! ------------------------ 
    156157      IF ( ln_bdy .AND. ln_mask_file ) THEN 
     158         CALL iom_open( cn_mask_file, inum ) 
     159         CALL iom_get ( inum, jpdom_data, 'bdy_msk', bdytmask(:,:) ) 
     160         CALL iom_close( inum ) 
    157161         DO jk = 1, jpkm1 
    158162            DO jj = 1, jpj 
Note: See TracChangeset for help on using the changeset viewer.