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