- Timestamp:
- 2010-09-10T12:32:58+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r2006_merge_TRA_TRC/NEMO/OPA_SRC/TRA/traadv_tvd.F90
r2034 r2082 32 32 USE lbclnk ! ocean lateral boundary condition (or mpp link) 33 33 USE diaptr ! poleward transport diagnostics 34 USE trc_oce ! share passive tracers/Ocean variables 34 35 35 36 … … 52 53 CONTAINS 53 54 54 SUBROUTINE tra_adv_tvd ( kt, cdtype, p un, pvn, pwn, &55 & ptb, ptn, pta, kjpt )55 SUBROUTINE tra_adv_tvd ( kt, cdtype, p2dt, pun, pvn, pwn, & 56 & ptb, ptn, pta, kjpt ) 56 57 !!---------------------------------------------------------------------- 57 58 !! *** ROUTINE tra_adv_tvd *** … … 73 74 CHARACTER(len=3), INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 74 75 INTEGER , INTENT(in ) :: kjpt ! number of tracers 76 REAL(wp) , INTENT(in ), DIMENSION(jpk) :: p2dt ! vertical profile of tracer time-step 75 77 REAL(wp) , INTENT(in ), DIMENSION(jpi,jpj,jpk) :: pun, pvn, pwn ! 3 ocean velocity components 76 78 REAL(wp) , INTENT(in ), DIMENSION(jpi,jpj,jpk,kjpt) :: ptb, ptn ! before and now tracer fields … … 79 81 INTEGER :: ji, jj, jk, jn ! dummy loop indices 80 82 REAL(wp) :: & 81 z2 , z2dtt, zbtr, ztra,& ! temporary scalar83 z2dtt, zbtr, ztra, & ! temporary scalar 82 84 zfp_ui, zfp_vj, zfp_wk, & ! " " 83 85 zfm_ui, zfm_vj, zfm_wk ! " " … … 86 88 !!---------------------------------------------------------------------- 87 89 88 zwi(:,:,:) = 0.e0 89 90 IF( kt == nit000 .AND. lwp ) THEN 90 91 IF( ( cdtype == 'TRA' .AND. kt == nit000 ) .OR. ( cdtype == 'TRC' .AND. kt == nittrc000 ) ) THEN 91 92 WRITE(numout,*) 92 WRITE(numout,*) 'tra_adv_tvd : TVD advection scheme '93 WRITE(numout,*) 'tra_adv_tvd : TVD advection scheme on ', cdtype 93 94 WRITE(numout,*) '~~~~~~~~~~~' 94 95 ! … … 103 104 END IF 104 105 ! 105 IF( neuler == 0 .AND. kt == nit000 ) THEN ; z2 = 1. 106 ELSE ; z2 = 2. 107 ENDIF 106 zwi(:,:,:) = 0.e0 108 107 ! 109 108 ! ! =========== … … 150 149 ! total advective trend 151 150 DO jk = 1, jpkm1 152 z2dtt = z2 * rdttra(jk)151 z2dtt = p2dt(jk) 153 152 DO jj = 2, jpjm1 154 153 DO ji = fs_2, fs_jpim1 ! vector opt. … … 209 208 ! 4. monotonicity algorithm 210 209 ! ------------------------- 211 CALL nonosc( ptb(:,:,:,jn), zwx, zwy, zwz, zwi, z2)210 CALL nonosc( ptb(:,:,:,jn), zwx, zwy, zwz, zwi, p2dt ) 212 211 213 212 … … 253 252 254 253 255 SUBROUTINE nonosc( pbef, paa, pbb, pcc, paft, p rdt )254 SUBROUTINE nonosc( pbef, paa, pbb, pcc, paft, p2dt ) 256 255 !!--------------------------------------------------------------------- 257 256 !! *** ROUTINE nonosc *** … … 266 265 !! in-space based differencing for fluid 267 266 !!---------------------------------------------------------------------- 268 REAL(wp), INTENT( in ) :: prdt ! ??? 267 REAL(wp), DIMENSION(jpk) , INTENT( in ) :: & 268 p2dt ! vertical profile of tracer time-step 269 269 REAL(wp), DIMENSION (jpi,jpj,jpk), INTENT( in ) :: & 270 270 pbef, & ! before field … … 299 299 DO jk = 1, jpkm1 300 300 ikm1 = MAX(jk-1,1) 301 z2dtt = p rdt * rdttra(jk)301 z2dtt = p2dt(jk) 302 302 DO jj = 2, jpjm1 303 303 DO ji = fs_2, fs_jpim1 ! vector opt.
Note: See TracChangeset
for help on using the changeset viewer.