- Timestamp:
- 2015-12-17T19:21:15+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_exp.F90
r6060 r6108 77 77 INTEGER , INTENT(in ) :: kjpt ! number of tracers 78 78 INTEGER , INTENT(in ) :: ksts ! number of sub-time step 79 REAL(wp) , DIMENSION( jpk ), INTENT(in ) :: p2dt ! vertical profile of tracer time-step79 REAL(wp) , INTENT(in ) :: p2dt ! vertical profile of tracer time-step 80 80 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: ptb ! before and now tracer fields 81 81 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pta ! in: tracer trend ; out: after tracer field … … 83 83 INTEGER :: ji, jj, jk, jn, jl ! dummy loop indices 84 84 REAL(wp) :: z1_ksts, ze3tr ! local scalars 85 REAL(wp) :: ztra, ze3tb , z2dt! - -85 REAL(wp) :: ztra, ze3tb ! - - 86 86 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztb, zwf 87 87 !!--------------------------------------------------------------------- … … 123 123 ! 124 124 DO jk = 1, jpkm1 ! 2nd vertical derivative ==> tracer at kt+l*2*rdt/nn_zdfexp 125 z2dt = z1_ksts * p2dt(jk)126 125 DO jj = 2, jpjm1 127 126 DO ji = fs_2, fs_jpim1 ! vector opt. 128 ztb(ji,jj,jk) = ztb(ji,jj,jk) + z2dt * ( zwf(ji,jj,jk) - zwf(ji,jj,jk+1) ) / e3t_n(ji,jj,jk)127 ztb(ji,jj,jk) = ztb(ji,jj,jk) + p2dt * ( zwf(ji,jj,jk) - zwf(ji,jj,jk+1) ) / e3t_n(ji,jj,jk) 129 128 END DO 130 129 END DO … … 137 136 DO ji = fs_2, fs_jpim1 ! vector opt. 138 137 ze3tb = e3t_b(ji,jj,jk) / e3t_n(ji,jj,jk) 139 ztra = ( ztb(ji,jj,jk) - ptb(ji,jj,jk,jn) ) + p2dt (jk)* pta(ji,jj,jk,jn) ! total trend * 2dt138 ztra = ( ztb(ji,jj,jk) - ptb(ji,jj,jk,jn) ) + p2dt * pta(ji,jj,jk,jn) ! total trend * 2dt 140 139 pta(ji,jj,jk,jn) = ( ze3tb * ptb(ji,jj,jk,jn) + ztra ) * tmask(ji,jj,jk) ! after tracer 141 140 END DO
Note: See TracChangeset
for help on using the changeset viewer.