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 13266 for NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/LBC/mpp_lbc_north_icb_generic.h90 – NEMO

Ignore:
Timestamp:
2020-07-08T14:49:37+02:00 (4 years ago)
Author:
acc
Message:

Extra_Halo: revert previous bugfix in mppini.F90 and fix, instead, the ordering and treatment of processors in the north-fold communicator. Now passes all SETTE including an extra version of ORCA2_ICE_PISCES, REPRO_8_4 with land-suppression and ln_nnogather=F. run.stat differences from trunk@13218 in ORCA2_ICE_PISCES associated with calving (REPRO tests which have ln_calving=F match). Also tracer.stat differences after 42 timesteps (unexplained).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/LBC/mpp_lbc_north_icb_generic.h90

    r13247 r13266  
    3636      ! 
    3737      INTEGER ::   ji, jj, jr 
    38       INTEGER ::   ierr, itaille, iis0, iie0, iilb 
    39       INTEGER ::   ipj, ij, iproc 
     38      INTEGER ::   ierr, itaille 
     39      INTEGER ::   ipj, ij, iproc, ijnr, ii1, ipi, impp 
    4040      ! 
    4141      REAL(PRECISION), DIMENSION(:,:)  , ALLOCATABLE  ::  ztab_e, znorthloc_e 
     
    4747      ALLOCATE(        ztab_e(jpiglo, 1-kextj:ipj+kextj)       ,       & 
    4848     &            znorthloc_e(jpimax, 1-kextj:ipj+kextj)       ,       & 
    49      &          znorthgloio_e(jpimax, 1-kextj:ipj+kextj,jpni)    ) 
     49     &          znorthgloio_e(jpimax, 1-kextj:ipj+kextj,ndim_rank_north)    ) 
    5050      ! 
    5151# if defined SINGLE_PRECISION 
     
    7373      IF( ln_timing ) CALL tic_tac(.FALSE.) 
    7474      ! 
     75      ijnr = 0 
    7576      DO jr = 1, ndim_rank_north            ! recover the global north array 
    76          iproc = nrank_north(jr) + 1 
    77     iis0 = nis0all(iproc)  
    78     iie0 = nie0all(iproc) 
    79          iilb = nimppt(iproc) 
    80          DO jj = 1-kextj, ipj+kextj 
    81             DO ji = iis0, iie0 
    82                ztab_e(ji+iilb-1,jj) = znorthgloio_e(ji,jj,jr) 
     77         iproc = nfproc(jr) 
     78         IF( iproc /= -1 ) THEN 
     79            impp = nfimpp(jr) 
     80            ipi  = nfjpi(jr) 
     81            ijnr = ijnr + 1 
     82            DO jj = 1-kextj, ipj+kextj 
     83               DO ji = 1, ipi 
     84                  ii1 = impp + ji - 1       ! corresponds to mig(ji) but for subdomain iproc 
     85                  ztab_e(ii1,jj) = znorthgloio_e(ji,jj,ijnr) 
     86               END DO 
    8387            END DO 
    84          END DO 
     88         ENDIF 
    8589      END DO 
    8690 
Note: See TracChangeset for help on using the changeset viewer.