Changeset 10806 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/traadv_mus.F90
- Timestamp:
- 2019-03-27T17:55:22+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/traadv_mus.F90
r10802 r10806 54 54 CONTAINS 55 55 56 SUBROUTINE tra_adv_mus( kt, kit000, ktlev, cdtype, p2dt, pu, pv, pwn, &57 & pt, pt_rhs, kjpt, ld_msc_ups )56 SUBROUTINE tra_adv_mus( kt, kit000, ktlev, kt2lev, cdtype, p2dt, pu, pv, pw, & 57 & pt, pt_rhs, kjpt, ld_msc_ups ) 58 58 !!---------------------------------------------------------------------- 59 59 !! *** ROUTINE tra_adv_mus *** … … 75 75 INTEGER , INTENT(in ) :: kt ! ocean time-step index 76 76 INTEGER , INTENT(in ) :: kit000 ! first time step index 77 INTEGER , INTENT(in ) :: ktlev ! time level index for source terms 77 INTEGER , INTENT(in ) :: ktlev ! time level index for 3-time-level source terms 78 INTEGER , INTENT(in ) :: kt2lev ! time level index for 2-time-level source terms 78 79 CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 79 80 INTEGER , INTENT(in ) :: kjpt ! number of tracers 80 81 LOGICAL , INTENT(in ) :: ld_msc_ups ! use upstream scheme within muscl 81 82 REAL(wp) , INTENT(in ) :: p2dt ! tracer time-step 82 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pu, pv, pw n! 3 ocean velocity components83 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pu, pv, pw ! 3 ocean velocity components 83 84 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: pt ! before tracer field 84 85 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pt_rhs ! tracer trend … … 240 241 DO jj = 2, jpjm1 241 242 DO ji = fs_2, fs_jpim1 ! vector opt. 242 z0w = SIGN( 0.5, pw n(ji,jj,jk+1) )243 z0w = SIGN( 0.5, pw(ji,jj,jk+1) ) 243 244 zalpha = 0.5 + z0w 244 zw = z0w - 0.5 * pw n(ji,jj,jk+1) * p2dt * r1_e1e2t(ji,jj) / e3w_n(ji,jj,jk+1)245 zw = z0w - 0.5 * pw(ji,jj,jk+1) * p2dt * r1_e1e2t(ji,jj) / e3w(ji,jj,jk+1,kt2lev) 245 246 zzwx = pt(ji,jj,jk+1,jn) + xind(ji,jj,jk) * zw * zslpx(ji,jj,jk+1) 246 247 zzwy = pt(ji,jj,jk ,jn) + xind(ji,jj,jk) * zw * zslpx(ji,jj,jk ) 247 zwx(ji,jj,jk+1) = pw n(ji,jj,jk+1) * ( zalpha * zzwx + (1.-zalpha) * zzwy ) * wmask(ji,jj,jk)248 zwx(ji,jj,jk+1) = pw(ji,jj,jk+1) * ( zalpha * zzwx + (1.-zalpha) * zzwy ) * wmask(ji,jj,jk) 248 249 END DO 249 250 END DO … … 253 254 DO jj = 1, jpj 254 255 DO ji = 1, jpi 255 zwx(ji,jj, mikt(ji,jj) ) = pw n(ji,jj,mikt(ji,jj)) * pt(ji,jj,mikt(ji,jj),jn)256 zwx(ji,jj, mikt(ji,jj) ) = pw(ji,jj,mikt(ji,jj)) * pt(ji,jj,mikt(ji,jj),jn) 256 257 END DO 257 258 END DO 258 259 ELSE ! no cavities: only at the ocean surface 259 zwx(:,:,1) = pw n(:,:,1) * pt(:,:,1,jn)260 zwx(:,:,1) = pw(:,:,1) * pt(:,:,1,jn) 260 261 ENDIF 261 262 ENDIF … … 269 270 END DO 270 271 ! ! send trends for diagnostic 271 IF( l_trd ) CALL trd_tra( kt, cdtype, jn, jptra_zad, zwx, pw n, pt(:,:,:,jn) )272 IF( l_trd ) CALL trd_tra( kt, cdtype, jn, jptra_zad, zwx, pw, pt(:,:,:,jn) ) 272 273 ! 273 274 END DO ! end of tracer loop
Note: See TracChangeset
for help on using the changeset viewer.