[yt-users] yt-users Digest, Vol 114, Issue 2

Prateek Gupta prateekgidolia at gmail.com
Tue Aug 8 08:54:38 PDT 2017


I think it is possible to define units to new field (AveMomtX) and for
simply achieving it, you have to derive an another new field in yt in which
you can give units to your field (AveMomtX) by simply multiply AveMomtX
field with momentum units, but for correctness in doing so, you should know
first about the value of AveMomtX field that whether it's value taken in yt
in code_units or in some other momentum units (c.g.s or m.k.s), although it
seems in dimensionless (units). I think Enzo fields are possibly in
code_units.

According to my opinion, it is possible to give units at least for an
urgent requirement.

Wait for Nathan's comment on this.


Best Regards
-Prateek Gupta

On Tue, Aug 8, 2017 at 8:41 PM, Wolfram Schmidt <
wolfram.schmidt at uni-hamburg.de> wrote:

> Hi Nathan, hi Prateek,
>
> before I look into the frontend and try to modify it, I wonder:
>
> 1. Is possible to define units for a new field in the Enzo output (there
> are units conversion factors for certain quantities in Enzo, but I don't
> now if this somehow enters the data dumps)?
>
> 2. Could I "teach" yt to assume certain units for a field which it
> interprets as dimensionless on the fly, i.e. in a python session? If so,
> how?
>
> Cheers,
>
> wolfram
>
>
> On 05.08.2017 20:14, yt-users-request at lists.spacepope.org wrote:
>
>> Send yt-users mailing list submissions to
>>         yt-users at lists.spacepope.org
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>>         http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>> or, via email, send a message with subject or body 'help' to
>>         yt-users-request at lists.spacepope.org
>>
>> You can reach the person managing the list at
>>         yt-users-owner at lists.spacepope.org
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of yt-users digest..."
>>
>>
>> Today's Topics:
>>
>>     1. Re: problem with units when defining difference of
>>        velocity-like fields (Prateek Gupta)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Sat, 5 Aug 2017 04:48:11 +0530
>> From: Prateek Gupta <prateekgidolia at gmail.com>
>> To: Discussion of the yt analysis package
>>         <yt-users at lists.spacepope.org>
>> Subject: Re: [yt-users] problem with units when defining difference of
>>         velocity-like fields
>> Message-ID:
>>         <CAJcogBoDbsRseqcbuEVdKP0Z9p9LvhO_TkjHYeOgykTbQt0Phg at mail.gm
>> ail.com>
>> Content-Type: text/plain; charset="utf-8"
>>
>> I think just applying units to AveMomtX field while defining will work if
>> you derived it in yt. May be while defining a new field (AveMomtX), it
>> doesn't get units of momentum, it seems as "dimensionless" quantity.
>> But if you are taking AveMomtX as a new field from Enzo itself, after
>> modification of Enzo code, then yt required to know about this that
>> this(AveMomtX) is also the field in Enzo.
>>
>>
>> Best Regards
>> -Prateek Gupta
>>
>> On Thu, Aug 3, 2017 at 6:07 PM, Nathan Goldbaum <nathan12343 at gmail.com>
>> wrote:
>>
>> What are the units of AveMomtX right now? It seems it's getting read in as
>>> dimensionless, probably because it's not a field yt knows about. To fix
>>> this error you will need to apply units to the AveMomtX field in your
>>> field
>>> definition. If you've modified the Enzo code to add this new field to
>>> your
>>> Enzo outputs, you could also modify yt's Enzo frontend to "teach" yt
>>> about
>>> the new field you've added. See yt/frontends/enzo/fields.py, specifically
>>> the known_other_fields tuple.
>>>
>>> On Thu, Aug 3, 2017 at 3:28 AM Wolfram Schmidt <
>>> wolfram.schmidt at uni-hamburg.de> wrote:
>>>
>>> Dear all,
>>>>
>>>> I encountered a problem when defining a the fluctuation of the velocity
>>>> with respect to a smoothed velocity as derived field in yt:
>>>>
>>>> def _fluc_velocity_x(field, data):
>>>>       return data["x-velocity"] - data["AveMomtX"]/data["density"]
>>>>
>>>> ds.add_field("fluc_velocity_x", function=_fluc_velocity_x,
>>>> force_override=True)
>>>>
>>>> Here x-velocity and density are standard baryon fields defined in Enzo
>>>> and AveMomtX is an additional baryon field for smoothed momentum.
>>>>
>>>> When I load a data dump and execute the above definition, I get the
>>>> following error:
>>>>
>>>> /lrz/sys/tools/python/2.7_anaconda_nompi/lib/python2.7/
>>>> site-packages/yt/units/yt_array.py
>>>> in sanitize_units_add(this_object, other_object, op_string)
>>>>       126     if isinstance(ret, YTArray):
>>>>       127         if not inp.units.same_dimensions_as(ret.units):
>>>> --> 128             raise YTUnitOperationError(op_string, inp.units,
>>>> ret.units)
>>>>       129         ret = ret.in_units(inp.units)
>>>>       130     # If the other object is not a YTArray, the only valid
>>>> case
>>>> is adding
>>>>
>>>> YTUnitOperationError: The subtraction operator for YTArrays with units
>>>> (code_velocity) and (code_length**3/code_mass) is not well defined.
>>>>
>>>> After looking into
>>>> http://yt-project.org/doc/analyzing/units/fields_and_unit_
>>>> conversion.html
>>>> ,
>>>> I tried
>>>>
>>>> ds.add_field("fluc_velocity_x", units="cm/s",
>>>> function=_fluc_velocity_x,
>>>> force_override=True)
>>>>
>>>> but this results in the same error as before. Apparently, the problem is
>>>> that yt does not recognize that momentum divided by density is a
>>>> velocity and therefore cannot match the units to the first term
>>>> (x-velocity).
>>>>
>>>> There are unit conversion functions such as .in_cgs(), but they are not
>>>> applicable to the data objects in the above definition.
>>>>
>>>> So can anyone tell me how to fix this?
>>>>
>>>> Cheers,
>>>>
>>>> Wolfram
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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/20170805/939f1676/attachment.html>
>>
>> ------------------------------
>>
>> Subject: Digest Footer
>>
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>
>>
>> ------------------------------
>>
>> End of yt-users Digest, Vol 114, Issue 2
>> ****************************************
>>
>
> --
> Dr. Wolfram Schmidt
> Head of IT, Hamburg Observatory
> Phone +49 (0)40 42838 8584
> http://www.hs.uni-hamburg.de
>
> _______________________________________________
> 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/20170808/f9260c25/attachment.htm>


More information about the yt-users mailing list