Changeset 9554
- Timestamp:
- 2018-05-04T20:22:01+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r9528 r9554 145 145 INTEGER, INTENT(in) :: kt ! ocean time-step index 146 146 ! 147 INTEGER :: ji, jj, jk, jn 147 INTEGER :: ji, jj, jk, jn ! dummy loop indices 148 148 LOGICAL :: ll_fw_start ! =T : forward integration 149 LOGICAL :: ll_init 149 LOGICAL :: ll_init ! =T : special startup of 2d equations 150 150 LOGICAL :: ll_tmp1, ll_tmp2 ! local logical variables used in W/D 151 151 INTEGER :: ikbu, iktu, noffset ! local integers 152 152 INTEGER :: ikbv, iktv ! - - 153 REAL(wp) :: r1_2dt_b, z2dt_bf 153 REAL(wp) :: r1_2dt_b, z2dt_bf ! local scalars 154 154 REAL(wp) :: zx1, zx2, zu_spg, zhura, z1_hu ! - - 155 155 REAL(wp) :: zy1, zy2, zv_spg, zhvra, z1_hv ! - - … … 254 254 DO jj = 1, jpjm1 255 255 DO ji = 1, jpim1 256 !!gm bug for ocean cavities257 ! zwz(ji,jj) = ( ht_n(ji ,jj+1) + ht_n(ji+1,jj+1) + &258 ! & ht_n(ji ,jj ) + ht_n(ji+1,jj ) ) &259 ! & / ( MAX( 1._wp, tmask(ji ,jj+1, 1) + tmask(ji+1,jj+1, 1) + &260 ! & tmask(ji ,jj , 1) + tmask(ji+1,jj , 1) ) )261 !! replace by :262 256 zwz(ji,jj) = ( ht_n (ji ,jj+1) + ht_n (ji+1,jj+1) & 263 257 & + ht_n (ji ,jj ) + ht_n (ji+1,jj ) ) & 264 258 & / ( MAX( 1._wp, ssmask(ji ,jj+1) + ssmask(ji+1,jj+1) & 265 259 & + ssmask(ji ,jj ) + ssmask(ji+1,jj ) ) ) 266 !!gm end267 260 IF( zwz(ji,jj) /= 0._wp ) zwz(ji,jj) = ff_f(ji,jj) / zwz(ji,jj) 268 261 END DO … … 320 313 DO jj = 1, jpjm1 321 314 DO ji = 1, jpim1 322 !!gm Bug here in case of ocean cavities, further more ht_0 is masked by definition ==>> remove mask multiplication323 ! zhf(ji,jj) = MAX( 0._wp, &324 ! & ( ht_0(ji ,jj )*tmask(ji ,jj ,1) + &325 ! & ht_0(ji+1,jj )*tmask(ji+1,jj ,1) + &326 ! & ht_0(ji ,jj+1)*tmask(ji ,jj+1,1) + &327 ! & ht_0(ji+1,jj+1)*tmask(ji+1,jj+1,1) ) / &328 ! & ( tmask(ji ,jj ,1) + tmask(ji+1,jj ,1) +&329 ! & tmask(ji ,jj+1,1) + tmask(ji+1,jj+1,1) +&330 ! & rsmall ) )331 !!gm replaced by :332 315 zhf(ji,jj) = ( ht_0 (ji,jj ) + ht_0 (ji+1,jj ) & 333 316 & + ht_0 (ji,jj+1) + ht_0 (ji+1,jj+1) ) & 334 317 & / MAX( ssmask(ji,jj ) + ssmask(ji+1,jj ) & 335 318 & + ssmask(ji,jj+1) + ssmask(ji+1,jj+1) , 1._wp ) 336 !!gm end337 319 END DO 338 320 END DO … … 1249 1231 DO jj = 1, jpjm1 1250 1232 DO ji = 1, jpim1 ! NO Vector Opt. 1251 zsshu_a(ji,jj) = r1_2 * umask(ji,jj,1) * r1_e1e2u(ji,jj) &1252 & * ( e1e2t(ji ,jj) * ssha(ji ,jj) &1233 zsshu_a(ji,jj) = r1_2 * ssumask(ji,jj) * r1_e1e2u(ji,jj) & 1234 & * ( e1e2t(ji ,jj) * ssha(ji ,jj) & 1253 1235 & + e1e2t(ji+1,jj) * ssha(ji+1,jj) ) 1254 zsshv_a(ji,jj) = r1_2 * vmask(ji,jj,1) * r1_e1e2v(ji,jj) &1255 & * ( e1e2t(ji,jj ) * ssha(ji,jj ) &1236 zsshv_a(ji,jj) = r1_2 * ssvmask(ji,jj) * r1_e1e2v(ji,jj) & 1237 & * ( e1e2t(ji,jj ) * ssha(ji,jj ) & 1256 1238 & + e1e2t(ji,jj+1) * ssha(ji,jj+1) ) 1257 1239 END DO … … 1310 1292 ! 1311 1293 IF( ln_diatmb ) THEN 1312 CALL iom_put( "baro_u" , un_b* umask(:,:,1)+zmdi*(1-umask(:,:,1) ) ) ! Barotropic U Velocity1313 CALL iom_put( "baro_v" , vn_b* vmask(:,:,1)+zmdi*(1-vmask(:,:,1) ) ) ! Barotropic V Velocity1294 CALL iom_put( "baro_u" , un_b*ssumask(:,:)+zmdi*(1.-ssumask(:,:) ) ) ! Barotropic U Velocity 1295 CALL iom_put( "baro_v" , vn_b*ssvmask(:,:)+zmdi*(1.-ssvmask(:,:) ) ) ! Barotropic V Velocity 1314 1296 ENDIF 1315 1297 !
Note: See TracChangeset
for help on using the changeset viewer.