(9) Flux measurement
Make sure the data have been saved!
Do this section separately for each receiver and sideband.
They will each have different scaling factors.
Select all the calibrator sources and one of the sidebands.
IDL> select,/p,/re, band='c1',source='['0449+113','0510+180','3c84','3c279','uranus']
Apply the gain_cal in phase first with the /connect option to force the phases to zero for every scan [10]. The /non-point option takes into account the size of planets, on some baselines resolved planets may have a phase of ±180°.
IDL> gain_cal,cal_type='pha',/connect, tel_bsl='telescope', refant=4, /non_point [10]
: all yes
Next run amplitude based gain_cal [11]. Here, only say YES to the flux calibrator (usually a planet). Using the /non-point option it will retrieve its flux. Note that if your flux calibrator is not a planet or moon, you can provide the flux when prompted - e.g. mwc39a yes 1.8. This command will scale every source by the level required to make the flux calibrator match its expected flux.
IDL> gain_cal, cal_type='amp',x='hours',poly=0,tel_bsl='telescope',refant=4, /preavg,/non_point [11]
: all no
: uranus yes
Note: the task sma_flux_cal performs a similar task to the amplitude gain calibratiom above.
Now measure the resulting fluxes of the gain calibrators. The conditions (pointing/opacity/system) should be as similar as possible between the flux calibrator used to scale the data in the previous step, and the gain calibrator whose flux you are now calculating. To achieve this there are a couple of options available. Either select only scans taken close in time to the flux calibrator, or select only scans taken at a similar elevation. Sometimes only one of these options is available to you. The pointing model is less reliable at very high and low elevations so it always worth removing any elevation extremes (<30° and >70°).
To choose scans close in time first plot the continuum with x as integration number, then select integration within an hour or two of the flux calibrator (here the first 200 scans).
IDL> plot_continuum,x='int'
IDL> select,int=[0,200],band='c1',source='-Sci',sideband='u',/pos,/res
To chose scans that are at a similar elevation use the result command (note that 'select' is just a wrapper for 'result=dat_filter'). Do not use the /reset option here or you will lose any previous selections (calibrators only, upper sideband, first 200 integrations).
IDL> result=dat_filter(s_f,'"el" ge "40" and "el" le "50"')
Now measure the calibrated flux with flux_measure. It will return either vector or scalar values for each source included in the selection. (Vector terms adjust for phase noise so the amplitudes will be slightly lower).
IDL> flux_measure
% Compiled module: FLUX_MEASURE.
% Compiled module: SMA_FLUX_MEASURE.
13806 passed in list
Scalar Average or Vector Average ? [S ]:
Vector average:
# Source Flags Nscans Flux(Jy) SNR meantime REAL IMAG
0449+113 122 0.3791 307 8.02 0.3791 0.0001
0510+180 81 1.4371 406 8.07 1.4371 -0.0001
3c84 14 8.7523 644 7.93 8.7523 -0.0001
3c279 98 6.9313 503 13.18 6.9313 -0.0021
For comparison here are the result for scalar average.
Scalar average:
# Source Flags Nscans Flux(Jy) SNR meantime REAL IMAG
0449+113 122 0.3836 313 8.02 0.3791 0.0001
0510+180 81 1.4383 407 8.07 1.4371 -0.0001
3c84 14 8.7524 644 7.93 8.7523 -0.0001
3c279 98 6.9338 508 13.18 6.9313 -0.0021
If the flux calibrator is included in the list you will see the scalar value for it will be the flux it was scaled to in the amplitude gain calibration step [11].
Now repeat for the lower sideband.
|