Changeset 4401
- Timestamp:
- 2014-02-04T13:11:35+01:00 (10 years ago)
- Location:
- branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90
r3432 r4401 130 130 END IF 131 131 ! 132 zwi(:,:, :) = 0.e0132 zwi(:,:,1:jpkf) = 0.e0 133 133 ! 134 134 ! ! =========== … … 137 137 ! 1. Bottom value : flux set to zero 138 138 ! ---------------------------------- 139 zwx(:,:,jpk) = 0.e0 ; zwz(:,:,jpk) = 0.e0 140 zwy(:,:,jpk) = 0.e0 ; zwi(:,:,jpk) = 0.e0 139 ! ARPDBG: FINISS was using jpk correct here given that it can be 140 ! below the ocean floor?? 141 zwx(:,:,jpkf) = 0.e0 ; zwz(:,:,jpkf) = 0.e0 142 zwy(:,:,jpkf) = 0.e0 ; zwi(:,:,jpkf) = 0.e0 141 143 142 144 ! 2. upstream advection with initial mass fluxes & intermediate update … … 147 149 DO jj = 1, jpjm1 148 150 DO ji = 1, jpim1 149 DO jk = 1, jpk m1150 #else 151 DO jk = 1, jpk m1151 DO jk = 1, jpkfm1 152 #else 153 DO jk = 1, jpkfm1 152 154 DO jj = 1, jpjm1 153 155 DO ji = 1, fs_jpim1 ! vector opt. … … 175 177 DO jj = 1, jpj 176 178 DO ji = 1, jpi 177 DO jk = 2, jpk m1178 #else 179 DO jk = 2, jpk m1179 DO jk = 2, jpkfm1 180 #else 181 DO jk = 2, jpkfm1 180 182 DO jj = 1, jpj 181 183 DO ji = 1, jpi … … 194 196 DO jj = 2, jpjm1 195 197 DO ji = 2, jpim1 196 DO jk = 1, jpk m1198 DO jk = 1, jpkfm1 197 199 z2dtt = p2dt(jk) 198 200 #else 199 DO jk = 1, jpk m1201 DO jk = 1, jpkfm1 200 202 z2dtt = p2dt(jk) 201 203 DO jj = 2, jpjm1 … … 223 225 IF( l_trd ) THEN 224 226 ! store intermediate advective trends 225 ztrdx(:,:, :) = zwx(:,:,:) ; ztrdy(:,:,:) = zwy(:,:,:) ; ztrdz(:,:,:) = zwz(:,:,:)227 ztrdx(:,:,1:jpkf) = zwx(:,:,1:jpkf) ; ztrdy(:,:,1:jpkf) = zwy(:,:,1:jpkf) ; ztrdz(:,:,1:jpkf) = zwz(:,:,1:jpkf) 226 228 END IF 227 229 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) … … 238 240 DO jj = 1, jpjm1 239 241 DO ji = 1, jpim1 240 DO jk = 1, jpk m1241 #else 242 DO jk = 1, jpk m1242 DO jk = 1, jpkfm1 243 #else 244 DO jk = 1, jpkfm1 243 245 DO jj = 1, jpjm1 244 246 DO ji = 1, fs_jpim1 ! vector opt. … … 257 259 DO ji = 1, jpi 258 260 zwz(ji,jj,1) = 0.e0 ! Surface value 259 DO jk = 2, jpk m1261 DO jk = 2, jpkfm1 260 262 #else 261 263 zwz(:,:,1) = 0.e0 ! Surface value 262 264 ! 263 DO jk = 2, jpk m1 ! Interior value265 DO jk = 2, jpkfm1 ! Interior value 264 266 DO jj = 1, jpj 265 267 DO ji = 1, jpi … … 289 291 DO jj = 2, jpjm1 290 292 DO ji = 2, jpim1 291 DO jk = 1, jpk m1292 #else 293 DO jk = 1, jpk m1293 DO jk = 1, jpkfm1 294 #else 295 DO jk = 1, jpkfm1 294 296 DO jj = 2, jpjm1 295 297 DO ji = fs_2, fs_jpim1 ! vector opt. … … 390 392 zbig = 1.e+40_wp 391 393 zrtrn = 1.e-15_wp 392 zbetup(:,:,jpk ) = 0._wp ; zbetdo(:,:,jpk) = 0._wp394 zbetup(:,:,jpkf) = 0._wp ; zbetdo(:,:,jpkf) = 0._wp 393 395 394 396 … … 404 406 DO jj = 2, jpjm1 405 407 DO ji = 2, jpim1 406 DO jk = 1, jpk m1408 DO jk = 1, jpkfm1 407 409 ikm1 = MAX(jk-1,1) 408 410 z2dtt = p2dt(jk) 409 411 #else 410 DO jk = 1, jpk m1412 DO jk = 1, jpkfm1 411 413 ikm1 = MAX(jk-1,1) 412 414 z2dtt = p2dt(jk) … … 455 457 DO jj = 2, jpjm1 456 458 DO ji = 2, jpim1 457 DO jk = 1, jpk m1458 #else 459 DO jk = 1, jpk m1459 DO jk = 1, jpkfm1 460 #else 461 DO jk = 1, jpkfm1 460 462 DO jj = 2, jpjm1 461 463 DO ji = fs_2, fs_jpim1 ! vector opt. -
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
r3837 r4401 168 168 !! I - masked horizontal derivative 169 169 !!---------------------------------------------------------------------- 170 CALL timing_start('traldf_iso_I')170 !CALL timing_start('traldf_iso_I') 171 171 !!bug ajout.... why? ( 1,jpj,:) and (jpi,1,:) should be sufficient.... 172 172 #if defined key_z_first 173 173 DO jj=1,jpj,1 174 DO jk=1,jpk ,1174 DO jk=1,jpkf,1 175 175 zdit(1 ,jj,jk) = 0.0_wp 176 176 zdit(jpi,jj,jk) = 0.0_wp … … 180 180 END DO 181 181 #else 182 zdit (1,:, :) = 0.e0 ; zdit (jpi,:,:) = 0.e0183 zdjt (1,:, :) = 0.e0 ; zdjt (jpi,:,:) = 0.e0182 zdit (1,:,1:jpkf) = 0.e0 ; zdit (jpi,:,1:jpkf) = 0.e0 183 zdjt (1,:,1:jpkf) = 0.e0 ; zdjt (jpi,:,1:jpkf) = 0.e0 184 184 #endif 185 185 !!end … … 189 189 DO jj = 1, jpjm1 190 190 DO ji = 1, jpim1 191 DO jk = 1, jpk m1192 #else 193 DO jk = 1, jpk m1191 DO jk = 1, jpkfm1 ! jpkm1 192 #else 193 DO jk = 1, jpkfm1 ! jpkm1 194 194 DO jj = 1, jpjm1 195 195 DO ji = 1, fs_jpim1 ! vector opt. … … 209 209 ENDIF 210 210 ! 211 CALL timing_stop('traldf_iso_I','section')211 !CALL timing_stop('traldf_iso_I','section') 212 212 213 213 !!---------------------------------------------------------------------- 214 214 !! II - horizontal trend (full) 215 215 !!---------------------------------------------------------------------- 216 CALL timing_start('traldf_iso_II')216 !CALL timing_start('traldf_iso_II') 217 217 #if defined key_z_first 218 218 ! 1. Vertical tracer gradient at level jk and jk+1 … … 257 257 DO jj = 2 , jpjm1 258 258 DO ji = 2, jpim1 259 DO jk = 1, jpk m1259 DO jk = 1, jpkfm1 ! jpkm1 260 260 261 261 ! 1. Vertical tracer gradient at level jk and jk+1 … … 325 325 !CDIR PARALLEL DO PRIVATE( zdk1t ) 326 326 ! ! =============== 327 DO jk = 1, jpk m1! Horizontal slab327 DO jk = 1, jpkfm1 ! jpkm1 ! Horizontal slab 328 328 ! ! =============== 329 329 ! 1. Vertical tracer gradient at level jk and jk+1 … … 392 392 DO jj = 2, jpjm1 393 393 DO ji = 2, jpim1 394 DO jk = 1, jpk m1395 #else 396 DO jk = 1, jpk m1394 DO jk = 1, jpkfm1 ! jpkm1 395 #else 396 DO jk = 1, jpkfm1 ! jpkm1 397 397 DO jj = 2, jpjm1 398 398 DO ji = fs_2, fs_jpim1 ! vector opt. … … 409 409 DO jj = 2, jpjm1 410 410 DO ji = 2, jpim1 411 DO jk = 1, jpk m1412 #else 413 DO jk = 1, jpk m1411 DO jk = 1, jpkfm1 ! jpkm1 412 #else 413 DO jk = 1, jpkfm1 ! jpkm1 414 414 DO jj = 2, jpjm1 415 415 DO ji = fs_2, fs_jpim1 ! vector opt. … … 424 424 END IF 425 425 #endif 426 CALL timing_stop('traldf_iso_II','section')427 428 !!-------------------------------------------------------------------- --426 !CALL timing_stop('traldf_iso_II','section') 427 428 !!-------------------------------------------------------------------- 429 429 !! III - vertical trend of T & S (extra diagonal terms only) 430 !!-------------------------------------------------------------------- --431 CALL timing_start('traldf_iso_III')430 !!-------------------------------------------------------------------- 431 !CALL timing_start('traldf_iso_III') 432 432 433 433 ! Local constant initialization … … 435 435 #if defined key_z_first 436 436 DO jj=1,jpj,1 437 DO jk=1,jpk ,1437 DO jk=1,jpkf,1 438 438 ztfw(1 ,jj,jk) = 0.0_wp 439 439 ztfw(jpi,jj,jk) = 0.0_wp … … 441 441 END DO 442 442 #else 443 ztfw(1,:, :) = 0.e0 ; ztfw(jpi,:,:) = 0.e0443 ztfw(1,:,1:jpkf) = 0.e0 ; ztfw(jpi,:,1:jpkf) = 0.e0 444 444 #endif 445 445 ! Vertical fluxes … … 451 451 DO jj=1,jpj,1 452 452 ztfw(ji,jj,1 ) = 0.0_wp 453 ztfw(ji,jj,jpk) = 0.0_wp 454 END DO 455 END DO 456 #else 457 ztfw(:,:, 1 ) = 0.e0 ; ztfw(:,:,jpk) = 0.e0 453 ztfw(ji,jj,jpkf) = 0.0_wp ! ARPDBG - should this be jpk anyway 454 ! since may be below ocean floor? 455 END DO 456 END DO 457 #else 458 ztfw(:,:, 1 ) = 0.e0 ; ztfw(:,:,jpkf) = 0.e0 458 459 #endif 459 460 … … 462 463 DO jj = 2, jpjm1 463 464 DO ji = 2, jpim1 464 DO jk = 2, jpk m1465 #else 466 DO jk = 2, jpk m1465 DO jk = 2, jpkfm1 466 #else 467 DO jk = 2, jpkfm1 467 468 DO jj = 2, jpjm1 468 469 DO ji = fs_2, fs_jpim1 ! vector opt. … … 492 493 DO jj = 2, jpjm1 493 494 DO ji = 2, jpim1 494 DO jk = 1, jpk m1495 #else 496 DO jk = 1, jpk m1495 DO jk = 1, jpkfm1 496 #else 497 DO jk = 1, jpkfm1 497 498 DO jj = 2, jpjm1 498 499 DO ji = fs_2, fs_jpim1 ! vector opt. … … 506 507 ! 507 508 508 CALL timing_stop('traldf_iso_III','section')509 !CALL timing_stop('traldf_iso_III','section') 509 510 510 511 END DO
Note: See TracChangeset
for help on using the changeset viewer.