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 2462 for branches/DEV_r2460_v3_3beta_NOL/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90 – NEMO

Ignore:
Timestamp:
2010-12-07T18:56:19+01:00 (13 years ago)
Author:
acc
Message:

DEV_r2460_v3_3beta_NOL. Changes to v3.3beta to improve assignment of ocean processes to ioserver processes when discarding land-only regions. See ticket #776

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r2460_v3_3beta_NOL/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90

    r2442 r2462  
    1616   USE lib_mpp         ! distribued memory computing library 
    1717   USE ioipsl 
     18#if defined key_iomput 
     19   USE mod_event_client 
     20# endif 
    1821 
    1922   IMPLICIT NONE 
     
    278281         nldjt(jn) = nldj 
    279282         nlejt(jn) = nlej 
     283         nregproc_out(jn) = jn - 1 
    280284      END DO 
    281285       
     
    336340        CALL ctl_opn( inum, 'layout.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., narea ) 
    337341        WRITE(inum,'(a)') '   jpnij     jpi     jpj     jpk  jpiglo  jpjglo' 
    338         WRITE(inum,'(6i8)') jpnij,jpi,jpj,jpk,jpiglo,jpjglo 
    339         WRITE(inum,'(a)') 'NAREA nlci nlcj nldi nldj nlei nlej nimpp njmpp' 
     342        WRITE(inum,'(8i8)') jpnij,jpi,jpj,jpk,jpiglo,jpjglo,jpni,jpnj 
     343        WRITE(inum,'(a)') 'NAREA nlci nlcj nldi nldj nlei nlej nimpp njmpp nregproc_out' 
    340344 
    341345        DO  jn = 1, jpnij 
    342          WRITE(inum,'(9i5)') jn, nlcit(jn), nlcjt(jn), & 
     346         WRITE(inum,'(10i5)') jn, nlcit(jn), nlcjt(jn), & 
    343347                                      nldit(jn), nldjt(jn), & 
    344348                                      nleit(jn), nlejt(jn), & 
    345                                       nimppt(jn), njmppt(jn) 
     349                                      nimppt(jn), njmppt(jn), nregproc_out(jn) 
    346350        END DO 
    347351        CLOSE(inum)    
     352#ifdef key_iomput 
     353     ! Check nregproc_in matches nregproc_out and abort if it does not. 
     354     ! This should only occur on the first run of a new domain decomposition 
     355     ! when jpni*jpnj /= jpnij. If ioservers are not being used, Init_parallel  
     356     ! will not have been called and nregproc_in will not have been allocated. 
     357     ! In such a case the check is unnecessary so only check for a match if  
     358     ! nregproc_in has been allocated. 
     359      IF (ALLOCATED(nregproc_in)) THEN 
     360        DO  jn = 1, jpnij 
     361         IF ( nregproc_in(jn) /= nregproc_out(jn) ) THEN 
     362          WRITE(numout,*) ' nregproc_in and nregproc_out do not match.' 
     363          WRITE(numout,*) ' This is expected when starting a new domain docomposition.' 
     364          WRITE(numout,*) ' The layout.dat file has been updated and the model may be rerun.' 
     365          CALL ctl_stop( ' mpp_init: IO server domain colour assignment mismatch ') 
     366         END IF 
     367        END DO 
     368      ENDIF 
     369#endif 
    348370      END IF 
    349371 
Note: See TracChangeset for help on using the changeset viewer.