source: XMLIO_SERVER/trunk/src/IOSERVER/mod_ioserver_namelist.f90 @ 43

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

Les buffers MPI sont maintenant donnes en quantite de memoire totale par serveur et non par client.
La valeur par defaut peut etre redefinie dans la namelist.

YM

File size: 1.4 KB
Line 
1MODULE mod_ioserver_namelist
2
3  LOGICAL,SAVE :: using_server
4  LOGICAL,SAVE :: using_oasis
5  CHARACTER(LEN=100),SAVE :: client_id
6  CHARACTER(LEN=100),SAVE :: server_id
7  NAMELIST /coupling_param/ using_server,using_oasis,client_id,server_id 
8
9  INTEGER,SAVE :: global_mpi_buffer_size           
10  NAMELIST /mpi_param/ global_mpi_buffer_size 
11
12  INTEGER,PARAMETER,PRIVATE :: starting_unit=356
13 
14CONTAINS
15
16  SUBROUTINE set_default_namelist
17  IMPLICIT NONE
18 
19    using_server=.FALSE.
20    using_oasis=.FALSE.
21    client_id='unknown'
22    server_id='unknown'
23    global_mpi_buffer_size=512
24   
25  END SUBROUTINE set_default_namelist
26 
27   
28  SUBROUTINE read_namelist
29  IMPLICIT NONE
30    LOGICAL :: opened
31    INTEGER :: unit
32    INTEGER :: ierr
33
34    CALL set_default_namelist   
35    unit=starting_unit
36    opened=.TRUE.
37    DO WHILE (opened) 
38      unit=unit+1
39      INQUIRE(unit,OPENED=opened)
40    ENDDO
41     
42    OPEN(UNIT=unit,FILE='xmlio_server.def',STATUS='old',IOSTAT=ierr)
43   
44   
45    IF (ierr==0) THEN
46      READ(unit,nml=coupling_param)
47      READ(unit,nml=mpi_param)
48      global_mpi_buffer_size=global_mpi_buffer_size*1024*128 
49      CLOSE(unit)
50    ELSE
51      PRINT *,'WARNING : mod_ioserver::read_namelist : file xmlio_server.def is absent', &
52              ' ---> using default parameter'
53    ENDIF
54   
55   
56    PRINT *,'namelist read --> ',using_server,using_oasis,client_id,server_id
57   
58  END SUBROUTINE read_namelist
59
60
61END MODULE mod_ioserver_namelist 
Note: See TracBrowser for help on using the repository browser.