MODULE io_interface !! $Id$ #if defined key_ioserver USE mod_ioclient USE mod_event_client USE iomanager #endif IMPLICIT NONE CONTAINS SUBROUTINE init_ioserver( kcomm, is_mode_server ) LOGICAL, intent(in ) :: is_mode_server INTEGER, intent( out), OPTIONAL :: kcomm #if defined key_ioserver ! INTEGER :: nb_server INTEGER :: server_rank INTEGER :: ierr # if defined key_mpp_mpi !$AGRIF_DO_NOT_TREAT #include !$AGRIF_END_DO_NOT_TREAT # endif IF (is_mode_server) THEN CALL init_ioclient(kcomm) using_server=.TRUE. ELSE # if defined key_mpp_mpi kcomm = MPI_COMM_WORLD CALL MPI_INIT( ierr ) CALL MPI_COMM_SIZE( kcomm, nb_server, ierr ) CALL MPI_COMM_RANK( kcomm, server_rank, ierr ) # else nb_server = 1 server_rank = 0 # endif CALL iom__init(1,nb_server,server_rank) CALL iom__set_current_rank(1) using_server=.FALSE. ENDIF #endif END SUBROUTINE init_ioserver END MODULE io_interface