17 use module_mp_tempo_params,
only : table_dp
18 use module_mp_tempo_tables,
only : tempo_build_tables
21#ifdef build_tables_with_mpi
27 integer :: build_tables_rank, build_tables_num_proc
28 type(ty_tempo_cfgs) :: tempo_cfgs
30#ifdef build_tables_with_mpi
31 integer :: ierror, mpi_dp_size
35 build_tables_num_proc = 1
37#ifdef build_tables_with_mpi
39 call mpi_comm_size(mpi_comm_world, build_tables_num_proc, ierror)
40 call mpi_comm_rank(mpi_comm_world, build_tables_rank, ierror)
41 call mpi_type_size(mpi_double_precision, mpi_dp_size, ierror)
42 if (mpi_dp_size /= table_dp)
then
43 write(*,
'(A,I1,A,I1,A)')
'MPI double precision size (', mpi_dp_size, &
44 ') does not match fortran double precision size (', table_dp,
')'
45 error stop
'MPI and fortran double precision sizes do not match.'
49 call tempo_build_tables(build_tables_rank, build_tables_num_proc, tempo_cfgs)
51#ifdef build_tables_with_mpi
52 call mpi_finalize(ierror)
55end program build_tables