Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1488
News FAQ
Search Home


next up previous contents index
Next: measures.expand - Function Up: measures - Tool Previous: measures.uvw - Function


measures.touvw - Function



Package general
Module measures
Tool measures


calculate a uvw measure from a baseline


Synopsis
touvw(v, dot, xyz)


Arguments

v in baseline measure
    Allowed: baseline measure
dot out uvw-dot
    Allowed: quantity array
    Default: unset
xyz out uvw
    Allowed: quantity array


Returns
uvw measure


Description
touvw calculates a uvw measure from a baseline. The baseline can consist of a vector of actual baseline positions. Note that the baseline does not have to be a proper baseline, but can be a series of positions (to call positions baselines see asbaseline ) for speed reasons: operations are linear and can be done on positions, which are converted to baseline values at the end (with expand ).

Whatever the reference code of the baseline, the returned uvw will be given in J2000. If the dot argument is given, that variable will be filled with a quantity array consisting of the time derivative of the uvw (note that only the sidereal rate is taken into account; not precession, earth tides and similar variations, which are much smaller). If the xyz variable is given, it will be filled with the quantity values of the uvw measure.

The values of the input baselines can be given as either a quantity vector per x, y or z value; or as an array as explained in the introduction.

uvw coordinates are calculated for a certain direction in the sky; hence the frame has to contain the direction for the calculation to work. Since the baseline and the sky rotate with respect of each other, the time should be specified as well.



Example
- dm.doframe(dm.observatory('atca'))
- dm.doframe(dm.source('pks1934-638'))
- dm.doframe(dm.epoch('utc',dq.unit('today')))
- b := dm.baseline('itrf', '10m', '20m', '30m')
- dm.touvw(b)
[type=uvw, refer=J2000, m2=[value=37.4165739, unit=m],
	    m1=[unit=rad, value=-0.751775754], m0=[unit=rad,
	    value=2.51551809]] 
- dm.touvw(b,d,x); print d; print x;
[type=uvw, refer=J2000, m2=[value=37.4165739, unit=m],
	    m1=[unit=rad, value=-0.751775754], m0=[unit=rad,
	    value=2.51551809]] 
[value=[[1:3,]
    0.0002206593
    0.00144013975
    0.000711365081], unit=m/s]
[value=[[1:3,]
    -22.1480126
    16.0156625
    -25.5531621], unit=m]
- dm.getvalue(dm.touvw(b))
[*7=[unit=rad, value=2.51551809], *8=[unit=rad, value=-0.751775754], *9=[value=37.4165739, unit=m]] 
- dm.getvalue(dm.touvw(b))[1]
[unit=rad, value=2.51551809]
An example with more than one value:
- sb := dm.baseline('itrf',dq.unit([10,50],'m'),dq.unit([20,100],'m'),
		dq.unit([30,150],'m'))
- dm.touvw(sb,d,x); print d; print x;
[type=uvw, refer=J2000, m2=[value=[37.4165739 187.082869] , unit=m],
	    m1=[unit=rad, value=[-0.743811234 -0.743811234] ],
	    m0=[unit=rad, value=[2.50094148 2.50094148] ]] 
[value=[[1:3,]
    0.00025643414  0.0012821707
    0.00143537137  0.00717685684
    0.000709009712 0.00354504856], unit=m/s]
[value=[[1:3,]
    -22.0746793 -110.373397
    16.45792    82.2895998
    -25.334668  -126.67334], unit=m]
- dm.getvalue(dm.touvw(sb))          
[*7=[unit=rad, value=[2.50094148 2.50094148] ],
	        *8=[unit=rad, value=[-0.743811234 -0.743811234] ],
		 *9=[value=[37.4165739 187.082869] , unit=m]] 
- dm.getvalue(dm.touvw(sb))[1]
[unit=rad, value=[2.50094148 2.50094148] ] 
- dq.getvalue(dm.getvalue(dm.touvw(sb))[1])[2]
2.50094148 
- dm.doframe(dm.epoch('utc','today'))
T 
- dm.expand(sb)
[type=baseline, refer=ITRF, m2=[value=149.666295, unit=m],
		 m1=[unit=rad, value=0.930274014],
		 m0=[unit=rad, value=1.10714872]] 
- dm.expand(sb,x)
[type=baseline, refer=ITRF, m2=[value=149.666295, unit=m], 
		m1=[unit=rad, value=0.930274014], 
		m0=[unit=rad, value=1.10714872]] 
- x
[value=[[1:3,]
    40
    80
    120], unit=m] 
- dm.expand(dm.touvw(sb),x); x
[type=uvw, refer=J2000, m2=[value=149.666295, unit=m], 
	   m1=[unit=rad, value=-0.654614537], 
	   m0=[unit=rad, value=2.32532487]] 
[value=[[1:3,]
    -81.3219596
    86.5043397
    -91.124849], unit=m] 
- dm.touvw(dm.expand(sb),xyz=x); x  
[type=uvw, refer=J2000, m2=[value=149.666295, unit=m], 
	   m1=[unit=rad, value=-0.654614537], 
	   m0=[unit=rad, value=2.32532487]] 
[value=[[1:3,]
    -81.3219596
    86.5043397
    -91.124849], unit=m] 
- a := dm.touvw(sb, xyz=x); x
[value=[[1:3,]
    -20.3304899 -101.652449
    21.6260849  108.130425
    -22.7812122 -113.906061], unit=m] 
-





next up previous contents index
Next: measures.expand - Function Up: measures - Tool Previous: measures.uvw - Function   Contents   Index
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-08-01