[yt-dev] Off-axis projections -- Discrepancies between homogenized volume vs KDtree methods
Cameron Hummels
chummels at gmail.com
Tue Nov 22 12:07:07 PST 2011
Hello peeps (mostly Britton, Matt and Sam),
I have recently been doing some off-axis projections in my cosmological
runs (using the supercool new off_axis_projection helper function Matt
wrote), and I've encountered some problems. I find different results
when I do the off-axis projection using a homogenized volume versus when
I do not use a homogenized volume (when it uses the default behavior for
camera objects -- ie a KDtree).
Of course, these two results should be identical, and they are when I
use a normal field like "Density". However, I'm trying to use a derived
field from some code Britton wrote, part of a package called
ion_balance, which creates derived fields for different atomic ions. So
when I compare the CIV Number Density from these two methods, I get very
different results. Even when I do this on a normal vanilla yt field,
like "Density", the KDtree method takes exceptionally longer than the
homogenized volume method (I think this is because I'm only doing the HV
for a small subsample of the overall volume). On the other hand, they
both take about the same amount of time when my sample volume is the
entire box volume.
I've pastebinned a demonstration script which shows this discrepancy at:
http://paste.yt-project.org/show/1953. If you don't have ion_balance,
you can comment that import out, and comment the line for defining the
field as "CIV_Cloudy_eq_NumberDensity", and run it to see the time
discrepancy between the two methods. It should work on any sort of
parameter file, not just the specific one I'm using. What I do is take
an off-axis projection using each method, then divide the two images
against each other to form a ratio image, and then output the average
and stddev for this ratio. The average of the ratio is: 2e-8.
I've changed the width of the off-axis projection and it has a minimal
(but nonzero) change on the overall ratio between the two.
So I'm not sure what to do. It appears that the CIV field is initiated
in the same way that a normal field is, with the projection_conversion
set to 'cm', just as it is for "Density". Any ideas on what could be
making this difference? Any ideas on which is the value to trust?
Cameron
More information about the yt-dev
mailing list