NRAO Home > CASA > CASA Cookbook and User Reference Manual

4.4.4 Establishing the Flux Density Scale (fluxscale)

The ’G’ or ’T’ solutions obtained from calibrators for which the flux density was unknown and assumed to be 1 Jansky are correct in a time- and antenna- relative sense, but are mis-scaled by a factor equal to the inverse of the square root of the true flux density. This scaling can be corrected by enforcing the constraint that mean gain amplitudes determined from calibrators of unknown flux density should be the same as determined from those with known flux densities. The fluxscale task exists for this purpose.

The inputs for fluxscale are:

#  fluxscale :: Bootstrap the flux density scale from standard calibrators  
vis                 =         ’’        #  Name of input visibility file (MS)  
caltable            =         ’’        #  Name of input calibration table  
fluxtable           =         ’’        #  Name of output, flux-scaled calibration table  
reference           =       [’’]        #  Reference field name(s) (transfer flux scale FROM)  
transfer            =       [’’]        #  Transfer field name(s) (transfer flux scale TO), ’’ ->  
                                        #   all  
append              =      False        #  Append solutions?  
refspwmap           =       [-1]        #  Scale across spectral window boundaries.  See help  
                                        #   fluxscale  
async               =      False        #  If true the taskname must be started using  
                                        #   fluxscale(...)

Before running fluxscale, one must have first run setjy for the reference sources and run a gaincal on both reference and transfer fields. After running fluxscale the output fluxtable caltable will have been scaled such that the correct scaling will be applied to the transfer sources.

For example, given a ’G’ table, e.g. ’cal.G’, containing solutions for a flux density calibrator (in this case ’3C286’) and for one or more gain calibrator sources with unknown flux densities (in this example ’0234+285’ and ’0323+022’):

fluxscale(vis=’data.ms’,  
          caltable=’cal.G’,                  # Select input table  
          fluxtable= ’cal.Gflx’,             # Write scaled solutions to cal.Gflx  
          reference=’3C286’,                 # 3C286 = flux calibrator  
          transfer=’0234+258, 0323+022’)     # Select calibrators to scale

The output table, ’cal.Gflx’, contains solutions that are properly scaled for all calibrators.

Note that the assertion that the gain solutions are independent of the calibrator includes the assumption that the gain amplitudes are strictly not systematically time dependent. While synthesis antennas are designed as much as possible to achieve this goal, in practice, a number of effects conspire to frustrate it. When relevant, it is advisable to pre-apply gaincurve and opacity corrections when solving for the ’G’ solutions that will be flux-scaled (see § 4.3 and § 4.4.1.3). When the ’G’ solutions are essentially constant for each calibrator separately, the fluxscale operation is likely to be robust.

The fluxscale task can be executed on either ’G’ or ’T’ solutions, but it should only be used on one of these types if solutions exist for both and one was solved relative to the other (use fluxscale only on the first of the two).

ALERT: The ’GSPLINE’ option is not yet supported in fluxscale (see § 4.4.3.3).

If the reference and transfer fields were observed in different spectral windows, the refspwmap parameter may be used to achieve the scaling calculation across spectral window boundaries.

The refspwmap parameter functions similarly to the standard spwmap parameter (§ 4.4.1.4), and takes a list of indices indicating the spectral window mapping for the reference fields, such that refspwmap[i]=j means that reference field amplitudes from spectral window j will be used for spectral window i.

Note: You should be careful when you have a dataset with spectral windows with different bandwidths, and you have observed the calibrators differently in the different spw. The flux-scaling will probably be different in windows with different bandwidths.

For example,

fluxscale(vis=’data.ms’,  
          caltable=’cal.G’,                  # Select input table  
          fluxtable= ’cal.Gflx’,             # Write scaled solutions to cal.Gflx  
          reference=’3C286’,                 # 3C286 = flux calibrator  
          transfer=’0234+258,0323+022’       # Select calibrators to scale  
          refspwmap=[0,0,0])                 # Use spwid 0 scaling for spwids 1 & 2

will use spw=0 to scale the others, while in

fluxscale(vis=’data.ms’,  
          caltable=’cal.G’,                  # Select input table  
          fluxtable=’cal.Gflx’,              # Write scaled solutions to cal.Gflx  
          reference=’3C286’,                 #  3C286 = flux calibrator,  
          transfer=’0234+285, 0323+022’,     #  select calibrators to scale,  
          refspwmap=[0,0,1,1])               #  select spwids for scaling,

the reference amplitudes from spectral window 0 will be used for spectral windows 0 and 1 and reference amplitudes from spectral window 2 will be used for spectral windows 2 and 3.

   4.4.4.1 Using Resolved Calibrators


More information about CASA may be found at the CASA web page

Copyright © 2010 Associated Universities Inc., Washington, D.C.

This code is available under the terms of the GNU General Public Lincense


Home | Contact Us | Directories | Site Map | Help | Privacy Policy | Search