See the Spectral Frames chapter of the CASA Cookbook and e.g. the GBT velocity reference frames webpage here for general references.

Furthermore, there is the "SOURCE" frame from which no transformations to other frames are possible. The SOURCE frame is, e.g., also used if you transform to the reference frame of an ephemeris.

Additional Details and ALMA Specifics

When a scheduling block is selected for execution, the ALMA online system calculates the fixed topocentric (TOPO) sky frequency that corresponds to the required Doppler shift for the direction of the science target (if more than one, it uses a representative target) and the frame/reference frequency specified by the user for each spectral window (SPW) in the Observing Tool (OT). The data are taken with channels that are of equal frequency width per SPW, and the calibrators are typically observed with the same sky frequencies as the science target data. This technique of recalculating the required sky frequency once just before execution is called "Doppler Setting" (compared to "Doppler Tracking" where the sky frequency is constantly changed while tracking the source). This means that though spectral windows will be centered where you specified them to be in the OT, ALMA data must still be corrected for the residual Doppler shift that occurs during the execution (dominated by the diurnal term). Additionally, executions that take place separated in time can have up to ~60 km/s difference in their observed sky frequencies due to the Earth's annual motion. So in order to combine multiple executions data must be regridded to a common (time-independent) spectral reference frame. This latter fact often results in more SPWs than the user might expect when the uv-data from different executions are combined into one measurement set.

In CASA, spectral information for uv-data is natively stored as frequencies in the TOPO (sky frequency) frame. The spectral frame can be easily changed by running either the clean or cvel/mstransform tasks, which can regrid the data to the desired output frame, accounting for Doppler shift. The grid can also be specified as a velocity grid for a specific line rest frequency if desired. cvel/mstransform are stand-alone tasks that can do the same spectral regridding that the clean task does. It can be useful to do cvel/mstransform before uv-continuum subtraction in some cases, for example when there are many overlapping SPWs that span a wide spectral range. The plotms plotting task can also do zeroth order frame transformations on-the-fly which can be useful for selecting line-free channels for uv-continuum subtraction (this on-the-fly transformation is not as accurate as the regridding done by cvel/mstransform or clean).

By default when clean is run, if outframe='' the output frame is the same as the input. In the case of ALMA data, when cvel/mstransform has not been run, this will be TOPO. This is not a particularly useful frame for most science purposes, so users are strongly encouraged to set the outframe parameter. Most commonly used frame is LSRK. For velocity calculation based on a rest frequency, one can also choose between the optical and radio velocity conventions.

It is important to note that in CASA 4.3 and earlier, CASA always regrids to a time-independent frame. This is true even of the TOPO frame such that all the data are referenced to the first time in the data (in this sense, CASA created TOPO images are not strictly speaking in the TOPO frame, but rather a time specific one). This is done so that spectral Doppler smearing will be removed even from TOPO images. Also all spectral selections of the mode parameter, including 'channel', will regrid the data to the specified outframe. For the curious, the imaging routines in the clean task internally perform a transformation to LSRK when they regrid, followed by a transformation to the outframe, but this extra conversion should be transparent to the user. Once the data are in a time-independent reference frame (at least on timescales of the observation), such as LSRK or BARY, it is then possible to display other time-independent reference frames within the viewer.