Coverage for python/lsst/sims/maf/metrics/longGapAGNMetric.py : 30%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1import numpy as np
2from .baseMetric import BaseMetric
4__all__ = ['LongGapAGNMetric']
7class LongGapAGNMetric(BaseMetric):
8 """max delta-t and average of the top-10 longest gaps.
9 """
11 def __init__(self, metricName='longGapAGNMetric',
12 mjdcol='observationStartMJD', units='days', xgaps=10, badval=-666,
13 **kwargs):
14 """ Instantiate metric.
15 mjdcol = column name for exposure time dates
16 """
17 cols = [mjdcol]
18 super(LongGapAGNMetric, self).__init__(cols, metricName, units=units, **kwargs)
19 self.badval = badval
20 self.mjdcol = mjdcol
21 self.xgaps = xgaps
22 self.units = units
24 def run(self, dataslice, slicePoint=None):
25 metricval = np.diff(dataslice[self.mjdcol])
26 return metricval
28 def reduceMaxGap(self, metricval):
29 if metricval.size > 0:
30 result = np.max(metricval)
31 else:
32 result = self.badval
33 return result
35 def reduceAverageLongestXGaps(self, metricval):
36 if np.size(metricval)-self.xgaps > 0:
37 return np.average(np.sort(metricval)[np.size(metricval)-self.xgaps:])
38 else:
39 return self.badval