slabsum Subroutine

public subroutine slabsum(aver, ks, kf, var, ib, ie, jb, je, kb, ke, ibs, ies, jbs, jes, kbs, kes)

Arguments

Type IntentOptional Attributes Name
real :: aver(ks:kf)
integer :: ks
integer :: kf
real :: var(ib:ie,jb:je,kb:ke)
integer :: ib
integer :: ie
integer :: jb
integer :: je
integer :: kb
integer :: ke
integer :: ibs
integer :: ies
integer :: jbs
integer :: jes
integer :: kbs
integer :: kes

Calls

proc~~slabsum~~CallsGraph proc~slabsum modmpi::slabsum mpi_allreduce mpi_allreduce proc~slabsum->mpi_allreduce

Called by

proc~~slabsum~~CalledByGraph proc~slabsum modmpi::slabsum proc~inletgen modinlet::inletgen proc~inletgen->proc~slabsum proc~inletgennotemp modinlet::inletgennotemp proc~inletgennotemp->proc~slabsum proc~iolet modboundary::iolet proc~iolet->proc~slabsum proc~readinitfiles modstartup::readinitfiles proc~readinitfiles->proc~slabsum proc~boundary modboundary::boundary proc~readinitfiles->proc~boundary proc~tderive modpois::tderive proc~tderive->proc~slabsum proc~boundary->proc~inletgen proc~boundary->proc~inletgennotemp proc~boundary->proc~iolet proc~poisson modpois::poisson proc~poisson->proc~tderive proc~startup modstartup::startup proc~startup->proc~readinitfiles program~dalesurban DALESURBAN program~dalesurban->proc~boundary program~dalesurban->proc~poisson program~dalesurban->proc~startup

Contents

Source Code


Source Code

  subroutine slabsum(aver,ks,kf,var,ib,ie,jb,je,kb,ke,ibs,ies,jbs,jes,kbs,kes)
    implicit none

    integer :: ks,kf
    integer :: ib,ie,jb,je,kb,ke,ibs,ies,jbs,jes,kbs,kes
    real    :: aver(ks:kf)
    real    :: var (ib:ie,jb:je,kb:ke)
    real    :: averl(ks:kf)
    real    :: avers(ks:kf)
    integer :: k

    averl       = 0.
    avers       = 0.

    do k=kbs,kes
      averl(k) = sum(var(ibs:ies,jbs:jes,k))
    enddo

    call MPI_ALLREDUCE(averl, avers, kf-ks+1,  MY_REAL, &
                          MPI_SUM, comm3d,mpierr)

    aver = aver + avers

    return
  end subroutine slabsum