Changeset 13295 for NEMO/trunk/src/ICE/icedyn_rhg_evp.F90
- Timestamp:
- 2020-07-10T20:24:21+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/icedyn_rhg_evp.F90
r13286 r13295 181 181 !------------------------------------------------------------------------------! 182 182 ! ocean/land mask 183 DO_2D _10_10183 DO_2D( 1, 0, 1, 0 ) 184 184 zfmask(ji,jj) = tmask(ji,jj,1) * tmask(ji+1,jj,1) * tmask(ji,jj+1,1) * tmask(ji+1,jj+1,1) 185 185 END_2D … … 188 188 ! Lateral boundary conditions on velocity (modify zfmask) 189 189 zwf(:,:) = zfmask(:,:) 190 DO_2D _00_00190 DO_2D( 0, 0, 0, 0 ) 191 191 IF( zfmask(ji,jj) == 0._wp ) THEN 192 192 zfmask(ji,jj) = rn_ishlat * MIN( 1._wp , MAX( zwf(ji+1,jj), zwf(ji,jj+1), zwf(ji-1,jj), zwf(ji,jj-1) ) ) … … 254 254 zsshdyn(:,:) = ice_var_sshdyn( ssh_m, snwice_mass, snwice_mass_b) 255 255 256 DO_2D _00_00256 DO_2D( 0, 0, 0, 0 ) 257 257 258 258 ! ice fraction at U-V points … … 305 305 ! 306 306 IF( ln_landfast_L16 ) THEN !-- Lemieux 2016 307 DO_2D _00_00307 DO_2D( 0, 0, 0, 0 ) 308 308 ! ice thickness at U-V points 309 309 zvU = 0.5_wp * ( vt_i(ji,jj) * e1e2t(ji,jj) + vt_i(ji+1,jj) * e1e2t(ji+1,jj) ) * r1_e1e2u(ji,jj) * umask(ji,jj,1) … … 322 322 ! 323 323 ELSE !-- no landfast 324 DO_2D _00_00324 DO_2D( 0, 0, 0, 0 ) 325 325 ztaux_base(ji,jj) = 0._wp 326 326 ztauy_base(ji,jj) = 0._wp … … 345 345 346 346 ! --- divergence, tension & shear (Appendix B of Hunke & Dukowicz, 2002) --- ! 347 DO_2D _10_10347 DO_2D( 1, 0, 1, 0 ) 348 348 349 349 ! shear at F points … … 355 355 CALL lbc_lnk( 'icedyn_rhg_evp', zds, 'F', 1.0_wp ) 356 356 357 DO_2D _01_01357 DO_2D( 0, 1, 0, 1 ) 358 358 359 359 ! shear**2 at T points (doc eq. A16) … … 397 397 CALL lbc_lnk( 'icedyn_rhg_evp', zp_delt, 'T', 1.0_wp ) 398 398 399 DO_2D _10_10399 DO_2D( 1, 0, 1, 0 ) 400 400 401 401 ! alpha & beta for aEVP … … 415 415 416 416 ! --- Ice internal stresses (Appendix C of Hunke and Dukowicz, 2002) --- ! 417 DO_2D _00_00417 DO_2D( 0, 0, 0, 0 ) 418 418 ! !--- U points 419 419 zfU(ji,jj) = 0.5_wp * ( ( zs1(ji+1,jj) - zs1(ji,jj) ) * e2u(ji,jj) & … … 443 443 IF( MOD(jter,2) == 0 ) THEN ! even iterations 444 444 ! 445 DO_2D _00_00445 DO_2D( 0, 0, 0, 0 ) 446 446 ! !--- tau_io/(v_oce - v_ice) 447 447 zTauO = zaV(ji,jj) * zrhoco * SQRT( ( v_ice (ji,jj) - v_oce (ji,jj) ) * ( v_ice (ji,jj) - v_oce (ji,jj) ) & … … 492 492 IF( ln_bdy ) CALL bdy_ice_dyn( 'V' ) 493 493 ! 494 DO_2D _00_00494 DO_2D( 0, 0, 0, 0 ) 495 495 ! !--- tau_io/(u_oce - u_ice) 496 496 zTauO = zaU(ji,jj) * zrhoco * SQRT( ( u_ice (ji,jj) - u_oce (ji,jj) ) * ( u_ice (ji,jj) - u_oce (ji,jj) ) & … … 543 543 ELSE ! odd iterations 544 544 ! 545 DO_2D _00_00545 DO_2D( 0, 0, 0, 0 ) 546 546 ! !--- tau_io/(u_oce - u_ice) 547 547 zTauO = zaU(ji,jj) * zrhoco * SQRT( ( u_ice (ji,jj) - u_oce (ji,jj) ) * ( u_ice (ji,jj) - u_oce (ji,jj) ) & … … 592 592 IF( ln_bdy ) CALL bdy_ice_dyn( 'U' ) 593 593 ! 594 DO_2D _00_00594 DO_2D( 0, 0, 0, 0 ) 595 595 ! !--- tau_io/(v_oce - v_ice) 596 596 zTauO = zaV(ji,jj) * zrhoco * SQRT( ( v_ice (ji,jj) - v_oce (ji,jj) ) * ( v_ice (ji,jj) - v_oce (ji,jj) ) & … … 658 658 ! 4) Recompute delta, shear and div (inputs for mechanical redistribution) 659 659 !------------------------------------------------------------------------------! 660 DO_2D _10_10660 DO_2D( 1, 0, 1, 0 ) 661 661 662 662 ! shear at F points … … 667 667 END_2D 668 668 669 DO_2D _00_00669 DO_2D( 0, 0, 0, 0 ) 670 670 671 671 ! tension**2 at T points … … 706 706 ! 5) diagnostics 707 707 !------------------------------------------------------------------------------! 708 DO_2D _11_11708 DO_2D( 1, 1, 1, 1 ) 709 709 zmsk00(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) ) ! 1 if ice, 0 if no ice 710 710 END_2D … … 735 735 ALLOCATE( zsig1(jpi,jpj) , zsig2(jpi,jpj) , zsig3(jpi,jpj) ) 736 736 ! 737 DO_2D _00_00737 DO_2D( 0, 0, 0, 0 ) 738 738 zdum1 = ( zmsk00(ji-1,jj) * pstress12_i(ji-1,jj) + zmsk00(ji ,jj-1) * pstress12_i(ji ,jj-1) + & ! stress12_i at T-point 739 739 & zmsk00(ji ,jj) * pstress12_i(ji ,jj) + zmsk00(ji-1,jj-1) * pstress12_i(ji-1,jj-1) ) & … … 786 786 & zdiag_xmtrp_snw(jpi,jpj) , zdiag_ymtrp_snw(jpi,jpj) , zdiag_xatrp(jpi,jpj) , zdiag_yatrp(jpi,jpj) ) 787 787 ! 788 DO_2D _00_00788 DO_2D( 0, 0, 0, 0 ) 789 789 ! 2D ice mass, snow mass, area transport arrays (X, Y) 790 790 zfac_x = 0.5 * u_ice(ji,jj) * e2u(ji,jj) * zmsk00(ji,jj)
Note: See TracChangeset
for help on using the changeset viewer.