| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.12 - 06 Nov 2007 - JimBraatz) |
| Changed: | |
| < < |
|
| > > |
|
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.11 - 14 May 2007 - JimBraatz) |
| Changed: | |
| < < | The calibration scheme described in that document has known limitations. In this document we describe several enhancements that address those limitations. |
| > > | The calibration scheme described in that document has known limitations. Here we describe several enhancements that address those limitations. |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | Default values for these vector calibration quantities must be generated by the sdfits program and stored in a database. The user should be able to inspect and replace the calibration values. Additionally, the user should be able to revert to the defaults. |
| > > | Default values for these vector calibration quantities must be generated by the sdfits program and stored in a database that is accessible to GBTIDL. Opacity values will be taken from weather conditions. Aperture efficiency and Tcal entries will be filled from lookup tables. The user should be able to inspect the database and replace the calibration values. Additionally, the user should be able to revert to the defaults. |
| Changed: | |
| < < | The sdfits program writes a database containing vector Tcal, vector ap_eff, and vector tau for all data contained in the sdfits file. The database can be stored either as an extension in the SDFITS file or as an external file associated with the SDFITS file. GBTIDL calibration procedures will access this database by default to improve flux calibration. Users will have tools to inspect and modify values in the calibration database. |
| > > | The sdfits program will write a database containing Tcal, ap_eff, and tau as vector quantities for all data contained in the sdfits file. The database can be stored either as an extension in the SDFITS file or as an external file associated with the SDFITS file. GBTIDL calibration procedures will access this database by default when generating spectra. Users will have tools to inspect and modify values in the calibration database. |
| Changed: | |
| < < | are used to enter new calibration information into the calibration database. Each of these parameters is optional, but at least one must be supplied unless the /default switch is set. Each parameter can either be entered as a scalar value, in which case it is applied to all frequencies, times, and elevations, or it can be supplied as a structure, as follows: |
| > > | are used to enter new calibration information. Each of these parameters is optional, but at least one must be supplied unless the /default switch is set. Each parameter can accept either a scalar value, in which case the value is applied to all frequencies, times, and elevations, or it can accept a structure, defined as follows: |
| Changed: | |
| < < | tau.time specifies the starting time for which the specified tau values will be applied. tau.freq specifies an array of frequencies over which tau will be specified. tau.value specifies the opacity values, one for each frequency. Intermediate frequency values will be interpolated from this curve by the calibration procedures. |
| > > | tau.time is the starting time for which the specified tau values will be applied. tau.freq is an array of frequencies for which zenith opacity is specified in tau.value. tau.value is the array of opacity values, one for each frequency. Opacity values used in calibration will be interpolated from this curve by the calibration procedures. |
| Changed: | |
| < < | ap_eff.elv specifies an array of elevations for which the ap_eff will be specified. ap_eff.freq specifies an array of frequencies for which the ap_eff will be specified. ap_eff.value specifies the 2-d array of aperture efficiencies, one for each frequency |
| > > | ap_eff.elv is an array of elevations for which the ap_eff is specified. ap_eff.freq is an array of frequencies for which the ap_eff is specified. ap_eff.value is the 2-d array of aperture efficiencies, one for each frequency |
| Changed: | |
| < < | tcal.freq specifies an array of frequencies for which the tcal will be specified. tcal.value specifies the tcal values, one for each frequency, feed, and polarization. |
| > > | tcal.freq is an array of frequencies for which the tcal is specified. tcal.value is the array of calibration temperatures, one for each frequency, feed, and polarization. |
| Changed: | |
| < < | number. The function returns a structure with the appropriate fields to be fed directly into set_cal. |
| > > | number to the get_cal function. The function returns a structure with the appropriate fields to be fed directly back into set_cal. |
| Changed: | |
| < < | high resolution observations are unnecessary. It should be acceptable to observe the flux |
| > > | high resolution observations are unnecessary. It should be acceptable to observe flux |
| Changed: | |
| < < | they should be sent as structures, as in the values used by the procedure set_cal. |
| > > | they should be sent as structures, using the same field names as the tau and ap_eff parameters defined above under the procedure set_cal. |
| Added: | |
| > > | ; the following frequency range should cover all observations |
| Added: | |
| > > | |
| Changed: | |
| < < | Note that in this example, it is unclear what get_cal should return for tau.time. |
| > > | Note that in this example, it is unclear what get_cal should return in tau.time. |
| Changed: | |
| < < | set_tcal, my_tcal |
| > > | set_cal, tcal=my_tcal |
| Changed: | |
| < < | Note in this example, scalar tau and ap_eff are used. |
| > > | Note in this example, scalar values are used for tau and ap_eff. |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | set_tcal, my_tcal |
| > > | set_cal, tcal=my_tcal |
| Changed: | |
| < < | set_cal, my_tcal |
| > > | set_cal, tcal=my_tcal |
| Changed: | |
| < < | ; Plot tau |
| > > | ; Retrieve tau and plot it |
| Added: | |
| > > |
opac = findgen(24)
for i=0,23 do $
opac[i] = get_wx_tau(53510.0+float(i)/24.0, 22235.080)
plot, opac
|
| Changed: | |
| < < |
|
| > > |
|
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.10 - 14 May 2007 - JimBraatz) |
| Changed: | |
| < < | GBTIDL spectral line flux calibration capabilities, current to version 2.1, are described in the Calibration document. This document describes the design of several enhancements to the calibration scheme. |
| > > | Spectral line flux calibration capabilities for GBTIDL version 2.1 are described in the Calibration document. The calibration scheme described in that document has known limitations. In this document we describe several enhancements that address those limitations. |
| Changed: | |
| < < | The calibration scheme needs to be enhanced by adding three new capabilities: |
| > > | The existing calibration scheme needs to be enhanced by adding three new capabilities: |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | When these enahncements are implements, the observer will get better default calibration using exactly the same syntax as is already familiar in GBTIDL. Observers requiring higher precision flux calibration will be able to attain it, but in order to maintain flexibility, the syntax of some of these operations is somewhat more complex than the standard GBTIDL syntax (e.g. the user will have to gain some familiarity with IDL structures). |
| > > | Upon implementation of these enhancements, observers will get better default calibration using exactly the same syntax as is already familiar in GBTIDL, and observers who require high precision flux calibration will have better tools to attain it. |
| Changed: | |
| < < | The sdfits program writes a database containing vector Tcal, vector ap_eff, and vector tau for all data contained in the sdfits file. The database can be stored either as an extension in the SDFITS file or as an external file associated with the SDFITS file. |
| > > | The sdfits program writes a database containing vector Tcal, vector ap_eff, and vector tau for all data contained in the sdfits file. The database can be stored either as an extension in the SDFITS file or as an external file associated with the SDFITS file. GBTIDL calibration procedures will access this database by default to improve flux calibration. Users will have tools to inspect and modify values in the calibration database. |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | This procedure writes new values into the calibration database. Each parameter is optional, but at least one must be supplied. Each parameter can either be entered as a scalar value, in which case it is applied to all frequencies, times, and elevations, or it can be supplied as a structure, as follows: |
| > > | This procedure writes new values into the calibration database. The parameters tau, ap_eff, and tcal are used to enter new calibration information into the calibration database. Each of these parameters is optional, but at least one must be supplied unless the /default switch is set. Each parameter can either be entered as a scalar value, in which case it is applied to all frequencies, times, and elevations, or it can be supplied as a structure, as follows: |
| Added: | |
| > > | tau.time specifies the starting time for which the specified tau values will be applied. tau.freq specifies an array of frequencies over which tau will be specified. tau.value specifies the opacity values, one for each frequency. Intermediate frequency values will be interpolated from this curve by the calibration procedures. |
| Deleted: | |
| < < | tcal : tcal.freq[], tcal.value[n_feed, n_pol, freq] |
| Changed: | |
| < < | 2. get_cal(scan, time=time, /tau, /ap_eff, /tcal) |
| > > | ap_eff.elv specifies an array of elevations for which the ap_eff will be specified. ap_eff.freq specifies an array of frequencies for which the ap_eff will be specified. ap_eff.value specifies the 2-d array of aperture efficiencies, one for each frequency and elevation. |
| Changed: | |
| < < | This procedure returns calibration values. Exactly one of the (tau, ap_eff, or tcal) switches should be set. Either a scan number or MJD time must be specified only when the user requests tau values, since tau is the only time-dependent calibration quantity within a given SDFITS file. |
| > > | tcal : tcal.freq[], tcal.value[n_feed, n_pol, freq] |
| Changed: | |
| < < | 3. show_cal, scan, time=time, /tau, /ap_eff, /tcal, freq_range=freq_range, elv_range=elv_range |
| > > | tcal.freq specifies an array of frequencies for which the tcal will be specified. tcal.value specifies the tcal values, one for each frequency, feed, and polarization. |
| Deleted: | |
| < < | This procedure plots calibration values. Exactly one of the switches for tau, ap_eff, or tcal must be set. Either a scan number or MJD time must be specified if the user requests tau values be plotted. Frequency range and elevation range (which applies only to tau) can be given as options, and are 2-element arrays with begin and end values of the range. |
| Changed: | |
| < < | ==> This might need to be broken into parts. |
| > > | 2. get_cal(scan=scan, time=time, /tau, /ap_eff, /tcal) |
| Changed: | |
| < < | 4. calc_tcal(scan, ap_eff=ap_eff, tau=tau) |
| > > | This function returns calibration values from the database. Exactly one of the switches (tau, ap_eff, or tcal) should be set. If the user requests tau values and there are tau values in the database for more than one time, then the user must also specify either a time or a scan number. The function returns a structure with the appropriate fields to be fed directly into set_cal. 3. calc_tcal(scan, ap_eff=ap_eff, tau=tau) |
| Changed: | |
| < < | spectrum. The observer should integrate on one of the accepted flux calibration sources (3C48, 3C286, ...) using the same number of beams and polarizations as in the target observations. The frequency range of the calibration scans should at least cover the range of frequencies observed in the target sources. Wide-bandwidth, low-resolution observing modes are fine for the calibration observations. The Tcal measurements are smoothed the about 1 MHz, so high resolution observations are unnecessary. It should be acceptable to observe the flux calibrators using several scans, if necessary, to cover the frequency range of the target sources. |
| > > | spectrum. The observer should integrate on one of the accepted flux calibration sources (3C48, 3C286, ...) using the same number of beams and polarizations as in the target observations. The frequency range of the calibration scans should at least cover the range of frequencies observed in the target sources. Wide-bandwidth, low-resolution observing modes are fine for the calibration observations. The Tcal measurements are smoothed to about 1 MHz anyway, so high resolution observations are unnecessary. It should be acceptable to observe the flux calibrators using several scans and combine these measurements in the calibration database using several calls to calc_tcal, if necessary. |
| Changed: | |
| < < | A good starting place for the development of the procedure |
| > > | A good starting place for the development of this procedure |
| Changed: | |
| < < | 5. get_wx_tau(time, freq) |
| > > | 4. get_wx_tau(time, freq) |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | * Set tau to a vector value for all scans between 150 and 170 |
| > > | * Set tau for all scans between 150 and 170. Tau is a function of frequency in this example. |
| Changed: | |
| < < | In this example, it is unclear what get_cal should return for tau.time. So, I've explicitly set the time in the my_tau_170 structure before applying the second set_cal. |
| > > | Note that in this example, it is unclear what get_cal should return for tau.time. Is it the time at the start of the scan, or the time that defines the start period over which the returned tau values are applied? To avoid the ambiguity, the user should explicitly set the time in the my_tau_170 structure before applying the second set_cal. |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | show_cal(/ap_eff,freq_range=22235.080, elv_range=[0,90] ; shows ap_eff for one freq |
| > > | ; Plot tau my_tau = get_cal(/tau) ; this works only if the database has tau set once for all times plot, my_tau.freq, my_tau.value, xstyle=1, xtitle='Freq (MHz)', ytitle='Tau (nepers)' ; Retrieve tau for a given scan and plot it my_tau = get_cal(/tau, scan=50) plot, my_tau.freq, my_tau.value, xstyle=1, xtitle='Freq (MHz)', ytitle='Tau (nepers)' ; Plot tcal for each of two feeds and two polarizations my_tcal = get_cal(/tcal) plot, my_tcal.freq, my_tcal.value[0,0,*],xstyle=1, xtitle='Freq (MHz)', ytitle='Tcal (K)' oplot, my_tcal.freq, my_tcal.value[0,1,*], color=!white oplot, my_tcal.freq, my_tcal.value[1,0,*], color=!green oplot, my_tcal.freq, my_tcal.value[1,1,*], color=!yellow ; Plot tcal over a range of frequencies for a given feed and polarization my_tcal = get_cal(/tcal) plot, my_tcal.freq, my_tcal.value[0,0,*],xstyle=1, xtitle='Freq (MHz)', ytitle='Tcal (K)', $ xrange=[22000.0, 23000.0] ; Plot aperture efficiency as a function of elevation for each frequency given in the calibration database my_ap_eff = get_cal(/ap_eff) n_freqs = n_elements(my_ap_eff.freq) plot, my_ap_eff.elv, my_ap_eff.value[*,0] for i=1,n_freqs-1 do $ oplot, my_ap_eff.elv, my_ap_eff.value[*,i], color=!red+i |
| Changed: | |
| < < |
Questions: |
| > > |
Issues and Plans: |
| Changed: | |
| < < |
|
| > > |
|
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.9 - 11 May 2007 - JimBraatz) |
| Changed: | |
| < < |
GBTIDL Calibration Design - Initial Thoughts |
| > > |
Design of Flux Calibration Enhancements in GBTIDLJim Braatz |
| Changed: | |
| < < | GBTIDL calibration needs to be enhanced by adding three new capabilities: |
| > > | GBTIDL spectral line flux calibration capabilities, current to version 2.1, are described in the Calibration document. This document describes the design of several enhancements to the calibration scheme. The calibration scheme needs to be enhanced by adding three new capabilities: |
| Changed: | |
| < < | Default values for the vector calibration quantities must be generated by the sdfits program and stored in a database. The user should be able to inspect and replace the calibration values. Additionally, the user should be able to revert to the defaults. |
| > > | Default values for these vector calibration quantities must be generated by the sdfits program and stored in a database. The user should be able to inspect and replace the calibration values. Additionally, the user should be able to revert to the defaults. When these enahncements are implements, the observer will get better default calibration using exactly the same syntax as is already familiar in GBTIDL. Observers requiring higher precision flux calibration will be able to attain it, but in order to maintain flexibility, the syntax of some of these operations is somewhat more complex than the standard GBTIDL syntax (e.g. the user will have to gain some familiarity with IDL structures). |
| Changed: | |
| < < |
|
| > > | The sdfits program calculates and attaches a scalar Tcal value to each record's data header. The Tcal scalar is taken as an average of the Tcals over the frequency range observed. A scalar Tsys is then calculated from the central 80% of the observed band, and applied in the flux calibration. No information is stored in the SDFITS file to describe atmospheric opacity (tau) or aperture efficency (ap_eff). The user can supply scalar tau and ap_eff values to the calibration routines (getnod, getps, ...). When the user does not specify tau or ap_eff, GBTIDL applies default values, as described in the calibration document. |
| Changed: | |
| < < |
|
| > > | The sdfits program writes a database containing vector Tcal, vector ap_eff, and vector tau for all data contained in the sdfits file. The database can be stored either as an extension in the SDFITS file or as an external file associated with the SDFITS file. |
| Changed: | |
| < < | Note the situation can get complicated if the observer changes receivers during a run. (Do we want to enforce writing a new SDFITS file when there is a RX change, or just keep track of the RX change in the software and allow a single SDFITS file for the entire dataset?). |
| > > | Note the situation can get complicated if the observer changes receivers during a run. As an implementation issue, we might consider enforcing each receiver's data for a given project being written into its own SDFITS file. |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | This procedure writes new values into the calibration database. Each parameter is optional. Each parameter can either be entered as a scalar value, in which case it is applied to all frequencies, times, and elevations, or it can be supplied as a structure, as follows: |
| > > | This procedure writes new values into the calibration database. Each parameter is optional, but at least one must be supplied. Each parameter can either be entered as a scalar value, in which case it is applied to all frequencies, times, and elevations, or it can be supplied as a structure, as follows: |
| Changed: | |
| < < | This procedure returns calibration values. Either a scan number or MJD time must be specified. Exactly one of the switches for tau, ap_eff, or tcal must be given. |
| > > | This procedure returns calibration values. Exactly one of the (tau, ap_eff, or tcal) switches should be set. Either a scan number or MJD time must be specified only when the user requests tau values, since tau is the only time-dependent calibration quantity within a given SDFITS file. |
| Changed: | |
| < < | This procedure plots calibration values. Either a scan number or MJD time must be specified. Exactly one of the switches for tau, ap_eff, or tcal must be given. Frequency range and elevation range (which applies only to tau) can be given as options, and are 2-element arrays with begin and end values of the range. |
| > > | This procedure plots calibration values. Exactly one of the switches for tau, ap_eff, or tcal must be set. Either a scan number or MJD time must be specified if the user requests tau values be plotted. Frequency range and elevation range (which applies only to tau) can be given as options, and are 2-element arrays with begin and end values of the range. ==> This might need to be broken into parts. |
| Changed: | |
| < < | spectrum. A good starting place is ~rmaddale/mypros/getscalquad.pro. We can drop the parts of the routine that determines the non-linearity calibration factors. |
| > > | spectrum. The observer should integrate on one of the accepted flux calibration sources (3C48, 3C286, ...) using the same number of beams and polarizations as in the target observations. The frequency range of the calibration scans should at least cover the range of frequencies observed in the target sources. Wide-bandwidth, low-resolution observing modes are fine for the calibration observations. The Tcal measurements are smoothed the about 1 MHz, so high resolution observations are unnecessary. It should be acceptable to observe the flux calibrators using several scans, if necessary, to cover the frequency range of the target sources. A good starting place for the development of the procedure is ~rmaddale/mypros/getscalquad.pro. We can drop the parts of the routine that determine the non-linearity calibration factors. |
| Changed: | |
| < < | ap_eff and tau can be scalars or vector functions of frequency. If they are vectors then the they should be sent as structures, as in the values used by set_cal. |
| > > | ap_eff and tau can be scalars or vector functions of frequency. If they are vectors then they should be sent as structures, as in the values used by the procedure set_cal. |
| Changed: | |
| < < |
<nop> |
| > > | Ron notes: it may be necessary for the observer to specify the smoothing factor. Also, for Ka band, a sampler name may be necessary. |
| Changed: | |
| < < | my_tcal.value[0,0,10] = 4.55 my_tcal.value[0,1,10] = 2.97 |
| > > | my_tcal.value[0,0,10] = 4.55 ; feed 0, pol 0, freq 10 my_tcal.value[0,1,10] = 2.97 ; feed 0, pol 1, freq 10 |
| Changed: | |
| < < |
|
| > > | Use two frequencies as boundaries for interpolation, and three elevations. |
| Changed: | |
| < < |
filein,'mydata.fits'
show_cal, /tcal, ret=tcal_array ; plots tcal vs. freq and returns values
my_tcal = calc_tcal(101, 0.62, 0.05) ; returns a tcal spectrum in a structure that has
; my_tcal.freq[*] and my_tcal.temperature[2,*].
; scan 101 must be a spectral line observation
; of an accepted flux calibrator
calib, tcal=my_tcal ; sets new tcal values for entire SDFITS file
calib, ap_eff = 0.70 ; apply a single, scalar aperture efficiency to all
; data in this sdfits file
<nop>
|
| > > | my_ap_eff = get_cal(/ap_eff) ; get the ap_eff structure |
| Changed: | |
| < < | getnod, 10 ; this uses all the newly added calibration information |
| > > | my_ap_eff.freq = [22000.0, 23000.0] my_ap_eff.elv = [0.0, 50.0, 90.0] my_ap_eff.value = [[0.51,0.45],[0.62,0.58],[0.61,0.57]] |
| Changed: | |
| < < | calib, /default ; get rid of all the user-supplied entries in the ; calibration database |
| > > | set_cal, ap_eff=my_ap_eff |
| Changed: | |
| < < | getnod, 10 ; this now uses the default calibration database ; as originally filled by the sdfits program |
| > > |
|
| Added: | |
| > > |
show_cal(/ap_eff,freq_range=22235.080, elv_range=[0,90] ; shows ap_eff for one freq |
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.8 - 11 May 2007 - JimBraatz) |
| Changed: | |
| < < | tau : tau.time, tau.value[freq] |
| > > | tau : tau.time, tau.freq[], tau.value[freq] |
| Changed: | |
| < < | 4. calc_tcal(scan, ap_eff, tau) |
| > > | 4. calc_tcal(scan, ap_eff=ap_eff, tau=tau) |
| Changed: | |
| < < | ap_eff and tau can be scalae or vector functions of frequency. |
| > > | ap_eff and tau can be scalars or vector functions of frequency. If they are vectors then the they should be sent as structures, as in the values used by set_cal. |
| Added: | |
| > > |
my_tau = {time = 53850.5, value = 0.022}
set_cal, tau=my_tau
|
| Changed: | |
| < < | my_tau = {} come back to this .... I think it might be better to set the time as a parameter in set_cal. |
| > > | gettp, 100 my_time = !g.s[0].mjd my_tau = {time=my_time, value = 0.085} |
| Changed: | |
| < < |
|
| > > |
|
| Added: | |
| > > | my_time = 53850.5 freq_vector = [22000.0, 22100.0, 22200.0, 22300.0, 22400.0] tau_vector = [0.05, 0.06, 0.075, 0.063, 0.055 ] my_tau = {time=my_time, freq=freq_vector, value=tau_vector} set_cal, tau=my_tau |
| Added: | |
| > > | gettp, 150 time_150 = !g.s[0].mjd gettp, 170 time_170 = !g.s[0].mjd default_tau = get_cal(170, /tau) freq_vector = [22000.0, 22100.0, 22200.0, 22300.0, 22400.0] tau_vector = [0.05, 0.06, 0.075, 0.063, 0.055 ] my_tau_150 = {time=time_150, freq=freq_vector, value=tau_vector} my_tau_170 = default_tau my_tau_170.time = time_170 set_cal, tau=my_tau_150 set_cal, tau=my_tau_170 |
| Added: | |
| > > | In this example, it is unclear what get_cal should return for tau.time. So, I've explicitly set the time in the my_tau_170 structure before applying the second set_cal. |
| Added: | |
| > > |
my_tcal = calc_tcal(10,ap_eff=0.65,tau=0.05)
set_tcal, my_tcal
my_tau = get_cal(10,/tau) ; get the tau structure for scan 10 my_tau.freq = [1400.0, 1410.0, 1420.0, 1430.0, 1440.0] my_tau.value = [0.015, 0.017, 0.019, 0.021, 0.024 ] my_ap_eff = get_cal(/ap_eff) ; get the ap_eff structure my_ap_eff.freq = [1400.0, 1440.0] my_ap_eff.elv = [0.0, 30.0, 90.0] my_ap_eff.value = [[0.61,0.60],[0.71,0.70],[0.73,0.73]] my_tcal = calc_tcal(10,ap_eff=my_ap_eff,tau=my_tau) set_tcal, my_tcal <nop> |
| Added: | |
| > > |
my_tcal = get_cal(/tcal)
my_tcal.value[0,0,10] = 4.55
my_tcal.value[0,1,10] = 2.97
set_cal, my_tcal
set_cal, /default <nop> |
| Added: | |
| > > |
|
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.7 - 10 May 2007 - JimBraatz) |
| Added: | |
| > > | ap_eff and tau can be scalae or vector functions of frequency. |
| Changed: | |
| < < | See my getscalquad.pro for what I'm finding useful in the call. Need IFNum, PLNUM, FDNUM, and, for high resolution spectra, a smoothing factor. For Ka, we needed to add in sampler name. Ap_eff and tau can be vectors or scalars. |
| > > | See my getscalquad.pro for what I'm finding useful in the call. Need IFNum, PLNUM, FDNUM, and, for high resolution spectra, a smoothing factor. For Ka, we needed to add in sampler name. |
| Changed: | |
| < < | and freq can be either a scalar or a vector. If freq is a vector, the funtion returns tau for each |
| > > | and freq can be either a scalar or a vector. If freq is a vector, the function returns tau for each |
| Added: | |
| > > | |
| Added: | |
| > > | |
| Added: | |
| > > |
my_tau = {}
come back to this .... I think it might be better to set the time as a parameter in set_cal.
set_cal, tau=my_tau
* Set tau to a vector value for all scans between 150 and 170
|
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.6 - 10 May 2007 - JimBraatz) |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | tau : tau.time[*], tau.value[*,*] ap_eff : ap_eff.elv[*], ap_eff.freq[*], ap_eff.value[*,*] tcal : tcal.freq[*], tcal.value[n_feed,2,*] (n_feed feeds, two pols) |
| > > | tau : tau.time, tau.value[freq] ap_eff : ap_eff.elv[], ap_eff.freq[], ap_eff.value[freq, elv] tcal : tcal.freq[], tcal.value[n_feed, n_pol, freq] |
| Changed: | |
| < < | This procedure returns calibration values. Either a scan number or mjd time must be specified. |
| > > | This procedure returns calibration values. Either a scan number or MJD time must be specified. |
| Changed: | |
| < < | This procedure plots calibration values. Either a scan number or mjd time must be specified. |
| > > | This procedure plots calibration values. Either a scan number or MJD time must be specified. |
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.5 - 10 May 2007 - JimBraatz) |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
What will it look like?
|
| > > |
|
| Changed: | |
| < < | 1. calib, tau=tau, ap_eff=ap_eff, tcal=tcal, /default |
| > > | 1. set_cal, tau=tau, ap_eff=ap_eff, tcal=tcal, /default |
| Changed: | |
| < < |
<nop> |
| > > | 2. get_cal(scan, time=time, /tau, /ap_eff, /tcal) This procedure returns calibration values. Either a scan number or mjd time must be specified. Exactly one of the switches for tau, ap_eff, or tcal must be given. |
| Changed: | |
| < < | 2. show_cal, tau=tau, ap_eff=ap_eff, tcal=tcal |
| > > | 3. show_cal, scan, time=time, /tau, /ap_eff, /tcal, freq_range=freq_range, elv_range=elv_range |
| Changed: | |
| < < | 3. calc_tcal(scan, ap_eff, tau) |
| > > | This procedure plots calibration values. Either a scan number or mjd time must be specified. Exactly one of the switches for tau, ap_eff, or tcal must be given. Frequency range and elevation range (which applies only to tau) can be given as options, and are 2-element arrays with begin and end values of the range. 4. calc_tcal(scan, ap_eff, tau) This procedure will reduce an observation of a flux calibrator in order to determine the Tcal spectrum. A good starting place is ~rmaddale/mypros/getscalquad.pro. We can drop the parts of the routine that determines the non-linearity calibration factors. |
| Changed: | |
| < < | 4. get_wx_tau(time, freq) |
| > > | 5. get_wx_tau(time, freq) |
| Changed: | |
| < < |
<nop> |
| > > | Returns tau values from Ron's weather-based calculations. The input for time is a scalar value in MJD and freq can be either a scalar or a vector. If freq is a vector, the funtion returns tau for each element of the vector. |
| Changed: | |
| < < | So an example use might look like so: |
| > > |
Use Cases |
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.4 - 09 May 2007 - JimBraatz) |
| Changed: | |
| < < | tau : tau.time[*], tau.value[*] |
| > > | tau : tau.time[*], tau.value[*,*] |
| Changed: | |
| < < | tcal : tcal.freq[*], tcal.value[2,*] (two pols) |
| > > | tcal : tcal.freq[*], tcal.value[n_feed,2,*] (n_feed feeds, two pols) |
| Changed: | |
| < < |
|
| > > |
|
| Added: | |
| > > |
|
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.3 - 09 May 2007 - RonMaddalena) |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Added: | |
| > > |
<nop> |
| Added: | |
| > > |
<nop> |
| Added: | |
| > > | |
| Added: | |
| > > |
Where freq can be a vector or scalar.
|
| Deleted: | |
| < < |
|
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.2 - 08 May 2007 - JimBraatz) |
| Added: | |
| > > |
|
| Changed: | |
| < < | GBTIDL Calibration needs to be improved by the addition of three new capabilities: |
| > > | GBTIDL calibration needs to be enhanced by adding three new capabilities: |
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | Default values for the vector calibration quantities must be generated by the sdfits program and stores in a database. The user should be able to inspect and replace the calibration values. Additionally, the user should be able to revert to the defaults. |
| > > | Default values for the vector calibration quantities must be generated by the sdfits program and stored in a database. The user should be able to inspect and replace the calibration values. Additionally, the user should be able to revert to the defaults. |
| Added: | |
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Added: | |
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < |
|
| > > |
|
| Changed: | |
| < < | Questions: |
| > > |
What will it look like?
1. calib, tau=tau, ap_eff=ap_eff, tcal=tcal, /default
This procedure writes new values into the calibration database. Each parameter is optional.
Each parameter can either be entered as a scalar value, in which case it is applied to all
frequencies, times, and elevations, or it can be supplied as a structure, as follows:
tau : tau.time[*], tau.value[*]
ap_eff : ap_eff.elv[*], ap_eff.freq[*], ap_eff.value[*,*]
tcal : tcal.freq[*], tcal.value[2,*] (two pols)
2. show_cal, tau=tau, ap_eff=ap_eff, tcal=tcal
3. calc_tcal(scan, ap_eff, tau)
4. get_wx_tau(time, freq)
So an example use might look like so:
filein,'mydata.fits'
show_cal, /tcal, ret=tcal_array ; plots tcal vs. freq and returns values
my_tcal = calc_tcal(101, 0.62, 0.05) ; returns a tcal spectrum in a structure that has
; my_tcal.freq[*] and my_tcal.temperature[2,*].
; scan 101 must be a spectral line observation
; of an accepted flux calibrator
calib, tcal=my_tcal ; sets new tcal values for entire SDFITS file
calib, ap_eff = 0.70 ; apply a single, scalar aperture efficiency to all
; data in this sdfits file
getnod, 10 ; this uses all the newly added calibration information
calib, /default ; get rid of all the user-supplied entries in the
; calibration database
getnod, 10 ; this now uses the default calibration database
; as originally filled by the sdfits program
Questions: |
| Changed: | |
| < < |
|
| > > |
|
| <<O>> Difference Topic GBTIDLCalibrationDesign (r1.1 - 08 May 2007 - JimBraatz) |
| Added: | |
| > > |
%META:TOPICINFO{author="JimBraatz" date="1178652240" format="1.0" version="1.1"}%
%META:TOPICPARENT{name="JimBraatz"}%
GBTIDL Calibration Design - Initial ThoughtsOverviewGBTIDL Calibration needs to be improved by the addition of three new capabilities:
Current situation with GBTIDL calibration:
Proposed situation:
New tools required
|
| Topic GBTIDLCalibrationDesign . { View | Diffs | r1.12 | > | r1.11 | > | r1.10 | More } |
|
Revision r1.1 - 08 May 2007 - 19:24 GMT - JimBraatz Revision r1.12 - 06 Nov 2007 - 19:15 GMT - JimBraatz |
Content copyright © 1999-2007 by the contributing authors. All material on this collaboration platform is the property of the contributing authors. |