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

Changeset 169


Ignore:
Timestamp:
2004-11-05T14:52:19+01:00 (19 years ago)
Author:
opalod
Message:

CT : BUGFIX113 : correct syntax error on indices when eliminating land processors and when jpnij /= jpni*jpnj, plus a syntax correction to take into account islands

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/mppini_2.h90

    r128 r169  
    4343 
    4444      !! Local variables 
    45       CHARACTER (len=25) ::   clexp,      &  ! temporary name 
     45      CHARACTER (len=25) ::               &  ! temporary name 
    4646                clname , clvar               ! filename and cdf variable name for bathy 
    4747      LOGICAL ::   llbon                      ! check the existence of bathy files 
     
    5050      INTEGER ::   & 
    5151         ii, ij, ifreq, il1, il2,          &  ! temporary integers 
    52          iim, ijm, icont, ili, ilj,        &  !    "          " 
     52         icont, ili, ilj,                  &  !    "          " 
    5353         isurf, ijm1, imil,                &  !    "          " 
    5454         iino, ijno, iiso, ijso,           &  !    "          "  
     
    7171      INTEGER, DIMENSION (1) ::   istep 
    7272 
    73       INTEGER, DIMENSION(jpidta,jpjdta) ::   & 
    74          idata                                ! temporary data workspace 
    7573      INTEGER, DIMENSION(jpiglo,jpjglo) ::   & 
    7674         imask                                ! temporary global workspace 
     
    8280      REAL(wp) ::   zidom , zjdom,   &        ! temporary scalars 
    8381         zdt, zdate0 
    84    
     82 
    8583      !!---------------------------------------------------------------------- 
    8684      !!  OPA 8.5, LODYC-IPSL (2002) 
     
    140138      ELSE 
    141139         IF(lwp) WRITE(numout,cform_err) 
    142          IF(lwp) WRITE(numout,*)'    mppini_2 : unable to read the file', clname 
     140         IF(lwp) WRITE(numout,*)'    mppini_2 : unable to read the file ', clname 
    143141         nstop = nstop + 1 
    144142      ENDIF 
     
    146144      ! land/sea mask over the global/zoom domain 
    147145 
    148       WHERE ( zdta(jpizoom:jpiglo+jpizoom-1, jpjzoom:jpjglo+jpjzoom-1) == 0. ) imask = 0 
     146      imask(:,:)=1 
     147      WHERE ( zdta(jpizoom:jpiglo+jpizoom-1, jpjzoom:jpjglo+jpjzoom-1) <== 0. ) imask = 0 
    149148 
    150149       
     
    157156      !  dimensions divided by the number of processors minus the overlap 
    158157      !  array. 
    159        
     158 
    160159      nreci=2*jpreci 
    161160      nrecj=2*jprecj 
     
    166165      ilci(iresti+1:jpni ,:) = jpi-1 
    167166 
    168       ilcj(1:irestj      ,:) = jpj 
    169       ilcj(irestj+1:jpnj ,:) = jpj-1 
     167      ilcj(:,      1:irestj) = jpj 
     168      ilcj(:, irestj+1:jpnj) = jpj-1 
    170169 
    171170      IF(lwp) WRITE(numout,*) 
     
    192191      ijmppt(:,:) = 1 
    193192      ipproc(:,:) = -1 
    194        
     193 
    195194      IF( jpni > 1 )THEN 
    196195         DO jj = 1, jpnj 
     
    208207         END DO 
    209208      ENDIF 
    210        
    211        
     209 
     210 
    212211      ! 3. Subdomain description in the Regular Case 
    213212      ! -------------------------------------------- 
    214        
     213 
    215214      nperio = 0 
    216215      icont = -1 
     
    220219         ili = ilci(ii,ij) 
    221220         ilj = ilcj(ii,ij) 
    222           
     221 
    223222         ibondj(ii,ij) = -1 
    224223         IF( jarea >  jpni          )   ibondj(ii,ij) = 0 
    225224         IF( jarea >  (jpnj-1)*jpni )   ibondj(ii,ij) = 1 
    226225         IF( jpnj  == 1             )   ibondj(ii,ij) = 2 
    227           
     226 
    228227         ibondi(ii,ij) = 0 
    229228         IF( MOD(jarea,jpni) == 1 )   ibondi(ii,ij) = -1 
    230229         IF( MOD(jarea,jpni) == 0 )   ibondi(ii,ij) =  1 
    231230         IF( jpni            == 1 )   ibondi(ii,ij) =  2 
    232           
     231 
    233232         ! 2.4 Subdomain neighbors 
    234           
     233 
    235234         iproc = jarea - 1 
    236235         ioso(ii,ij) = iproc - jpni 
     
    270269         IF( ibondj(ii,ij) == -1 .OR. ibondj(ii,ij) == 2 ) ildj(ii,ij) = 1 
    271270         IF( ibondj(ii,ij) ==  1 .OR. ibondj(ii,ij) == 2 ) ilej(ii,ij) = ilj 
    272           
     271 
    273272         ! warning ii*ij (zone) /= nproc (processors)! 
    274           
     273 
    275274         IF( jperio == 1 .OR. jperio == 4 .OR. jperio == 6 ) THEN 
    276275            IF( jpni == 1 )THEN 
     
    303302            ENDIF 
    304303         ENDIF 
    305          ipolj(ii,jj) = 0 
     304         ipolj(ii,ij) = 0 
    306305         IF( jperio == 3 .OR. jperio == 4 ) THEN 
    307306            ijm1 = jpni*(jpnj-1) 
     
    318317            IF( ipolj(ii,ij) == 5) iono(ii,ij) = jpni*jpnj-jarea+ijm1 
    319318         ENDIF 
    320           
     319 
    321320         isurf = 0 
    322321         DO jj = 1, ilj 
     
    332331         ENDIF 
    333332      END DO 
    334        
     333 
    335334      ! Control 
    336335      IF(icont+1 /= jpnij) THEN 
     
    347346         STOP 'mpp_init2' 
    348347      ENDIF 
    349        
    350        
     348 
     349 
    351350      ! 4. Subdomain print 
    352351      ! ------------------ 
    353        
     352 
    354353      IF(lwp) THEN 
    355354         ifreq = 4 
     
    381380      ! 5. neighbour treatment 
    382381      ! ---------------------- 
    383        
     382 
    384383      DO jarea = 1, jpni*jpnj 
    385384         iproc = jarea-1 
     
    435434         ENDIF 
    436435      END DO 
    437        
    438        
     436 
     437 
    439438      ! 6. Change processor name 
    440439      ! ------------------------ 
    441        
     440 
    442441      nproc = narea-1 
    443442      ii = iin(narea) 
     
    527526 
    528527      ! FETI method 
    529        
     528 
    530529      IF( nperio == 1 .AND. nsolv == 3 ) THEN  
    531           
     530 
    532531         ! general CASE : Earth == infinite tube 
    533           
     532 
    534533         nbnw = 1 
    535534         npnw = narea 
     
    540539         nbse = 1 
    541540         npse = (narea-2) 
    542           
     541 
    543542         ! REAL boundary condition 
    544           
     543 
    545544         IF( nbondj == -1 .OR. nbondj == 2 ) THEN  
    546545            nbsw = 0 
    547546            nbse = 0 
    548547         ENDIF 
    549           
     548 
    550549         IF( nbondj == -1 .OR. nbondj == 2 ) THEN  
    551550            nbsw = 0 
    552551            nbse = 0 
    553552         ENDIF 
    554           
     553 
    555554         IF( nbondj ==  1 .OR. nbondj == 2 ) THEN  
    556555            nbnw = 0 
     
    558557         ENDIF 
    559558      ENDIF 
    560        
     559 
    561560      ! Periodicity : no corner if nbondi = 2 and nperio != 1 
    562        
     561 
    563562      IF(lwp) WRITE(numout,*) ' nproc=  ',nproc 
    564563      IF(lwp) WRITE(numout,*) ' nowe=   ',nowe 
Note: See TracChangeset for help on using the changeset viewer.