Galactic space velocity (UVW)¶
- PyAstronomy.pyasl.gal_uvw(ra, dec, pmra, pmdec, distance, vrad, lsr=None)¶
Calculate the Galactic space velocity (U,V,W)
Note
In contrast to the IDL implementation, U is taken positive toward the galactic center.
- Parameters
- ra, decfloat or array
Position in degrees
- pmra, pmdecfloat or array
Proper motion in mas/yr
- distancefloat or array
Distance in pc
- vradfloat or array
Radial velocity in km/s
- lsrthree-float tuple, optional
If given, the output UVW velocities are corrected for the solar motion (U,V,W)_Sun to the local standard of rest (LSR). Use, e.g., lsr = (8.5, 13.38, 6.49) from Coșkunoǧlu et al. 2011, MNRAS 412, 1237-1245. Be aware that the value of the solar motion through the LSR remains poorly determined.
- Returns
- U, V, Wfloat or arrays
U: Velocity (km/s) positive toward the Galactic center V: Velocity (km/s) positive in the direction of Galactic rotation W: Velocity (km/s) positive toward the North Galactic Pole
Notes
Note
This function was ported from the IDL Astronomy User’s Library.
- IDL - Documentation
- NAME:
GAL_UVW
- PURPOSE:
Calculate the Galactic space velocity (U,V,W) of star
- EXPLANATION:
Calculates the Galactic space velocity U, V, W of star given its (1) coordinates, (2) proper motion, (3) distance (or parallax), and (4) radial velocity.
- CALLING SEQUENCE:
- GAL_UVW [/LSR, RA=, DEC=, PMRA= ,PMDEC=, VRAD= , DISTANCE=
PLX= ]
- OUTPUT PARAMETERS:
U - Velocity (km/s) positive toward the Galactic *anti*center V - Velocity (km/s) positive in the direction of Galactic rotation W - Velocity (km/s) positive toward the North Galactic Pole
- REQUIRED INPUT KEYWORDS:
User must supply a position, proper motion,radial velocity and distance (or parallax). Either scalars or vectors can be supplied.
Position: RA - Right Ascension in Degrees Dec - Declination in Degrees
Proper Motion PMRA = Proper motion in RA in arc units (typically milli-arcseconds/yr) PMDEC = Proper motion in Declination (typically mas/yr)
Radial Velocity VRAD = radial velocity in km/s
Distance or Parallax DISTANCE - distance in parsecs
or
- PLX - parallax with same distance units as proper motion measurements
typically milliarcseconds (mas)
- OPTIONAL INPUT KEYWORD:
- /LSR - If this keyword is set, then the output velocities will be
corrected for the solar motion (U,V,W)_Sun = (-8.5, 13.38, 6.49) (Coskunoglu et al. 2011 MNRAS) to the local standard of rest. Note that the value of the solar motion through the LSR remains poorly determined.
- EXAMPLE:
Compute the U,V,W coordinates for the halo star HD 6755. Use values from Hipparcos catalog, and correct to the LSR
ra = ten(1,9,42.3)*15. & dec = ten(61,32,49.5) pmra = 627.89 & pmdec = 77.84 ;mas/yr dis = 144 & vrad = -321.4 gal_uvw,u,v,w,ra=ra,dec=dec,pmra=pmra,pmdec=pmdec,vrad=vrad,dis=dis,/lsr
===> u=154 v = -493 w = 97 ;km/s
(2) Use the Hipparcos Input and Output Catalog IDL databases (see http://idlastro.gsfc.nasa.gov/ftp/zdbase/) to obtain space velocities for all stars within 10 pc with radial velocities > 10 km/s
dbopen,’hipparcos,hic’ ;Need Hipparcos output and input catalogs list = dbfind(‘plx>100,vrad>10’) ;Plx > 100 mas, Vrad > 10 km/s dbext,list,’pmra,pmdec,vrad,ra,dec,plx’,pmra,pmdec,vrad,ra,dec,plx ra = ra*15. ;Need right ascension in degrees GAL_UVW,u,v,w,ra=ra,dec=dec,pmra=pmra,pmdec=pmdec,vrad=vrad,plx = plx forprint,u,v,w ;Display results
- METHOD:
Follows the general outline of Johnson & Soderblom (1987, AJ, 93,864) except that U is positive outward toward the Galactic *anti*center, and the J2000 transformation matrix to Galactic coordinates is taken from the introduction to the Hipparcos catalog.
- REVISION HISTORY:
Written, W. Landsman December 2000 fix the bug occuring if the input arrays are longer than 32767 and update the Sun velocity Sergey Koposov June 2008 vectorization of the loop – performance on large arrays is now 10 times higher Sergey Koposov December 2008
Example¶
from __future__ import print_function
from PyAstronomy import pyasl
ra, dec = 017.4294147291650, +61.5473037149441
pmra, pmdec = 627.89, 77.84
d = 144
rv = -321.4
print("U, V, W [kms/s]: % 5.3f, % 5.3f, % 5.3f " % \
pyasl.gal_uvw(ra, dec, pmra, pmdec, d, rv))
print("U, V, W (LSR corrected) [kms/s]: % 5.3f, % 5.3f, % 5.3f" % \
pyasl.gal_uvw(ra, dec, pmra, pmdec, d, rv, lsr=(8.5, 13.38, 6.49) ) )