Changeset 5989 for branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90
- Timestamp:
- 2015-12-03T09:10:32+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90
r5260 r5989 2 2 !!====================================================================== 3 3 !! *** MODULE dynldf_iso *** 4 !! Ocean dynamics: lateral viscosity trend4 !! Ocean dynamics: lateral viscosity trend (rotated laplacian operator) 5 5 !!====================================================================== 6 6 !! History : OPA ! 97-07 (G. Madec) Original code … … 8 8 !! - ! 2004-08 (C. Talandier) New trends organization 9 9 !! 2.0 ! 2005-11 (G. Madec) s-coordinate: horizontal diffusion 10 !! 3.7 ! 2014-01 (F. Lemarie, G. Madec) restructuration/simplification of ahm specification, 11 !! ! add velocity dependent coefficient and optional read in file 10 12 !!---------------------------------------------------------------------- 11 #if defined key_ldfslp || defined key_esopa 12 !!---------------------------------------------------------------------- 13 !! 'key_ldfslp' slopes of the direction of mixing 13 14 14 !!---------------------------------------------------------------------- 15 15 !! dyn_ldf_iso : update the momentum trend with the horizontal part … … 19 19 USE oce ! ocean dynamics and tracers 20 20 USE dom_oce ! ocean space and time domain 21 USE ldfdyn _oce ! ocean dynamics lateral physics22 USE ldftra _oce ! ocean tracer lateral physics21 USE ldfdyn ! lateral diffusion: eddy viscosity coef. 22 USE ldftra ! lateral physics: eddy diffusivity 23 23 USE zdf_oce ! ocean vertical physics 24 24 USE ldfslp ! iso-neutral slopes 25 25 ! 26 USE lbclnk ! ocean lateral boundary conditions (or mpp link)27 26 USE in_out_manager ! I/O manager 28 27 USE lib_mpp ! MPP library 28 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 29 29 USE prtctl ! Print control 30 30 USE wrk_nemo ! Memory Allocation … … 42 42 !! * Substitutions 43 43 # include "domzgr_substitute.h90" 44 # include "ldfdyn_substitute.h90"45 44 # include "vectopt_loop_substitute.h90" 46 45 !!---------------------------------------------------------------------- … … 83 82 !! horizontal fluxes associated with the rotated lateral mixing: 84 83 !! u-component: 85 !! ziut = ( ahmt + ahmb0) e2t * e3t / e1t di[ ub ]86 !! - ahmte2t * mi-1(uslp) dk[ mi(mk(ub)) ]87 !! zjuf = ( ahmf + ahmb0) e1f * e3f / e2f dj[ ub ]88 !! - ahmfe1f * mi(vslp) dk[ mj(mk(ub)) ]84 !! ziut = ( ahmt + rn_ahm_b ) e2t * e3t / e1t di[ ub ] 85 !! - ahmt e2t * mi-1(uslp) dk[ mi(mk(ub)) ] 86 !! zjuf = ( ahmf + rn_ahm_b ) e1f * e3f / e2f dj[ ub ] 87 !! - ahmf e1f * mi(vslp) dk[ mj(mk(ub)) ] 89 88 !! v-component: 90 !! zivf = ( ahmf + ahmb0) e2t * e3t / e1t di[ vb ]91 !! - ahmfe2t * mj(uslp) dk[ mi(mk(vb)) ]92 !! zjvt = ( ahmt + ahmb0) e1f * e3f / e2f dj[ ub ]93 !! - ahmte1f * mj-1(vslp) dk[ mj(mk(vb)) ]89 !! zivf = ( ahmf + rn_ahm_b ) e2t * e3t / e1t di[ vb ] 90 !! - ahmf e2t * mj(uslp) dk[ mi(mk(vb)) ] 91 !! zjvt = ( ahmt + rn_ahm_b ) e1f * e3f / e2f dj[ ub ] 92 !! - ahmt e1f * mj-1(vslp) dk[ mj(mk(vb)) ] 94 93 !! take the horizontal divergence of the fluxes: 95 94 !! diffu = 1/(e1u*e2u*e3u) { di [ ziut ] + dj-1[ zjuf ] } … … 106 105 !! of the rotated operator in dynzdf module 107 106 !!---------------------------------------------------------------------- 108 !109 107 INTEGER, INTENT( in ) :: kt ! ocean time-step index 110 108 ! 111 109 INTEGER :: ji, jj, jk ! dummy loop indices 112 110 REAL(wp) :: zabe1, zabe2, zcof1, zcof2 ! local scalars 113 REAL(wp) :: zmskt, zmskf , zbu, zbv, zuah, zvah! - -111 REAL(wp) :: zmskt, zmskf ! - - 114 112 REAL(wp) :: zcoef0, zcoef3, zcoef4, zmkt, zmkf ! - - 115 113 REAL(wp) :: zuav, zvav, zuwslpi, zuwslpj, zvwslpi, zvwslpj ! - - … … 130 128 ENDIF 131 129 132 ! s-coordinate: Iso-level diffusion on tracer, but geopotential level diffusion on momentum 130 !!gm bug is dyn_ldf_iso called before tra_ldf_iso .... <<<<<===== TO BE CHECKED 131 ! s-coordinate: Iso-level diffusion on momentum but not on tracer 133 132 IF( ln_dynldf_hor .AND. ln_traldf_iso ) THEN 134 133 ! … … 136 135 DO jj = 2, jpjm1 137 136 DO ji = 2, jpim1 138 uslp (ji,jj,jk) = - 1./e1u(ji,jj) * ( fsdept_b(ji+1,jj,jk) - fsdept_b(ji ,jj ,jk)) * umask(ji,jj,jk)139 vslp (ji,jj,jk) = - 1./e2v(ji,jj) * ( fsdept_b(ji,jj+1,jk) - fsdept_b(ji ,jj ,jk)) * vmask(ji,jj,jk)140 wslpi(ji,jj,jk) = - 1./e1t(ji,jj) * ( fsdepw_b(ji+1,jj,jk) - fsdepw_b(ji-1,jj,jk)) * tmask(ji,jj,jk) * 0.5141 wslpj(ji,jj,jk) = - 1./e2t(ji,jj) * ( fsdepw_b(ji,jj+1,jk) - fsdepw_b(ji,jj-1,jk)) * tmask(ji,jj,jk) * 0.5137 uslp (ji,jj,jk) = - ( fsdept_b(ji+1,jj,jk) - fsdept_b(ji ,jj ,jk) ) * r1_e1u(ji,jj) * umask(ji,jj,jk) 138 vslp (ji,jj,jk) = - ( fsdept_b(ji,jj+1,jk) - fsdept_b(ji ,jj ,jk) ) * r1_e2v(ji,jj) * vmask(ji,jj,jk) 139 wslpi(ji,jj,jk) = - ( fsdepw_b(ji+1,jj,jk) - fsdepw_b(ji-1,jj,jk) ) * r1_e1t(ji,jj) * tmask(ji,jj,jk) * 0.5 140 wslpj(ji,jj,jk) = - ( fsdepw_b(ji,jj+1,jk) - fsdepw_b(ji,jj-1,jk) ) * r1_e2t(ji,jj) * tmask(ji,jj,jk) * 0.5 142 141 END DO 143 142 END DO … … 184 183 DO jj = 2, jpjm1 185 184 DO ji = fs_2, jpi ! vector opt. 186 zabe1 = ( fsahmt(ji,jj,jk)+ahmb0) * e2t(ji,jj) * MIN( fse3u(ji,jj,jk), fse3u(ji-1,jj,jk) ) /e1t(ji,jj)187 188 zmskt = 1. /MAX( umask(ji-1,jj,jk )+umask(ji,jj,jk+1)&189 & + umask(ji-1,jj,jk+1)+umask(ji,jj,jk ), 1.)190 191 zcof1 = - aht0 * e2t(ji,jj) * zmskt * 0.5 * ( uslp(ji-1,jj,jk) + uslp(ji,jj,jk) )185 zabe1 = ( ahmt(ji,jj,jk)+rn_ahm_b ) * e2t(ji,jj) * MIN( fse3u(ji,jj,jk), fse3u(ji-1,jj,jk) ) * r1_e1t(ji,jj) 186 187 zmskt = 1._wp / MAX( umask(ji-1,jj,jk )+umask(ji,jj,jk+1) & 188 & + umask(ji-1,jj,jk+1)+umask(ji,jj,jk ) , 1._wp ) 189 190 zcof1 = - rn_aht_0 * e2t(ji,jj) * zmskt * 0.5 * ( uslp(ji-1,jj,jk) + uslp(ji,jj,jk) ) 192 191 192 ziut(ji,jj) = ( zabe1 * ( ub(ji,jj,jk) - ub(ji-1,jj,jk) ) & 193 & + zcof1 * ( zdku (ji,jj) + zdk1u(ji-1,jj) & 194 & +zdk1u(ji,jj) + zdku (ji-1,jj) ) ) * tmask(ji,jj,jk) 195 END DO 196 END DO 197 ELSE ! other coordinate system (zco or sco) : e3t 198 DO jj = 2, jpjm1 199 DO ji = fs_2, jpi ! vector opt. 200 zabe1 = ( ahmt(ji,jj,jk)+rn_ahm_b ) * e2t(ji,jj) * fse3t(ji,jj,jk) * r1_e1t(ji,jj) 201 202 zmskt = 1._wp / MAX( umask(ji-1,jj,jk ) + umask(ji,jj,jk+1) & 203 & + umask(ji-1,jj,jk+1) + umask(ji,jj,jk ) , 1._wp ) 204 205 zcof1 = - rn_aht_0 * e2t(ji,jj) * zmskt * 0.5 * ( uslp(ji-1,jj,jk) + uslp(ji,jj,jk) ) 206 193 207 ziut(ji,jj) = ( zabe1 * ( ub(ji,jj,jk) - ub(ji-1,jj,jk) ) & 194 208 & + zcof1 * ( zdku (ji,jj) + zdk1u(ji-1,jj) & … … 196 210 END DO 197 211 END DO 198 ELSE ! other coordinate system (zco or sco) : e3t199 DO jj = 2, jpjm1200 DO ji = fs_2, jpi ! vector opt.201 zabe1 = (fsahmt(ji,jj,jk)+ahmb0) * e2t(ji,jj) * fse3t(ji,jj,jk) / e1t(ji,jj)202 203 zmskt = 1./MAX( umask(ji-1,jj,jk )+umask(ji,jj,jk+1) &204 & + umask(ji-1,jj,jk+1)+umask(ji,jj,jk ), 1. )205 206 zcof1 = - aht0 * e2t(ji,jj) * zmskt * 0.5 * ( uslp(ji-1,jj,jk) + uslp(ji,jj,jk) )207 208 ziut(ji,jj) = ( zabe1 * ( ub(ji,jj,jk) - ub(ji-1,jj,jk) ) &209 & + zcof1 * ( zdku (ji,jj) + zdk1u(ji-1,jj) &210 & +zdk1u(ji,jj) + zdku (ji-1,jj) ) ) * tmask(ji,jj,jk)211 END DO212 END DO213 212 ENDIF 214 213 … … 216 215 DO jj = 1, jpjm1 217 216 DO ji = 1, fs_jpim1 ! vector opt. 218 zabe2 = ( fsahmf(ji,jj,jk) + ahmb0 ) * e1f(ji,jj) * fse3f(ji,jj,jk) /e2f(ji,jj)219 220 zmskf = 1. /MAX( umask(ji,jj+1,jk )+umask(ji,jj,jk+1)&221 & + umask(ji,jj+1,jk+1)+umask(ji,jj,jk ), 1.)222 223 zcof2 = - aht0 * e1f(ji,jj) * zmskf * 0.5 * ( vslp(ji+1,jj,jk) + vslp(ji,jj,jk) )217 zabe2 = ( ahmf(ji,jj,jk) + rn_ahm_b ) * e1f(ji,jj) * fse3f(ji,jj,jk) * r1_e2f(ji,jj) 218 219 zmskf = 1._wp / MAX( umask(ji,jj+1,jk )+umask(ji,jj,jk+1) & 220 & + umask(ji,jj+1,jk+1)+umask(ji,jj,jk ) , 1._wp ) 221 222 zcof2 = - rn_aht_0 * e1f(ji,jj) * zmskf * 0.5 * ( vslp(ji+1,jj,jk) + vslp(ji,jj,jk) ) 224 223 225 224 zjuf(ji,jj) = ( zabe2 * ( ub(ji,jj+1,jk) - ub(ji,jj,jk) ) & … … 237 236 DO jj = 2, jpjm1 238 237 DO ji = 1, fs_jpim1 ! vector opt. 239 zabe1 = ( fsahmf(ji,jj,jk) + ahmb0 ) * e2f(ji,jj) * fse3f(ji,jj,jk) /e1f(ji,jj)240 241 zmskf = 1. /MAX( vmask(ji+1,jj,jk )+vmask(ji,jj,jk+1)&242 & + vmask(ji+1,jj,jk+1)+vmask(ji,jj,jk ), 1.)243 244 zcof1 = - aht0 * e2f(ji,jj) * zmskf * 0.5 * ( uslp(ji,jj+1,jk) + uslp(ji,jj,jk) )245 246 zivf(ji,jj) = ( zabe1 * ( vb(ji+1,jj,jk) - vb(ji,jj,jk) ) &247 & + zcof1 * ( zdkv (ji,jj) + zdk1v(ji+1,jj)&248 & + zdk1v(ji,jj) + zdkv (ji+1,jj) ) ) * fmask(ji,jj,jk)238 zabe1 = ( ahmf(ji,jj,jk) + rn_ahm_b ) * e2f(ji,jj) * fse3f(ji,jj,jk) * r1_e1f(ji,jj) 239 240 zmskf = 1._wp / MAX( vmask(ji+1,jj,jk )+vmask(ji,jj,jk+1) & 241 & + vmask(ji+1,jj,jk+1)+vmask(ji,jj,jk ) , 1._wp ) 242 243 zcof1 = - rn_aht_0 * e2f(ji,jj) * zmskf * 0.5 * ( uslp(ji,jj+1,jk) + uslp(ji,jj,jk) ) 244 245 zivf(ji,jj) = ( zabe1 * ( vb(ji+1,jj,jk) - vb(ji,jj,jk) ) & 246 & + zcof1 * ( zdkv (ji,jj) + zdk1v(ji+1,jj) & 247 & + zdk1v(ji,jj) + zdkv (ji+1,jj) ) ) * fmask(ji,jj,jk) 249 248 END DO 250 249 END DO … … 254 253 DO jj = 2, jpj 255 254 DO ji = 1, fs_jpim1 ! vector opt. 256 zabe2 = (fsahmt(ji,jj,jk)+ahmb0) * e1t(ji,jj) * MIN( fse3v(ji,jj,jk), fse3v(ji,jj-1,jk) ) / e2t(ji,jj) 255 zabe2 = ( ahmt(ji,jj,jk)+rn_ahm_b ) * e1t(ji,jj) * MIN( fse3v(ji,jj,jk), fse3v(ji,jj-1,jk) ) * r1_e2t(ji,jj) 256 257 zmskt = 1._wp / MAX( vmask(ji,jj-1,jk )+vmask(ji,jj,jk+1) & 258 & + vmask(ji,jj-1,jk+1)+vmask(ji,jj,jk ) , 1._wp ) 259 260 zcof2 = - rn_aht_0 * e1t(ji,jj) * zmskt * 0.5 * ( vslp(ji,jj-1,jk) + vslp(ji,jj,jk) ) 261 262 zjvt(ji,jj) = ( zabe2 * ( vb(ji,jj,jk) - vb(ji,jj-1,jk) ) & 263 & + zcof2 * ( zdkv (ji,jj-1) + zdk1v(ji,jj) & 264 & +zdk1v(ji,jj-1) + zdkv (ji,jj) ) ) * tmask(ji,jj,jk) 265 END DO 266 END DO 267 ELSE ! other coordinate system (zco or sco) : e3t 268 DO jj = 2, jpj 269 DO ji = 1, fs_jpim1 ! vector opt. 270 zabe2 = ( ahmt(ji,jj,jk)+rn_ahm_b ) * e1t(ji,jj) * fse3t(ji,jj,jk) * r1_e2t(ji,jj) 257 271 258 272 zmskt = 1./MAX( vmask(ji,jj-1,jk )+vmask(ji,jj,jk+1) & 259 273 & + vmask(ji,jj-1,jk+1)+vmask(ji,jj,jk ), 1. ) 260 274 261 zcof2 = - aht0 * e1t(ji,jj) * zmskt * 0.5 * ( vslp(ji,jj-1,jk) + vslp(ji,jj,jk) )275 zcof2 = - rn_aht_0 * e1t(ji,jj) * zmskt * 0.5 * ( vslp(ji,jj-1,jk) + vslp(ji,jj,jk) ) 262 276 263 277 zjvt(ji,jj) = ( zabe2 * ( vb(ji,jj,jk) - vb(ji,jj-1,jk) ) & … … 266 280 END DO 267 281 END DO 268 ELSE ! other coordinate system (zco or sco) : e3t269 DO jj = 2, jpj270 DO ji = 1, fs_jpim1 ! vector opt.271 zabe2 = (fsahmt(ji,jj,jk)+ahmb0) * e1t(ji,jj) * fse3t(ji,jj,jk) / e2t(ji,jj)272 273 zmskt = 1./MAX( vmask(ji,jj-1,jk )+vmask(ji,jj,jk+1) &274 & + vmask(ji,jj-1,jk+1)+vmask(ji,jj,jk ), 1. )275 276 zcof2 = - aht0 * e1t(ji,jj) * zmskt * 0.5 * ( vslp(ji,jj-1,jk) + vslp(ji,jj,jk) )277 278 zjvt(ji,jj) = ( zabe2 * ( vb(ji,jj,jk) - vb(ji,jj-1,jk) ) &279 & + zcof2 * ( zdkv (ji,jj-1) + zdk1v(ji,jj) &280 & +zdk1v(ji,jj-1) + zdkv (ji,jj) ) ) * tmask(ji,jj,jk)281 END DO282 END DO283 282 ENDIF 284 283 … … 286 285 ! Second derivative (divergence) and add to the general trend 287 286 ! ----------------------------------------------------------- 288 289 287 DO jj = 2, jpjm1 290 DO ji = 2, jpim1 !! Question vectop possible??? !!bug 291 ! volume elements 292 zbu = e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) 293 zbv = e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) 294 ! horizontal component of isopycnal momentum diffusive trends 295 zuah =( ziut (ji+1,jj) - ziut (ji,jj ) + & 296 & zjuf (ji ,jj) - zjuf (ji,jj-1) ) / zbu 297 zvah =( zivf (ji,jj ) - zivf (ji-1,jj) + & 298 & zjvt (ji,jj+1) - zjvt (ji,jj ) ) / zbv 299 ! add the trends to the general trends 300 ua (ji,jj,jk) = ua (ji,jj,jk) + zuah 301 va (ji,jj,jk) = va (ji,jj,jk) + zvah 288 DO ji = 2, jpim1 !!gm Question vectop possible??? !!bug 289 ua(ji,jj,jk) = ua(ji,jj,jk) + ( ziut(ji+1,jj) - ziut(ji,jj ) & 290 & + zjuf(ji ,jj) - zjuf(ji,jj-1) ) / ( e1e2u(ji,jj) * fse3u(ji,jj,jk) ) 291 va(ji,jj,jk) = va(ji,jj,jk) + ( zivf(ji,jj ) - zivf(ji-1,jj) & 292 & + zjvt(ji,jj+1) - zjvt(ji,jj ) ) / ( e1e2v(ji,jj) * fse3v(ji,jj,jk) ) 302 293 END DO 303 294 END DO … … 358 349 DO jk = 2, jpkm1 359 350 DO ji = 2, jpim1 360 zcoef0= 0.5 * aht0 * umask(ji,jj,jk)361 351 zcoef0= 0.5 * rn_aht_0 * umask(ji,jj,jk) 352 ! 362 353 zuwslpi = zcoef0 * ( wslpi(ji+1,jj,jk) + wslpi(ji,jj,jk) ) 363 354 zuwslpj = zcoef0 * ( wslpj(ji+1,jj,jk) + wslpj(ji,jj,jk) ) 364 355 ! 365 356 zmkt = 1./MAX( tmask(ji,jj,jk-1)+tmask(ji+1,jj,jk-1) & 366 357 + tmask(ji,jj,jk )+tmask(ji+1,jj,jk ), 1. ) 367 zmkf = 1./MAX( fmask(ji,jj-1,jk-1) +fmask(ji,jj,jk-1) &368 + fmask(ji,jj-1,jk ) +fmask(ji,jj,jk ), 1. )358 zmkf = 1./MAX( fmask(ji,jj-1,jk-1) + fmask(ji,jj,jk-1) & 359 + fmask(ji,jj-1,jk ) + fmask(ji,jj,jk ), 1. ) 369 360 370 361 zcoef3 = - e2u(ji,jj) * zmkt * zuwslpi … … 376 367 +zdj1u(ji,jk ) + zdju (ji ,jk ) ) 377 368 ! update avmu (add isopycnal vertical coefficient to avmu) 378 ! Caution: zcoef0 include aht0, so divided by aht0 to obtain slp^2 * aht0379 avmu(ji,jj,jk) = avmu(ji,jj,jk) + ( zuwslpi * zuwslpi + zuwslpj * zuwslpj ) / aht0369 ! Caution: zcoef0 include rn_aht_0, so divided by rn_aht_0 to obtain slp^2 * rn_aht_0 370 avmu(ji,jj,jk) = avmu(ji,jj,jk) + ( zuwslpi * zuwslpi + zuwslpj * zuwslpj ) / rn_aht_0 380 371 END DO 381 372 END DO … … 384 375 DO jk = 2, jpkm1 385 376 DO ji = 2, jpim1 386 zcoef0 = 0.5 * aht0 * vmask(ji,jj,jk)377 zcoef0 = 0.5 * rn_aht_0 * vmask(ji,jj,jk) 387 378 388 379 zvwslpi = zcoef0 * ( wslpi(ji,jj+1,jk) + wslpi(ji,jj,jk) ) … … 398 389 ! vertical flux on v field 399 390 zfvw(ji,jk) = zcoef3 * ( zdiv (ji,jk-1) + zdiv (ji-1,jk-1) & 400 401 402 391 & +zdiv (ji,jk ) + zdiv (ji-1,jk ) ) & 392 & + zcoef4 * ( zdjv (ji,jk-1) + zdj1v(ji ,jk-1) & 393 & +zdjv (ji,jk ) + zdj1v(ji ,jk ) ) 403 394 ! update avmv (add isopycnal vertical coefficient to avmv) 404 ! Caution: zcoef0 include aht0, so divided by aht0 to obtain slp^2 * aht0405 avmv(ji,jj,jk) = avmv(ji,jj,jk) + ( zvwslpi * zvwslpi + zvwslpj * zvwslpj ) / aht0395 ! Caution: zcoef0 include rn_aht_0, so divided by rn_aht_0 to obtain slp^2 * rn_aht_0 396 avmv(ji,jj,jk) = avmv(ji,jj,jk) + ( zvwslpi * zvwslpi + zvwslpj * zvwslpj ) / rn_aht_0 406 397 END DO 407 398 END DO … … 412 403 DO jk = 1, jpkm1 413 404 DO ji = 2, jpim1 414 ! volume elements 415 zbu = e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) 416 zbv = e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) 417 ! part of the k-component of isopycnal momentum diffusive trends 418 zuav = ( zfuw(ji,jk) - zfuw(ji,jk+1) ) / zbu 419 zvav = ( zfvw(ji,jk) - zfvw(ji,jk+1) ) / zbv 420 ! add the trends to the general trends 421 ua(ji,jj,jk) = ua(ji,jj,jk) + zuav 422 va(ji,jj,jk) = va(ji,jj,jk) + zvav 405 ua(ji,jj,jk) = ua(ji,jj,jk) + ( zfuw(ji,jk) - zfuw(ji,jk+1) ) / ( e1e2u(ji,jj) * fse3u(ji,jj,jk) ) 406 va(ji,jj,jk) = va(ji,jj,jk) + ( zfvw(ji,jk) - zfvw(ji,jk+1) ) / ( e1e2v(ji,jj) * fse3v(ji,jj,jk) ) 423 407 END DO 424 408 END DO … … 432 416 END SUBROUTINE dyn_ldf_iso 433 417 434 # else435 !!----------------------------------------------------------------------436 !! Dummy module NO rotation of mixing tensor437 !!----------------------------------------------------------------------438 CONTAINS439 SUBROUTINE dyn_ldf_iso( kt ) ! Empty routine440 INTEGER, INTENT(in) :: kt441 WRITE(*,*) 'dyn_ldf_iso: You should not have seen this print! error?', kt442 END SUBROUTINE dyn_ldf_iso443 #endif444 445 418 !!====================================================================== 446 419 END MODULE dynldf_iso
Note: See TracChangeset
for help on using the changeset viewer.