- Timestamp:
- 2021-11-28T18:59:49+01:00 (3 years ago)
- Location:
- NEMO/branches/2021/ticket2632_r14588_theta_sbcblk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/ticket2632_r14588_theta_sbcblk
- Property svn:externals
-
old new 9 9 10 10 # SETTE 11 ^/utils/CI/sette@14244 sette 11 ^/utils/CI/sette@HEAD sette 12
-
- Property svn:externals
-
NEMO/branches/2021/ticket2632_r14588_theta_sbcblk/src/OCE/DOM/dommsk.F90
r14433 r15548 73 73 !! 2 < rn_shlat, strong slip | in the lateral boundary layer 74 74 !! 75 !! tmask_i : interior ocean mask at t-point, i.e. excluding duplicated76 !! rows/lines due to cyclic or North Fold boundaries as well77 !! as MPP halos.78 !! tmask_h : halo mask at t-point, i.e. excluding duplicated rows/lines79 !! due to cyclic or North Fold boundaries as well as MPP halos.80 !!81 75 !! ** Action : tmask, umask, vmask, wmask, wumask, wvmask : land/ocean mask 82 76 !! at t-, u-, v- w, wu-, and wv-points (=0. or 1.) 83 77 !! fmask : land/ocean mask at f-point (=0., or =1., or 84 78 !! =rn_shlat along lateral boundaries) 85 !! tmask_i : interior ocean mask 86 !! tmask_h : halo mask 87 !! ssmask , ssumask, ssvmask, ssfmask : 2D ocean mask 79 !! ssmask , ssumask, ssvmask, ssfmask : 2D ocean mask, i.e. at least 1 wet cell in the vertical 80 !! tmask_h : halo mask at t-point, i.e. excluding all duplicated rows/lines 81 !! due to cyclic or North Fold boundaries as well as MPP halos. 82 !! tmask_i : ssmask * tmask_h 88 83 !!---------------------------------------------------------------------- 89 84 INTEGER, DIMENSION(:,:), INTENT(in) :: k_top, k_bot ! first and last ocean level … … 182 177 ssfmask(:,:) = MAXVAL( fmask(:,:,:), DIM=3 ) 183 178 IF( lk_SWE ) THEN ! Shallow Water Eq. case : redefine ssfmask 184 DO_2D( 0, 0, 0,0)179 DO_2D( 0, 0, 0, 0 ) 185 180 ssfmask(ji,jj) = MAX( ssmask(ji,jj+1), ssmask(ji+1,jj+1), & 186 181 & ssmask(ji,jj ), ssmask(ji+1,jj ) ) … … 202 197 ! Lateral boundary conditions on velocity (modify fmask) 203 198 ! --------------------------------------- 204 IF( rn_shlat /= 0 ) THEN ! Not free-slip lateral boundary condition199 IF( rn_shlat /= 0._wp ) THEN ! Not free-slip lateral boundary condition 205 200 ! 206 DO jk = 1, jpk 207 DO_2D( 0, 0, 0, 0 ) 208 IF( fmask(ji,jj,jk) == 0._wp ) THEN 209 fmask(ji,jj,jk) = rn_shlat * MIN( 1._wp , MAX( umask(ji,jj,jk), umask(ji,jj+1,jk), & 210 & vmask(ji,jj,jk), vmask(ji+1,jj,jk) ) ) 211 ENDIF 212 END_2D 213 DO jj = 2, jpjm1 214 IF( fmask(1,jj,jk) == 0._wp ) THEN 215 fmask(1 ,jj,jk) = rn_shlat * MIN( 1._wp , MAX( vmask(2,jj,jk), umask(1,jj+1,jk), umask(1,jj,jk) ) ) 216 ENDIF 217 IF( fmask(jpi,jj,jk) == 0._wp ) THEN 218 fmask(jpi,jj,jk) = rn_shlat * MIN( 1._wp , MAX( umask(jpi,jj+1,jk), vmask(jpim1,jj,jk), umask(jpi,jj-1,jk) ) ) 219 ENDIF 220 END DO 221 DO ji = 2, jpim1 222 IF( fmask(ji,1,jk) == 0._wp ) THEN 223 fmask(ji, 1 ,jk) = rn_shlat * MIN( 1._wp , MAX( vmask(ji+1,1,jk), umask(ji,2,jk), vmask(ji,1,jk) ) ) 224 ENDIF 225 IF( fmask(ji,jpj,jk) == 0._wp ) THEN 226 fmask(ji,jpj,jk) = rn_shlat * MIN( 1._wp , MAX( vmask(ji+1,jpj,jk), vmask(ji-1,jpj,jk), umask(ji,jpjm1,jk) ) ) 227 ENDIF 228 END DO 229 END DO 230 ! 201 DO_3D( 0, 0, 0, 0, 1, jpk ) 202 IF( fmask(ji,jj,jk) == 0._wp ) THEN 203 fmask(ji,jj,jk) = rn_shlat * MIN( 1._wp , MAX( umask(ji,jj,jk), umask(ji,jj+1,jk), & 204 & vmask(ji,jj,jk), vmask(ji+1,jj,jk) ) ) 205 ENDIF 206 END_3D 231 207 CALL lbc_lnk( 'dommsk', fmask, 'F', 1._wp ) ! Lateral boundary conditions on fmask 232 208 !
Note: See TracChangeset
for help on using the changeset viewer.