Changeset 11053 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps_rewrite_time_filterswap/src/OCE/DYN/dynspg_ts.F90
- Timestamp:
- 2019-05-24T12:53:06+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps_rewrite_time_filterswap/src/OCE/DYN/dynspg_ts.F90
r10919 r11053 250 250 DO jj = 1, jpjm1 251 251 DO ji = 1, jpim1 252 zwz(ji,jj) = ( ht _n(ji ,jj+1) + ht_n(ji+1,jj+1) + &253 & ht _n(ji ,jj ) + ht_n(ji+1,jj ) ) * 0.25_wp252 zwz(ji,jj) = ( ht(ji ,jj+1) + ht(ji+1,jj+1) + & 253 & ht(ji ,jj ) + ht(ji+1,jj ) ) * 0.25_wp 254 254 IF( zwz(ji,jj) /= 0._wp ) zwz(ji,jj) = ff_f(ji,jj) / zwz(ji,jj) 255 255 END DO … … 258 258 DO jj = 1, jpjm1 259 259 DO ji = 1, jpim1 260 zwz(ji,jj) = ( ht _n (ji ,jj+1) + ht_n(ji+1,jj+1) &261 & + ht _n (ji ,jj ) + ht_n(ji+1,jj ) ) &260 zwz(ji,jj) = ( ht (ji ,jj+1) + ht (ji+1,jj+1) & 261 & + ht (ji ,jj ) + ht (ji+1,jj ) ) & 262 262 & / ( MAX( 1._wp, ssmask(ji ,jj+1) + ssmask(ji+1,jj+1) & 263 263 & + ssmask(ji ,jj ) + ssmask(ji+1,jj ) ) ) … … 282 282 DO jj = 2, jpj 283 283 DO ji = 2, jpi 284 z1_ht = ssmask(ji,jj) / ( ht _n(ji,jj) + 1._wp - ssmask(ji,jj) )284 z1_ht = ssmask(ji,jj) / ( ht(ji,jj) + 1._wp - ssmask(ji,jj) ) 285 285 ftne(ji,jj) = ( ff_f(ji-1,jj ) + ff_f(ji ,jj ) + ff_f(ji ,jj-1) ) * z1_ht 286 286 ftnw(ji,jj) = ( ff_f(ji-1,jj-1) + ff_f(ji-1,jj ) + ff_f(ji ,jj ) ) * z1_ht … … 367 367 END DO 368 368 ! 369 zu_frc(:,:) = zu_frc(:,:) * r1_hu _n(:,:)370 zv_frc(:,:) = zv_frc(:,:) * r1_hv _n(:,:)369 zu_frc(:,:) = zu_frc(:,:) * r1_hu(:,:,Kmm) 370 zv_frc(:,:) = zv_frc(:,:) * r1_hv(:,:,Kmm) 371 371 ! 372 372 ! … … 388 388 ! ! -------------------------------------------------------- 389 389 ! 390 zwx(:,:) = puu_b(:,:,Kmm) * hu _n(:,:) * e2u(:,:) ! now fluxes391 zwy(:,:) = pvv_b(:,:,Kmm) * hv _n(:,:) * e1v(:,:)390 zwx(:,:) = puu_b(:,:,Kmm) * hu(:,:,Kmm) * e2u(:,:) ! now fluxes 391 zwy(:,:) = pvv_b(:,:,Kmm) * hv(:,:,Kmm) * e1v(:,:) 392 392 ! 393 393 SELECT CASE( nvor_scheme ) … … 395 395 DO jj = 2, jpjm1 396 396 DO ji = 2, jpim1 ! vector opt. 397 zu_trd(ji,jj) = + r1_4 * r1_e1e2u(ji,jj) * r1_hu _n(ji,jj) &398 & * ( e1e2t(ji+1,jj)*ht _n(ji+1,jj)*ff_t(ji+1,jj) * ( pvv_b(ji+1,jj,Kmm) + pvv_b(ji+1,jj-1,Kmm) ) &399 & + e1e2t(ji ,jj)*ht _n(ji ,jj)*ff_t(ji ,jj) * ( pvv_b(ji ,jj,Kmm) + pvv_b(ji ,jj-1,Kmm) ) )397 zu_trd(ji,jj) = + r1_4 * r1_e1e2u(ji,jj) * r1_hu(ji,jj,Kmm) & 398 & * ( e1e2t(ji+1,jj)*ht(ji+1,jj)*ff_t(ji+1,jj) * ( pvv_b(ji+1,jj,Kmm) + pvv_b(ji+1,jj-1,Kmm) ) & 399 & + e1e2t(ji ,jj)*ht(ji ,jj)*ff_t(ji ,jj) * ( pvv_b(ji ,jj,Kmm) + pvv_b(ji ,jj-1,Kmm) ) ) 400 400 ! 401 zv_trd(ji,jj) = - r1_4 * r1_e1e2v(ji,jj) * r1_hv _n(ji,jj) &402 & * ( e1e2t(ji,jj+1)*ht _n(ji,jj+1)*ff_t(ji,jj+1) * ( puu_b(ji,jj+1,Kmm) + puu_b(ji-1,jj+1,Kmm) ) &403 & + e1e2t(ji,jj )*ht _n(ji,jj )*ff_t(ji,jj ) * ( puu_b(ji,jj ,Kmm) + puu_b(ji-1,jj ,Kmm) ) )401 zv_trd(ji,jj) = - r1_4 * r1_e1e2v(ji,jj) * r1_hv(ji,jj,Kmm) & 402 & * ( e1e2t(ji,jj+1)*ht(ji,jj+1)*ff_t(ji,jj+1) * ( puu_b(ji,jj+1,Kmm) + puu_b(ji-1,jj+1,Kmm) ) & 403 & + e1e2t(ji,jj )*ht(ji,jj )*ff_t(ji,jj ) * ( puu_b(ji,jj ,Kmm) + puu_b(ji-1,jj ,Kmm) ) ) 404 404 END DO 405 405 END DO … … 546 546 DO ji = fs_2, fs_jpim1 ! vector opt. 547 547 zu_frc(ji,jj) = zu_frc(ji,jj) + & 548 & MAX(r1_hu _n(ji,jj) * r1_2 * ( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ), zztmp ) * zwx(ji,jj) * wdrampu(ji,jj)548 & MAX(r1_hu(ji,jj,Kmm) * r1_2 * ( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ), zztmp ) * zwx(ji,jj) * wdrampu(ji,jj) 549 549 zv_frc(ji,jj) = zv_frc(ji,jj) + & 550 & MAX(r1_hv _n(ji,jj) * r1_2 * ( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ), zztmp ) * zwy(ji,jj) * wdrampv(ji,jj)550 & MAX(r1_hv(ji,jj,Kmm) * r1_2 * ( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ), zztmp ) * zwy(ji,jj) * wdrampv(ji,jj) 551 551 END DO 552 552 END DO … … 554 554 DO jj = 2, jpjm1 555 555 DO ji = fs_2, fs_jpim1 ! vector opt. 556 zu_frc(ji,jj) = zu_frc(ji,jj) + r1_hu _n(ji,jj) * r1_2 * ( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) * zwx(ji,jj)557 zv_frc(ji,jj) = zv_frc(ji,jj) + r1_hv _n(ji,jj) * r1_2 * ( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) * zwy(ji,jj)556 zu_frc(ji,jj) = zu_frc(ji,jj) + r1_hu(ji,jj,Kmm) * r1_2 * ( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) * zwx(ji,jj) 557 zv_frc(ji,jj) = zv_frc(ji,jj) + r1_hv(ji,jj,Kmm) * r1_2 * ( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) * zwy(ji,jj) 558 558 END DO 559 559 END DO … … 584 584 DO jj = 2, jpjm1 585 585 DO ji = fs_2, fs_jpim1 ! vector opt. 586 zu_frc(ji,jj) = zu_frc(ji,jj) + r1_hu _n(ji,jj) * r1_2 * ( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) * zwx(ji,jj)587 zv_frc(ji,jj) = zv_frc(ji,jj) + r1_hv _n(ji,jj) * r1_2 * ( rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) * zwy(ji,jj)586 zu_frc(ji,jj) = zu_frc(ji,jj) + r1_hu(ji,jj,Kmm) * r1_2 * ( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) * zwx(ji,jj) 587 zv_frc(ji,jj) = zv_frc(ji,jj) + r1_hv(ji,jj,Kmm) * r1_2 * ( rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) * zwy(ji,jj) 588 588 END DO 589 589 END DO … … 593 593 DO jj = 2, jpjm1 594 594 DO ji = fs_2, fs_jpim1 ! vector opt. 595 zu_frc(ji,jj) = zu_frc(ji,jj) + r1_rau0 * utau(ji,jj) * r1_hu _n(ji,jj)596 zv_frc(ji,jj) = zv_frc(ji,jj) + r1_rau0 * vtau(ji,jj) * r1_hv _n(ji,jj)595 zu_frc(ji,jj) = zu_frc(ji,jj) + r1_rau0 * utau(ji,jj) * r1_hu(ji,jj,Kmm) 596 zv_frc(ji,jj) = zv_frc(ji,jj) + r1_rau0 * vtau(ji,jj) * r1_hv(ji,jj,Kmm) 597 597 END DO 598 598 END DO … … 601 601 DO jj = 2, jpjm1 602 602 DO ji = fs_2, fs_jpim1 ! vector opt. 603 zu_frc(ji,jj) = zu_frc(ji,jj) + zztmp * ( utau_b(ji,jj) + utau(ji,jj) ) * r1_hu _n(ji,jj)604 zv_frc(ji,jj) = zv_frc(ji,jj) + zztmp * ( vtau_b(ji,jj) + vtau(ji,jj) ) * r1_hv _n(ji,jj)603 zu_frc(ji,jj) = zu_frc(ji,jj) + zztmp * ( utau_b(ji,jj) + utau(ji,jj) ) * r1_hu(ji,jj,Kmm) 604 zv_frc(ji,jj) = zv_frc(ji,jj) + zztmp * ( vtau_b(ji,jj) + vtau(ji,jj) ) * r1_hv(ji,jj,Kmm) 605 605 END DO 606 606 END DO … … 681 681 vn_e (:,:) = pvv_b(:,:,Kmm) 682 682 ! 683 hu_e (:,:) = hu _n(:,:)684 hv_e (:,:) = hv _n(:,:)685 hur_e (:,:) = r1_hu _n(:,:)686 hvr_e (:,:) = r1_hv _n(:,:)683 hu_e (:,:) = hu(:,:,Kmm) 684 hv_e (:,:) = hv(:,:,Kmm) 685 hur_e (:,:) = r1_hu(:,:,Kmm) 686 hvr_e (:,:) = r1_hv(:,:,Kmm) 687 687 ELSE ! CENTRED integration: start from BEFORE fields 688 688 sshn_e(:,:) = pssh(:,:,Kbb) … … 690 690 vn_e (:,:) = pvv_b(:,:,Kbb) 691 691 ! 692 hu_e (:,:) = hu _b(:,:)693 hv_e (:,:) = hv _b(:,:)694 hur_e (:,:) = r1_hu _b(:,:)695 hvr_e (:,:) = r1_hv _b(:,:)692 hu_e (:,:) = hu(:,:,Kbb) 693 hv_e (:,:) = hv(:,:,Kbb) 694 hur_e (:,:) = r1_hu(:,:,Kbb) 695 hvr_e (:,:) = r1_hv(:,:,Kbb) 696 696 ENDIF 697 697 ! … … 790 790 zhtp2_e(:,:) = ht_0(:,:) + zsshp2_e(:,:) 791 791 ELSE 792 zhup2_e(:,:) = hu _n(:,:)793 zhvp2_e(:,:) = hv _n(:,:)794 zhtp2_e(:,:) = ht _n(:,:)792 zhup2_e(:,:) = hu(:,:,Kmm) 793 zhvp2_e(:,:) = hv(:,:,Kmm) 794 zhtp2_e(:,:) = ht(:,:) 795 795 ENDIF 796 796 ! !* after ssh … … 1138 1138 & + rdtbt * ( zhust_e(ji,jj) * zwx(ji,jj) & 1139 1139 & + zhup2_e(ji,jj) * zu_trd(ji,jj) & 1140 & + hu _n(ji,jj) * zu_frc(ji,jj) ) &1140 & + hu(ji,jj,Kmm) * zu_frc(ji,jj) ) & 1141 1141 & ) * zhura 1142 1142 … … 1144 1144 & + rdtbt * ( zhvst_e(ji,jj) * zwy(ji,jj) & 1145 1145 & + zhvp2_e(ji,jj) * zv_trd(ji,jj) & 1146 & + hv _n(ji,jj) * zv_frc(ji,jj) ) &1146 & + hv(ji,jj,Kmm) * zv_frc(ji,jj) ) & 1147 1147 & ) * zhvra 1148 1148 END DO … … 1257 1257 ! 1258 1258 DO jk=1,jpkm1 1259 puu(:,:,jk,Krhs) = puu(:,:,jk,Krhs) + r1_hu _n(:,:) * ( puu_b(:,:,Kaa) - puu_b(:,:,Kbb) * hu_b(:,:) ) * r1_2dt_b1260 pvv(:,:,jk,Krhs) = pvv(:,:,jk,Krhs) + r1_hv _n(:,:) * ( pvv_b(:,:,Kaa) - pvv_b(:,:,Kbb) * hv_b(:,:) ) * r1_2dt_b1259 puu(:,:,jk,Krhs) = puu(:,:,jk,Krhs) + r1_hu(:,:,Kmm) * ( puu_b(:,:,Kaa) - puu_b(:,:,Kbb) * hu(:,:,Kbb) ) * r1_2dt_b 1260 pvv(:,:,jk,Krhs) = pvv(:,:,jk,Krhs) + r1_hv(:,:,Kmm) * ( pvv_b(:,:,Kaa) - pvv_b(:,:,Kbb) * hv(:,:,Kbb) ) * r1_2dt_b 1261 1261 END DO 1262 1262 ! Save barotropic velocities not transport: … … 1268 1268 ! Correct velocities so that the barotropic velocity equals (un_adv, vn_adv) (in all cases) 1269 1269 DO jk = 1, jpkm1 1270 puu(:,:,jk,Kmm) = ( puu(:,:,jk,Kmm) + un_adv(:,:)*r1_hu _n(:,:) - puu_b(:,:,Kmm) ) * umask(:,:,jk)1271 pvv(:,:,jk,Kmm) = ( pvv(:,:,jk,Kmm) + vn_adv(:,:)*r1_hv _n(:,:) - pvv_b(:,:,Kmm) ) * vmask(:,:,jk)1270 puu(:,:,jk,Kmm) = ( puu(:,:,jk,Kmm) + un_adv(:,:)*r1_hu(:,:,Kmm) - puu_b(:,:,Kmm) ) * umask(:,:,jk) 1271 pvv(:,:,jk,Kmm) = ( pvv(:,:,jk,Kmm) + vn_adv(:,:)*r1_hv(:,:,Kmm) - pvv_b(:,:,Kmm) ) * vmask(:,:,jk) 1272 1272 END DO 1273 1273 1274 1274 IF ( ln_wd_dl .and. ln_wd_dl_bc) THEN 1275 1275 DO jk = 1, jpkm1 1276 puu(:,:,jk,Kmm) = ( un_adv(:,:)*r1_hu _n(:,:) &1277 & + zuwdav2(:,:)*(puu(:,:,jk,Kmm) - un_adv(:,:)*r1_hu _n(:,:)) ) * umask(:,:,jk)1278 pvv(:,:,jk,Kmm) = ( vn_adv(:,:)*r1_hv _n(:,:) &1279 & + zvwdav2(:,:)*(pvv(:,:,jk,Kmm) - vn_adv(:,:)*r1_hv _n(:,:)) ) * vmask(:,:,jk)1276 puu(:,:,jk,Kmm) = ( un_adv(:,:)*r1_hu(:,:,Kmm) & 1277 & + zuwdav2(:,:)*(puu(:,:,jk,Kmm) - un_adv(:,:)*r1_hu(:,:,Kmm)) ) * umask(:,:,jk) 1278 pvv(:,:,jk,Kmm) = ( vn_adv(:,:)*r1_hv(:,:,Kmm) & 1279 & + zvwdav2(:,:)*(pvv(:,:,jk,Kmm) - vn_adv(:,:)*r1_hv(:,:,Kmm)) ) * vmask(:,:,jk) 1280 1280 END DO 1281 1281 END IF 1282 1282 1283 1283 1284 CALL iom_put( "ubar", un_adv(:,:)*r1_hu _n(:,:) ) ! barotropic i-current1285 CALL iom_put( "vbar", vn_adv(:,:)*r1_hv _n(:,:) ) ! barotropic i-current1284 CALL iom_put( "ubar", un_adv(:,:)*r1_hu(:,:,Kmm) ) ! barotropic i-current 1285 CALL iom_put( "vbar", vn_adv(:,:)*r1_hv(:,:,Kmm) ) ! barotropic i-current 1286 1286 ! 1287 1287 #if defined key_agrif … … 1307 1307 ! 1308 1308 IF( ln_diatmb ) THEN 1309 CALL iom_put( "baro_u" , u n_b*ssumask(:,:)+zmdi*(1.-ssumask(:,:) ) ) ! Barotropic U Velocity1310 CALL iom_put( "baro_v" , v n_b*ssvmask(:,:)+zmdi*(1.-ssvmask(:,:) ) ) ! Barotropic V Velocity1309 CALL iom_put( "baro_u" , uu_b(:,:,Kmm)*ssumask(:,:)+zmdi*(1.-ssumask(:,:) ) ) ! Barotropic U Velocity 1310 CALL iom_put( "baro_v" , vv_b(:,:,Kmm)*ssvmask(:,:)+zmdi*(1.-ssvmask(:,:) ) ) ! Barotropic V Velocity 1311 1311 ENDIF 1312 1312 !
Note: See TracChangeset
for help on using the changeset viewer.