MODULE mod_ioserver_namelist LOGICAL,SAVE :: using_server LOGICAL,SAVE :: using_oasis CHARACTER(LEN=100),SAVE :: client_id CHARACTER(LEN=100),SAVE :: server_id NAMELIST /coupling_param/ using_server,using_oasis,client_id,server_id INTEGER,SAVE :: global_mpi_buffer_size NAMELIST /mpi_param/ global_mpi_buffer_size INTEGER,PARAMETER,PRIVATE :: starting_unit=356 CONTAINS SUBROUTINE set_default_namelist IMPLICIT NONE using_server=.FALSE. using_oasis=.FALSE. client_id='unknown' server_id='unknown' global_mpi_buffer_size=512 END SUBROUTINE set_default_namelist SUBROUTINE read_namelist IMPLICIT NONE LOGICAL :: opened INTEGER :: unit INTEGER :: ierr CALL set_default_namelist unit=starting_unit opened=.TRUE. DO WHILE (opened) unit=unit+1 INQUIRE(unit,OPENED=opened) ENDDO OPEN(UNIT=unit,FILE='xmlio_server.def',STATUS='old',IOSTAT=ierr) IF (ierr==0) THEN READ(unit,nml=coupling_param) READ(unit,nml=mpi_param) global_mpi_buffer_size=global_mpi_buffer_size*1024*128 CLOSE(unit) ELSE PRINT *,'WARNING : mod_ioserver::read_namelist : file xmlio_server.def is absent', & ' ---> using default parameter' ENDIF PRINT *,'namelist read --> ',using_server,using_oasis,client_id,server_id END SUBROUTINE read_namelist END MODULE mod_ioserver_namelist