QA for an Exposures (v1.1)


In [1]:
# imports
from desispec.qa import qa_exposure as dqaexp

Load


In [2]:
expid = 7
night = '20160607'
specprod_dir = '/Users/xavier/DESI/DESI_SCRATCH/redux/madrone/'

In [3]:
# Load data
reload(dqaexp)
qaexp = dqaexp.QA_Exposure(expid, night, 'dark', specprod_dir=specprod_dir)


INFO:qa.py:81:load_qa_frame: Loaded QA file /Users/xavier/DESI/DESI_SCRATCH/redux/madrone/exposures/20160607/00000007/qa-r0-00000007.yaml
INFO:qa.py:81:load_qa_frame: Loaded QA file /Users/xavier/DESI/DESI_SCRATCH/redux/madrone/exposures/20160607/00000007/qa-r1-00000007.yaml
INFO:qa.py:81:load_qa_frame: Loaded QA file /Users/xavier/DESI/DESI_SCRATCH/redux/madrone/exposures/20160607/00000007/qa-b0-00000007.yaml
INFO:qa.py:81:load_qa_frame: Loaded QA file /Users/xavier/DESI/DESI_SCRATCH/redux/madrone/exposures/20160607/00000007/qa-b1-00000007.yaml
INFO:qa.py:81:load_qa_frame: Loaded QA file /Users/xavier/DESI/DESI_SCRATCH/redux/madrone/exposures/20160607/00000007/qa-z0-00000007.yaml
INFO:qa.py:81:load_qa_frame: Loaded QA file /Users/xavier/DESI/DESI_SCRATCH/redux/madrone/exposures/20160607/00000007/qa-z1-00000007.yaml

In [4]:
qaexp.data


Out[4]:
{'expid': 7,
 'flavor': 'dark',
 'frames': {'b0': {'FLUXCALIB': {'PARAM': {'MAX_ZP_OFF': 0.2,
     'ZP_WAVE': 4800.0},
    'QA': {'MAX_ZP_OFF': [0.4802616039991179, 0],
     'NSTARS_FIBER': 12,
     'RMS_ZP': 0.1449260023073517,
     'ZP': 25.592318861231973}},
   'SKYSUB': {'PARAM': {'PCHI_RESID': 0.05, 'PER_RESID': 95.0},
    'QA': {'MED_RESID': 0.7977447509765625,
     'NBAD_PCHI': 38,
     'NREJ': 0,
     'NSKY_FIB': 38,
     'RESID_PER': [-28.585147666931153, 30.517656135559076]}}},
  'b1': {'FLUXCALIB': {'PARAM': {'MAX_ZP_OFF': 0.2, 'ZP_WAVE': 4800.0},
    'QA': {'MAX_ZP_OFF': [0.5010662602690843, 0],
     'NSTARS_FIBER': 13,
     'RMS_ZP': 0.14132149782701103,
     'ZP': 25.593496049967925}},
   'SKYSUB': {'PARAM': {'PCHI_RESID': 0.05, 'PER_RESID': 95.0},
    'QA': {'MED_RESID': 0.7645645141601562,
     'NBAD_PCHI': 35,
     'NREJ': 0,
     'NSKY_FIB': 36,
     'RESID_PER': [-28.651506423950195, 30.514743328094482]}}},
  'r0': {'FLUXCALIB': {'PARAM': {'MAX_ZP_OFF': 0.2, 'ZP_WAVE': 6500.0},
    'QA': {'MAX_ZP_OFF': [0.5145173890571471, 0],
     'NSTARS_FIBER': 12,
     'RMS_ZP': 0.1552311138402372,
     'ZP': 25.462437703942683}},
   'SKYSUB': {'PARAM': {'PCHI_RESID': 0.05, 'PER_RESID': 95.0},
    'QA': {'MED_RESID': 0.8249320983886719,
     'NBAD_PCHI': 18,
     'NREJ': 0,
     'NSKY_FIB': 38,
     'RESID_PER': [-38.79963073730468, 41.19881591796872]}}},
  'r1': {'FLUXCALIB': {'PARAM': {'MAX_ZP_OFF': 0.2, 'ZP_WAVE': 6500.0},
    'QA': {'MAX_ZP_OFF': [0.5120047209460807, 0],
     'NSTARS_FIBER': 13,
     'RMS_ZP': 0.14398544844135472,
     'ZP': 25.463873267968722}},
   'SKYSUB': {'PARAM': {'PCHI_RESID': 0.05, 'PER_RESID': 95.0},
    'QA': {'MED_RESID': 0.6858577728271484,
     'NBAD_PCHI': 14,
     'NREJ': 0,
     'NSKY_FIB': 36,
     'RESID_PER': [-38.262718200683594, 41.21645736694336]}}},
  'z0': {'FLUXCALIB': {'PARAM': {'MAX_ZP_OFF': 0.2, 'ZP_WAVE': 8250.0},
    'QA': {'MAX_ZP_OFF': [0.46679589006055267, 0],
     'NSTARS_FIBER': 12,
     'RMS_ZP': 0.14446527967674802,
     'ZP': 25.420884471125603}},
   'SKYSUB': {'PARAM': {'PCHI_RESID': 0.05, 'PER_RESID': 95.0},
    'QA': {'MED_RESID': 0.48260498046875,
     'NBAD_PCHI': 38,
     'NREJ': 0,
     'NSKY_FIB': 38,
     'RESID_PER': [-68.66947860717772, 72.949688720703]}}},
  'z1': {'FLUXCALIB': {'PARAM': {'MAX_ZP_OFF': 0.2, 'ZP_WAVE': 8250.0},
    'QA': {'MAX_ZP_OFF': [0.473581729721424, 0],
     'NSTARS_FIBER': 13,
     'RMS_ZP': 0.13706811678757105,
     'ZP': 25.429825809028927}},
   'SKYSUB': {'PARAM': {'PCHI_RESID': 0.05, 'PER_RESID': 95.0},
    'QA': {'MED_RESID': 0.5413665771484375,
     'NBAD_PCHI': 36,
     'NREJ': 0,
     'NSKY_FIB': 36,
     'RESID_PER': [-69.9621726989746, 73.98566360473627]}}}},
 'night': '20160607'}

FluxCalib QA


In [5]:
outfil = 'qa-00000006-flux.pdf'
qaexp.fluxcalib(outfil)


/Users/xavier/anaconda/lib/python2.7/site-packages/matplotlib/__init__.py:1350: UserWarning:  This call to matplotlib.use() has no effect
because the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.

  warnings.warn(_use_error_msg)
Wrote QA FluxCalib Exposure file: qa-00000006-flux.pdf

In [18]:
qaexp.data


Out[18]:
{u'FLUXCALIB': {u'b': {u'ZP_RMS': 0.0}, u'r': {}, u'z': {}},
 'expid': 2,
 'flavor': 'dark',
 'frames': {'b0': {u'FIBERFLAT': {u'PARAM': {'MAX_MEAN_OFF': 0.05,
     'MAX_N_MASK': 20000,
     'MAX_OFF': 0.15,
     'MAX_RMS': 0.02,
     'MAX_SCALE_OFF': 0.05},
    u'QA': {'MAX_MEANSPEC': 20036.989142187947,
     'MAX_MEAN_OFF': 11.95263722228059,
     'MAX_OFF': 31.86232340755261,
     'MAX_RMS': 4.606179058912466,
     'MAX_SCALE_OFF': 17.14729933910587,
     'N_MASK': 141167}},
   u'FLUXCALIB': {u'PARAM': {'MAX_ZP_OFF': 0.2, 'ZP_WAVE': 4800.0},
    u'QA': {'MAX_ZP_OFF': [0.03162147678992966, 119],
     'NSTARS_FIBER': 5,
     'RMS_ZP': 0.010376131442290066,
     'ZP': 25.234761071013523}},
   u'SKYSUB': {u'PARAM': {'PCHI_RESID': 0.05},
    u'QA': {'MED_RESID': 0.7486787818569205, 'NBAD_PCHI': 38, 'NSKY_FIB': 45}},
   'camera': 'b0',
   u'file': '/Users/xavier/DESI/TST/dogwood/exposures/20150211/00000002/qa-b0-00000002.yaml',
   'flavor': 'science'}},
 'night': '20150211'}

In [ ]: