Hi Nathan,

Thanks for your reply! Please let me interact with Britton to make sure if it's not my error. Then I'll open an issue.

Thanks,
Pengfei

On Mon, Aug 8, 2016 at 7:06 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Hi Pengfei,

Can you open an issue so we don't lose track of this?

https://bitbucket.org/yt_analysis/yt/issues/new

If you can, include a self-contained example using one of the cosmology time series datasets from yt-project.org/data so one of us can reproduce you issue locally.

Nathan

On Monday, August 8, 2016, Pengfei Chen <madcpf@gmail.com> wrote:
Hi all,

I was trying to generate light rays using yt 3.4-dev, but found that the light rays have wrong redshift intervals. For example, my simulation box is 80Mpccm/h per side, and I expect a light ray generated in a data dump at z=2 with length =1 simulation unit (i.e. 80Mpccm/h) would have a redshift interval from z=2 to z=1.92. However, the light ray generated by yt gives spans from z=2 to z=1.97.

As I look into this, I found that the function comoving_radial_distance in cosmology.py might return the wrong unit. I think the return value should be in comoving units, instead of physical units. To see this directly, I made the following change in cosmology_splice.py:

(root) ~/yt-conda/src/yt-hg/yt/analysis_modules/cosmological_observation $diff cosmology_splice.py cosmology_splice.py0
373d372
<             print target_distance, distance2, z2

And it shows:

80.0 Mpccm/h 4.65320708035e+26 cm 1.97387969592 dimensionless
80.0 Mpccm/h 1.19455177073e+26 cm 1.97343368065 dimensionless
80.0 Mpccm/h 1.21507519065e+26 cm 1.97342592996 dimensionless

Then I made the following change in cosmology.py:

(root) ~/yt-conda/src/yt-hg/yt/utilities $diff cosmology.py cosmology.py0
111,112c111,112
<         return self.quan((self.hubble_distance() *
<                 trapzint(self.inverse_expansion_factor, z_i, z_f)).value, 'cmcm')
---
>         return (self.hubble_distance() *
>                 trapzint(self.inverse_expansion_factor, z_i, z_f)).in_base(self.unit_system)


Then I get:
80.0 Mpccm/h 4.65320708035e+26 cmcm 1.92163908776 dimensionless
80.0 Mpccm/h 3.62771515661e+26 cmcm 1.92124702027 dimensionless

With the change of unit from cm to cmcm, the light rays have the right span.

Even though this solves my problem, I am not sure if similar problem still exists. For example, instead of making change in comoving_radial_distance, we might need to change hubble_distance into comoving units. Hopefully someone familiar with yt unit system could check this.

Thanks,
Pengfei

_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org