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

Pengfei Chen madcpf at gmail.com
Mon Aug 8 13:24:40 PDT 2016


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 at 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 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
>>
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20160808/3d6ecf84/attachment.html>


More information about the yt-users mailing list