- Timestamp:
- 2021-03-09T09:37:00+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/ZDF/zdftke.F90
r14072 r14601 241 241 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 242 242 ! 243 DO_2D( 0, 0, 0, 0 ) 243 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 244 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 244 245 en(ji,jj,1) = MAX( rn_emin0, zbbrau * taum(ji,jj) ) 245 246 zdiag(ji,jj,1) = 1._wp/en(ji,jj,1) … … 258 259 IF( .NOT.ln_drg_OFF ) THEN !== friction used as top/bottom boundary condition on TKE 259 260 ! 260 DO_2D( 0, 0, 0, 0 ) ! bottom friction 261 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) ! bottom friction 262 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! bottom friction 261 263 zmsku = ( 2. - umask(ji-1,jj,mbkt(ji,jj)) * umask(ji,jj,mbkt(ji,jj)) ) 262 264 zmskv = ( 2. - vmask(ji,jj-1,mbkt(ji,jj)) * vmask(ji,jj,mbkt(ji,jj)) ) … … 267 269 END_2D 268 270 IF( ln_isfcav ) THEN 269 DO_2D( 0, 0, 0, 0 ) ! top friction 271 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) ! top friction 272 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! top friction 270 273 zmsku = ( 2. - umask(ji-1,jj,mikt(ji,jj)) * umask(ji,jj,mikt(ji,jj)) ) 271 274 zmskv = ( 2. - vmask(ji,jj-1,mikt(ji,jj)) * vmask(ji,jj,mikt(ji,jj)) ) … … 294 297 !!gm ! PS: currently we don't have neither the 2 stress components at t-point !nor the angle between u* and u_s 295 298 !!gm ! so we will overestimate the LC velocity.... !!gm I will do the work if !LC have an effect ! 296 DO_2D( 0, 0, 0, 0 ) 299 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 300 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 297 301 !!XC zWlc2(ji,jj) = 0.5_wp * SQRT( taum(ji,jj) * r1_rho0 * ( ut0sd(ji,jj)**2 +vt0sd(ji,jj)**2 ) ) 298 302 zWlc2(ji,jj) = 0.5_wp * ( ut0sd(ji,jj)**2 +vt0sd(ji,jj)**2 ) … … 301 305 ! Projection of Stokes drift in the wind stress direction 302 306 ! 303 DO_2D( 0, 0, 0, 0 ) 307 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 308 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 304 309 ztaui = 0.5_wp * ( utau(ji,jj) + utau(ji-1,jj) ) 305 310 ztauj = 0.5_wp * ( vtau(ji,jj) + vtau(ji,jj-1) ) … … 307 312 zWlc2(ji,jj) = 0.5_wp * z1_norm * ( MAX( ut0sd(ji,jj)*ztaui + vt0sd(ji,jj)*ztauj, 0._wp ) )**2 308 313 END_2D 309 CALL lbc_lnk ( 'zdftke', zWlc2, 'T', 1. ) 314 ! [comm_cleanup] 315 IF (nn_hls.eq.1) CALL lbc_lnk ( 'zdftke', zWlc2, 'T', 1. ) 310 316 ! 311 317 ELSE ! Surface Stokes drift deduced from surface stress … … 315 321 ! ! 1/2 Wlc^2 = 0.5 * 0.016 * 0.016 |tau| /( rho_air Cdrag ) 316 322 zcof = 0.5 * 0.016 * 0.016 / ( zrhoa * zcdrag ) ! to convert stress in 10m wind using a constant drag 317 DO_2D( 1, 1, 1, 1 ) 323 ! [comm_cleanup] ! DO_2D( 1, 1, 1, 1 ) 324 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 318 325 zWlc2(ji,jj) = zcof * taum(ji,jj) 319 326 END_2D … … 331 338 ! !- compare LHS to RHS of Eq.47 332 339 imlc(:,:) = mbkt(:,:) + 1 ! Initialization to the number of w ocean point (=2 over land) 333 DO_3DS( 1, 1, 1, 1, jpkm1, 2, -1 ) 340 ! [comm_cleanup] ! DO_3DS( 1, 1, 1, 1, jpkm1, 2, -1 ) 341 DO_3DS( nn_hls, nn_hls, nn_hls, nn_hls, jpkm1, 2, -1 ) 334 342 IF( zpelc(ji,jj,jk) > zWlc2(ji,jj) ) imlc(ji,jj) = jk 335 343 END_3D 336 344 ! ! finite LC depth 337 DO_2D( 1, 1, 1, 1 ) 345 ! [comm_cleanup] ! DO_2D( 1, 1, 1, 1 ) 346 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 338 347 zhlc(ji,jj) = gdepw(ji,jj,imlc(ji,jj),Kmm) 339 348 END_2D 340 349 ! 341 350 zcof = 0.016 / SQRT( zrhoa * zcdrag ) 342 DO_2D( 0, 0, 0, 0 ) 351 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 352 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 343 353 zus = SQRT( 2. * zWlc2(ji,jj) ) ! Stokes drift 344 354 zus3(ji,jj) = MAX( 0._wp, 1._wp - zice_fra(ji,jj) ) * zus * zus * zus * tmask(ji,jj,1) ! zus > 0. ok 345 355 END_2D 346 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) !* TKE Langmuir circulation source term added to en 356 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) !* TKE Langmuir circulation source term added to en 357 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) !* TKE Langmuir circulation source term added to en 347 358 IF ( zus3(ji,jj) /= 0._wp ) THEN 348 359 IF ( gdepw(ji,jj,jk,Kmm) - zhlc(ji,jj) < 0 .AND. wmask(ji,jj,jk) /= 0. ) THEN … … 365 376 ! 366 377 IF( nn_pdl == 1 ) THEN !* Prandtl number = F( Ri ) 367 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 378 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 379 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 368 380 ! ! local Richardson number 369 381 IF (rn2b(ji,jj,jk) <= 0.0_wp) then … … 377 389 ENDIF 378 390 ! 379 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) !* Matrix and right hand side in en 391 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) !* Matrix and right hand side in en 392 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) !* Matrix and right hand side in en 380 393 zcof = zfact1 * tmask(ji,jj,jk) 381 394 ! ! A minimum of 2.e-5 m2/s is imposed on TKE vertical … … 406 419 407 420 CASE ( 0 ) ! Dirichlet BC 408 DO_2D( 0, 0, 0, 0 ) ! en(1) = rn_ebb taum / rho0 (min value rn_emin0) 421 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) ! en(1) = rn_ebb taum / rho0 (min value rn_emin0) 422 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! en(1) = rn_ebb taum / rho0 (min value rn_emin0) 409 423 IF ( phioc(ji,jj) < 0 ) phioc(ji,jj) = 0._wp 410 424 en(ji,jj,1) = MAX( rn_emin0, .5 * ( 15.8 * phioc(ji,jj) / rho0 )**(2./3.) ) * tmask(ji,jj,1) … … 413 427 414 428 CASE ( 1 ) ! Neumann BC 415 DO_2D( 0, 0, 0, 0 ) 429 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 430 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 416 431 IF ( phioc(ji,jj) < 0 ) phioc(ji,jj) = 0._wp 417 432 en(ji,jj,2) = en(ji,jj,2) + ( rn_Dt * phioc(ji,jj) / rho0 ) /e3w(ji,jj,2,Kmm) … … 427 442 ! 428 443 ! !* Matrix inversion from level 2 (tke prescribed at level 1) 429 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 444 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 445 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 430 446 zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 431 447 END_3D … … 434 450 ! zd_lw(ji,jj,2) = en(ji,jj,2) - zd_lw(ji,jj,2) * en(ji,jj,1) ! Surface boudary conditions on tke 435 451 ! END_2D 436 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 452 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 453 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 437 454 zd_lw(ji,jj,jk) = en(ji,jj,jk) - zd_lw(ji,jj,jk) / zdiag(ji,jj,jk-1) *zd_lw(ji,jj,jk-1) 438 455 END_3D 439 DO_2D( 0, 0, 0, 0 ) ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 456 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 457 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 440 458 en(ji,jj,jpkm1) = zd_lw(ji,jj,jpkm1) / zdiag(ji,jj,jpkm1) 441 459 END_2D 442 DO_3DS( 0, 0, 0, 0, jpk-2, 2, -1 ) 460 ! [comm_cleanup] ! DO_3DS( 0, 0, 0, 0, jpk-2, 2, -1 ) 461 DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpk-2, 2, -1 ) 443 462 en(ji,jj,jk) = ( zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) * en(ji,jj,jk+1) ) / zdiag(ji,jj,jk) 444 463 END_3D 445 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! set the minimum value of tke 464 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! set the minimum value of tke 465 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! set the minimum value of tke 446 466 en(ji,jj,jk) = MAX( en(ji,jj,jk), rn_emin ) * wmask(ji,jj,jk) 447 467 END_3D … … 456 476 ! 457 477 IF( nn_etau == 1 ) THEN !* penetration below the mixed layer (rn_efr fraction) 458 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 478 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 479 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 459 480 en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -gdepw(ji,jj,jk,Kmm) / htau(ji,jj) ) & 460 481 & * MAX( 0._wp, 1._wp - zice_fra(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1) 461 482 END_3D 462 483 ELSEIF( nn_etau == 2 ) THEN !* act only at the base of the mixed layer (jk=nmln) (rn_efr fraction) 463 DO_2D( 0, 0, 0, 0 ) 484 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 485 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 464 486 jk = nmln(ji,jj) 465 487 en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -gdepw(ji,jj,jk,Kmm) / htau(ji,jj) ) & … … 467 489 END_2D 468 490 ELSEIF( nn_etau == 3 ) THEN !* penetration belox the mixed layer (HF variability) 469 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 491 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 492 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 470 493 ztx2 = utau(ji-1,jj ) + utau(ji,jj) 471 494 zty2 = vtau(ji ,jj-1) + vtau(ji,jj) … … 548 571 zraug = vkarmn * 2.e5_wp / ( rho0 * grav ) 549 572 #if ! defined key_si3 && ! defined key_cice 550 DO_2D( 0, 0, 0, 0 ) ! No sea-ice 573 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) ! No sea-ice 574 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! No sea-ice 551 575 zmxlm(ji,jj,1) = zraug * taum(ji,jj) * tmask(ji,jj,1) 552 576 END_2D … … 555 579 ! 556 580 CASE( 0 ) ! No scaling under sea-ice 557 DO_2D( 0, 0, 0, 0 ) 581 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 582 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 558 583 zmxlm(ji,jj,1) = zraug * taum(ji,jj) * tmask(ji,jj,1) 559 584 END_2D 560 585 ! 561 586 CASE( 1 ) ! scaling with constant sea-ice thickness 562 DO_2D( 0, 0, 0, 0 ) 587 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 588 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 563 589 zmxlm(ji,jj,1) = ( ( 1._wp - fr_i(ji,jj) ) * zraug * taum(ji,jj) + & 564 590 & fr_i(ji,jj) * rn_mxlice ) * tmask(ji,jj,1) … … 566 592 ! 567 593 CASE( 2 ) ! scaling with mean sea-ice thickness 568 DO_2D( 0, 0, 0, 0 ) 594 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 595 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 569 596 #if defined key_si3 570 597 zmxlm(ji,jj,1) = ( ( 1._wp - fr_i(ji,jj) ) * zraug * taum(ji,jj) + & … … 578 605 ! 579 606 CASE( 3 ) ! scaling with max sea-ice thickness 580 DO_2D( 0, 0, 0, 0 ) 607 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 608 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 581 609 zmaxice = MAXVAL( h_i(ji,jj,:) ) 582 610 zmxlm(ji,jj,1) = ( ( 1._wp - fr_i(ji,jj) ) * zraug * taum(ji,jj) + & … … 587 615 #endif 588 616 ! 589 DO_2D( 0, 0, 0, 0 ) 617 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 618 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 590 619 zmxlm(ji,jj,1) = MAX( rn_mxl0, zmxlm(ji,jj,1) ) 591 620 END_2D … … 596 625 ENDIF 597 626 ! 598 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 627 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 628 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 599 629 zrn2 = MAX( rn2(ji,jj,jk), rsmall ) 600 630 zmxlm(ji,jj,jk) = MAX( rmxl_min, SQRT( 2._wp * en(ji,jj,jk) / zrn2 ) ) … … 611 641 ! where wmask = 0 set zmxlm == e3w(:,:,:,Kmm) 612 642 CASE ( 0 ) ! bounded by the distance to surface and bottom 613 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 643 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 644 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 614 645 zemxl = MIN( gdepw(ji,jj,jk,Kmm) - gdepw(ji,jj,mikt(ji,jj),Kmm), zmxlm(ji,jj,jk), & 615 646 & gdepw(ji,jj,mbkt(ji,jj)+1,Kmm) - gdepw(ji,jj,jk,Kmm) ) … … 622 653 ! 623 654 CASE ( 1 ) ! bounded by the vertical scale factor 624 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 655 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 656 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 625 657 zemxl = MIN( e3w(ji,jj,jk,Kmm), zmxlm(ji,jj,jk) ) 626 658 zmxlm(ji,jj,jk) = zemxl … … 629 661 ! 630 662 CASE ( 2 ) ! |dk[xml]| bounded by e3t : 631 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! from the surface to the bottom : 663 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! from the surface to the bottom : 664 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! from the surface to the bottom : 632 665 zmxlm(ji,jj,jk) = & 633 666 & MIN( zmxlm(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) 634 667 END_3D 635 DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 ) ! from the bottom to the surface : 668 ! [comm_cleanup] ! DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 ) ! from the bottom to the surface : 669 DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpkm1, 2, -1 ) ! from the bottom to the surface : 636 670 zemxl = MIN( zmxlm(ji,jj,jk+1) + e3t(ji,jj,jk+1,Kmm), zmxlm(ji,jj,jk) ) 637 671 zmxlm(ji,jj,jk) = zemxl … … 640 674 ! 641 675 CASE ( 3 ) ! lup and ldown, |dk[xml]| bounded by e3t : 642 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! from the surface to the bottom : lup 676 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! from the surface to the bottom : lup 677 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! from the surface to the bottom : lup 643 678 zmxld(ji,jj,jk) = & 644 679 & MIN( zmxld(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) 645 680 END_3D 646 DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 ) ! from the bottom to the surface : ldown 681 ! [comm_cleanup] ! DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 ) ! from the bottom to the surface : ldown 682 DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpkm1, 2, -1 ) ! from the bottom to the surface : ldown 647 683 zmxlm(ji,jj,jk) = & 648 684 & MIN( zmxlm(ji,jj,jk+1) + e3t(ji,jj,jk+1,Kmm), zmxlm(ji,jj,jk) ) 649 685 END_3D 650 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 686 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 687 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 651 688 zemlm = MIN ( zmxld(ji,jj,jk), zmxlm(ji,jj,jk) ) 652 689 zemlp = SQRT( zmxld(ji,jj,jk) * zmxlm(ji,jj,jk) ) … … 660 697 ! ! Vertical eddy viscosity and diffusivity (avm and avt) 661 698 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 662 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) !* vertical eddy viscosity & diffivity at w-points 699 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 1, jpkm1 ) !* vertical eddy viscosity & diffivity at w-points 700 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) !* vertical eddy viscosity & diffivity at w-points 663 701 zsqen = SQRT( en(ji,jj,jk) ) 664 702 zav = rn_ediff * zmxlm(ji,jj,jk) * zsqen … … 670 708 ! 671 709 IF( nn_pdl == 1 ) THEN !* Prandtl number case: update avt 672 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 710 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 711 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 673 712 p_avt(ji,jj,jk) = MAX( apdlr(ji,jj,jk) * p_avt(ji,jj,jk), avtb_2d(ji,jj) * avtb(jk) ) * wmask(ji,jj,jk) 674 713 END_3D
Note: See TracChangeset
for help on using the changeset viewer.