slabsumi Subroutine

public subroutine slabsumi(aver, iis, iif, var, ib, ie, jb, je, kb, ke, ibs, ies, jbs, jes, kbs, kes)

Arguments

Type IntentOptional Attributes Name
real :: aver(iis:iif)
integer :: iis
integer :: iif
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~~slabsumi~~CallsGraph proc~slabsumi modmpi::slabsumi mpi_allreduce mpi_allreduce proc~slabsumi->mpi_allreduce

Called by

proc~~slabsumi~~CalledByGraph proc~slabsumi modmpi::slabsumi proc~inlettop modboundary::inlettop proc~inlettop->proc~slabsumi proc~boundary modboundary::boundary proc~boundary->proc~inlettop proc~readinitfiles modstartup::readinitfiles proc~readinitfiles->proc~boundary program~dalesurban DALESURBAN program~dalesurban->proc~boundary proc~startup modstartup::startup program~dalesurban->proc~startup proc~startup->proc~readinitfiles

Contents

Source Code


Source Code

  subroutine slabsumi(aver,iis,iif,var,ib,ie,jb,je,kb,ke,ibs,ies,jbs,jes,kbs,kes)
    implicit none

    integer :: iis,iif
    integer :: ib,ie,jb,je,kb,ke,ibs,ies,jbs,jes,kbs,kes
    real    :: aver(iis:iif)
    real    :: var (ib:ie,jb:je,kb:ke)
    real    :: averl(iis:iif)
    real    :: avers(iis:iif)
    integer :: i

    averl       = 0.
    avers       = 0.

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

    call MPI_ALLREDUCE(averl, avers, iif-iis+1,  MY_REAL, &
                          MPI_SUM, comm3d,mpierr)

    aver = aver + avers

    return
  end subroutine slabsumi