SUBROUTINE test(params)
IMPLICIT NONE
TYPE(KORC_PARAMS), INTENT(IN) :: params
REAL(rp), DIMENSION(3,2,4) :: A, C
REAL(rp), DIMENSION(24) :: B, R
INTEGER :: ii,jj,kk, ierr
A = 0_rp
do kk=1_idef,4
do jj=1_idef,2
do ii=1_idef,3
A(ii,jj,kk) = REAL(ii,rp) + 3_rp*(REAL(jj,rp) - 1.0_rp) + &
6.0_rp*(REAL(kk,rp) - 1.0_rp)
A(ii,jj,kk) = REAL(params%mpi_params%rank,rp)*A(ii,jj,kk)
write(6,'("A(",I1,",",I1,",",I1,")=",F25.16)') ii,jj,kk,A(ii,jj,kk)
end do
end do
end do
B = RESHAPE(A,(/24/))
CALL MPI_REDUCE(B,R,24,MPI_REAL8,MPI_SUM,0,MPI_COMM_WORLD,ierr)
if (params%mpi_params%rank.EQ.0_idef) then
do ii=1_idef,24
write(6,'("R(",I2,")=",F25.16)') ii,R(ii)
end do
C = RESHAPE(B,(/3,2,4/))
do kk=1_idef,4
do jj=1_idef,2
do ii=1_idef,3
write(6,'("C(",I1,",",I1,",",I1,")=",F25.16)') &
ii,jj,kk,C(ii,jj,kk)
end do
end do
end do
end if
END SUBROUTINE test