test Subroutine

public subroutine test(params)

Arguments

Type IntentOptional AttributesName
type(KORC_PARAMS), intent(in) :: params

Contents

Source Code


Source Code

  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