[yt-users] Absorption Spectrum from Gadget snapshot problem

Nathan Goldbaum nathan12343 at gmail.com
Wed Aug 19 13:39:19 PDT 2015


On Wed, Aug 19, 2015 at 3:34 PM, Jared Coughlin <Jared.W.Coughlin.29 at nd.edu>
wrote:

> Hello! I have a custom gadget snapshot distributed onto four files, and
> I'm trying to make an absorption spectrum from a LOS through the middle of
> the box parallel to the x-axis. To this end, I have done:
>
> lr = LightRay(fname, load_kwargs={'unit_base' : my_unit_base, 'field_spec'
> : my_field_def})
> lr.make_light_ray(start_position=[0.0, 25000.0, 25000.0],
>                              end_position=[50000.0, 25000.0, 25000.0],
>                              solution_filename='lrsol.txt',
>                              data_filename='lr.h5',
>                              fields=['temperature', 'density'],
>                              get_los_velocity=True)
>
> sp = AbsorptionSpectrum(4862.4, 4949.04, 3000)
> my_label = 'HI Lya'
> field = 'H_number_density'
> wavelength = 1215.67
> f_value = 4.164E-01
> gamma = 6.265E+08
> mass = 1.00794
>
> sp.add_line(my_label, field, wavelength, f_value, gamma, mass,
> label_threshold=1e10)
>
> wl, flux = sp.make_spectrum('lr.h5', output_file='spectrum.txt',
>                                                line_list_file='lines.txt',
> use_peculiar_velocity=True)
>
> And I get the error: KeyError: "Unable to open object (Object
> 'h_number_density' doesn't exist)"
> I didn't post the traceback because it's kind of long.
>

We usually use a pastebin for this, e.g. paste.yt-project.org.


>
> I have two questions. First: When calling make_light_ray and passing it
> fields, do I need to pass it H_number_density? Second: Does yt read in
> those fields from the gadget snapshot, or does it calculate them from the
> data in the snapshot (for example, a standard gadget snapshot does not
> write the temperature, but rather the internal energy)?  Thanks!
>

It can do both. If the hydrogen number density is available on disk, you
might need to add it as a known alias to h_number_density in the gadget
frontend. We already do this for the Enzo frontend, for example.

It's also possible to add a derived field to the gadget frontend that
calculates the hydrogen number density based on other fields.  That's how
the OWLS/EAGLE frontend does it.

As a stopgap, it should be possible to create a derived field in your
script that defines ('gas', 'h_number_density'). I've never actually tried
to get this to work, so I don't know if there might be obscure issues.

Cameron can likely comment on the light ray specific issues you're running
into.


>
> -Jared
>
> _______________________________________________
> 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/20150819/30f55170/attachment.html>


More information about the yt-users mailing list