mean_map Subroutine

public subroutine mean_map(nside, map, map_mean)

Average map depending on level nside

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: nside

nside

real(kind=xp), intent(in), dimension(:,:), allocatable:: map

map

real(kind=xp), intent(inout), dimension(:,:), allocatable:: map_mean

avarage map


Called by

proc~~mean_map~~CalledByGraph proc~mean_map mean_map proc~main_rohsa main_rohsa proc~main_rohsa->proc~mean_map program~rohsa ROHSA program~rohsa->proc~main_rohsa

Contents

Source Code


Source Code

  subroutine mean_map(nside, map, map_mean)
    !! Average map depending on level nside 
    implicit none

    integer, intent(in) :: nside !! nside
    real(xp), intent(in), dimension(:,:), allocatable :: map !! map
    real(xp), intent(inout), dimension(:,:), allocatable :: map_mean !! avarage map

    integer :: i, j, k, l, n
    real(xp) :: val

    val = 0.
    
    n = size(map, dim=2) / nside

    do i=1,size(map_mean,dim=1)
       do j=1,size(map_mean,dim=2)
          do k=1,n
             do l=1,n
                val = val + map(k+((i-1)*n),l+((j-1)*n))
             enddo
          enddo
          val = val / (n**2)
          map_mean(i,j) = val
          val = 0.
       enddo
    enddo
    
  end subroutine mean_map