Provides a generic and simpler interface into MPI calls for OASIS. More...
Data Types | |
interface | oasis_mpi_bcast |
Generic overloaded interface into MPI broadcast. More... | |
interface | oasis_mpi_gatherv |
Generic interfaces into an MPI vector gather. More... | |
interface | oasis_mpi_gathscatvinit |
Generic interface to oasis_mpi_gathScatVInit. More... | |
interface | oasis_mpi_max |
Generic overloaded interface into MPI max reduction. More... | |
interface | oasis_mpi_min |
Generic overloaded interface into MPI min reduction. More... | |
interface | oasis_mpi_recv |
Generic overloaded interface into MPI receive. More... | |
interface | oasis_mpi_scatterv |
Generic interfaces into an MPI vector scatter. More... | |
interface | oasis_mpi_send |
Generic overloaded interface into MPI send. More... | |
interface | oasis_mpi_sum |
Generic overloaded interface into MPI sum reduction. More... | |
Public Member Functions | |
subroutine, public | oasis_mpi_chkerr (rcode, string) |
Checks MPI error codes and aborts. More... | |
subroutine, public | oasis_mpi_commsize (comm, size, string) |
Get the total number of tasks associated with a communicator. More... | |
subroutine, public | oasis_mpi_commrank (comm, rank, string) |
Get the rank (task ID) for a task in a communicator. More... | |
subroutine, public | oasis_mpi_initialized (flag, string) |
Check whether MPI has been initialized. More... | |
subroutine, public | oasis_mpi_wtime (wtime) |
Return a timestamp from MPI_WTIME. More... | |
subroutine, public | oasis_mpi_abort (string, rcode) |
Write error messages and Call MPI_ABORT. More... | |
subroutine, public | oasis_mpi_barrier (comm, string) |
Call MPI_BARRIER for a particular communicator. More... | |
subroutine, public | oasis_mpi_init (string) |
Call MPI_INIT. More... | |
subroutine, public | oasis_mpi_finalize (string) |
Call MPI_FINALZE. More... | |
subroutine, public | oasis_mpi_reducelists (linp1, comm, cntout, lout1, callstr, fastcheck, fastcheckout, linp2, lout2, spval2, linp3, lout3, spval3) |
Custom method for reducing MPI lists across pes for OASIS. More... | |
Private Member Functions | |
subroutine | oasis_mpi_sendi0 (lvec, pid, tag, comm, string) |
Send a scalar integer. More... | |
subroutine | oasis_mpi_sendi1 (lvec, pid, tag, comm, string) |
Send an array of 1D integers. More... | |
subroutine | oasis_mpi_sendr0 (lvec, pid, tag, comm, string) |
Send a scalar double. More... | |
subroutine | oasis_mpi_sendr1 (lvec, pid, tag, comm, string) |
Send an array of 1D doubles. More... | |
subroutine | oasis_mpi_sendr3 (array, pid, tag, comm, string) |
Send an array of 3D doubles. More... | |
subroutine | oasis_mpi_recvi0 (lvec, pid, tag, comm, string) |
Receive a scalar integer. More... | |
subroutine | oasis_mpi_recvi1 (lvec, pid, tag, comm, string) |
Receive an array of 1D integers. More... | |
subroutine | oasis_mpi_recvr0 (lvec, pid, tag, comm, string) |
Receive a scalar double. More... | |
subroutine | oasis_mpi_recvr1 (lvec, pid, tag, comm, string) |
Receive an array of 1D doubles. More... | |
subroutine | oasis_mpi_recvr3 (array, pid, tag, comm, string) |
Receive an array of 3D doubles. More... | |
subroutine | oasis_mpi_bcasti0 (vec, comm, string, pebcast) |
Broadcast a scalar integer. More... | |
subroutine | oasis_mpi_bcastl0 (vec, comm, string, pebcast) |
Broadcast a scalar logical. More... | |
subroutine | oasis_mpi_bcastc0 (vec, comm, string, pebcast) |
Broadcast a character string. More... | |
subroutine | oasis_mpi_bcastc1 (vec, comm, string, pebcast) |
Broadcast an array of 1D character strings. More... | |
subroutine | oasis_mpi_bcastr0 (vec, comm, string, pebcast) |
Broadcast a scalar double. More... | |
subroutine | oasis_mpi_bcasti1 (vec, comm, string, pebcast) |
Broadcast an array of 1D integers. More... | |
subroutine | oasis_mpi_bcastl1 (vec, comm, string, pebcast) |
Broadcast an array of 1D logicals. More... | |
subroutine | oasis_mpi_bcastr1 (vec, comm, string, pebcast) |
Broadcast an array of 1D doubles. More... | |
subroutine | oasis_mpi_bcastr2 (arr, comm, string, pebcast) |
Broadcast an array of 2D doubles. More... | |
subroutine | oasis_mpi_bcasti2 (arr, comm, string, pebcast) |
Broadcast an array of 2D integers. More... | |
subroutine | oasis_mpi_bcastr3 (arr, comm, string, pebcast) |
Broadcast an array of 3D doubles. More... | |
subroutine | oasis_mpi_gathscatvinitr1 (comm, rootid, locArr, glob1DArr, globSize, displs, string) |
Initialize variables for oasis_mpi_gatherv and oasis_mpi_scatterv. More... | |
subroutine | oasis_mpi_gathervr1 (locarr, locSize, glob1DArr, globSize, displs, rootid, comm, string) |
Gather a vector of distributed data to a rootid. More... | |
subroutine | oasis_mpi_scattervr1 (locarr, locSize, glob1Darr, globSize, displs, rootid, comm, string) |
Scatter a vector of global data from a rootid. More... | |
subroutine | oasis_mpi_sumi0 (lvec, gvec, comm, string, all) |
Compute a global Sum for a scalar integer. More... | |
subroutine | oasis_mpi_sumi1 (lvec, gvec, comm, string, all) |
Compute a 1D array of global sums for an array of 1D integers. More... | |
subroutine | oasis_mpi_sumb0 (lvec, gvec, comm, string, all) |
Compute a global sum for a scalar 8 byte integer. More... | |
subroutine | oasis_mpi_sumb1 (lvec, gvec, comm, string, all) |
Compute a 1D array of global sums for an array of 1D 8 byte integers. More... | |
subroutine | oasis_mpi_sumr0 (lvec, gvec, comm, string, all) |
Compute a global sum for a scalar double. More... | |
subroutine | oasis_mpi_sumr1 (lvec, gvec, comm, string, all) |
Compute a 1D array of global sums for an array of 1D doubles. More... | |
subroutine | oasis_mpi_sumr2 (lvec, gvec, comm, string, all) |
Compute a 2D array of global sums for an array of 2D doubles. More... | |
subroutine | oasis_mpi_sumr3 (lvec, gvec, comm, string, all) |
Compute a 3D array of global sums for an array of 3D doubles. More... | |
subroutine | oasis_mpi_mini0 (lvec, gvec, comm, string, all) |
Compute a global minimum for a scalar integer. More... | |
subroutine | oasis_mpi_mini1 (lvec, gvec, comm, string, all) |
Compute an array of global minimums for an array of 1D integers. More... | |
subroutine | oasis_mpi_minr0 (lvec, gvec, comm, string, all) |
Compute an global minimum for a scalar double. More... | |
subroutine | oasis_mpi_minr1 (lvec, gvec, comm, string, all) |
Compute an array of global minimums for an array of 1D doubles. More... | |
subroutine | oasis_mpi_maxi0 (lvec, gvec, comm, string, all) |
Compute a global maximum for a scalar integer. More... | |
subroutine | oasis_mpi_maxi1 (lvec, gvec, comm, string, all) |
Compute an array of global maximums for an array of 1D integers. More... | |
subroutine | oasis_mpi_maxr0 (lvec, gvec, comm, string, all) |
Compute a global maximum for a scalar double. More... | |
subroutine | oasis_mpi_maxr1 (lvec, gvec, comm, string, all) |
Compute an array of global maximums for an array of 1D doubles. More... | |
Provides a generic and simpler interface into MPI calls for OASIS.
Definition at line 3 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_abort | ( | character(*), intent(in), optional | string, |
integer, intent(in), optional | rcode | ||
) |
Write error messages and Call MPI_ABORT.
[in] | string | to identify caller |
[in] | rcode | optional code |
Definition at line 2382 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_barrier | ( | integer, intent(in) | comm, |
character(*), intent(in), optional | string | ||
) |
Call MPI_BARRIER for a particular communicator.
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 2421 of file mod_oasis_mpi.F90.
|
private |
Broadcast a character string.
[in,out] | vec | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 652 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 1D character strings.
[in,out] | vec | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 694 of file mod_oasis_mpi.F90.
|
private |
Broadcast a scalar integer.
[in,out] | vec | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 568 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 1D integers.
[in,out] | vec | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 778 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 2D integers.
[in,out] | arr | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 948 of file mod_oasis_mpi.F90.
|
private |
Broadcast a scalar logical.
[in,out] | vec | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 610 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 1D logicals.
[in,out] | vec | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 820 of file mod_oasis_mpi.F90.
|
private |
Broadcast a scalar double.
[in,out] | vec | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 736 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 1D doubles.
[in,out] | vec | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 862 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 2D doubles.
[in,out] | arr | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 904 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 3D doubles.
[in,out] | arr | values to broadcast |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | pebcast | bcast pe, default is task 0 |
Definition at line 992 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_chkerr | ( | integer(ip_i4_p), intent(in) | rcode, |
character(*), intent(in) | string | ||
) |
Checks MPI error codes and aborts.
This method compares rcode to MPI_SUCCESS. If rcode is an error, it queries MPI_ERROR_STRING for the error string associated with rcode, writes it out, and aborts with the string passed through the interface.
[in] | rcode | MPI error code |
[in] | string | abort message |
Definition at line 128 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_commrank | ( | integer, intent(in) | comm, |
integer, intent(out) | rank, | ||
character(*), intent(in), optional | string | ||
) |
Get the rank (task ID) for a task in a communicator.
[in] | comm | mpi communicator |
[out] | rank | output task ID |
[in] | string | to identify caller |
Definition at line 2286 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_commsize | ( | integer, intent(in) | comm, |
integer, intent(out) | size, | ||
character(*), intent(in), optional | string | ||
) |
Get the total number of tasks associated with a communicator.
[in] | comm | mpi communicator |
[out] | size | output comm size |
[in] | string | to identify caller |
Definition at line 2251 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_finalize | ( | character(*), intent(in), optional | string | ) |
Call MPI_FINALZE.
[in] | string | to identify caller |
Definition at line 2488 of file mod_oasis_mpi.F90.
|
private |
Gather a vector of distributed data to a rootid.
This method passes in glob1DArr, globSize, and displs computed in the oasis_mpi_gathscatvinit routine and uses that information to gather the locArr into the glob1Darr on processor rootid in communicator comm.
[in] | locarr | Local array |
[in,out] | glob1darr | Global 1D array to receive in on |
[in] | locsize | Number to send from this PE |
[in] | globsize | Number to receive from each PE |
[in] | displs | Displacements for receives |
[in] | rootid | MPI task to gather on |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 1134 of file mod_oasis_mpi.F90.
|
private |
Initialize variables for oasis_mpi_gatherv and oasis_mpi_scatterv.
This method initializes glob1DArr, globSize, and displs for use in the oasis_mpi_gatherv and oasis_mpi_scatterv routines. locArr is the distributed array to gather from or scatter to.
[in] | comm | mpi communicator |
[in] | rootid | MPI task to gather/scatter on |
[in] | locarr | Local array of distributed data |
glob1darr | Global 1D array of gathered data | |
globsize | Size of each distributed piece | |
displs | Displacements for receive | |
[in] | string | to identify caller |
Definition at line 1040 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_init | ( | character(*), intent(in), optional | string | ) |
Call MPI_INIT.
[in] | string | to identify caller |
Definition at line 2455 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_initialized | ( | logical, intent(out) | flag, |
character(*), intent(in), optional | string | ||
) |
Check whether MPI has been initialized.
[out] | flag | true if MPI_INITIALIZED has been called |
[in] | string | to identify caller |
Definition at line 2321 of file mod_oasis_mpi.F90.
|
private |
Compute a global maximum for a scalar integer.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1999 of file mod_oasis_mpi.F90.
|
private |
Compute an array of global maximums for an array of 1D integers.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2062 of file mod_oasis_mpi.F90.
|
private |
Compute a global maximum for a scalar double.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2125 of file mod_oasis_mpi.F90.
|
private |
Compute an array of global maximums for an array of 1D doubles.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2188 of file mod_oasis_mpi.F90.
|
private |
Compute a global minimum for a scalar integer.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1747 of file mod_oasis_mpi.F90.
|
private |
Compute an array of global minimums for an array of 1D integers.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1810 of file mod_oasis_mpi.F90.
|
private |
Compute an global minimum for a scalar double.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1873 of file mod_oasis_mpi.F90.
|
private |
Compute an array of global minimums for an array of 1D doubles.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1936 of file mod_oasis_mpi.F90.
|
private |
Receive a scalar integer.
[out] | lvec | receive values |
[in] | pid | pid to recv from |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 363 of file mod_oasis_mpi.F90.
|
private |
Receive an array of 1D integers.
[out] | lvec | receive values |
[in] | pid | pid to recv from |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 404 of file mod_oasis_mpi.F90.
|
private |
Receive a scalar double.
[out] | lvec | receive values |
[in] | pid | pid to recv from |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 445 of file mod_oasis_mpi.F90.
|
private |
Receive an array of 1D doubles.
[out] | lvec | receive values |
[in] | pid | pid to recv from |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 486 of file mod_oasis_mpi.F90.
|
private |
Receive an array of 3D doubles.
[out] | array | receive values |
[in] | pid | pid to recv from |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 527 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_reducelists | ( | character(*), dimension(:), intent(in), pointer | linp1, |
integer, intent(in) | comm, | ||
integer, intent(out) | cntout, | ||
character(*), dimension(:), intent(inout), pointer | lout1, | ||
character(*), intent(in) | callstr, | ||
logical, intent(in), optional | fastcheck, | ||
logical, intent(out), optional | fastcheckout, | ||
character(*), dimension(:), intent(in), optional, pointer | linp2, | ||
character(*), dimension(:), intent(inout), optional, pointer | lout2, | ||
character(*), intent(in), optional | spval2, | ||
integer, dimension(:), intent(in), optional, pointer | linp3, | ||
integer, dimension(:), intent(inout), optional, pointer | lout3, | ||
integer, intent(in), optional | spval3 | ||
) |
Custom method for reducing MPI lists across pes for OASIS.
[in] | linp1 | input list on each task |
[in] | comm | mpi communicator |
[out] | cntout | size of lout1 list |
[in,out] | lout1 | reduced output list, same on all tasks |
[in] | callstr | to identify caller |
[in] | fastcheck | run a fastcheck first |
[out] | fastcheckout | true if fastcheck worked |
[in] | linp2 | input list on each task |
[in,out] | lout2 | reduced output list, same on all tasks |
[in] | spval2 | unset value for linp2 |
[in] | linp3 | input list on each task |
[in,out] | lout3 | reduced output list, same on all tasks |
[in] | spval3 | unset value for linp3 |
Definition at line 2521 of file mod_oasis_mpi.F90.
|
private |
Scatter a vector of global data from a rootid.
This method passes in glob1DArr, globSize, and displs computed in the oasis_mpi_gathscatvinit routine and uses that information to scatter glob1Darr on processor rootid in communicator comm to locarr on other processors.
[out] | locarr | Local array |
[in] | glob1darr | Global 1D array to send from |
[in] | locsize | Number to receive this PE |
[in] | globsize | Number to send to each PE |
[in] | displs | Displacements for send |
[in] | rootid | MPI task to scatter on |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 1183 of file mod_oasis_mpi.F90.
|
private |
Send a scalar integer.
[in] | lvec | send value |
[in] | pid | pid to send to |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 163 of file mod_oasis_mpi.F90.
|
private |
Send an array of 1D integers.
[in] | lvec | send values |
[in] | pid | pid to send to |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 203 of file mod_oasis_mpi.F90.
|
private |
Send a scalar double.
[in] | lvec | send values |
[in] | pid | pid to send to |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 243 of file mod_oasis_mpi.F90.
|
private |
Send an array of 1D doubles.
[in] | lvec | send values |
[in] | pid | pid to send to |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 283 of file mod_oasis_mpi.F90.
|
private |
Send an array of 3D doubles.
[in] | array | send values |
[in] | pid | pid to send to |
[in] | tag | tag |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
Definition at line 323 of file mod_oasis_mpi.F90.
|
private |
Compute a global sum for a scalar 8 byte integer.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1357 of file mod_oasis_mpi.F90.
|
private |
Compute a 1D array of global sums for an array of 1D 8 byte integers.
This sums an array of local integers to an array of summed integers. This does not reduce the array to a scalar.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1423 of file mod_oasis_mpi.F90.
|
private |
Compute a global Sum for a scalar integer.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1228 of file mod_oasis_mpi.F90.
|
private |
Compute a 1D array of global sums for an array of 1D integers.
This sums an array of local integers to an array of summed integers. This does not reduce the array to a scalar.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1294 of file mod_oasis_mpi.F90.
|
private |
Compute a global sum for a scalar double.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1486 of file mod_oasis_mpi.F90.
|
private |
Compute a 1D array of global sums for an array of 1D doubles.
This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1552 of file mod_oasis_mpi.F90.
|
private |
Compute a 2D array of global sums for an array of 2D doubles.
This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1618 of file mod_oasis_mpi.F90.
|
private |
Compute a 3D array of global sums for an array of 3D doubles.
This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.
[in] | lvec | local values |
[out] | gvec | global values |
[in] | comm | mpi communicator |
[in] | string | to identify caller |
[in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1684 of file mod_oasis_mpi.F90.
subroutine, public mod_oasis_mpi::oasis_mpi_wtime | ( | real(ip_r8_p), intent(out) | wtime | ) |
Return a timestamp from MPI_WTIME.
[out] | wtime | time in MPI_WTIME units |
Definition at line 2355 of file mod_oasis_mpi.F90.