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/tests/VORTEX/MY_SRC – NEMO

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

trunk: merge back dev_r10164_HPC09_ESIWACE_PREP_MERGE@10424 into the trunk

Location:
NEMO/trunk/tests/VORTEX/MY_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/tests/VORTEX/MY_SRC/domvvl.F90

    r10074 r10425  
    7979            &      dtilde_e3t_a(jpi,jpj,jpk) , un_td  (jpi,jpj,jpk)     , vn_td  (jpi,jpj,jpk)     ,   & 
    8080            &      STAT = dom_vvl_alloc        ) 
    81          IF( lk_mpp             )   CALL mpp_sum ( dom_vvl_alloc ) 
    82          IF( dom_vvl_alloc /= 0 )   CALL ctl_warn('dom_vvl_alloc: failed to allocate arrays') 
     81         CALL mpp_sum ( 'domvvl', dom_vvl_alloc ) 
     82         IF( dom_vvl_alloc /= 0 )   CALL ctl_stop( 'STOP', 'dom_vvl_alloc: failed to allocate arrays' ) 
    8383         un_td = 0._wp 
    8484         vn_td = 0._wp 
     
    8686      IF( ln_vvl_ztilde ) THEN 
    8787         ALLOCATE( frq_rst_e3t(jpi,jpj) , frq_rst_hdv(jpi,jpj) , hdiv_lf(jpi,jpj,jpk) , STAT= dom_vvl_alloc ) 
    88          IF( lk_mpp             )   CALL mpp_sum ( dom_vvl_alloc ) 
    89          IF( dom_vvl_alloc /= 0 )   CALL ctl_warn('dom_vvl_alloc: failed to allocate arrays') 
     88         CALL mpp_sum ( 'domvvl', dom_vvl_alloc ) 
     89         IF( dom_vvl_alloc /= 0 )   CALL ctl_stop( 'STOP', 'dom_vvl_alloc: failed to allocate arrays' ) 
    9090      ENDIF 
    9191      ! 
     
    234234               END DO 
    235235            END DO 
    236             IF( cn_cfg == "orca" .AND. nn_cfg == 3 ) THEN   ! ORCA2: Suppress ztilde in the Foxe Basin for ORCA2 
    237                ii0 = 103   ;   ii1 = 111        
    238                ij0 = 128   ;   ij1 = 135   ;    
    239                frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  0.0_wp 
    240                frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rdt 
     236            IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA" ) THEN 
     237               IF( nn_cfg == 3 ) THEN   ! ORCA2: Suppress ztilde in the Foxe Basin for ORCA2 
     238                  ii0 = 103   ;   ii1 = 111        
     239                  ij0 = 128   ;   ij1 = 135   ;    
     240                  frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  0.0_wp 
     241                  frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rdt 
     242               ENDIF 
    241243            ENDIF 
    242244         ENDIF 
     
    408410         !                       ! d - thickness diffusion transport: boundary conditions 
    409411         !                             (stored for tracer advction and continuity equation) 
    410          CALL lbc_lnk_multi( un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
     412         CALL lbc_lnk_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
    411413 
    412414         ! 4 - Time stepping of baroclinic scale factors 
     
    419421            z2dt = 2.0_wp * rdt 
    420422         ENDIF 
    421          CALL lbc_lnk( tilde_e3t_a(:,:,:), 'T', 1._wp ) 
     423         CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 
    422424         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 
    423425 
     
    429431         END DO 
    430432         z_tmax = MAXVAL( ze3t(:,:,:) ) 
    431          IF( lk_mpp )   CALL mpp_max( z_tmax )                 ! max over the global domain 
     433         CALL mpp_max( 'domvvl', z_tmax )                 ! max over the global domain 
    432434         z_tmin = MINVAL( ze3t(:,:,:) ) 
    433          IF( lk_mpp )   CALL mpp_min( z_tmin )                 ! min over the global domain 
     435         CALL mpp_min( 'domvvl', z_tmin )                 ! min over the global domain 
    434436         ! - ML - test: for the moment, stop simulation for too large e3_t variations 
    435437         IF( ( z_tmax >  rn_zdef_max ) .OR. ( z_tmin < - rn_zdef_max ) ) THEN 
    436438            IF( lk_mpp ) THEN 
    437                CALL mpp_maxloc( ze3t, tmask, z_tmax, ijk_max(1), ijk_max(2), ijk_max(3) ) 
    438                CALL mpp_minloc( ze3t, tmask, z_tmin, ijk_min(1), ijk_min(2), ijk_min(3) ) 
     439               CALL mpp_maxloc( 'domvvl', ze3t, tmask, z_tmax, ijk_max ) 
     440               CALL mpp_minloc( 'domvvl', ze3t, tmask, z_tmin, ijk_min ) 
    439441            ELSE 
    440442               ijk_max = MAXLOC( ze3t(:,:,:) ) 
     
    450452               WRITE(numout, *) 'MIN( tilde_e3t_a(:,:,:) / e3t_0(:,:,:) ) =', z_tmin 
    451453               WRITE(numout, *) 'at i, j, k=', ijk_min             
    452                CALL ctl_warn('MAX( ABS( tilde_e3t_a(:,:,:) ) / e3t_0(:,:,:) ) too high') 
     454               CALL ctl_stop( 'STOP', 'MAX( ABS( tilde_e3t_a(:,:,: ) ) / e3t_0(:,:,:) ) too high') 
    453455            ENDIF 
    454456         ENDIF 
     
    493495         IF ( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 
    494496            z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( zht(:,:) ) ) 
    495             IF( lk_mpp ) CALL mpp_max( z_tmax )                             ! max over the global domain 
     497            CALL mpp_max( 'domvvl', z_tmax )                             ! max over the global domain 
    496498            IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(SUM(tilde_e3t_a))) =', z_tmax 
    497499         END IF 
     
    502504         END DO 
    503505         z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( ht_0(:,:) + sshn(:,:) - zht(:,:) ) ) 
    504          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     506         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    505507         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ht_0+sshn-SUM(e3t_n))) =', z_tmax 
    506508         ! 
     
    510512         END DO 
    511513         z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( ht_0(:,:) + ssha(:,:) - zht(:,:) ) ) 
    512          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     514         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    513515         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ht_0+ssha-SUM(e3t_a))) =', z_tmax 
    514516         ! 
     
    518520         END DO 
    519521         z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( ht_0(:,:) + sshb(:,:) - zht(:,:) ) ) 
    520          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     522         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    521523         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ht_0+sshb-SUM(e3t_b))) =', z_tmax 
    522524         ! 
    523525         z_tmax = MAXVAL( tmask(:,:,1) *  ABS( sshb(:,:) ) ) 
    524          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     526         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    525527         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(sshb))) =', z_tmax 
    526528         ! 
    527529         z_tmax = MAXVAL( tmask(:,:,1) *  ABS( sshn(:,:) ) ) 
    528          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     530         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    529531         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(sshn))) =', z_tmax 
    530532         ! 
    531533         z_tmax = MAXVAL( tmask(:,:,1) *  ABS( ssha(:,:) ) ) 
    532          IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
     534         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain 
    533535         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ssha))) =', z_tmax 
    534536      END IF 
     
    711713            END DO 
    712714         END DO 
    713          CALL lbc_lnk( pe3_out(:,:,:), 'U', 1._wp ) 
     715         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'U', 1._wp ) 
    714716         pe3_out(:,:,:) = pe3_out(:,:,:) + e3u_0(:,:,:) 
    715717         ! 
     
    724726            END DO 
    725727         END DO 
    726          CALL lbc_lnk( pe3_out(:,:,:), 'V', 1._wp ) 
     728         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'V', 1._wp ) 
    727729         pe3_out(:,:,:) = pe3_out(:,:,:) + e3v_0(:,:,:) 
    728730         ! 
     
    738740            END DO 
    739741         END DO 
    740          CALL lbc_lnk( pe3_out(:,:,:), 'F', 1._wp ) 
     742         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'F', 1._wp ) 
    741743         pe3_out(:,:,:) = pe3_out(:,:,:) + e3f_0(:,:,:) 
    742744         ! 
  • NEMO/trunk/tests/VORTEX/MY_SRC/usrdef_istate.F90

    r10074 r10425  
    136136      END DO 
    137137 
    138       CALL lbc_lnk( pu, 'U', -1. ) 
    139       CALL lbc_lnk( pv, 'V', -1. ) 
     138      CALL lbc_lnk( 'usrdef_istate', pu, 'U', -1. ) 
     139      CALL lbc_lnk( 'usrdef_istate', pv, 'V', -1. ) 
    140140      !    
    141141   END SUBROUTINE usr_def_istate 
  • NEMO/trunk/tests/VORTEX/MY_SRC/usrdef_zgr.F90

    r10074 r10425  
    192192      z2d(:,:) = REAL( jpkm1 , wp )          ! flat bottom 
    193193      ! 
    194       CALL lbc_lnk( z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     194      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
    195195      ! 
    196196      k_bot(:,:) = INT( z2d(:,:) )           ! =jpkm1 over the ocean point, =0 elsewhere 
Note: See TracChangeset for help on using the changeset viewer.