/*D
   MPI_Init - Initialize the MPI execution environment

Synopsis:
.vb
int MPI_Init(int *argc, char ***argv)
.ve

Input/Output Parameters:
+ argc - argc (None)
- argv - argv (None)

Notes:
   The MPI standard does not say what a program can do before an 'MPI_INIT' or
   after an 'MPI_FINALIZE'.  In the MPICH implementation, you should do
   as little as possible.  In particular, avoid anything that changes the
   external state of the program, such as opening files, reading standard
   input or writing to standard output.

Thread and Signal Safety:
    This routine must be called by one thread only.  That thread is called
    the `main thread` and must be the thread that calls 'MPI_Finalize'.

Notes for C:
    As of MPI-2, 'MPI_Init' will accept NULL as input parameters. Doing so
    will impact the values stored in 'MPI_INFO_ENV'.

Notes for Fortran:
The Fortran binding for 'MPI_Init' has only the error return
.vb
    subroutine MPI_INIT(ierr)
    integer ierr
.ve

.N Errors
.N MPI_SUCCESS
.N MPI_ERR_OTHER

.seealso: MPI_Init_thread, MPI_Finalize
D*/

