Changeset 10678
- Timestamp:
- 2019-02-14T14:10:42+01:00 (5 years ago)
- Location:
- NEMO/branches/2019/fix_ticket2229/src/OCE/ICB
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/fix_ticket2229/src/OCE/ICB/icb_oce.F90
r10425 r10678 89 89 REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE :: ua_e, va_e 90 90 REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE :: ssh_e 91 REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE :: tmask_e, umask_e, vmask_e 91 92 #if defined key_si3 || defined key_cice 92 93 REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE :: ui_e, vi_e … … 169 170 ! 170 171 ! expanded arrays for bilinear interpolation 171 ALLOCATE( uo_e(0:jpi+1,0:jpj+1) , ua_e(0:jpi+1,0:jpj+1) , &172 & vo_e(0:jpi+1,0:jpj+1) , va_e(0:jpi+1,0:jpj+1) , &172 ALLOCATE( uo_e(0:jpi+1,0:jpj+1) , ua_e(0:jpi+1,0:jpj+1) , & 173 & vo_e(0:jpi+1,0:jpj+1) , va_e(0:jpi+1,0:jpj+1) , & 173 174 #if defined key_si3 || defined key_cice 174 & ui_e(0:jpi+1,0:jpj+1) , &175 & vi_e(0:jpi+1,0:jpj+1) , &175 & ui_e(0:jpi+1,0:jpj+1) , & 176 & vi_e(0:jpi+1,0:jpj+1) , & 176 177 #endif 177 & ff_e(0:jpi+1,0:jpj+1) , fr_e(0:jpi+1,0:jpj+1) , &178 & tt_e(0:jpi+1,0:jpj+1) , ssh_e(0:jpi+1,0:jpj+1) , &179 & hicth(0:jpi+1,0:jpj+1), &180 & first_width(nclasses) , first_length(nclasses) , &181 & src_calving (jpi,jpj) , &178 & ff_e(0:jpi+1,0:jpj+1) , fr_e(0:jpi+1,0:jpj+1) , & 179 & tt_e(0:jpi+1,0:jpj+1) , ssh_e(0:jpi+1,0:jpj+1) , & 180 & hicth(0:jpi+1,0:jpj+1), & 181 & first_width(nclasses) , first_length(nclasses) , & 182 & src_calving (jpi,jpj) , & 182 183 & src_calving_hflx(jpi,jpj) , STAT=ill) 184 icb_alloc = icb_alloc + ill 185 186 ALLOCATE( tmask_e(0:jpi+1,0:jpj+1), umask_e(0:jpi+1,0:jpj+1), vmask_e(0:jpi+1,0:jpj+1), & 187 & STAT=ill) 183 188 icb_alloc = icb_alloc + ill 184 189 -
NEMO/branches/2019/fix_ticket2229/src/OCE/ICB/icbini.F90
r10570 r10678 224 224 src_calving_hflx(:,:) = 0._wp 225 225 226 ! definition of extended surface masked needed by icb_bilin_h 227 tmask_e(:,:) = 0._wp ; tmask_e(1:jpi,1:jpj) = tmask(:,:,1) 228 umask_e(:,:) = 0._wp ; umask_e(1:jpi,1:jpj) = umask(:,:,1) 229 vmask_e(:,:) = 0._wp ; vmask_e(1:jpi,1:jpj) = vmask(:,:,1) 230 CALL lbc_lnk_icb( 'icbini', tmask_e, 'T', +1._wp, 1, 1 ) 231 CALL lbc_lnk_icb( 'icbini', umask_e, 'T', +1._wp, 1, 1 ) 232 CALL lbc_lnk_icb( 'icbini', vmask_e, 'T', +1._wp, 1, 1 ) 233 ! 226 234 ! assign each new iceberg with a unique number constructed from the processor number 227 235 ! and incremented by the total number of processors -
NEMO/branches/2019/fix_ticket2229/src/OCE/ICB/icbutl.F90
r10652 r10678 246 246 SELECT CASE ( cd_type ) 247 247 CASE ( 'T' ) 248 zmask = (/tmask (ii,ij,1), tmask(ii+1,ij,1), tmask(ii,ij+1,1), tmask(ii+1,ij+1,1)/)248 zmask = (/tmask_e(ii,ij), tmask_e(ii+1,ij), tmask_e(ii,ij+1), tmask_e(ii+1,ij+1)/) 249 249 CASE ( 'U' ) 250 zmask = (/umask (ii,ij,1), umask(ii+1,ij,1), umask(ii,ij+1,1), umask(ii+1,ij+1,1)/)250 zmask = (/umask_e(ii,ij), umask_e(ii+1,ij), umask_e(ii,ij+1), umask_e(ii+1,ij+1)/) 251 251 CASE ( 'V' ) 252 zmask = (/vmask (ii,ij,1), vmask(ii+1,ij,1), vmask(ii,ij+1,1), vmask(ii+1,ij+1,1)/)252 zmask = (/vmask_e(ii,ij), vmask_e(ii+1,ij), vmask_e(ii,ij+1), vmask_e(ii+1,ij+1)/) 253 253 CASE ( 'F' ) 254 254 ! F case only used for coriolis, ff_f is not mask so zmask = 1
Note: See TracChangeset
for help on using the changeset viewer.