M3_mpif.f90

00001 !!$****************************************************************************
00002 !!$  M3:  M3_mpif.f90                                        *
00003 !!$                                                                           *
00004 !!$  Version 1.0 September 2004                                               *
00005 !!$                                                                           *
00006 !!$  Copyright (C) 2004  C.M. Cantalupo & G. de Gasperis                      *
00007 !!$                                                                           *
00008 !!$  This program is free software; you can redistribute it and/or modify     *
00009 !!$  it under the terms of the GNU General Public License as published by     *
00010 !!$  the Free Software Foundation; either version 2 of the License, or        *
00011 !!$  (at your option) any later version.                                      *
00012 !!$                                                                           *
00013 !!$  This program is distributed in the hope that it will be useful,          *
00014 !!$  but WITHOUT ANY WARRANTY; without even the implied warranty of           *
00015 !!$  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            *
00016 !!$  GNU General Public License for more details.                             *
00017 !!$                                                                           *
00018 !!$  You should have received a copy of the GNU General Public License        *
00019 !!$  along with this program; if not, write to the Free Software              *
00020 !!$  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA *
00021 !!$                                                                           *
00022 !!$****************************************************************************
00023 
00024 MODULE M3_mpif
00025 
00026 !!$ there should be no need to include mpif.h since the mpi structure definitions
00027 !!$ are default integer
00028 !!$
00029 !!$ if the mpi library implement the f90 interface AND it defines its own datatypes
00030 !!$ maybe useful to USE the mpi module and use the right KIND in the
00031 !!$ declarations of theComm and root
00032 !!$
00033 
00034   INTERFACE
00035      FUNCTION m3_f90_runconfig_readMPI( runconfig, runconfigfilename, runtype, theComm )
00036 
00037 !!$ If the MPI implementation support the use of f90 module:
00038 !!$    USE mpi 
00039 
00040        USE M3_typesf
00041        IMPLICIT NONE
00042 
00043        INTEGER(KIND=int4)::m3_f90_runconfig_readMPI
00044        TYPE(m3_f90_runconfig), INTENT(OUT)::runConfig
00045        CHARACTER(LEN=*), INTENT(IN)::runconfigfilename
00046        INTEGER(KIND=int4), INTENT(IN)::runtype
00047        INTEGER, INTENT(IN)::theComm
00048      END FUNCTION m3_f90_runconfig_readMPI
00049   END INTERFACE
00050 
00051   INTERFACE
00052      FUNCTION m3_f90_runconfig_readBinMPI( runconfig, runconfigfilename, runtype, theComm )
00053 
00054 !!$ If the MPI implementation support the use of f90 module:
00055 !!$    USE mpi 
00056 
00057        USE M3_typesf
00058        IMPLICIT NONE
00059 
00060        INTEGER(KIND=int4)::m3_f90_runconfig_readBinMPI
00061        TYPE(m3_f90_runconfig), INTENT(OUT)::runConfig
00062        CHARACTER(LEN=*), INTENT(IN)::runconfigfilename
00063        INTEGER(KIND=int4), INTENT(IN)::runtype
00064        INTEGER, INTENT(IN)::theComm
00065      END FUNCTION m3_f90_runconfig_readBinMPI
00066   END INTERFACE
00067 
00068   INTERFACE
00069      FUNCTION m3_f90_runconfig_Bcast( runconfig, root , theComm )
00070 
00071 !!$ If the MPI implementation support the use of f90 module:
00072 !!$    USE mpi 
00073 
00074        USE M3_typesf
00075        IMPLICIT NONE
00076 
00077        INTEGER(KIND=int4)::m3_f90_runconfig_bcast
00078        TYPE(m3_f90_runconfig), INTENT(OUT)::runConfig
00079        INTEGER, INTENT(IN)::root
00080        INTEGER, INTENT(IN)::theComm
00081      END FUNCTION m3_f90_runconfig_Bcast
00082   END INTERFACE
00083 
00084 END MODULE M3_mpif

Generated on Mon Nov 24 10:05:12 2008 for M3 by  doxygen 1.5.3-20071008