[AstroPy] why the warning about Converting Quantity?
Fri Mar 22 11:32:59 CDT 2013
In my case I'm actually using AU to convert from data that was returned
from another routine and has units of km to AU (the data are numpy
AU = constants.au.to('km')
xe = xem/AU # xem is in km, I want xe in AU
I could give xem the units of km in this example, though in fact the
actual expressions are a bit more complicated, but I just wanted to use
the constant value without bothering to look it up. So I'm not, in this
instance, wanting to take advantage of the object's associated units
checking. I think that that should not be so difficult. Often one will
not want to bother to convert all one's data arrays to Quantity objects.
As I said, the constants are convenient for their values as well as the
units checking and it doesn't seem so unlikely that many would like to
use those values in contexts in which they won't want to bother to
define the units of all the other data.
On Fri, 2013-03-22 at 10:57 -0400, Erik Tollerud wrote:
> Hello Jonathan et al.,
> I think some confusion here stems from the fact that ``AU`` is a bit
> of a special constant - in most cases, you're probably better off
> using the AU *unit*, rather than the constant. That is, if you were
> doing something like
> arrinau = arr * constants.au
> That gives exactly the warning you mentioned, whereas
> arrinau = arr * units.au
> won't give out a warning, because it creates a `Quantity` object with
> the units `AU`, rather than a regular array without any units.
> Does that make sense, or am I still misunderstanding how you're using
> this? If the latter, can you give an actual example of the line that
> actually produces this warning? That'll make it easier to understand
> exactly what you're suggesting.
Jonathan D. Slavin Harvard-Smithsonian CfA
firstname.lastname@example.org 60 Garden Street, MS 83
phone: (617) 496-7981 Cambridge, MA 02138-1516
cell: (781) 363-0035 USA
More information about the AstroPy