Changeset 5039
- Timestamp:
- 2015-01-21T11:02:35+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90
r4749 r5039 46 46 USE timing ! Timing 47 47 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 49 49 50 50 USE trc … … 594 594 !!---------------------------------------------------------------------- 595 595 !! 1.0 ! 2011-10 (A. C. Coward, NOCS & J. Donners, PRACE) 596 !! 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) 597 598 !!---------------------------------------------------------------------- 598 599 … … 617 618 !loop over the other north-fold processes to find the processes 618 619 !managing the points belonging to the sxT-dxT range 619 DO jn = jpnij - jpni +1, jpnij 620 IF ( njmppt(jn) == njmppmax ) THEN620 621 DO jn = 1, jpni 621 622 !sxT is the first point (in the global domain) of the jn 622 623 !process 623 sxT = n imppt(jn)624 sxT = nfiimpp(jn, jpnj) 624 625 !dxT is the last point (in the global domain) of the jn 625 626 !process 626 dxT = n imppt(jn) + nlcit(jn) - 1627 dxT = nfiimpp(jn, jpnj) + nfilcit(jn, jpnj) - 1 627 628 IF ((sxM .gt. sxT) .AND. (sxM .lt. dxT)) THEN 628 629 nsndto = nsndto + 1 629 isendto(nsndto) = jn630 ELSEIF ((sxM .le. sxT) .AND. (dxM .g t. dxT)) THEN630 isendto(nsndto) = jn 631 ELSEIF ((sxM .le. sxT) .AND. (dxM .ge. dxT)) THEN 631 632 nsndto = nsndto + 1 632 isendto(nsndto) = jn633 isendto(nsndto) = jn 633 634 ELSEIF ((dxM .lt. dxT) .AND. (sxT .lt. dxM)) THEN 634 635 nsndto = nsndto + 1 635 isendto(nsndto) = jn636 isendto(nsndto) = jn 636 637 END IF 637 END IF638 638 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 639 652 ENDIF 640 653 l_north_nogather = .TRUE. 641 642 654 END SUBROUTINE nemo_northcomms 643 655 #else
Note: See TracChangeset
for help on using the changeset viewer.