- Timestamp:
- 2020-11-27T17:26:33+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/tickets_icb_1900
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/tickets_icb_1900
- Property svn:externals
-
NEMO/branches/2020/tickets_icb_1900/src/OCE/TRA/trazdf.F90
r13237 r13899 161 161 IF( l_ldfslp ) THEN ! isoneutral diffusion: add the contribution 162 162 IF( ln_traldf_msc ) THEN ! MSC iso-neutral operator 163 DO_3D _00_00(2, jpkm1 )163 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 164 164 zwt(ji,jj,jk) = zwt(ji,jj,jk) + akz(ji,jj,jk) 165 165 END_3D 166 166 ELSE ! standard or triad iso-neutral operator 167 DO_3D _00_00(2, jpkm1 )167 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 168 168 zwt(ji,jj,jk) = zwt(ji,jj,jk) + ah_wslp2(ji,jj,jk) 169 169 END_3D … … 173 173 ! Diagonal, lower (i), upper (s) (including the bottom boundary condition since avt is masked) 174 174 IF( ln_zad_Aimp ) THEN ! Adaptive implicit vertical advection 175 DO_3D _00_00(1, jpkm1 )175 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 176 176 zzwi = - p2dt * zwt(ji,jj,jk ) / e3w(ji,jj,jk ,Kmm) 177 177 zzws = - p2dt * zwt(ji,jj,jk+1) / e3w(ji,jj,jk+1,Kmm) … … 182 182 END_3D 183 183 ELSE 184 DO_3D _00_00(1, jpkm1 )184 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 185 185 zwi(ji,jj,jk) = - p2dt * zwt(ji,jj,jk ) / e3w(ji,jj,jk,Kmm) 186 186 zws(ji,jj,jk) = - p2dt * zwt(ji,jj,jk+1) / e3w(ji,jj,jk+1,Kmm) … … 208 208 ! used as a work space array: its value is modified. 209 209 ! 210 DO_2D _00_00210 DO_2D( 0, 0, 0, 0 ) !* 1st recurrence: Tk = Dk - Ik Sk-1 / Tk-1 (increasing k) ! done one for all passive tracers (so included in the IF instruction) 211 211 zwt(ji,jj,1) = zwd(ji,jj,1) 212 212 END_2D 213 DO_3D _00_00(2, jpkm1 )213 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 214 214 zwt(ji,jj,jk) = zwd(ji,jj,jk) - zwi(ji,jj,jk) * zws(ji,jj,jk-1) / zwt(ji,jj,jk-1) 215 215 END_3D … … 217 217 ENDIF 218 218 ! 219 DO_2D _00_00219 DO_2D( 0, 0, 0, 0 ) !* 2nd recurrence: Zk = Yk - Ik / Tk-1 Zk-1 220 220 pt(ji,jj,1,jn,Kaa) = e3t(ji,jj,1,Kbb) * pt(ji,jj,1,jn,Kbb) & 221 221 & + p2dt * e3t(ji,jj,1,Kmm) * pt(ji,jj,1,jn,Krhs) 222 222 END_2D 223 DO_3D _00_00(2, jpkm1 )223 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 224 224 zrhs = e3t(ji,jj,jk,Kbb) * pt(ji,jj,jk,jn,Kbb) & 225 225 & + p2dt * e3t(ji,jj,jk,Kmm) * pt(ji,jj,jk,jn,Krhs) ! zrhs=right hand side … … 227 227 END_3D 228 228 ! 229 DO_2D _00_00229 DO_2D( 0, 0, 0, 0 ) !* 3d recurrence: Xk = (Zk - Sk Xk+1 ) / Tk (result is the after tracer) 230 230 pt(ji,jj,jpkm1,jn,Kaa) = pt(ji,jj,jpkm1,jn,Kaa) / zwt(ji,jj,jpkm1) * tmask(ji,jj,jpkm1) 231 231 END_2D 232 DO_3DS _00_00(jpk-2, 1, -1 )232 DO_3DS( 0, 0, 0, 0, jpk-2, 1, -1 ) 233 233 pt(ji,jj,jk,jn,Kaa) = ( pt(ji,jj,jk,jn,Kaa) - zws(ji,jj,jk) * pt(ji,jj,jk+1,jn,Kaa) ) & 234 234 & / zwt(ji,jj,jk) * tmask(ji,jj,jk)
Note: See TracChangeset
for help on using the changeset viewer.