Note
fixuvw has changed its name to fixvis because it will eventually be a general
task for performing MS fixes not handled by split or calibration. The page name is
staying the same for now, though.
Scope
fixvis will be the CASA equivalent of AIPS'
UVFIX. It may need to do these things, in roughly decreasing order of immediate need:
- Generate (u, v, w)s for an ms that does not have them.
- Change the phase tracking center.
- Correct for differential aberration.
- Change the equinox (i.e. B1950 <-> J2000 <-> 2006.78).
- Change the projection (i.e. (-)NCP <-> SIN).
- Refocus.
- Differential refraction? (R_Jones)
CASA already has functions which do most of 1, 2, 3, 4, and 6.
measures/Measures/UVWMachine has a flag for requesting an EW coordinate system,
but it has not been implemented.
To delineate the scope of #1 in more detail I need to know what range of SDMs
have to be supported.
Spectral manipulations (like AIPS'
CVEL) will probably go in
split or a separate
CVEL
like task.
Multiple Fields in an MS
UVFIX operates on one field at a time, with 2 runs necessary for changing equinoxes.
fixvis will attempt to operate on all fields in an MS, and if that is unwanted the MS
should be split first.
Parameters
This is a possible list of parameters. If a default is blank, it means that
the corresponding action will not be taken or the value in the MS will be left
unchanged. Some parameters have multiple forms (i.e. scalar, list, and
dictionary), not all of which will be implemented if they are not needed. In
particular, the antenna dependent values have multiple ways of being
specified, including a list of values which must match the order as the
antennas in the MS, or a dictionary keyed by antenna name. Since the order or
names of antennas may not match those of an external file, list, or
dictionary, it is safest to get them from the MS. Conceivably a dictionary
could be used to correct values for just one or a few antennas.
Parameter |
Default |
Description |
Comments |
vis |
None |
The MS filename |
This accounts for 8 of UVFIX's parameters, partly because of how AIPS specifies file locations, but more importantly because in fixvis the input MS is also the output. |
phase_dir |
'' |
The new phase tracking center. |
|
A single direction string, or a list or dictionary of them. |
If a list, then there must be a direction for each field. |
A dictionary keyed by source name would usually be better. |
xyzs |
'' |
Antenna positions |
Along with the coordinate system that UVFIX uses, we might need to support UTM as used by ALMA. |
Non-blank string: filename for almasimmos-type coordinates |
Update: the MSes from ASDMs that I've seen which need UVWs come with antenna positions, making the correction of a few positions the most likely use-case for xyzs. |
or: a list or dictionary of triplets. |
array_center |
'' |
Triplet: it gets used. |
See the bit about coordinate systems above, and consider whether the centroid of xyzs should have any effect. |
String: Observatory name that CASA will use to look it up. |
subarray |
'' (all) |
(list of) Int: subarray(s) to work on. |
|
k_terms |
[] |
List or dictionary of floats: the distances between the elevation axis and the phase reference center for each antenna. |
Should soon start appearing as a column in the antenna table of MSes from heterogeneous arrays. There already is an "offsets" column, but so far I've only seen zeroes, even in CARMA data. |
crct_df_abr |
True? |
Correct for differential aberration? |
The parameter name could maybe use a few more vowels, but it should stay under 15 chars. |
Apparently EVLA data will come already corrected for D.A., but VLA data does not. Should fixvis try guessing whether to correct for D.A. based on the telescope? In either case it should have an option to explicitly remove, ignore, or perhaps (if a mistake has already been made) even restore D.A.. |
The other reason I can think of to not correct is if it turns out to be slow and negligable. The order of magnitude for the maximum correction is twice the telescope's velocity relative to the speed of light, i.e. positions 100" away from the phase tracking center could be off by 0.01". |
clock_err |
0.0 |
Data filled with FILLM versions older than 31DEC07 are off by by half of the MODCOMP online averaging time. |
General notes:
UVFIX uses up to 29 parameters, some of which are arrays. The antenna positions use
6
arrays, as a way to get more precision out of 7 character strings. CASA doesn't have
that problem.
UVFIX parameters that I am explicitly dropping:
Dropped Parameter |
Reason |
output filename |
It seems safe enough to add a UVW column to an existing MS, or make a copy with cp -r first. |
Besselian epoch of the data |
Use imhead to make the epoch match the visibilities before running fixvis. |
UT1-UTC, IAT-UTC |
Can't these always be derived from the observation time of the MS? (Simulations of observations in the future are a known exception I'm happy to ignore.) |
Frequency |
Fix it with imhead. |
Do not compute UVWs |
UVFIX has this option so the phase tracking center of data in (-)NCP can be changed without converting it to SIN projection. The imaging routines take care of the phase tracking center "on the fly" without needing fixvis, so it seems strange to call fixvis without changing the UVWs. |
I have not said much about selecting data, since my feeling is that leaving an
MS partially fixed should only be done if there is a dire need to save time or
space. Split might be a better way to do fix part of a dataset without leaving
MSes that have inconsistent internal states.
Does CASA have any plans to support orbiting antennas? (My guess is no.) A
potential speedup for correcting differential aberration, which would not work
for VLBI, is to pretend that every antenna in the array is moving at the same
velocity.
Switching the visibilities to an exotic frame (i.e. the CMB) would amplify the
effect of differential aberration, but that would be, well, exotic.