[yt-users] potential unit error in cosmology.py

Nathan Goldbaum nathan12343 at gmail.com
Mon Aug 8 07:06:35 PDT 2016


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 at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20160808/287676cd/attachment.htm>


More information about the yt-users mailing list