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 1238 – NEMO

Changeset 1238


Ignore:
Timestamp:
2008-12-30T16:53:26+01:00 (15 years ago)
Author:
rblod
Message:

Adapt mpp_init_ioipsl for jpni*jpnj < jpnij, see ticket #257

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/mppini.F90

    r1152 r1238  
    495495      !! 
    496496      !! History : 
    497       !!   9.0  !  04-03  (G. Madec)  MPP-IOIPSL  
     497      !!   9.0  !  04-03  (G. Madec )  MPP-IOIPSL  
     498      !!   " "  !  08-12  (A. Coward)  addition in case of jpni*jpnj < jpnij 
    498499      !!---------------------------------------------------------------------- 
    499500      !! Local declarations 
     
    501502      INTEGER, DIMENSION(2) ::   & 
    502503         iglo, iloc, iabsf, iabsl, ihals, ihale, idid 
    503       INTEGER ::   & 
    504          inbondi, inbondj 
    505       !!---------------------------------------------------------------------- 
    506  
    507       ! The domain is splitted only horizontally along i- or/and j- direction 
    508       ! So we need at the most only 1D arrays with 2 elements 
     504      !!---------------------------------------------------------------------- 
     505 
     506      ! The domain is split only horizontally along i- or/and j- direction 
     507      ! So we need at the most only 1D arrays with 2 elements. 
     508      ! Set idompar values equivalent to the jpdom_local_noextra definition 
     509      ! used in IOM. This works even if jpnij .ne. jpni*jpnj. 
    509510      iglo(1) = jpiglo 
    510511      iglo(2) = jpjglo 
     
    514515      iabsf(2) = njmppt(narea) 
    515516      iabsl(:) = iabsf(:) + iloc(:) - 1 
    516       ihals(1) = jpreci 
    517       ihals(2) = jprecj 
    518       ihale(1) = jpreci 
    519       ihale(2) = jprecj 
     517      ihals(1) = nldi - 1 
     518      ihals(2) = nldj - 1 
     519      ihale(1) = nlci - nlei 
     520      ihale(2) = nlcj - nlej 
    520521      idid(1) = 1 
    521522      idid(2) = 2 
    522  
    523       inbondj = -1                                   ! general case 
    524       IF( narea   >  jpni          )   inbondj = 0      ! first row of processor 
    525       IF( narea   >  (jpnj-1)*jpni )   inbondj = 1      ! last  row of processor 
    526       IF( jpnj    == 1             )   inbondj = 2      ! one processor only in j-direction 
    527       IF( inbondj == -1 .OR. inbondj == 2 )   ihals(2) = 0 
    528       IF( inbondj ==  1 .OR. inbondj == 2 )   ihale(2) = 0 
    529           
    530       inbondi = 0                                    !  
    531       IF( MOD( narea, jpni ) == 1 )   inbondi = -1      ! 
    532       IF( MOD( narea, jpni ) == 0 )   inbondi =  1      ! 
    533       IF( jpni               == 1 )   inbondi =  2      ! one processor only in i-direction 
    534       IF( inbondi == -1 .OR. inbondi == 2 )   ihals(1) = 0 
    535       IF( inbondi ==  1 .OR. inbondi == 2 )   ihale(1) = 0 
    536  
    537523 
    538524      IF(lwp) THEN 
Note: See TracChangeset for help on using the changeset viewer.