Changeset 10425 for NEMO/trunk/src/ICE/icedyn_rhg_evp.F90
- Timestamp:
- 2018-12-19T22:54:16+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/icedyn_rhg_evp.F90
r10415 r10425 146 146 REAL(wp), DIMENSION(jpi,jpj) :: zds ! shear 147 147 REAL(wp), DIMENSION(jpi,jpj) :: zs1, zs2, zs12 ! stress tensor components 148 REAL(wp), DIMENSION(jpi,jpj) :: zu_ice, zv_ice, zresr ! check convergence148 !!$ REAL(wp), DIMENSION(jpi,jpj) :: zu_ice, zv_ice, zresr ! check convergence 149 149 REAL(wp), DIMENSION(jpi,jpj) :: zsshdyn ! array used for the calculation of ice surface slope: 150 150 ! ! ocean surface (ssh_m) if ice is not embedded … … 193 193 END DO 194 194 END DO 195 CALL lbc_lnk( zfmask, 'F', 1._wp )195 CALL lbc_lnk( 'icedyn_rhg_evp', zfmask, 'F', 1._wp ) 196 196 197 197 ! Lateral boundary conditions on velocity (modify zfmask) … … 220 220 ENDIF 221 221 END DO 222 CALL lbc_lnk( zfmask, 'F', 1._wp )222 CALL lbc_lnk( 'icedyn_rhg_evp', zfmask, 'F', 1._wp ) 223 223 224 224 !------------------------------------------------------------------------------! … … 322 322 END DO 323 323 END DO 324 CALL lbc_lnk_multi( zmf, 'T', 1., zdt_m, 'T', 1. )324 CALL lbc_lnk_multi( 'icedyn_rhg_evp', zmf, 'T', 1., zdt_m, 'T', 1. ) 325 325 ! 326 326 ! !== Landfast ice parameterization ==! … … 343 343 END DO 344 344 END DO 345 CALL lbc_lnk( tau_icebfr(:,:), 'T', 1. )345 CALL lbc_lnk( 'icedyn_rhg_evp', tau_icebfr(:,:), 'T', 1. ) 346 346 ! 347 347 ELSEIF( ln_landfast_home ) THEN !-- Home made … … 370 370 DO jter = 1 , nn_nevp ! loop over jter ! 371 371 ! !----------------------! 372 IF(ln_ctl) THEN ! Convergence test 373 DO jj = 1, jpjm1 374 zu_ice(:,jj) = u_ice(:,jj) ! velocity at previous time step 375 zv_ice(:,jj) = v_ice(:,jj) 376 END DO 377 ENDIF 372 l_full_nf_update = jter == nn_nevp ! false: disable full North fold update (performances) for iter = 1 to nn_nevp-1 373 ! 374 !!$ IF(ln_ctl) THEN ! Convergence test 375 !!$ DO jj = 1, jpjm1 376 !!$ zu_ice(:,jj) = u_ice(:,jj) ! velocity at previous time step 377 !!$ zv_ice(:,jj) = v_ice(:,jj) 378 !!$ END DO 379 !!$ ENDIF 378 380 379 381 ! --- divergence, tension & shear (Appendix B of Hunke & Dukowicz, 2002) --- ! … … 388 390 END DO 389 391 END DO 390 CALL lbc_lnk( zds, 'F', 1. )392 CALL lbc_lnk( 'icedyn_rhg_evp', zds, 'F', 1. ) 391 393 392 394 DO jj = 2, jpj ! loop to jpi,jpj to avoid making a communication for zs1,zs2,zs12 … … 432 434 END DO 433 435 END DO 434 CALL lbc_lnk( zp_delt, 'T', 1. )436 CALL lbc_lnk( 'icedyn_rhg_evp', zp_delt, 'T', 1. ) 435 437 436 438 DO jj = 1, jpjm1 … … 527 529 END DO 528 530 END DO 529 CALL lbc_lnk( v_ice, 'V', -1. )531 CALL lbc_lnk( 'icedyn_rhg_evp', v_ice, 'V', -1. ) 530 532 ! 531 533 #if defined key_agrif … … 575 577 END DO 576 578 END DO 577 CALL lbc_lnk( u_ice, 'U', -1. )579 CALL lbc_lnk( 'icedyn_rhg_evp', u_ice, 'U', -1. ) 578 580 ! 579 581 #if defined key_agrif … … 625 627 END DO 626 628 END DO 627 CALL lbc_lnk( u_ice, 'U', -1. )629 CALL lbc_lnk( 'icedyn_rhg_evp', u_ice, 'U', -1. ) 628 630 ! 629 631 #if defined key_agrif … … 673 675 END DO 674 676 END DO 675 CALL lbc_lnk( v_ice, 'V', -1. )677 CALL lbc_lnk( 'icedyn_rhg_evp', v_ice, 'V', -1. ) 676 678 ! 677 679 #if defined key_agrif … … 682 684 ! 683 685 ENDIF 684 685 IF(ln_ctl) THEN ! Convergence test686 DO jj = 2 , jpjm1687 zresr(:,jj) = MAX( ABS( u_ice(:,jj) - zu_ice(:,jj) ), ABS( v_ice(:,jj) - zv_ice(:,jj) ) )688 END DO689 zresm = MAXVAL( zresr( 1:jpi, 2:jpjm1 ) )690 IF( lk_mpp ) CALL mpp_max(zresm ) ! max over the global domain691 ENDIF686 687 !!$ IF(ln_ctl) THEN ! Convergence test 688 !!$ DO jj = 2 , jpjm1 689 !!$ zresr(:,jj) = MAX( ABS( u_ice(:,jj) - zu_ice(:,jj) ), ABS( v_ice(:,jj) - zv_ice(:,jj) ) ) 690 !!$ END DO 691 !!$ zresm = MAXVAL( zresr( 1:jpi, 2:jpjm1 ) ) 692 !!$ CALL mpp_max( 'icedyn_rhg_evp', zresm ) ! max over the global domain 693 !!$ ENDIF 692 694 ! 693 695 ! ! ==================== ! … … 738 740 END DO 739 741 END DO 740 CALL lbc_lnk_multi( pshear_i, 'T', 1., pdivu_i, 'T', 1., pdelta_i, 'T', 1. )742 CALL lbc_lnk_multi( 'icedyn_rhg_evp', pshear_i, 'T', 1., pdivu_i, 'T', 1., pdelta_i, 'T', 1. ) 741 743 742 744 ! --- Store the stress tensor for the next time step --- ! 743 CALL lbc_lnk_multi( zs1, 'T', 1., zs2, 'T', 1., zs12, 'F', 1. )745 CALL lbc_lnk_multi( 'icedyn_rhg_evp', zs1, 'T', 1., zs2, 'T', 1., zs12, 'F', 1. ) 744 746 pstress1_i (:,:) = zs1 (:,:) 745 747 pstress2_i (:,:) = zs2 (:,:) … … 785 787 END DO 786 788 END DO 787 CALL lbc_lnk_multi( zsig1, 'T', 1., zsig2, 'T', 1., zsig3, 'T', 1. )789 CALL lbc_lnk_multi( 'icedyn_rhg_evp', zsig1, 'T', 1., zsig2, 'T', 1., zsig3, 'T', 1. ) 788 790 ! 789 791 IF( iom_use('isig1') ) CALL iom_put( "isig1" , zsig1 ) … … 842 844 END DO 843 845 844 CALL lbc_lnk_multi( zdiag_sig1 , 'T', 1., zdiag_sig2 , 'T', 1., &846 CALL lbc_lnk_multi( 'icedyn_rhg_evp', zdiag_sig1 , 'T', 1., zdiag_sig2 , 'T', 1., & 845 847 & zdiag_dssh_dx, 'U', -1., zdiag_dssh_dy, 'V', -1., & 846 848 & zdiag_corstrx, 'U', -1., zdiag_corstry, 'V', -1., & 847 849 & zdiag_intstrx, 'U', -1., zdiag_intstry, 'V', -1. ) 848 850 849 CALL lbc_lnk_multi( zdiag_utau_oi , 'U', -1., zdiag_vtau_oi , 'V', -1., &851 CALL lbc_lnk_multi( 'icedyn_rhg_evp', zdiag_utau_oi , 'U', -1., zdiag_vtau_oi , 'V', -1., & 850 852 & zdiag_xmtrp_ice, 'U', -1., zdiag_xmtrp_snw, 'U', -1., & 851 853 & zdiag_xatrp , 'U', -1., zdiag_ymtrp_ice, 'V', -1., &
Note: See TracChangeset
for help on using the changeset viewer.