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