From e2d99e3fce71ed9e19362a158dba3369b460e5f9 Mon Sep 17 00:00:00 2001 From: Philippe Wautelet <philippe.wautelet@aero.obs-mip.fr> Date: Tue, 9 Feb 2016 09:30:33 +0000 Subject: [PATCH] Philippe 09/02/2016: use NMNH_COMM_WORLD instead of MPI_COMM_WORLD --- src/MNH/flash_geom_elec.f90 | 48 ++++++++++++++++++------------------- src/MNH/mode_elec_ll.f90 | 35 ++++++++++++++------------- src/MNH/resolved_elecn.f90 | 9 +++---- src/MNH/zdiffusetup.f90 | 3 ++- 4 files changed, 50 insertions(+), 45 deletions(-) diff --git a/src/MNH/flash_geom_elec.f90 b/src/MNH/flash_geom_elec.f90 index ce170ef9a..b655a21ac 100644 --- a/src/MNH/flash_geom_elec.f90 +++ b/src/MNH/flash_geom_elec.f90 @@ -106,7 +106,7 @@ USE MODD_RAIN_ICE_DESCR, ONLY : XLBR, XLBEXR, XLBS, XLBEXS, & XLBG, XLBEXG, XLBH, XLBEXH, & XRTMIN USE MODD_NSV, ONLY : NSV_ELECBEG, NSV_ELECEND, NSV_ELEC -USE MODD_VAR_ll, ONLY : NPROC +USE MODD_VAR_ll, ONLY : NPROC,NMNH_COMM_WORLD USE MODD_ARGSLIST_ll, ONLY : LIST_ll USE MODD_PRINT_ELEC, ONLY : NLU_fgeom_diag, NLU_fgeom_coord, & NIOSTAT_fgeom_diag, NIOSTAT_fgeom_coord @@ -466,7 +466,7 @@ DO WHILE (.NOT. GEND_DOMAIN .AND. INB_CELL .LT. NMAX_CELL) ! ! Broadcast the center of the cell to all procs CALL MPI_BCAST (ICELL_LOC(:,INB_CELL), 4, MPI_INTEGER, IPROC_CELL, & - MPI_COMM_WORLD, IERR) + NMNH_COMM_WORLD, IERR) ! ! !* 2.2 horizontal extension of the cell @@ -803,11 +803,11 @@ IF (INB_CELL .GE. 1) THEN ENDIF ! CALL MPI_BCAST (GNEW_FLASH(IL),1, MPI_LOGICAL, IPROC_TRIG(IL), & - MPI_COMM_WORLD, IERR) + NMNH_COMM_WORLD, IERR) CALL MPI_BCAST (ZEM_TRIG(IL), 1, MPI_PRECISION, IPROC_TRIG(IL), & - MPI_COMM_WORLD, IERR) + NMNH_COMM_WORLD, IERR) CALL MPI_BCAST (INB_FL_REAL(IL), 1, MPI_INTEGER, IPROC_TRIG(IL), & - MPI_COMM_WORLD, IERR) + NMNH_COMM_WORLD, IERR) END IF END DO ! end loop il ! @@ -1093,7 +1093,7 @@ IF (INB_CELL .GE. 1) THEN END IF ! CALL MPI_BCAST (INB_NEUT_OK,1, MPI_INTEGER, IPROC_TRIG(IL), & - MPI_COMM_WORLD, IERR) + NMNH_COMM_WORLD, IERR) ! !* 9.5 Gather lightning information from all processes !* Save the particule charge and total pos/neg charge neutralization points. @@ -1102,7 +1102,7 @@ IF (INB_CELL .GE. 1) THEN INBSEG_PROC(IPROC+1) = INBSEG(IL) DO IK = 0, NPROC-1 CALL MPI_BCAST (INBSEG_PROC(IK+1), 1, MPI_INTEGER, IK, & - MPI_COMM_WORLD, IERR) + NMNH_COMM_WORLD, IERR) END DO INBSEG_ALL(IL) = INBSEG(IL) @@ -1177,7 +1177,7 @@ IF (INB_CELL .GE. 1) THEN ! --------------------------------------------------- ! ! Synchronizing all processes -! CALL MPI_BARRIER(MPI_COMM_WORLD, IERR) ! A ACTIVER SI PB. +! CALL MPI_BARRIER(NMNH_COMM_WORLD, IERR) ! A ACTIVER SI PB. ! IF (IPROC .EQ. 0) THEN INBLIGHT = COUNT(GNEW_FLASH(1:INB_CELL)) @@ -1621,13 +1621,13 @@ DO IL = 1, INB_CELL ! ---------------------------- ! CALL MPI_BCAST (ZEM_TRIG(IL), 1, & - MPI_PRECISION, IPROC_TRIG(IL), MPI_COMM_WORLD, IERR) + MPI_PRECISION, IPROC_TRIG(IL), NMNH_COMM_WORLD, IERR) CALL MPI_BCAST (ISEG_LOC(:,IL), 3*SIZE(PRT,3), & - MPI_INTEGER, IPROC_TRIG(IL), MPI_COMM_WORLD, IERR) + MPI_INTEGER, IPROC_TRIG(IL), NMNH_COMM_WORLD, IERR) CALL MPI_BCAST (ZCOORD_TRIG(:,IL), 3, & - MPI_PRECISION, IPROC_TRIG(IL), MPI_COMM_WORLD, IERR) + MPI_PRECISION, IPROC_TRIG(IL), NMNH_COMM_WORLD, IERR) CALL MPI_BCAST (ISIGNE_EZ(IL), 1, & - MPI_INTEGER, IPROC_TRIG(IL), MPI_COMM_WORLD, IERR) + MPI_INTEGER, IPROC_TRIG(IL), NMNH_COMM_WORLD, IERR) ! ! !* 5. CHECK IF THE FLASH CAN DEVELOP @@ -1641,9 +1641,9 @@ DO IL = 1, INB_CELL GNEW_FLASH(IL) = .TRUE. GNEW_FLASH_GLOB = .TRUE. CALL MPI_BCAST (GNEW_FLASH(IL),1, MPI_LOGICAL, IPROC_TRIG(IL), & - MPI_COMM_WORLD, IERR) + NMNH_COMM_WORLD, IERR) CALL MPI_BCAST (GNEW_FLASH_GLOB,1, MPI_LOGICAL, IPROC_TRIG(IL), & - MPI_COMM_WORLD, IERR) + NMNH_COMM_WORLD, IERR) END IF END IF END DO @@ -1812,9 +1812,9 @@ END IF ! only iproc_trig was working ! --------------------------------------- ! CALL MPI_BCAST (ISEG_LOC(:,IL), 3*SIZE(PRT,3), & - MPI_INTEGER, IPROC_TRIG(IL), MPI_COMM_WORLD, IERR) + MPI_INTEGER, IPROC_TRIG(IL), NMNH_COMM_WORLD, IERR) CALL MPI_BCAST (ITYPE(IL), 1, & - MPI_INTEGER, IPROC_TRIG(IL), MPI_COMM_WORLD, IERR) + MPI_INTEGER, IPROC_TRIG(IL), NMNH_COMM_WORLD, IERR) ! ! END SUBROUTINE ONE_LEADER @@ -1879,7 +1879,7 @@ DO IL = 1, INB_CELL END IF ! CALL MPI_BCAST (ZSIGN(IL), 1, MPI_PRECISION, IPROC_TRIG(IL), & - MPI_COMM_WORLD, IERR) + NMNH_COMM_WORLD, IERR) END DO ! DO WHILE (IEND_GLOB .NE. INB_CELL) @@ -2054,7 +2054,7 @@ DO WHILE (IM .LE. IDELTA_IND .AND. ISTOP .NE. 1) IF (IMAX_BRANCH(IM) .GT. 0) THEN INBPT_PROC(:) = 0 CALL MPI_ALLGATHER(IPT_DIST, 1, MPI_INTEGER, & - INBPT_PROC, 1, MPI_INTEGER, MPI_COMM_WORLD, IERR) + INBPT_PROC, 1, MPI_INTEGER, NMNH_COMM_WORLD, IERR) ! IF (IPROC .EQ. 0) THEN IF (INBPT_PROC(1) .NE. 0) THEN @@ -2222,7 +2222,7 @@ IF (IPROC .EQ. 0) THEN END IF ! CALL MPI_GATHERV (ZSEND, 3*INSEGPROC, MPI_PRECISION, ZRECV, INBSEG_PROC_X3, & - IDECAL3, MPI_PRECISION, 0, MPI_COMM_WORLD, IERR) + IDECAL3, MPI_PRECISION, 0, NMNH_COMM_WORLD, IERR) ! IF (IPROC .EQ. 0) THEN ZCOORD_SEG_ALL(1:3*INSEGCELL,IL) = ZRECV(1:3*INSEGCELL) @@ -2281,7 +2281,7 @@ IF (LLMA) THEN ALLOCATE (IRECV(3*INSEGCELL)) ! CALL MPI_GATHERV (ISEND, 3*INSEGPROC, MPI_INTEGER, IRECV, INBSEG_PROC_X3, & - IDECAL3, MPI_INTEGER, 0, MPI_COMM_WORLD, IERR) + IDECAL3, MPI_INTEGER, 0, NMNH_COMM_WORLD, IERR) ! IF (IPROC .EQ. 0) THEN ILMA_SEG_ALL(1:3*INSEGCELL,IL) = IRECV(1:3*INSEGCELL) @@ -2295,14 +2295,14 @@ IF (LLMA) THEN ALLOCATE (ZRECV(INSEGCELL)) ! CALL MPI_GATHERV (ZLMAPOS, INSEGPROC, MPI_PRECISION, ZRECV, INBSEG_PROC, & - IDECAL, MPI_PRECISION, 0, MPI_COMM_WORLD, IERR) + IDECAL, MPI_PRECISION, 0, NMNH_COMM_WORLD, IERR) ! IF (IPROC .EQ. 0) THEN ZLMA_NEUT_POS(1:INSEGCELL,IL) = ZRECV(1:INSEGCELL) END IF ! CALL MPI_GATHERV (ZLMANEG, INSEGPROC, MPI_PRECISION, ZRECV, INBSEG_PROC, & - IDECAL, MPI_PRECISION, 0, MPI_COMM_WORLD, IERR) + IDECAL, MPI_PRECISION, 0, NMNH_COMM_WORLD, IERR) ! IF (IPROC .EQ. 0) THEN ZLMA_NEUT_NEG(1:INSEGCELL,IL) = ZRECV(1:INSEGCELL) @@ -2324,7 +2324,7 @@ IF (LLMA) THEN ! CALL MPI_GATHERV (ZLMAQMT, NSV_ELEC*INSEGPROC, MPI_PRECISION, ZRECV, & INBSEG_PROC_XNSV, & - IDECALN, MPI_PRECISION, 0, MPI_COMM_WORLD, IERR ) + IDECALN, MPI_PRECISION, 0, NMNH_COMM_WORLD, IERR ) ! IF (IPROC .EQ. 0) THEN ZLMA_QMT(1:NSV_ELEC*INSEGCELL,IL) = ZRECV(1:NSV_ELEC*INSEGCELL) @@ -2332,7 +2332,7 @@ IF (LLMA) THEN ! CALL MPI_GATHERV (ZLMAPRT, NSV_ELEC*INSEGPROC, MPI_PRECISION, ZRECV, & INBSEG_PROC_XNSV, & - IDECALN, MPI_PRECISION, 0, MPI_COMM_WORLD, IERR) + IDECALN, MPI_PRECISION, 0, NMNH_COMM_WORLD, IERR) ! IF (IPROC .EQ. 0) THEN ZLMA_PRT(1:NSV_ELEC*INSEGCELL,IL) = ZRECV(1:NSV_ELEC*INSEGCELL) diff --git a/src/MNH/mode_elec_ll.f90 b/src/MNH/mode_elec_ll.f90 index f3c9c5ef0..dc4f100ef 100644 --- a/src/MNH/mode_elec_ll.f90 +++ b/src/MNH/mode_elec_ll.f90 @@ -23,9 +23,12 @@ !! !------------------------------------------------------------------------ ! +USE MODD_MPIF +USE MODD_VAR_ll, ONLY : NMNH_COMM_WORLD +! IMPLICIT NONE ! -include "mpif.h" +!include "mpif.h" ! ! INTEGER, PARAMETER :: IFIRST_PROC = 0 ! 0/1 to increase numerotation of proc number @@ -76,7 +79,7 @@ INTEGER :: KPROC INTEGER :: INFO ! ! -CALL MPI_COMM_RANK (MPI_COMM_WORLD, KPROC, INFO) +CALL MPI_COMM_RANK (NMNH_COMM_WORLD, KPROC, INFO) ! KPROC = KPROC + IFIRST_PROC @@ -113,7 +116,7 @@ INFO = -1 ! ! Sum(Proc) CALL MPI_ALLREDUCE(ZTAB, PSUM_INOUT, IDIM, MPI_PRECISION, & - MPI_SUM, MPI_COMM_WORLD, INFO) + MPI_SUM, NMNH_COMM_WORLD, INFO) ! END SUBROUTINE RSUM_ELEC_ll ! @@ -150,7 +153,7 @@ INFO = -1 !* 1.1 max(Proc) ! CALL MPI_ALLREDUCE(ZTAB, PMIN_INOUT, IDIM, MPI_PRECISION, & - MPI_MIN, MPI_COMM_WORLD, INFO) + MPI_MIN, NMNH_COMM_WORLD, INFO) ! !* 1.2 find the proc number of the maximum ! @@ -163,7 +166,7 @@ ENDIF !* 1.3 broadcast to all proc ! CALL MPI_ALLREDUCE(KPROC_LOCAL, KPROC,IDIM , MPI_INTEGER, & - MPI_MAX, MPI_COMM_WORLD, INFO) + MPI_MAX, NMNH_COMM_WORLD, INFO) ! END SUBROUTINE RMIN0_ELEC_ll ! @@ -200,7 +203,7 @@ INFO = -1 !* 1.1 max(Proc) ! CALL MPI_ALLREDUCE(ZTAB, PMAX_INOUT, IDIM, MPI_PRECISION, & - MPI_MAX, MPI_COMM_WORLD, INFO) + MPI_MAX, NMNH_COMM_WORLD, INFO) ! !* 1.2 find the proc number of the maximum ! @@ -213,7 +216,7 @@ ENDIF !* 1.3 broadcast to all proc ! CALL MPI_ALLREDUCE(KPROC_LOCAL, KPROC,IDIM , MPI_INTEGER, & - MPI_MAX, MPI_COMM_WORLD, INFO) + MPI_MAX, NMNH_COMM_WORLD, INFO) ! END SUBROUTINE RMAX0_ELEC_ll ! @@ -250,7 +253,7 @@ INFO = -1 !* 1.1 min(Proc) ! CALL MPI_ALLREDUCE(ITAB, KMIN_INOUT, IDIM, MPI_INTEGER, & - MPI_MIN, MPI_COMM_WORLD, INFO) + MPI_MIN, NMNH_COMM_WORLD, INFO) ! !* 1.2 find the proc number of the maximum ! @@ -263,7 +266,7 @@ ENDIF !* 1.3 broadcast to all proc ! CALL MPI_ALLREDUCE(IPROC_LOCAL, KPROC,IDIM, MPI_INTEGER, & - MPI_MAX, MPI_COMM_WORLD, INFO) + MPI_MAX, NMNH_COMM_WORLD, INFO) ! END SUBROUTINE IMIN0_ELEC_ll ! @@ -300,7 +303,7 @@ INFO = -1 !* 1.1 min(Proc) ! CALL MPI_ALLREDUCE(ITAB, KMAX_INOUT, IDIM, MPI_INTEGER, & - MPI_MAX, MPI_COMM_WORLD, INFO) + MPI_MAX, NMNH_COMM_WORLD, INFO) ! !* 1.2 find the proc number of the maximum ! @@ -313,7 +316,7 @@ ENDIF !* 1.3 brodcast to all proc ! CALL MPI_ALLREDUCE(IPROC_LOCAL, KPROC, IDIM, MPI_INTEGER, & - MPI_MAX, MPI_COMM_WORLD, INFO) + MPI_MAX, NMNH_COMM_WORLD, INFO) ! END SUBROUTINE IMAX0_ELEC_ll ! @@ -348,7 +351,7 @@ INFO = -1 !* 1.1 sum(Proc) ! CALL MPI_ALLREDUCE(ITAB, KSUM_INOUT, IDIM, MPI_INTEGER, & - MPI_SUM, MPI_COMM_WORLD, INFO) + MPI_SUM, NMNH_COMM_WORLD, INFO) ! END SUBROUTINE ISUM_ELEC_ll ! @@ -383,7 +386,7 @@ INFO = -1 !* 1.1 sum(Proc) ! CALL MPI_ALLREDUCE(ITAB, KSUM_INOUT, IDIM, MPI_INTEGER, & - MPI_SUM, MPI_COMM_WORLD, INFO) + MPI_SUM, NMNH_COMM_WORLD, INFO) ! END SUBROUTINE ISUM0_ELEC_ll ! @@ -418,7 +421,7 @@ INFO = -1 !* 1.1 sum(Proc) ! CALL MPI_ALLREDUCE(ZTAB, PSUM_INOUT, IDIM, MPI_PRECISION, & - MPI_SUM, MPI_COMM_WORLD, INFO) + MPI_SUM, NMNH_COMM_WORLD, INFO) ! END SUBROUTINE RSUM0_ELEC_ll ! @@ -473,8 +476,8 @@ JCENT_GLOB = IYOR + JCENT_LOC - 1 ! ! The proc with the center of the cell broadcast the global coord of the cell ! -CALL MPI_BCAST(ICENT_GLOB, 1, MPI_INTEGER, KPROC_COORD, MPI_COMM_WORLD, IERR) -CALL MPI_BCAST(JCENT_GLOB, 1, MPI_INTEGER, KPROC_COORD, MPI_COMM_WORLD, IERR) +CALL MPI_BCAST(ICENT_GLOB, 1, MPI_INTEGER, KPROC_COORD, NMNH_COMM_WORLD, IERR) +CALL MPI_BCAST(JCENT_GLOB, 1, MPI_INTEGER, KPROC_COORD, NMNH_COMM_WORLD, IERR) ! IS_GLOB = KIS + IXOR -1 IE_GLOB = KIE + IXOR -1 diff --git a/src/MNH/resolved_elecn.f90 b/src/MNH/resolved_elecn.f90 index 842ab3bd3..4c810d6a3 100644 --- a/src/MNH/resolved_elecn.f90 +++ b/src/MNH/resolved_elecn.f90 @@ -200,6 +200,7 @@ USE MODD_LMA_SIMULATOR USE MODD_PRINT_ELEC ! USE MODI_IO_ll +USE MODD_VAR_ll, ONLY : NMNH_COMM_WORLD USE MODI_RAIN_ICE_ELEC USE MODI_ICE_ADJUST_ELEC USE MODI_TO_ELEC_FIELD_n @@ -869,7 +870,7 @@ IF (KTCOUNT .EQ. 1) THEN END IF ! CALL CLOSE_ll (YASCFILE) - CALL MPI_BCAST (NLU_fgeom_diag,1, MPI_INTEGER, 0, MPI_COMM_WORLD, IERR) + CALL MPI_BCAST (NLU_fgeom_diag,1, MPI_INTEGER, 0, NMNH_COMM_WORLD, IERR) ! IF (LSAVE_COORD) THEN YASCFILE = CEXP//"_fgeom_coord.asc" @@ -889,7 +890,7 @@ IF (KTCOUNT .EQ. 1) THEN END IF ! CALL CLOSE_ll (YASCFILE) - CALL MPI_BCAST (NLU_fgeom_coord,1, MPI_INTEGER, 0, MPI_COMM_WORLD, IERR) + CALL MPI_BCAST (NLU_fgeom_coord,1, MPI_INTEGER, 0, NMNH_COMM_WORLD, IERR) END IF END IF ! @@ -925,7 +926,7 @@ IF (KTCOUNT .EQ. 1) THEN END IF ! CALL CLOSE_ll (YASCFILE) - CALL MPI_BCAST (NLU_series_cloud_elec,1, MPI_INTEGER, 0, MPI_COMM_WORLD, IERR) + CALL MPI_BCAST (NLU_series_cloud_elec,1, MPI_INTEGER, 0, NMNH_COMM_WORLD, IERR) END IF END IF ! @@ -982,7 +983,7 @@ IF (LFLASH_GEOM .AND. LLMA) THEN WRITE (UNIT=ILMA_UNIT,FMT='(A)') '----------------------------------------' END IF CALL CLOSE_ll (CLMA_FILE) - CALL MPI_BCAST (ILMA_UNIT,1, MPI_INTEGER, 0, MPI_COMM_WORLD, IERR) + CALL MPI_BCAST (ILMA_UNIT,1, MPI_INTEGER, 0, NMNH_COMM_WORLD, IERR) END IF END IF ! diff --git a/src/MNH/zdiffusetup.f90 b/src/MNH/zdiffusetup.f90 index f7b6eb1f8..29dafe660 100644 --- a/src/MNH/zdiffusetup.f90 +++ b/src/MNH/zdiffusetup.f90 @@ -64,6 +64,7 @@ USE MODD_PARAMETERS USE MODD_CONF USE MODI_RELAX USE MODE_ll +USE MODD_VAR_ll, ONLY : NMNH_COMM_WORLD USE MODI_SHUMAN USE MODD_ARGSLIST_ll, ONLY : LIST_ll, HALO2LIST_ll ! @@ -221,7 +222,7 @@ IKMAX_HALO2 = MAX(PZDIFFU_HALO2%NZDI,PZDIFFU_HALO2%NZDJ) PZDIFFU_HALO2%NZDLB = MAXVAL(IKMAX_HALO2) ! Model level, above which a truly horizontal computation of diffusion ! is possible at all grid points !JUAN -CALL MPI_ALLREDUCE(PZDIFFU_HALO2%NZDLB ,KZDLB_ll, 1, MPI_INTEGER, MPI_MAX, MPI_COMM_WORLD, IERR) +CALL MPI_ALLREDUCE(PZDIFFU_HALO2%NZDLB ,KZDLB_ll, 1, MPI_INTEGER, MPI_MAX, NMNH_COMM_WORLD, IERR) !print*,"zdiffusetup:: PZDIFFU_HALO2%NZDLB=",PZDIFFU_HALO2%NZDLB,KZDLB_ll PZDIFFU_HALO2%NZDLB = KZDLB_ll -- GitLab