[yt-users] Pressure in Enzo methods

Matthew Turk matthewturk at gmail.com
Tue May 5 11:20:43 PDT 2015


Hi Dave,

This looks like the problem!  How about we chat off-list to figure
this out?  And, we should keep track of the debugging necessary so
that we can make that easier, too.  The Bx aliasing seems most likely
culprit to me.

On Tue, May 5, 2015 at 1:19 PM, David Collins <dcollins4096 at gmail.com> wrote:
> Hi, Matt--
>
> No worries.  That's where it looked like it should go, but there wasn't any
> prior so I figured it best to ask.
>
> So that's useful, now it tells me the problem is with thermal_energy.  Which
> I find awful strange, since I see (and have printf indicating) that the
> self.add_field('thermal_energy') bit does get called for my sim.  Here's the
> trace.
>
> Ahh, I see.  That's a super useful feature, thermal_energy is complaining
> about MagneticEnergy now.  Why is MagneticEnergy is not defined anywhere.
> Why is that?
>
> Hm.  Why is Bx not properly aliased to magnetic_field_x?
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/data_objects/data_containers.py",
> line 233, in __getitem__
>     f = self._determine_fields([key])[0]
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/data_objects/data_containers.py",
> line 489, in _determine_fields
>     finfo = self.ds._get_field_info("unknown", fname)
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/data_objects/static_output.py",
> line 444, in _get_field_info
>     self.index
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/data_objects/static_output.py",
> line 279, in index
>     self.create_field_info()
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/data_objects/static_output.py",
> line 334, in create_field_info
>     self.field_info.load_all_plugins()
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/fields/field_info_container.py",
> line 228, in load_all_plugins
>     self.find_dependencies(loaded)
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/fields/field_info_container.py",
> line 241, in find_dependencies
>     deps, unavailable = self.check_derived_fields(loaded)
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/fields/field_info_container.py",
> line 310, in check_derived_fields
>     fd = fi.get_dependencies(ds = self.ds)
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/fields/derived_field.py",
> line 158, in get_dependencies
>     e[self.name]
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/fields/field_detector.py",
> line 113, in __missing__
>     vv = finfo(self)
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/fields/derived_field.py",
> line 184, in __call__
>     dd = self._function(self, data)
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/fields/fluid_fields.py",
> line 129, in _pressure
>     * (data[ftype, "density"] * data[ftype, "thermal_energy"])
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/fields/field_detector.py",
> line 97, in __missing__
>     finfo = self.ds._get_field_info(*field)
>   File
> "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/data_objects/static_output.py",
> line 482, in _get_field_info
>     raise YTFieldNotFound((ftype, fname), self)
> yt.utilities.exceptions.YTFieldNotFound: Could not find field '('gas',
> 'thermal_energy')' in data0000.
>
>
> On Tue, May 5, 2015 at 2:03 PM, Matthew Turk <matthewturk at gmail.com> wrote:
>>
>> Hi Dave,
>>
>> Sorry for the abruptness!  If you're already editing the source code,
>> just toss it on to the field_info_container.py definition.  Stick it
>> in the __init__ method like so:
>>
>> self._show_field_errors = [("gas","pressure")]
>>
>> On Tue, May 5, 2015 at 12:58 PM, David Collins <dcollins4096 at gmail.com>
>> wrote:
>> > What instance of FieldInfoContainer should I attach that to?
>> >
>> > On Tue, May 5, 2015 at 1:54 PM, Matthew Turk <matthewturk at gmail.com>
>> > wrote:
>> >>
>> >> You can append ("gas", "pressure") to _show_field_errors on
>> >> FieldInfoContainer to raise whatever fails.
>> >>
>> >>
>> >> On Tue, May 5, 2015, 12:49 PM Nathan Goldbaum <nathan12343 at gmail.com>
>> >> wrote:
>> >>>
>> >>> Hi Dave,
>> >>>
>> >>> The pressure field is probably coming from the definition in
>> >>> yt/fields/fluid_fields.py.  If it doesn't show up for your dataset,
>> >>> it's
>> >>> likely failing field detection.
>> >>>
>> >>> I'm not sure whether we have a test dataset on yt-project.org/data
>> >>> that
>> >>> uses HydroMethod 4 or 6.  Do you happen to have a small one I could
>> >>> play
>> >>> with?
>> >>>
>> >>> -Nathan
>> >>>
>> >>> On Tue, May 5, 2015 at 10:40 AM, David Collins
>> >>> <dcollins4096 at gmail.com>
>> >>> wrote:
>> >>>>
>> >>>> Hi, Matt--
>> >>>>
>> >>>> Thanks for your input.  In frontends/enzo/feilds.py, I see where the
>> >>>> thermal_energy is computed based on HydroMethod=4,6, but there's no
>> >>>> pressure
>> >>>> field.  Which in principle is fine, since the computation in
>> >>>> yt/fields/fluid_fields.py (in setup_fluid_fields) is fine.  Does that
>> >>>> instance not get called?
>> >>>>
>> >>>> On Tue, May 5, 2015 at 12:26 PM, Matthew Turk <matthewturk at gmail.com>
>> >>>> wrote:
>> >>>>>
>> >>>>> Hi Dave,
>> >>>>>
>> >>>>> You can see all the logic inside yt/frontends/enzo/fields.py --
>> >>>>> probably not too hard to add a new one, and then PR it!
>> >>>>>
>> >>>>> -Matt
>> >>>>>
>> >>>>> On Tue, May 5, 2015 at 11:02 AM, David Collins
>> >>>>> <dcollins4096 at gmail.com>
>> >>>>> wrote:
>> >>>>> > Hi, Everybody!
>> >>>>> >
>> >>>>> > I'm having a little trouble with getting pressure when using
>> >>>>> > HydroMethod=6.
>> >>>>> > For instance,
>> >>>>> >>>> ds0.all_data()['pressure']
>> >>>>> >
>> >>>>> > Traceback (most recent call last):
>> >>>>> >   File "<stdin>", line 1, in <module>
>> >>>>> >   File
>> >>>>> >
>> >>>>> >
>> >>>>> > "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/data_objects/data_containers.py",
>> >>>>> > line 233, in __getitem__
>> >>>>> >     f = self._determine_fields([key])[0]
>> >>>>> >   File
>> >>>>> >
>> >>>>> >
>> >>>>> > "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/data_objects/data_containers.py",
>> >>>>> > line 489, in _determine_fields
>> >>>>> >     finfo = self.ds._get_field_info("unknown", fname)
>> >>>>> >   File
>> >>>>> >
>> >>>>> >
>> >>>>> > "/Users/dcollins/local-2014-09-24-yt3/src/yt-hg/yt/data_objects/static_output.py",
>> >>>>> > line 482, in _get_field_info
>> >>>>> >     raise YTFieldNotFound((ftype, fname), self)
>> >>>>> > yt.utilities.exceptions.YTFieldNotFound: Could not find field
>> >>>>> > '('all',
>> >>>>> > 'pressure')' in data0000.
>> >>>>> >
>> >>>>> >
>> >>>>> >
>> >>>>> > while this works for a run with HydroMethod = 0.
>> >>>>> > Could someone give me the nickel tour of hydro method impacts
>> >>>>> > setting
>> >>>>> > of
>> >>>>> > variables, and where I should look to make sure pressure is
>> >>>>> > defined?
>> >>>>> >
>> >>>>> > Thanks!
>> >>>>> > d.
>> >>>>> >
>> >>>>> > --
>> >>>>> > -- Sent from a computer.
>> >>>>> >
>> >>>>> > _______________________________________________
>> >>>>> > 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
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> -- Sent from a computer.
>> >>>>
>> >>>> _______________________________________________
>> >>>> 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
>> >>
>> >
>> >
>> >
>> > --
>> > -- Sent from a computer.
>> >
>> > _______________________________________________
>> > 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
>
>
>
>
> --
> -- Sent from a computer.
>
> _______________________________________________
> 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




More information about the yt-users mailing list