Changeset 1722


Ignore:
Timestamp:
04/15/10 15:09:34 (14 years ago)
Author:
Malte Marquarding
Message:

Adjusted skydip method after feedback from Kate Brooks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/opacity.py

    r1689 r1722  
    66from asap import selector
    77from asap import rcParams
     8from asap import xyplotter
    89
    910def _import_data(data):
    10     if not hasattr(data, "__len__"):
     11    if not isinstance(data, (list,tuple)):
    1112        if isinstance(data, scantable):
    1213            return data
     
    5758        plot:       Plot each fit (airmass vs. Tsys). Default is 'False'
    5859    """
     60    rcsave = rcParams['verbose']
     61    rcParams['verbose'] = False
    5962    scan = _import_data(data)
    6063    f = fitter()
     
    6871        sel.set_ifs(ino)
    6972        opacity = []
     73        fits = []
     74        airms = []
     75        tsyss = []
     76
     77        if plot:
     78            xyplotter.cla()
     79            xyplotter.ioff()
     80            xyplotter.clf()
     81            xyplotter.xlabel("Airmass")
     82            xyplotter.ylabel(r"$T_{sys}$")
    7083        for pno in pnos:
    7184            sel.set_polarisations(pno)
    7285            scan.set_selection(basesel+sel)
     86            freq = scan.get_coordinate(0).get_reference_value()/1e9
     87            freqstr = "%0.4f GHz" % freq
    7388            tsys = scan.get_tsys()
    7489            elev = scan.get_elevation()
    7590            airmass = [ 1./math.sin(i) for i in elev ]
     91            airms.append(airmass)
     92            tsyss.append(tsys)
    7693            f.set_data(airmass, tsys)
    7794            f.fit()
    78             if plot:
    79                 f.plot(residual=True, plotparms=True)
    80                 raw_input("Hit <return> for next fit...")
     95            fits.append(f.get_fit())
    8196            params = f.get_parameters()["params"]
    8297            opacity.append(params[1]/tsky)
     
    85100        else:
    86101            opacities += opacity
     102        if plot:
     103            colors = ['b','g','k']
     104            for i in range(len(airms)):
     105                xyplotter.plot(airms[i], tsyss[i], 'o', color=colors[i])
     106                xyplotter.plot(airms[i], fits[i], '-', color=colors[i])
     107                xyplotter.figtext(0.7,0.3-(i/30.0),
     108                                  r"$\tau_{fit}=%0.2f$" % opacity[i],
     109                                  color=colors[i])
     110            if averagepol:
     111                xyplotter.figtext(0.7,0.3-(len(airms)/30.0),
     112                                  r"$\tau=%0.2f$" % opacities[-1],
     113                                  color='r')
     114            xyplotter.title("IF%d : %s" % (ino, freqstr))
     115
     116            xyplotter.ion()
     117            xyplotter.draw()
     118            raw_input("Hit <return> for next fit...")
    87119        sel.reset()
     120
    88121    scan.set_selection(basesel)
     122    rcParams['verbose'] = rcsave
     123    if plot:
     124        xyplotter.close()
    89125    return opacities
Note: See TracChangeset for help on using the changeset viewer.