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 5075 for branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2015-02-11T11:50:34+01:00 (9 years ago)
Author:
timgraham
Message:

Upgraded branch to current head of trunk (r5072) so it can be used with the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90

    r4640 r5075  
    4646   USE timing          ! Timing 
    4747   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
    48    USE lbcnfd, ONLY: isendto, nsndto 
     48   USE lbcnfd, ONLY: isendto, nsndto, nfsloop, nfeloop ! Setup of north fold exchanges 
    4949 
    5050   USE trc 
    5151   USE trcnam 
    5252   USE trcrst 
     53   USE diaptr         ! Need to initialise this as some variables are used in if statements later 
    5354 
    5455   IMPLICIT NONE 
     
    298299      !                                     ! Passive tracers 
    299300                            CALL     trc_init   ! Passive tracers initialization 
    300  
     301      ! 
     302      ! Initialise diaptr as some variables are used in if statements later (in 
     303      ! various advection and diffusion routines. 
     304                            CALL dia_ptr_init 
     305      ! 
    301306      IF(lwp) WRITE(numout,cform_aaa)       ! Flag AAAAAAA 
    302307      ! 
     
    589594      !!---------------------------------------------------------------------- 
    590595      !!    1.0  ! 2011-10  (A. C. Coward, NOCS & J. Donners, PRACE) 
    591       !!    2.0  ! 2013-06 Setup avoiding MPI communication (I. Epicoco, S. Mocavero, CMCC)  
     596      !!    2.0  ! 2013-06 Setup avoiding MPI communication (I. Epicoco, S. 
     597      !Mocavero, CMCC)  
    592598      !!---------------------------------------------------------------------- 
    593599 
     
    612618          !loop over the other north-fold processes to find the processes 
    613619          !managing the points belonging to the sxT-dxT range 
    614           DO jn = jpnij - jpni +1, jpnij 
    615              IF ( njmppt(jn) == njmppmax ) THEN 
     620 
     621          DO jn = 1, jpni 
    616622                !sxT is the first point (in the global domain) of the jn 
    617623                !process 
    618                 sxT = nimppt(jn) 
     624                sxT = nfiimpp(jn, jpnj) 
    619625                !dxT is the last point (in the global domain) of the jn 
    620626                !process 
    621                 dxT = nimppt(jn) + nlcit(jn) - 1 
     627                dxT = nfiimpp(jn, jpnj) + nfilcit(jn, jpnj) - 1 
    622628                IF ((sxM .gt. sxT) .AND. (sxM .lt. dxT)) THEN 
    623629                   nsndto = nsndto + 1 
    624                    isendto(nsndto) = jn 
    625                 ELSEIF ((sxM .le. sxT) .AND. (dxM .gt. dxT)) THEN 
     630                     isendto(nsndto) = jn 
     631                ELSEIF ((sxM .le. sxT) .AND. (dxM .ge. dxT)) THEN 
    626632                   nsndto = nsndto + 1 
    627                    isendto(nsndto) = jn 
     633                     isendto(nsndto) = jn 
    628634                ELSEIF ((dxM .lt. dxT) .AND. (sxT .lt. dxM)) THEN 
    629635                   nsndto = nsndto + 1 
    630                    isendto(nsndto) = jn 
     636                     isendto(nsndto) = jn 
    631637                END IF 
    632              END IF 
    633638          END DO 
     639          nfsloop = 1 
     640          nfeloop = nlci 
     641          DO jn = 2,jpni-1 
     642           IF(nfipproc(jn,jpnj) .eq. (narea - 1)) THEN 
     643              IF (nfipproc(jn - 1 ,jpnj) .eq. -1) THEN 
     644                 nfsloop = nldi 
     645              ENDIF 
     646              IF (nfipproc(jn + 1,jpnj) .eq. -1) THEN 
     647                 nfeloop = nlei 
     648              ENDIF 
     649           ENDIF 
     650        END DO 
     651 
    634652      ENDIF 
    635653      l_north_nogather = .TRUE. 
    636  
    637654   END SUBROUTINE nemo_northcomms 
    638655#else 
Note: See TracChangeset for help on using the changeset viewer.