anchor.diff:  
   contains  
   
  -  subroutine build_grid(grid,nx,ng,xmin,xmax,xlbc,xrbc)
  +  subroutine build_grid(grid,nx,ng,xmin,xmax,xlbc,xrbc,is_spherical)
       
       type(grid_t),       intent(inout) :: grid
       integer,            intent(in   ) :: nx
  
positive.code:     real (kind=dp_t),   intent(in   ) :: xmin, xmax
      character (len=32), intent(in   ) :: xlbc, xrbc
      integer :: i
  
      grid%lo = 0
      grid%hi = nx-1
  
negative.code:        grid%x(i) = 0.5_dp_t*(grid%xl(i) + grid%xr(i))
      enddo
  
      if (grid%geometry == 1) then
         do i = grid%lo-ng, grid%hi+ng
            grid%Al(i) = 4.0_dp_t*pi*grid%xl(i)**2
            grid%Ar(i) = 4.0_dp_t*pi*grid%xr(i)**2
            
            grid%V(i) = (4.0_dp_t*pi/3.0_dp_t)* &
                 (grid%xr(i)**2 + grid%xl(i)*grid%xr(i) + grid%xl(i)**2)*grid%dx
         enddo
      else
         grid%Al(:) = 1.0_dp_t
         grid%Ar(:) = 1.0_dp_t
         grid%V(:) = grid%dx
      endif
  
    end subroutine build_grid
  
  