Skip to content
Snippets Groups Projects
Commit 5de5b524 authored by Juan Escobar's avatar Juan Escobar
Browse files

Juan 24/05/2018: COUPLING , introduce new LMNH_ISINIT variable to initialise...

Juan 24/05/2018: COUPLING , introduce new LMNH_ISINIT variable to initialise correctly MNH with INIT_NMNH_COMM_WORLD in coupled run
parent 2974c734
No related branches found
No related tags found
No related merge requests found
...@@ -93,6 +93,7 @@ INTEGER,SAVE :: NZ_PROC_ll = 0 ! Number of proc to use in the Z splitting ...@@ -93,6 +93,7 @@ INTEGER,SAVE :: NZ_PROC_ll = 0 ! Number of proc to use in the Z splitting
! !
!JUANZ !JUANZ
INTEGER :: NMNH_COMM_WORLD INTEGER :: NMNH_COMM_WORLD
LOGICAL :: LMNH_ISINIT = .FALSE.
!JUANZ !JUANZ
INTEGER :: NHALO_COM INTEGER :: NHALO_COM
INTEGER :: NTRANS_COM INTEGER :: NTRANS_COM
......
...@@ -532,7 +532,6 @@ ...@@ -532,7 +532,6 @@
TYPE(PROCONF_ll), POINTER :: TZPROCONF TYPE(PROCONF_ll), POINTER :: TZPROCONF
INTEGER :: JMODEL INTEGER :: JMODEL
LOGICAL :: GISINIT
!JUANZ !JUANZ
INTEGER :: myrank_key,new_rank,new_size INTEGER :: myrank_key,new_rank,new_size
INTEGER :: COLOR = 1 INTEGER :: COLOR = 1
...@@ -544,12 +543,7 @@ ...@@ -544,12 +543,7 @@
! -------------- ! --------------
! !
KINFO_ll = 0 KINFO_ll = 0
CALL MPI_INITIALIZED(GISINIT, KINFO_ll) CALL INIT_NMNH_COMM_WORLD(KINFO_ll)
IF (.NOT. GISINIT) THEN
!CALL MPI_INIT(KINFO_ll)
!JUANZ create new/remapped communicator if need
CALL INIT_NMNH_COMM_WORLD(KINFO_ll)
END IF
! !
CALL MPI_COMM_DUP(NMNH_COMM_WORLD, NHALO_COM, KINFO_ll) CALL MPI_COMM_DUP(NMNH_COMM_WORLD, NHALO_COM, KINFO_ll)
! !
...@@ -751,6 +745,7 @@ ...@@ -751,6 +745,7 @@
!! ------------- !! -------------
! Original 01/06/98 ! Original 01/06/98
! R. Guivarch 15/09/99 deallocation of grid-nesting arrays ! R. Guivarch 15/09/99 deallocation of grid-nesting arrays
! J. Pianezze 11/2016 - add LOASIS flag
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
...@@ -760,6 +755,9 @@ ...@@ -760,6 +755,9 @@
! USE MODD_STRUCTURE_ll ! USE MODD_STRUCTURE_ll
! USE MODD_VAR_ll, ONLY : NIOUNIT, YOUTPUTFILE ! USE MODD_VAR_ll, ONLY : NIOUNIT, YOUTPUTFILE
USE MODD_IO_ll, ONLY : ISP USE MODD_IO_ll, ONLY : ISP
#ifdef CPLOASIS
USE MODD_SFX_OASIS, ONLY : LOASIS
#endif
! !
#ifdef MNH_GA #ifdef MNH_GA
USE MODE_GA USE MODE_GA
...@@ -792,7 +790,13 @@ USE MODE_GA ...@@ -792,7 +790,13 @@ USE MODE_GA
CALL ga_terminate() CALL ga_terminate()
endif endif
#endif #endif
#ifdef CPLOASIS
IF (.NOT. LOASIS) THEN
CALL MPI_FINALIZE(KINFO_ll)
END IF
#else
CALL MPI_FINALIZE(KINFO_ll) CALL MPI_FINALIZE(KINFO_ll)
#endif
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
! P. Wautelet : may 2016: use NetCDF Fortran module ! P. Wautelet : may 2016: use NetCDF Fortran module
! P. Wautelet : July 2016: added type OUTBAK ! P. Wautelet : July 2016: added type OUTBAK
! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O ! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
! J. Pianezze 01/08/2016 add LOASIS flag
! !
MODULE MODE_IO_ll MODULE MODE_IO_ll
...@@ -143,18 +144,14 @@ CONTAINS ...@@ -143,18 +144,14 @@ CONTAINS
IMPLICIT NONE IMPLICIT NONE
INTEGER :: IERR, IOS INTEGER :: IERR, IOS
LOGICAL :: GISINIT
CALL PRINT_MSG(NVERB_DEBUG,'IO','INITIO_ll','called') CALL PRINT_MSG(NVERB_DEBUG,'IO','INITIO_ll','called')
ISTDERR = 0 ISTDERR = 0
CALL MPI_INITIALIZED(GISINIT, IERR) CALL INIT_NMNH_COMM_WORLD(IERR)
IF (.NOT. GISINIT) THEN IF (IERR .NE.0) CALL PRINT_MSG(NVERB_FATAL,'IO','SET_CONFIO_ll','problem with remapping of NMNH_COMM_WORLD')
!CALL MPI_INIT(IERR)
CALL INIT_NMNH_COMM_WORLD(IERR)
if (IERR .NE.0) CALL PRINT_MSG(NVERB_FATAL,'IO','SET_CONFIO_ll','problem with remapping of NMNH_COMM_WORLD')
END IF
!! Now MPI is initialized for sure !! Now MPI is initialized for sure
!! Default number for Processor I/O !! Default number for Processor I/O
......
...@@ -24,7 +24,7 @@ CONTAINS ...@@ -24,7 +24,7 @@ CONTAINS
#ifdef MNH_GA #ifdef MNH_GA
USE MODD_MPIF , ONLY : MPI_THREAD_MULTIPLE USE MODD_MPIF , ONLY : MPI_THREAD_MULTIPLE
#endif #endif
USE MODD_VAR_ll, ONLY : IP, NPROC, NMNH_COMM_WORLD USE MODD_VAR_ll, ONLY : IP, NPROC, NMNH_COMM_WORLD , LMNH_ISINIT
!JUANZ !JUANZ
IMPLICIT NONE IMPLICIT NONE
...@@ -62,7 +62,6 @@ CONTAINS ...@@ -62,7 +62,6 @@ CONTAINS
! Read namelist config file ! Read namelist config file
! !
IF ( irank .EQ. 0 ) THEN IF ( irank .EQ. 0 ) THEN
PRINT*,"hello world from rank=",irank," nproc=",IPROC
OPEN(unit=10,form="formatted",file=conf_mnh_world,STATUS='OLD',iostat=IERR) OPEN(unit=10,form="formatted",file=conf_mnh_world,STATUS='OLD',iostat=IERR)
! Read IO parameter ! Read IO parameter
IF (IERR.EQ.0) THEN IF (IERR.EQ.0) THEN
...@@ -109,11 +108,18 @@ CONTAINS ...@@ -109,11 +108,18 @@ CONTAINS
! !
!JUANZ create new/remapped communicator !JUANZ create new/remapped communicator
! !
END IF
IF (.NOT. LMNH_ISINIT ) THEN
LMNH_ISINIT = .TRUE.
!
CALL MPI_COMM_RANK(NMNH_COMM_WORLD, IP, KINFO_ll) CALL MPI_COMM_RANK(NMNH_COMM_WORLD, IP, KINFO_ll)
IP = IP + 1 IP = IP + 1
! !
CALL MPI_COMM_SIZE(NMNH_COMM_WORLD, NPROC, KINFO_ll) CALL MPI_COMM_SIZE(NMNH_COMM_WORLD, NPROC, KINFO_ll)
! !
IF ( IP .EQ. 1 ) THEN
PRINT*,"hello MNH world from IP=",IP," nproc=",NPROC
END IF
END IF END IF
END SUBROUTINE INIT_NMNH_COMM_WORLD END SUBROUTINE INIT_NMNH_COMM_WORLD
......
...@@ -170,13 +170,7 @@ CONTAINS ...@@ -170,13 +170,7 @@ CONTAINS
! -------------- ! --------------
! !
KINFO_ll = 0 KINFO_ll = 0
CALL MPI_INITIALIZED(GISINIT, KINFO_ll) CALL INIT_NMNH_COMM_WORLD(KINFO_ll)
IF (.NOT. GISINIT) THEN
!CALL MPI_INIT(KINFO_ll)
!STOP "mode_splittinz_ll.f90::INI_PARAZ_ll MPI_INIT not initialized ---> PROBLEME WITH REMAPPING NMNH_COMM_WORLD "
CALL INIT_NMNH_COMM_WORLD(KINFO_ll)
END IF
!
! !
CALL MPI_COMM_DUP(NMNH_COMM_WORLD, NHALO_COM, KINFO_ll) CALL MPI_COMM_DUP(NMNH_COMM_WORLD, NHALO_COM, KINFO_ll)
! !
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment