[yt-users] Gadget snapshot read Problem

Nathan Goldbaum nathan12343 at gmail.com
Tue Aug 18 15:35:48 PDT 2015


On Tue, Aug 18, 2015 at 5:28 PM, Jared Coughlin <Jared.W.Coughlin.29 at nd.edu>
wrote:

> Thanks! I'll give that a try.  Also, in my field_spec definition, for
> those fields that applied to more than one particle type, I edited it to
> have () around them, so it reads ("C", ("Gas", "Stars")).  Is that the
> right way to do that?
>

Yes, I think that's correct. It seems to be used that way in the group0000
field spec we have already. I've never actually tried to do what you're
doing, though.

By the way, if you *do* get this working, we'd love to include your field
spec in yt itself so future users who have data that looks like yours won't
have to deal with this. Unfortunately due to the proliferation of Gadget
output types, someone at some point needs to add support for each custom
type to yt so we can ascribe semantic meaning to all of the fields.


> Also, here's the documentation page I was following:
>
> http://yt-project.org/doc/examining/loading_data.html?highlight=gadget_field_specs#gadget-data
>

I've issued a pull request to fix this here:

https://bitbucket.org/yt_analysis/yt/pull-requests/1706/correcting-two-incorrect-paths-in-the/diff


>
>
> Thanks!
> -Jared
>
>
> On Tue, Aug 18, 2015 at 5:51 PM, Nathan Goldbaum <nathan12343 at gmail.com>
> wrote:
>
>>
>>
>> On Tue, Aug 18, 2015 at 4:46 PM, Jared Coughlin <
>> Jared.W.Coughlin.29 at nd.edu> wrote:
>>
>>> Hello! I have two questions: the first is related to saving new field
>>> specs, and the second is related to reading in the file itself.
>>>
>>> I was following along with the documentation that describes saving new
>>> field specs, and I defined a new field spec as (it should be noted that my
>>> extra columns are for both gas and star particles, and I was unsure as to
>>> how to tell yt that it applied for both types, so I made a best guess):
>>>
>>> my_field_def = ("Coordinates",
>>>                   "Velocities",
>>>                   "ParticleIDs",
>>>                   "Mass",
>>>                   ("InternalEnergy", "Gas"),
>>>                   ("Density", "Gas"),
>>>                   ("SmoothingLength", "Gas"),
>>>                   ("RII", "Stars"),
>>>                   ("RIa", "Stars"),
>>>                   ("StellarAge", "Stars"),
>>>                   ("C", "Gas", "Stars"),
>>>                   ("O", "Gas", "Stars"),
>>>                   ("Ca", "Gas", "Stars"),
>>>                   ("Cr", "Gas", "Stars"),
>>>                   ("Mn", "Gas", "Stars"),
>>>                   ("Fe", "Gas", "Stars"),
>>>                )
>>> And a unit base:
>>>
>>> unit_base = {'UnitLength_in_cm' : 3.085678e+21,
>>>                'UnitMass_in_g' : 1.989e+43,
>>>                'UnitVelocity_in_cm_per_s' : 1.0e+5}
>>>
>>> Firstly, when I tried to add my custom field definition to the
>>> gadget_field_specs by doing:
>>>
>>> from yt.frontends.sph.definitions import gadget_field_specs
>>>
>>> I get the error:
>>> Traceback (most recent call last):
>>>   File "<stdin>", line 1, in <module>
>>> ImportError: No module named definitions
>>>
>>> Just wondering what I was doing wrong?  Also, when I try to load in the
>>> snapshot, I am doing:
>>>
>>
>> It looks like you're reading some out of date documentation. The correct
>> import is now "from yt.frontends.gadget.definitions import
>> gadget_field_specs"
>>
>> Can you paste the link to the page with the incorrect import? If it's
>> still that way in the latest version of the docs, we can correct it.
>>
>>
>>>
>>> fname = 'snapshot_000.0'
>>> ds = yt.GadgetDataset(fname, unit_base=unit_base,
>>> field_spec=my_field_def)
>>>
>>> ds.index
>>>
>>> ad = ds.all_data()
>>>
>>> pz = yt.ProjectionPlot(ds, 'z', ('gas', 'density'))
>>> pz.show()
>>>
>>> The output is:
>>> yt : [INFO     ] 2015-08-18 17:24:45,103 Calculating time from 2.500e-01
>>> to be 6.950e+16 seconds
>>> yt : [INFO     ] 2015-08-18 17:24:45,144 Parameters: current_time
>>>        = 6.95032608578e+16 s
>>> yt : [INFO     ] 2015-08-18 17:24:45,144 Parameters: domain_dimensions
>>>       = [2 2 2]
>>> yt : [INFO     ] 2015-08-18 17:24:45,144 Parameters: domain_left_edge
>>>        = [ 0.  0.  0.]
>>> yt : [INFO     ] 2015-08-18 17:24:45,145 Parameters: domain_right_edge
>>>       = [ 50000.  50000.  50000.]
>>> yt : [INFO     ] 2015-08-18 17:24:45,145 Parameters:
>>> cosmological_simulation   = 1
>>> yt : [INFO     ] 2015-08-18 17:24:45,145 Parameters: current_redshift
>>>        = 3.00000005201
>>> yt : [INFO     ] 2015-08-18 17:24:45,145 Parameters: omega_lambda
>>>        = 0.726
>>> yt : [INFO     ] 2015-08-18 17:24:45,145 Parameters: omega_matter
>>>        = 0.274
>>> yt : [INFO     ] 2015-08-18 17:24:45,145 Parameters: hubble_constant
>>>       = 0.702
>>> yt : [INFO     ] 2015-08-18 17:24:45,146 Allocating for 4.194e+06
>>> particles
>>> yt : [INFO     ] 2015-08-18 17:24:45,664 Identified 3.077e+05 octs
>>> Traceback (most recent call last):
>>>   File "yt_test_script.py", line 72, in <module>
>>>     ds.index
>>>   File
>>> "/home/user/Research/Tools/yt/yt-x86_64/src/yt-hg/yt/data_objects/static_output.py",
>>> line 321, in index
>>>     self, dataset_type=self.dataset_type)
>>>   File
>>> "/home/user/Research/Tools/yt/yt-x86_64/src/yt-hg/yt/geometry/particle_geometry_handler.py",
>>> line 53, in __init__
>>>     super(ParticleIndex, self).__init__(ds, dataset_type)
>>>   File
>>> "/home/user/Research/Tools/yt/yt-x86_64/src/yt-hg/yt/geometry/geometry_handler.py",
>>> line 65, in __init__
>>>     self._detect_output_fields()
>>>   File
>>> "/home/user/Research/Tools/yt/yt-x86_64/src/yt-hg/yt/geometry/particle_geometry_handler.py",
>>> line 125, in _detect_output_fields
>>>     fl, _units = self.io._identify_fields(dom)
>>>   File
>>> "/home/user/Research/Tools/yt/yt-x86_64/src/yt-hg/yt/frontends/gadget/io.py",
>>> line 208, in _identify_fields
>>>     field, req = field
>>> ValueError: too many values to unpack
>>>
>>
>> This is probably related to not having the correct field spec when
>> loading the data.
>>
>>
>>>
>>>
>>> The snapshot I'm trying to load is a 128^3 50Mpc snapshot distributed
>>> onto 4 files and the error occurs on a call to ds.index, if that helps.
>>> Thank you!
>>> -Jared
>>>
>>> _______________________________________________
>>> yt-users mailing list
>>> yt-users at lists.spacepope.org
>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>>
>>>
>>
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>
>>
>
> _______________________________________________
> 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/20150818/4c97edd5/attachment.htm>


More information about the yt-users mailing list