Changeset 13497 for NEMO/trunk/src/ICE
- Timestamp:
- 2020-09-21T14:37:46+02:00 (4 years ago)
- Location:
- NEMO/trunk/src/ICE
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/icecor.F90
r13472 r13497 105 105 ! !----------------------------------------------------- 106 106 IF( kn == 2 ) THEN ! Ice drift case: Corrections to avoid wrong values ! 107 DO_2D( 0, 0, 0, 0 ) 107 DO_2D( 0, 0, 0, 0 ) !----------------------------------------------------- 108 108 IF ( at_i(ji,jj) == 0._wp ) THEN ! what to do if there is no ice 109 109 IF ( at_i(ji+1,jj) == 0._wp ) u_ice(ji ,jj) = 0._wp ! right side -
NEMO/trunk/src/ICE/icedyn_adv_pra.F90
r13472 r13497 383 383 384 384 ! Calculate fluxes and moments between boxes i<-->i+1 385 DO_2D( 0, 0, 1, 1 ) 385 DO_2D( 0, 0, 1, 1 ) ! Flux from i to i+1 WHEN u GT 0 386 386 zbet(ji,jj) = MAX( 0._wp, SIGN( 1._wp, put(ji,jj) ) ) 387 387 zalf = MAX( 0._wp, put(ji,jj) ) * pdt / psm(ji,jj,jl) … … 408 408 END_2D 409 409 410 DO_2D( 0, 0, 1, 0 ) 410 DO_2D( 0, 0, 1, 0 ) ! Flux from i+1 to i when u LT 0. 411 411 zalf = MAX( 0._wp, -put(ji,jj) ) * pdt / psm(ji+1,jj,jl) 412 412 zalg (ji,jj) = zalf … … 427 427 END_2D 428 428 429 DO_2D( 0, 0, 0, 0 ) 429 DO_2D( 0, 0, 0, 0 ) ! Readjust moments remaining in the box. 430 430 zbt = zbet(ji-1,jj) 431 431 zbt1 = 1.0 - zbet(ji-1,jj) … … 441 441 442 442 ! Put the temporary moments into appropriate neighboring boxes. 443 DO_2D( 0, 0, 0, 0 ) 443 DO_2D( 0, 0, 0, 0 ) ! Flux from i to i+1 IF u GT 0. 444 444 zbt = zbet(ji-1,jj) 445 445 zbt1 = 1.0 - zbet(ji-1,jj) … … 461 461 END_2D 462 462 463 DO_2D( 0, 0, 0, 0 ) 463 DO_2D( 0, 0, 0, 0 ) ! Flux from i+1 to i IF u LT 0. 464 464 zbt = zbet(ji,jj) 465 465 zbt1 = 1.0 - zbet(ji,jj) … … 540 540 541 541 ! Calculate fluxes and moments between boxes j<-->j+1 542 DO_2D( 1, 1, 0, 0 ) 542 DO_2D( 1, 1, 0, 0 ) ! Flux from j to j+1 WHEN v GT 0 543 543 zbet(ji,jj) = MAX( 0._wp, SIGN( 1._wp, pvt(ji,jj) ) ) 544 544 zalf = MAX( 0._wp, pvt(ji,jj) ) * pdt / psm(ji,jj,jl) … … 565 565 END_2D 566 566 ! 567 DO_2D( 1, 0, 0, 0 ) 567 DO_2D( 1, 0, 0, 0 ) ! Flux from j+1 to j when v LT 0. 568 568 zalf = MAX( 0._wp, -pvt(ji,jj) ) * pdt / psm(ji,jj+1,jl) 569 569 zalg (ji,jj) = zalf … … 599 599 600 600 ! Put the temporary moments into appropriate neighboring boxes. 601 DO_2D( 0, 0, 0, 0 ) 601 DO_2D( 0, 0, 0, 0 ) ! Flux from j to j+1 IF v GT 0. 602 602 zbt = zbet(ji,jj-1) 603 603 zbt1 = 1.0 - zbet(ji,jj-1) … … 620 620 END_2D 621 621 622 DO_2D( 0, 0, 0, 0 ) 622 DO_2D( 0, 0, 0, 0 ) ! Flux from j+1 to j IF v LT 0. 623 623 zbt = zbet(ji,jj) 624 624 zbt1 = 1.0 - zbet(ji,jj) -
NEMO/trunk/src/ICE/icedyn_adv_umx.F90
r13472 r13497 1006 1006 ! !-- Laplacian in j-direction --! 1007 1007 DO jl = 1, jpl 1008 DO_2D( 1, 0, 0, 0 ) 1008 DO_2D( 1, 0, 0, 0 ) ! First derivative (gradient) 1009 1009 ztv1(ji,jj,jl) = ( pt(ji,jj+1,jl) - pt(ji,jj,jl) ) * r1_e2v(ji,jj) * vmask(ji,jj,1) 1010 1010 END_2D 1011 DO_2D( 0, 0, 0, 0 ) 1011 DO_2D( 0, 0, 0, 0 ) ! Second derivative (Laplacian) 1012 1012 ztv2(ji,jj,jl) = ( ztv1(ji,jj,jl) - ztv1(ji,jj-1,jl) ) * r1_e2t(ji,jj) 1013 1013 END_2D … … 1017 1017 ! !-- BiLaplacian in j-direction --! 1018 1018 DO jl = 1, jpl 1019 DO_2D( 1, 0, 0, 0 ) 1019 DO_2D( 1, 0, 0, 0 ) ! First derivative 1020 1020 ztv3(ji,jj,jl) = ( ztv2(ji,jj+1,jl) - ztv2(ji,jj,jl) ) * r1_e2v(ji,jj) * vmask(ji,jj,1) 1021 1021 END_2D 1022 DO_2D( 0, 0, 0, 0 ) 1022 DO_2D( 0, 0, 0, 0 ) ! Second derivative 1023 1023 ztv4(ji,jj,jl) = ( ztv3(ji,jj,jl) - ztv3(ji,jj-1,jl) ) * r1_e2t(ji,jj) 1024 1024 END_2D -
NEMO/trunk/src/ICE/icedyn_rhg_evp.F90
r13472 r13497 370 370 CALL lbc_lnk( 'icedyn_rhg_evp', zds, 'F', 1.0_wp ) 371 371 372 DO_2D( 0, 1, 0, 1 ) 372 DO_2D( 0, 1, 0, 1 ) ! loop to jpi,jpj to avoid making a communication for zs1,zs2,zs12 ! no vector loop 373 373 374 374 ! shear**2 at T points (doc eq. A16) … … 704 704 END_2D 705 705 706 DO_2D( 0, 0, 0, 0 ) 706 DO_2D( 0, 0, 0, 0 ) ! no vector loop 707 707 708 708 ! tension**2 at T points -
NEMO/trunk/src/ICE/iceupdate.F90
r13472 r13497 332 332 ! 333 333 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN !== Ice time-step only ==! (i.e. surface module time-step) 334 DO_2D( 0, 0, 0, 0 ) 334 DO_2D( 0, 0, 0, 0 ) !* update the modulus of stress at ocean surface (T-point) 335 335 ! ! 2*(U_ice-U_oce) at T-point 336 336 zu_t = u_ice(ji,jj) + u_ice(ji-1,jj) - u_oce(ji,jj) - u_oce(ji-1,jj) … … 358 358 ENDIF 359 359 ! 360 DO_2D( 0, 0, 0, 0 ) 360 DO_2D( 0, 0, 0, 0 ) !* update the stress WITHOUT an ice-ocean rotation angle 361 361 ! ice area at u and v-points 362 362 zat_u = ( at_i(ji,jj) * tmask(ji,jj,1) + at_i (ji+1,jj ) * tmask(ji+1,jj ,1) ) &
Note: See TracChangeset
for help on using the changeset viewer.