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 30 for trunk/NEMO/OPA_SRC/DOM/domzgr.F90 – NEMO

Ignore:
Timestamp:
2004-02-17T10:13:40+01:00 (20 years ago)
Author:
opalod
Message:

CT : BUGFIX011 : Running problem for EEL5 configuration is solved

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/domzgr.F90

    r3 r30  
    338338               DO jj = 1, jpjdta 
    339339                  DO ji = 1, jpidta 
    340                      IF( gdepw(jk) < zdta(ji,jj) .AND. zdta(ji,jj) <= gdepw(jk+1) )   idta(ji,jj) = jk 
     340                     IF( gdept(jk) < zdta(ji,jj) .AND. zdta(ji,jj) <= gdept(jk+1) )   idta(ji,jj) = jk 
    341341                  END DO 
    342342               END DO 
     
    346346         ! set boundary conditions (caution, idta on the global domain: use of jperio, not nperio) 
    347347         IF( jperio == 1 .OR. jperio == 4 .OR. jperio == 6 ) THEN 
    348             idta( : , 1 ) = -1                ;      zdta( : , 1 ) = -1.e0 
    349             idta( : ,jpj) =  0                ;      zdta( : ,jpj) =  0.e0 
     348            idta( :    , 1    ) = -1                ;      zdta( :    , 1    ) = -1.e0 
     349            idta( :    ,jpjdta) =  0                ;      zdta( :    ,jpjdta) =  0.e0 
    350350         ELSEIF( jperio == 2 ) THEN 
    351             idta( : , 1 ) = idta( : ,  3  )   ;      zdta( : , 1 ) = zdta( : ,  3  ) 
    352             idta( : ,jpj) = 0                 ;      zdta( : ,jpj) =  0.e0 
    353             idta( 1 , : ) = 0                 ;      zdta( 1 , : ) =  0.e0 
    354             idta(jpi, : ) = 0                 ;      zdta(jpi, : ) =  0.e0 
     351            idta( :    , 1    ) = idta( : ,  3  )   ;      zdta( :    , 1    ) = zdta( : ,  3  ) 
     352            idta( :    ,jpjdta) = 0                 ;      zdta( :    ,jpjdta) =  0.e0 
     353            idta( 1    , :    ) = 0                 ;      zdta( 1    , :    ) =  0.e0 
     354            idta(jpidta, :    ) = 0                 ;      zdta(jpidta, :    ) =  0.e0 
    355355         ELSE 
    356             idta( : , 1 ) = 0                 ;      zdta( : , 1 ) =  0.e0 
    357             idta( : ,jpj) = 0                 ;      zdta( : ,jpj) =  0.e0 
    358             idta( 1 , : ) = 0                 ;      zdta( 1 , : ) =  0.e0 
    359             idta(jpi, : ) = 0                 ;      zdta(jpi, : ) =  0.e0 
     356            idta( :    , 1    ) = 0                 ;      zdta( :    , 1    ) =  0.e0 
     357            idta( :    ,jpjdta) = 0                 ;      zdta( :    ,jpjdta) =  0.e0 
     358            idta( 1    , :    ) = 0                 ;      zdta( 1    , :    ) =  0.e0 
     359            idta(jpidta, :    ) = 0                 ;      zdta(jpidta, :    ) =  0.e0 
     360         ENDIF 
     361 
     362         !  EEL R5 configuration with east and west open boundaries. 
     363         !  Two rows of zeroes are needed at the south and north for OBCs 
     364           
     365         IF( cp_cfg == "eel" .AND. jp_cfg == 5 ) THEN 
     366            idta( : , 2      ) = 0                 ;      zdta( : , 2      ) =  0.e0 
     367!!CT            idta( : ,jpjdta-1) = 0                 ;      zdta( : ,jpjdta-1) =  0.e0 
    360368         ENDIF 
    361369 
     
    611619         IF(lwp) WRITE(numout,*)'    ',icompt,' ocean grid points suppressed' 
    612620      ENDIF 
    613 #if defined key_mpp 
    614       zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    615       CALL lbc_lnk( zbathy, 'T', 1. ) 
    616       mbathy(:,:) = INT( zbathy(:,:) ) 
    617 #endif 
     621      IF( lk_mpp ) THEN 
     622         zbathy(:,:) = FLOAT( mbathy(:,:) ) 
     623         CALL lbc_lnk( zbathy, 'T', 1. ) 
     624         mbathy(:,:) = INT( zbathy(:,:) ) 
     625      ENDIF 
    618626 
    619627      ! 3.2 East-west cyclic boundary conditions 
     
    622630         IF(lwp) WRITE(numout,*) ' mbathy set to 0 along east and west',   & 
    623631            ' boundary: nperio = ', nperio 
    624 #if defined key_mpp 
    625          IF( nbondi == -1 .OR. nbondi == 2 ) THEN 
    626             IF( jperio /= 1 )   mbathy(1,:) = 0 
    627          ENDIF 
    628          IF( nbondi == 1 .OR. nbondi == 2 ) THEN 
    629             IF( jperio /= 1 )   mbathy(nlci,:) = 0 
    630          ENDIF 
    631 #else 
    632          mbathy( 1 ,:) = 0 
    633          mbathy(jpi,:) = 0 
    634 #endif 
     632         IF( lk_mpp ) THEN 
     633            IF( nbondi == -1 .OR. nbondi == 2 ) THEN 
     634               IF( jperio /= 1 )   mbathy(1,:) = 0 
     635            ENDIF 
     636            IF( nbondi == 1 .OR. nbondi == 2 ) THEN 
     637               IF( jperio /= 1 )   mbathy(nlci,:) = 0 
     638            ENDIF 
     639         ELSE 
     640            mbathy( 1 ,:) = 0 
     641            mbathy(jpi,:) = 0 
     642         ENDIF 
    635643      ELSEIF( nperio == 1 .OR. nperio == 4 .OR. nperio ==  6 ) THEN 
    636644         IF(lwp) WRITE(numout,*)' east-west cyclic boundary conditions',   & 
     
    656664 
    657665         !  Boundary condition on mbathy 
    658 #   if ! defined key_mpp 
    659          !!bug ???  y reflechir! 
    660          !   ... mono- or macro-tasking: T-point, >0, 2D array, no slab 
    661          zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    662          CALL lbc_lnk( zbathy, 'T', 1. ) 
    663          mbathy(:,:) = INT( zbathy(:,:) ) 
    664 #   endif 
     666         IF( .NOT.lk_mpp ) THEN  
     667            !!bug ???  y reflechir! 
     668            !   ... mono- or macro-tasking: T-point, >0, 2D array, no slab 
     669            zbathy(:,:) = FLOAT( mbathy(:,:) ) 
     670            CALL lbc_lnk( zbathy, 'T', 1. ) 
     671            mbathy(:,:) = INT( zbathy(:,:) ) 
     672         ENDIF 
    665673 
    666674      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.