Thank all for lots of clarifications,
Erik's second comment answers my question. I thought CarpetReduce only makes weight values of 0 to 1. But it's actually considering the difference between each level's volume measure (by volume measure, I mean the cube of cctk_delta_space), so I don't have to include the measure in the definition of the integrand. So the Method I actually makes Result II.
Hee Il
> >> 2. Carpet's reduction operators take the relative size of the grid
>
> >> cells into account. That is, they take into account that finer grid
>
> >> cells are smaller, and they also take into account that only fractions
>
> >> of grid cells may contribute near refinement boundaries. (Refinement
>
> >> boundaries can cut grid cells if you use vertex centered refinement.)
>
> >> However, Carpet's reduction operators do not take the coordinate
>
> >> system into account.
>
> >>
>
> >> This means that you need to multiply the result with the coarse grid
>
> >> coordinate volume. (This should probably be changed at some point.)
>
> >>
>
> >> -erik
>
> >>
>
> >> On Fri, Jan 7, 2011 at 12:00 AM, Hee Il Kim heeilkim@gmail.com> wrote:
>
>
> >>> Result I: Mass = (Sum_reflev=0 of capret weighted density(i,j,k) * dV_0)
>
> >>> +
>
> >>> (Sum_reflev=1 of carpet weighted density(i,j,k) * dV_0) + ...
>
> >>>
>
> >>> But what I wanted (expected) to get by defining integrand = density *
>
> >>> volume_measure" is more accurate one;
>
> >>>
>
> >>> Result II: Mass = (Sum_reflev=0 of carpet weighted density(i,j,k) * dV_0)
>
> >>> +
>
> >>> (Sum_reflev=1 of carpet weighted density(i,j,k) * 1/8 * dV_0) + ...
>
> >>>
>