da_par_util1.f90

References to this file elsewhere.
1 module da_par_util1
2 
3    use da_control, only : rootproc, ierr, comm, root
4 
5 #ifdef DM_PARALLEL
6    use module_dm, only : rsl_double
7    use mpi, only : mpi_double_complex, mpi_real8, mpi_sum, &
8       mpi_integer
9 #endif
10 
11    !---------------------------------------------------------------------------
12    ! Purpose: Routines for local-to-global and global-to-local grid operations.
13    !
14    ! METHOD:  RSL/MPI
15    !---------------------------------------------------------------------------
16 
17    implicit none
18 
19 #ifdef DM_PARALLEL
20 #if ( DWORDSIZE != RWORDSIZE )
21    integer, parameter :: true_mpi_real    = mpi_real
22    integer, parameter :: true_mpi_complex = mpi_complex
23    integer, parameter :: true_rsl_real    = rsl_real
24 #else
25    integer, parameter :: true_mpi_real    = mpi_real8
26    integer, parameter :: true_mpi_complex = mpi_double_complex
27    integer, parameter :: true_rsl_real    = rsl_double
28 #endif
29 #endif
30 
31    contains
32 
33 #include "da_proc_sum_int.inc"
34 #include "da_proc_sum_ints.inc"
35 #include "da_proc_sum_real.inc"
36 
37 end module da_par_util1