Thank all for lots of clarifications,<br /><br />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.<br /><br />Hee Il <br /><br />> >> 2. Carpet's reduction operators take the relative size of the grid<br />> <br />> >> cells into account. That is, they take into account that finer grid<br />> <br />> >> cells are smaller, and they also take into account that only fractions<br />> <br />> >> of grid cells may contribute near refinement boundaries. (Refinement<br />> <br />> >> boundaries can cut grid cells if you use vertex centered refinement.)<br />> <br />> >> However, Carpet's reduction operators do not take the coordinate<br />> <br />> >> system into account.<br />> <br />> >><br />> <br />> >> This means that you need to multiply the result with the coarse grid<br />> <br />> >> coordinate volume. (This should probably be changed at some point.)<br />> <br />> >><br />> <br />> >> -erik<br />> <br />> >><br />> <br />> >> On Fri, Jan 7, 2011 at 12:00 AM, Hee Il Kim heeilkim@gmail.com> wrote:<br />> <br /><br />> <br />> >>> Result I: Mass = (Sum_reflev=0 of capret weighted density(i,j,k) * dV_0)<br />> <br />> >>> +<br />> <br />> >>> (Sum_reflev=1 of carpet weighted density(i,j,k) * dV_0) + ...<br />> <br />> >>><br />> <br />> >>> But what I wanted (expected) to get by defining integrand = density *<br />> <br />> >>> volume_measure" is more accurate one;<br />> <br />> >>><br />> <br />> >>> Result II: Mass = (Sum_reflev=0 of carpet weighted density(i,j,k) * dV_0)<br />> <br />> >>> +<br />> <br />> >>> (Sum_reflev=1 of carpet weighted density(i,j,k) * 1/8 * dV_0) + ...<br />> <br />> >>><br />>