source: codes/icosagcm/trunk/src/mpipara.F90 @ 146

Last change on this file since 146 was 118, checked in by dubos, 11 years ago

Added some MPI-related messages

File size: 956 bytes
Line 
1MODULE mpipara
2
3  INTEGER,SAVE :: mpi_rank
4  INTEGER,SAVE :: mpi_size
5 
6  INTEGER,SAVE :: comm_icosa
7  INTEGER,SAVE :: ierr
8  LOGICAL,SAVE :: using_mpi
9  LOGICAL,SAVE :: is_mpi_root
10
11CONTAINS
12
13  SUBROUTINE init_mpipara
14  USE mpi_mod
15  IMPLICIT NONE
16
17    using_mpi=.FALSE.
18#ifdef CPP_USING_MPI
19    using_mpi=.TRUE. 
20#endif
21   
22    IF (using_mpi) THEN
23      CALL MPI_INIT(ierr)
24      comm_icosa=MPI_COMM_WORLD
25      CALL MPI_COMM_SIZE(comm_icosa,mpi_size,ierr)
26      CALL MPI_COMM_RANK(comm_icosa,mpi_rank,ierr)
27      PRINT *, 'MPI Process ', mpi_rank, '/', mpi_size
28    ELSE
29      comm_icosa=-1
30      mpi_size=1
31      mpi_rank=0
32    ENDIF
33   
34    IF (mpi_rank==0) THEN
35      is_mpi_root=.TRUE.
36    ELSE
37      is_mpi_root=.FALSE.
38    ENDIF
39   
40  END SUBROUTINE  init_mpipara
41
42  SUBROUTINE finalize_mpipara
43  USE mpi_mod
44  IMPLICIT NONE
45   
46    IF (using_mpi) CALL MPI_FINALIZE(ierr)
47   
48   END SUBROUTINE  finalize_mpipara
49   
50   
51END MODULE mpipara
Note: See TracBrowser for help on using the repository browser.