source: XMLIO_SERVER/trunk/src/IOSERVER/mod_ioclient.f90 @ 26

Last change on this file since 26 was 26, checked in by ymipsl, 15 years ago

Mise à jour importante :

  • ajout de la grille type LMDZ
  • ajout des context
  • ajout de namelist pour parametrer l'utilisation du server : avec/sans MPI, en utlisant ou pas OASIS
File size: 1.3 KB
Line 
1MODULE mod_ioclient
2
3
4CONTAINS
5
6  SUBROUTINE init_ioclient(NEW_COMM)
7  USE mod_ioclient_para
8  USE mod_mpi_buffer_client
9  USE mod_wait
10  USE mod_ioserver_namelist
11  USE mod_event_client
12  USE iomanager
13
14  IMPLICIT NONE
15    INTEGER, INTENT(INOUT),OPTIONAL :: NEW_COMM
16
17    INTEGER :: Comm
18    INTEGER :: nb_server
19    INTEGER :: rank
20    INTEGER :: ierr
21    LOGICAL :: init
22    INCLUDE 'mpif.h'
23 
24    CALL read_namelist
25
26    IF (using_server) THEN
27      IF (using_oasis) THEN
28      ELSE
29        CALL Init_parallel
30        CALL Init_mpi_buffer
31        CALL Init_wait
32        NEW_COMM=intracomm
33      ENDIF
34    ELSE
35      IF (using_oasis) THEN
36     
37      ELSE
38        CALL MPI_INITIALIZED(init,ierr)
39        IF (init) THEN
40          IF (.NOT. PRESENT(NEW_COMM)) THEN
41             Comm=MPI_COMM_WORLD
42          ELSE
43            Comm=New_Comm
44          ENDIF
45        ELSE
46          CALL MPI_INIT(ierr)
47          Comm=MPI_COMM_WORLD
48         
49          IF (PRESENT(NEW_COMM)) THEN
50            New_Comm=MPI_COMM_WORLD
51          ENDIF
52        ENDIF 
53        CALL MPI_COMM_SIZE(Comm,nb_server,ierr)     
54        CALL MPI_COMM_RANK(Comm,rank,ierr)
55        CALL iom__init(1,nb_server,rank)
56        CALL iom__set_current_rank(1)
57       
58      ENDIF
59    ENDIF
60   
61  END SUBROUTINE init_ioclient
62
63END MODULE mod_ioclient
Note: See TracBrowser for help on using the repository browser.