New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 10425 for NEMO/trunk/src/ICE/icedyn_rhg_evp.F90 – NEMO

Ignore:
Timestamp:
2018-12-19T22:54:16+01:00 (5 years ago)
Author:
smasson
Message:

trunk: merge back dev_r10164_HPC09_ESIWACE_PREP_MERGE@10424 into the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/ICE/icedyn_rhg_evp.F90

    r10415 r10425  
    146146      REAL(wp), DIMENSION(jpi,jpj) ::   zds                             ! shear 
    147147      REAL(wp), DIMENSION(jpi,jpj) ::   zs1, zs2, zs12                  ! stress tensor components 
    148       REAL(wp), DIMENSION(jpi,jpj) ::   zu_ice, zv_ice, zresr           ! check convergence 
     148!!$      REAL(wp), DIMENSION(jpi,jpj) ::   zu_ice, zv_ice, zresr           ! check convergence 
    149149      REAL(wp), DIMENSION(jpi,jpj) ::   zsshdyn                         ! array used for the calculation of ice surface slope: 
    150150      !                                                                 !    ocean surface (ssh_m) if ice is not embedded 
     
    193193         END DO 
    194194      END DO 
    195       CALL lbc_lnk( zfmask, 'F', 1._wp ) 
     195      CALL lbc_lnk( 'icedyn_rhg_evp', zfmask, 'F', 1._wp ) 
    196196 
    197197      ! Lateral boundary conditions on velocity (modify zfmask) 
     
    220220         ENDIF 
    221221      END DO 
    222       CALL lbc_lnk( zfmask, 'F', 1._wp ) 
     222      CALL lbc_lnk( 'icedyn_rhg_evp', zfmask, 'F', 1._wp ) 
    223223 
    224224      !------------------------------------------------------------------------------! 
     
    322322         END DO 
    323323      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. ) 
    325325      ! 
    326326      !                                  !== Landfast ice parameterization ==! 
     
    343343            END DO 
    344344         END DO 
    345          CALL lbc_lnk( tau_icebfr(:,:), 'T', 1. ) 
     345         CALL lbc_lnk( 'icedyn_rhg_evp', tau_icebfr(:,:), 'T', 1. ) 
    346346         ! 
    347347      ELSEIF( ln_landfast_home ) THEN          !-- Home made 
     
    370370      DO jter = 1 , nn_nevp                           !    loop over jter    ! 
    371371         !                                            !----------------------!         
    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 
    378380 
    379381         ! --- divergence, tension & shear (Appendix B of Hunke & Dukowicz, 2002) --- ! 
     
    388390            END DO 
    389391         END DO 
    390          CALL lbc_lnk( zds, 'F', 1. ) 
     392         CALL lbc_lnk( 'icedyn_rhg_evp', zds, 'F', 1. ) 
    391393 
    392394         DO jj = 2, jpj    ! loop to jpi,jpj to avoid making a communication for zs1,zs2,zs12 
     
    432434            END DO 
    433435         END DO 
    434          CALL lbc_lnk( zp_delt, 'T', 1. ) 
     436         CALL lbc_lnk( 'icedyn_rhg_evp', zp_delt, 'T', 1. ) 
    435437 
    436438         DO jj = 1, jpjm1 
     
    527529               END DO 
    528530            END DO 
    529             CALL lbc_lnk( v_ice, 'V', -1. ) 
     531            CALL lbc_lnk( 'icedyn_rhg_evp', v_ice, 'V', -1. ) 
    530532            ! 
    531533#if defined key_agrif 
     
    575577               END DO 
    576578            END DO 
    577             CALL lbc_lnk( u_ice, 'U', -1. ) 
     579            CALL lbc_lnk( 'icedyn_rhg_evp', u_ice, 'U', -1. ) 
    578580            ! 
    579581#if defined key_agrif 
     
    625627               END DO 
    626628            END DO 
    627             CALL lbc_lnk( u_ice, 'U', -1. ) 
     629            CALL lbc_lnk( 'icedyn_rhg_evp', u_ice, 'U', -1. ) 
    628630            ! 
    629631#if defined key_agrif 
     
    673675               END DO 
    674676            END DO 
    675             CALL lbc_lnk( v_ice, 'V', -1. ) 
     677            CALL lbc_lnk( 'icedyn_rhg_evp', v_ice, 'V', -1. ) 
    676678            ! 
    677679#if defined key_agrif 
     
    682684            ! 
    683685         ENDIF 
    684           
    685          IF(ln_ctl) THEN   ! Convergence test 
    686             DO jj = 2 , jpjm1 
    687                zresr(:,jj) = MAX( ABS( u_ice(:,jj) - zu_ice(:,jj) ), ABS( v_ice(:,jj) - zv_ice(:,jj) ) ) 
    688             END DO 
    689             zresm = MAXVAL( zresr( 1:jpi, 2:jpjm1 ) ) 
    690             IF( lk_mpp )   CALL mpp_max( zresm )   ! max over the global domain 
    691          ENDIF 
     686 
     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 
    692694         ! 
    693695         !                                                ! ==================== ! 
     
    738740         END DO 
    739741      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. ) 
    741743       
    742744      ! --- 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. ) 
    744746      pstress1_i (:,:) = zs1 (:,:) 
    745747      pstress2_i (:,:) = zs2 (:,:) 
     
    785787            END DO 
    786788         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. ) 
    788790         ! 
    789791         IF( iom_use('isig1') )   CALL iom_put( "isig1" , zsig1 ) 
     
    842844         END DO 
    843845          
    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.,   & 
    845847            &                zdiag_dssh_dx, 'U', -1., zdiag_dssh_dy, 'V', -1.,   & 
    846848            &                zdiag_corstrx, 'U', -1., zdiag_corstry, 'V', -1.,   &  
    847849            &                zdiag_intstrx, 'U', -1., zdiag_intstry, 'V', -1.    ) 
    848850                   
    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.,   & 
    850852            &                zdiag_xmtrp_ice, 'U', -1., zdiag_xmtrp_snw, 'U', -1.,   & 
    851853            &                zdiag_xatrp    , 'U', -1., zdiag_ymtrp_ice, 'V', -1.,   & 
Note: See TracChangeset for help on using the changeset viewer.