Changeset 13295 for NEMO/trunk/src/ICE/icedyn_adv_pra.F90
- Timestamp:
- 2020-07-10T20:24:21+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/icedyn_adv_pra.F90
r13286 r13295 102 102 ! --- Record max of the surrounding 9-pts ice thick. (for call Hbig) --- ! 103 103 DO jl = 1, jpl 104 DO_2D _00_00104 DO_2D( 0, 0, 0, 0 ) 105 105 zhip_max(ji,jj,jl) = MAX( epsi20, ph_ip(ji,jj,jl), ph_ip(ji+1,jj ,jl), ph_ip(ji ,jj+1,jl), & 106 106 & ph_ip(ji-1,jj ,jl), ph_ip(ji ,jj-1,jl), & … … 250 250 ! derive open water from ice concentration 251 251 zati2(:,:) = SUM( pa_i(:,:,:), dim=3 ) 252 DO_2D _00_00252 DO_2D( 0, 0, 0, 0 ) 253 253 pato_i(ji,jj) = pato_i(ji,jj) - ( zati2(ji,jj) - zati1(ji,jj) ) & !--- open water 254 254 & - ( zudy(ji,jj) - zudy(ji-1,jj) + zvdx(ji,jj) - zvdx(ji,jj-1) ) * r1_e1e2t(ji,jj) * zdt … … 305 305 ! 306 306 ! Limitation of moments. 307 DO_2D _00_11307 DO_2D( 0, 0, 1, 1 ) 308 308 ! Initialize volumes of boxes (=area if adv_x first called, =psm otherwise) 309 309 psm (ji,jj,jl) = MAX( pcrh * e1e2t(ji,jj) + ( 1.0 - pcrh ) * psm(ji,jj,jl) , epsi20 ) … … 325 325 326 326 ! Calculate fluxes and moments between boxes i<-->i+1 327 DO_2D _00_11327 DO_2D( 0, 0, 1, 1 ) 328 328 zbet(ji,jj) = MAX( 0._wp, SIGN( 1._wp, put(ji,jj) ) ) 329 329 zalf = MAX( 0._wp, put(ji,jj) ) * pdt / psm(ji,jj,jl) … … 350 350 END_2D 351 351 352 DO_2D _00_10352 DO_2D( 0, 0, 1, 0 ) 353 353 zalf = MAX( 0._wp, -put(ji,jj) ) * pdt / psm(ji+1,jj,jl) 354 354 zalg (ji,jj) = zalf … … 369 369 END_2D 370 370 371 DO_2D _00_00371 DO_2D( 0, 0, 0, 0 ) 372 372 zbt = zbet(ji-1,jj) 373 373 zbt1 = 1.0 - zbet(ji-1,jj) … … 383 383 384 384 ! Put the temporary moments into appropriate neighboring boxes. 385 DO_2D _00_00385 DO_2D( 0, 0, 0, 0 ) 386 386 zbt = zbet(ji-1,jj) 387 387 zbt1 = 1.0 - zbet(ji-1,jj) … … 403 403 END_2D 404 404 405 DO_2D _00_00405 DO_2D( 0, 0, 0, 0 ) 406 406 zbt = zbet(ji,jj) 407 407 zbt1 = 1.0 - zbet(ji,jj) … … 462 462 ! 463 463 ! Limitation of moments. 464 DO_2D _11_00464 DO_2D( 1, 1, 0, 0 ) 465 465 ! Initialize volumes of boxes (=area if adv_x first called, =psm otherwise) 466 466 psm(ji,jj,jl) = MAX( pcrh * e1e2t(ji,jj) + ( 1.0 - pcrh ) * psm(ji,jj,jl) , epsi20 ) … … 482 482 483 483 ! Calculate fluxes and moments between boxes j<-->j+1 484 DO_2D _11_00484 DO_2D( 1, 1, 0, 0 ) 485 485 zbet(ji,jj) = MAX( 0._wp, SIGN( 1._wp, pvt(ji,jj) ) ) 486 486 zalf = MAX( 0._wp, pvt(ji,jj) ) * pdt / psm(ji,jj,jl) … … 507 507 END_2D 508 508 ! 509 DO_2D _10_00509 DO_2D( 1, 0, 0, 0 ) 510 510 zalf = MAX( 0._wp, -pvt(ji,jj) ) * pdt / psm(ji,jj+1,jl) 511 511 zalg (ji,jj) = zalf … … 527 527 528 528 ! Readjust moments remaining in the box. 529 DO_2D _00_00529 DO_2D( 0, 0, 0, 0 ) 530 530 zbt = zbet(ji,jj-1) 531 531 zbt1 = ( 1.0 - zbet(ji,jj-1) ) … … 541 541 542 542 ! Put the temporary moments into appropriate neighboring boxes. 543 DO_2D _00_00543 DO_2D( 0, 0, 0, 0 ) 544 544 zbt = zbet(ji,jj-1) 545 545 zbt1 = 1.0 - zbet(ji,jj-1) … … 562 562 END_2D 563 563 564 DO_2D _00_00564 DO_2D( 0, 0, 0, 0 ) 565 565 zbt = zbet(ji,jj) 566 566 zbt1 = 1.0 - zbet(ji,jj) … … 618 618 DO jl = 1, jpl 619 619 620 DO_2D _11_11620 DO_2D( 1, 1, 1, 1 ) 621 621 IF ( pv_i(ji,jj,jl) > 0._wp ) THEN 622 622 ! … … 684 684 ! -- check snow load -- ! 685 685 DO jl = 1, jpl 686 DO_2D _11_11686 DO_2D( 1, 1, 1, 1 ) 687 687 IF ( pv_i(ji,jj,jl) > 0._wp ) THEN 688 688 !
Note: See TracChangeset
for help on using the changeset viewer.