- Timestamp:
- 2015-12-16T16:44:35+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
r6060 r6069 174 174 ! -------------------- 175 175 tmask_i(:,:) = ssmask(:,:) ! (ISH) tmask_i = 1 even on the ice shelf 176 177 tmask_h(:,:) = 1._wp ! 0 on the halo and 1 elsewhere 176 178 iif = jpreci ! ??? 177 179 iil = nlci - jpreci + 1 … … 179 181 ijl = nlcj - jprecj + 1 180 182 181 tmask_ i( 1 :iif, : ) = 0._wp ! first columns182 tmask_ i(iil:jpi, : ) = 0._wp ! last columns (including mpp extra columns)183 tmask_ i( : , 1 :ijf) = 0._wp ! first rows184 tmask_ i( : ,ijl:jpj) = 0._wp ! last rows (including mpp extra rows)183 tmask_h( 1 :iif, : ) = 0._wp ! first columns 184 tmask_h(iil:jpi, : ) = 0._wp ! last columns (including mpp extra columns) 185 tmask_h( : , 1 :ijf) = 0._wp ! first rows 186 tmask_h( : ,ijl:jpj) = 0._wp ! last rows (including mpp extra rows) 185 187 186 188 ! north fold mask … … 193 195 IF( mjg(nlej) == jpjglo ) THEN ! only half of the nlcj-1 row 194 196 DO ji = iif+1, iil-1 195 tmask_ i(ji,nlej-1) = tmask_i(ji,nlej-1) * tpol(mig(ji))197 tmask_h(ji,nlej-1) = tmask_h(ji,nlej-1) * tpol(mig(ji)) 196 198 END DO 197 199 ENDIF 198 200 ENDIF 201 202 tmask_i(:,:) = tmask_i(:,:) * tmask_h(:,:) 203 199 204 IF( jperio == 5 .OR. jperio == 6 ) THEN ! F-point pivot 200 205 tpol( 1 :jpiglo) = 0._wp … … 216 221 END DO 217 222 END DO 218 ! (ISF) MIN(1,SUM(umask)) is here to check if you have effectively at least 1 wet u point223 ! (ISF) MIN(1,SUM(umask)) is here to check if you have effectively at least 1 wet cell at u point 219 224 DO jj = 1, jpjm1 220 225 DO ji = 1, fs_jpim1 ! vector loop 221 umask_i(ji,jj) = ssmask(ji,jj) * ssmask(ji+1,jj ) * MIN(1._wp,SUM(umask(ji,jj,:)))222 vmask_i(ji,jj) = ssmask(ji,jj) * ssmask(ji ,jj+1) * MIN(1._wp,SUM(vmask(ji,jj,:)))226 ssumask(ji,jj) = ssmask(ji,jj) * ssmask(ji+1,jj ) * MIN(1._wp,SUM(umask(ji,jj,:))) 227 ssvmask(ji,jj) = ssmask(ji,jj) * ssmask(ji ,jj+1) * MIN(1._wp,SUM(vmask(ji,jj,:))) 223 228 END DO 224 229 DO ji = 1, jpim1 ! NO vector opt. 225 fmask_i(ji,jj) = ssmask(ji,jj ) * ssmask(ji+1,jj ) &230 ssfmask(ji,jj) = ssmask(ji,jj ) * ssmask(ji+1,jj ) & 226 231 & * ssmask(ji,jj+1) * ssmask(ji+1,jj+1) * MIN(1._wp,SUM(fmask(ji,jj,:))) 227 232 END DO 228 233 END DO 229 CALL lbc_lnk( umask , 'U', 1._wp ) ! Lateral boundary conditions230 CALL lbc_lnk( vmask , 'V', 1._wp )231 CALL lbc_lnk( fmask , 'F', 1._wp )232 CALL lbc_lnk( umask_i, 'U', 1._wp ) ! Lateral boundary conditions233 CALL lbc_lnk( vmask_i, 'V', 1._wp )234 CALL lbc_lnk( fmask_i, 'F', 1._wp )234 CALL lbc_lnk( umask , 'U', 1._wp ) ! Lateral boundary conditions 235 CALL lbc_lnk( vmask , 'V', 1._wp ) 236 CALL lbc_lnk( fmask , 'F', 1._wp ) 237 CALL lbc_lnk( ssumask, 'U', 1._wp ) ! Lateral boundary conditions 238 CALL lbc_lnk( ssvmask, 'V', 1._wp ) 239 CALL lbc_lnk( ssfmask, 'F', 1._wp ) 235 240 236 241 ! 3. Ocean/land mask at wu-, wv- and w points
Note: See TracChangeset
for help on using the changeset viewer.