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 13458 for NEMO/trunk/src/OCE/DOM/domain.F90 – NEMO

Ignore:
Timestamp:
2020-09-11T11:22:24+02:00 (4 years ago)
Author:
smasson
Message:

trunk: mpp_min(max)loc testing only inner domain, see #2521

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DOM/domain.F90

    r13435 r13458  
    177177      ! 
    178178      IF( ln_linssh ) THEN       != Fix in time : set to the reference one for all 
    179       ! 
     179         ! 
    180180         DO jt = 1, jpt                         ! depth of t- and w-grid-points 
    181181            gdept(:,:,:,jt) = gdept_0(:,:,:) 
     
    204204      ELSE                       != time varying : initialize before/now/after variables 
    205205         ! 
    206          IF( .NOT.l_offline )  CALL dom_vvl_init( Kbb, Kmm, Kaa ) 
     206         IF( .NOT.l_offline )   CALL dom_vvl_init( Kbb, Kmm, Kaa ) 
    207207         ! 
    208208      ENDIF 
     
    248248      !!---------------------------------------------------------------------- 
    249249      ! 
    250       DO ji = 1, jpi                 ! local domain indices ==> global domain, including halos, indices 
     250      DO ji = 1, jpi                 ! local domain indices ==> global domain indices, including halos 
    251251        mig(ji) = ji + nimpp - 1 
    252252      END DO 
     
    254254        mjg(jj) = jj + njmpp - 1 
    255255      END DO 
    256       !                              ! local domain indices ==> global domain, excluding halos, indices 
     256      !                              ! local domain indices ==> global domain indices, excluding halos 
    257257      ! 
    258258      mig0(:) = mig(:) - nn_hls 
     
    493493      !!---------------------------------------------------------------------- 
    494494      ! 
    495       IF(lk_mpp) THEN 
    496          CALL mpp_minloc( 'domain', glamt(:,:), tmask_i(:,:), zglmin, imil ) 
    497          CALL mpp_minloc( 'domain', gphit(:,:), tmask_i(:,:), zgpmin, imip ) 
    498          CALL mpp_minloc( 'domain',   e1t(:,:), tmask_i(:,:), ze1min, imi1 ) 
    499          CALL mpp_minloc( 'domain',   e2t(:,:), tmask_i(:,:), ze2min, imi2 ) 
    500          CALL mpp_maxloc( 'domain', glamt(:,:), tmask_i(:,:), zglmax, imal ) 
    501          CALL mpp_maxloc( 'domain', gphit(:,:), tmask_i(:,:), zgpmax, imap ) 
    502          CALL mpp_maxloc( 'domain',   e1t(:,:), tmask_i(:,:), ze1max, ima1 ) 
    503          CALL mpp_maxloc( 'domain',   e2t(:,:), tmask_i(:,:), ze2max, ima2 ) 
    504       ELSE 
    505          llmsk = tmask_i(:,:) == 1._wp 
    506          zglmin = MINVAL( glamt(:,:), mask = llmsk )     
    507          zgpmin = MINVAL( gphit(:,:), mask = llmsk )     
    508          ze1min = MINVAL(   e1t(:,:), mask = llmsk )     
    509          ze2min = MINVAL(   e2t(:,:), mask = llmsk )     
    510          zglmin = MAXVAL( glamt(:,:), mask = llmsk )     
    511          zgpmin = MAXVAL( gphit(:,:), mask = llmsk )     
    512          ze1max = MAXVAL(   e1t(:,:), mask = llmsk )     
    513          ze2max = MAXVAL(   e2t(:,:), mask = llmsk )     
    514          ! 
    515          imil   = MINLOC( glamt(:,:), mask = llmsk ) + (/ nimpp - 1, njmpp - 1 /) 
    516          imip   = MINLOC( gphit(:,:), mask = llmsk ) + (/ nimpp - 1, njmpp - 1 /) 
    517          imi1   = MINLOC(   e1t(:,:), mask = llmsk ) + (/ nimpp - 1, njmpp - 1 /) 
    518          imi2   = MINLOC(   e2t(:,:), mask = llmsk ) + (/ nimpp - 1, njmpp - 1 /) 
    519          imal   = MAXLOC( glamt(:,:), mask = llmsk ) + (/ nimpp - 1, njmpp - 1 /) 
    520          imap   = MAXLOC( gphit(:,:), mask = llmsk ) + (/ nimpp - 1, njmpp - 1 /) 
    521          ima1   = MAXLOC(   e1t(:,:), mask = llmsk ) + (/ nimpp - 1, njmpp - 1 /) 
    522          ima2   = MAXLOC(   e2t(:,:), mask = llmsk ) + (/ nimpp - 1, njmpp - 1 /) 
    523       ENDIF 
     495      llmsk = tmask_h(:,:) == 1._wp 
     496      ! 
     497      CALL mpp_minloc( 'domain', glamt(:,:), llmsk, zglmin, imil ) 
     498      CALL mpp_minloc( 'domain', gphit(:,:), llmsk, zgpmin, imip ) 
     499      CALL mpp_minloc( 'domain',   e1t(:,:), llmsk, ze1min, imi1 ) 
     500      CALL mpp_minloc( 'domain',   e2t(:,:), llmsk, ze2min, imi2 ) 
     501      CALL mpp_maxloc( 'domain', glamt(:,:), llmsk, zglmax, imal ) 
     502      CALL mpp_maxloc( 'domain', gphit(:,:), llmsk, zgpmax, imap ) 
     503      CALL mpp_maxloc( 'domain',   e1t(:,:), llmsk, ze1max, ima1 ) 
     504      CALL mpp_maxloc( 'domain',   e2t(:,:), llmsk, ze2max, ima2 ) 
    524505      ! 
    525506      IF(lwp) THEN 
Note: See TracChangeset for help on using the changeset viewer.