DataQualityFlag¶
- class gwpy.segments.DataQualityFlag(name=None, active=None, known=None, label=None, category=None, description=None, isgood=True, padding=None)[source]¶
A representation of a named set of segments.
- Parameters
name : str, optional
The name of this flag. This should be of the form {ifo}:{tag}:{version}, e.g. ‘H1:DMT-SCIENCE:1’. Use
labelfor human-readable names.active :
SegmentList, optionalA list of active segments for this flag
known :
SegmentList, optionalA list of known segments for this flag
label :
str, optionalHuman-readable name for this flag, e.g.
'Science-mode'category :
int, optionalVeto category for this flag.
description :
str, optionalHuman-readable description of why this flag was created.
isgood :
bool, optionalDo active segments mean the IFO was in a good state?
Attributes Summary
The set of segments during which this flag was active.
Veto category for this flag.
Description of why/how this flag was generated.
The single GPS
[start, stop)enclosing segment of thisDataQualityFlag.The interferometer associated with this flag.
Whether
activesegments mean the instrument was in a good state.The set of segments during which this flag was known, and its state was well defined.
A human-readable label for this flag.
Amount of time this flag was
active.The name associated with this flag.
[start, end) padding for this flag's active segments.
Trueif theactivesegments are a proper subset of theknown.The tag (name) associated with this flag.
Name of this flag in LaTeX printable format.
The version number of this flag.
Methods Summary
coalesce()Coalesce the segments for this flag.
contract(x)Contract each of the
activeSegmentsbyxseconds.copy()Build an exact copy of this flag.
fetch_open_data(flag, start, end, **kwargs)Fetch Open Data timeline segments into a flag.
from_veto_def(veto)Define a
DataQualityFlagfrom aVetoDefpad(*args, **kwargs)Apply a padding to each segment in this
DataQualityFlagplot([figsize, xscale])Plot this flag on a segments projection.
populate([source, segments, pad])Query the segment database for this flag's active segments.
protract(x)Protract each of the
activeSegmentsbyxseconds.query(flag, *args, **kwargs)Query for segments of a given flag
query_dqsegdb(flag, *args, **kwargs)Query the advanced LIGO DQSegDB for the given flag
query_segdb(flag, *args, **kwargs)Query the initial LIGO segment database for the given flag
read(source, *args, **kwargs)Read segments from file into a
DataQualityFlag.round([contract])Round this flag to integer segments.
write(target, *args, **kwargs)Write this
DataQualityFlagto fileAttributes Documentation
- active¶
The set of segments during which this flag was active.
- extent¶
The single GPS
[start, stop)enclosing segment of thisDataQualityFlag.- Type
- ifo¶
The interferometer associated with this flag.
This should be a single uppercase letter and a single number, e.g.
'H1'.- Type
- known¶
The set of segments during which this flag was known, and its state was well defined.
- name¶
The name associated with this flag.
This normally takes the form {ifo}:{tag}:{version}. If found, each component is stored separately the associated attributes.
- Type
- padding¶
[start, end) padding for this flag’s active segments.
- tag¶
The tag (name) associated with this flag.
This should take the form
'AAA-BBB_CCC_DDD', i.e. where each component is an uppercase acronym of alphanumeric characters only, e.g.'DCH-IMC_BAD_CALIBRATION'or'DMT-SCIENCE'.- Type
- texname¶
Name of this flag in LaTeX printable format.
- version¶
The version number of this flag.
Each flag in the segment database is stored with a version integer, with each successive version representing a more accurate dataset for its known segments than any previous.
- Type
Methods Documentation
- coalesce()[source]¶
Coalesce the segments for this flag.
This method does two things:
Note
this operations is performed in-place.
- Returns
self
a view of this flag, not a copy.
- contract(x)[source]¶
Contract each of the
activeSegmentsbyxseconds.This method adds
xto each segment’s lower bound, and subtractsxfrom the upper bound.The
activeSegmentListis modified in place.
- copy()[source]¶
Build an exact copy of this flag.
- Returns
flag2 :
DataQualityFlaga copy of the original flag, but with a fresh memory address.
- classmethod fetch_open_data(flag, start, end, **kwargs)[source]¶
Fetch Open Data timeline segments into a flag.
- flag
str the name of the flag to query
- start
int,str the GPS start time (or parseable date string) to query
- end
int,str the GPS end time (or parseable date string) to query
- verbose
bool, optional show verbose download progress, default:
False- timeout
int, optional timeout for download (seconds)
- host
str, optional URL of GWOSC host, default:
'https://gw-openscience.org'
- Returns
flag :
DataQualityFlaga new flag with
activesegments filled from Open Data
Examples
>>> from gwpy.segments import DataQualityFlag >>> print(DataQualityFlag.fetch_open_data('H1_DATA', 'Jan 1 2010', ... 'Jan 2 2010')) <DataQualityFlag('H1:DATA', known=[[946339215 ... 946425615)], active=[[946340946 ... 946351800) [946356479 ... 946360620) [946362652 ... 946369150) [946372854 ... 946382630) [946395595 ... 946396751) [946400173 ... 946404977) [946412312 ... 946413577) [946415770 ... 946422986)], description=None)>
- flag
- classmethod from_veto_def(veto)[source]¶
Define a
DataQualityFlagfrom aVetoDef- Parameters
veto :
VetoDefveto definition to convert from
- pad(*args, **kwargs)[source]¶
Apply a padding to each segment in this
DataQualityFlagThis method either takes no arguments, in which case the value of the
paddingattribute will be used, or two values representing the padding for the start and end of each segment.For both the
startandendpaddings, a positive value means pad forward in time, so that a positivestartpad or negativeendpadding will contract a segment at one or both ends, and vice-versa.This method will apply the same padding to both the
knownandactivelists, but will notcoalesce()the result.- Parameters
start :
floatpadding to apply to the start of the each segment
end :
floatpadding to apply to the end of each segment
inplace :
bool, optional, default:Falsemodify this object in-place, default is
False, i.e. return a copy of the original object with padded segments- Returns
paddedflag :
DataQualityFlaga view of the modified flag
- plot(figsize=(12, 4), xscale='auto-gps', **kwargs)[source]¶
Plot this flag on a segments projection.
- Parameters
**kwargs
all keyword arguments are passed to the
Plotconstructor.- Returns
figure :
Figurethe newly created figure, with populated Axes.
See also
matplotlib.pyplot.figurefor documentation of keyword arguments used to create the figure
matplotlib.figure.Figure.add_subplotfor documentation of keyword arguments used to create the axes
gwpy.plot.SegmentAxes.plot_segmentlistfor documentation of keyword arguments used in rendering the data
- populate(source='http://segments.ldas.cit', segments=None, pad=True, **kwargs)[source]¶
Query the segment database for this flag’s active segments.
This method assumes all of the metadata for each flag have been filled. Minimally, the following attributes must be filled
The name associated with this flag.
The set of segments during which this flag was known, and its state was well defined.
Segments will be fetched from the database, with any
paddingadded on-the-fly.This
DataQualityFlagwill be modified in-place.- Parameters
source :
strsource of segments for this flag. This must be either a URL for a segment database or a path to a file on disk.
segments :
SegmentList, optionala list of segments during which to query, if not given, existing known segments for this flag will be used.
pad :
bool, optional, default:True**kwargs
any other keyword arguments to be passed to
DataQualityFlag.query()orDataQualityFlag.read().- Returns
self :
DataQualityFlaga reference to this flag
- protract(x)[source]¶
Protract each of the
activeSegmentsbyxseconds.This method subtracts
xfrom each segment’s lower bound, and addsxto the upper bound, while maintaining that eachSegmentstays within theknownbounds.The
activeSegmentListis modified in place.
- classmethod query(flag, *args, **kwargs)[source]¶
Query for segments of a given flag
This method intelligently selects the
query_segdbor thequery_dqsegdbmethods based on theurlkwarg given.- Parameters
flag :
strThe name of the flag for which to query
*args
Either, two
float-like numbers indicating the GPS [start, stop) interval, or aSegmentListdefining a number of summary segmentsurl :
str, optionalURL of the segment database, defaults to
$DEFAULT_SEGMENT_SERVERenvironment variable, or'https://segments.ligo.org'- Returns
flag :
DataQualityFlagA new
DataQualityFlag, with theknownandactivelists filled appropriately.
See also
DataQualityFlag.query_segdbDataQualityFlag.query_dqsegdbfor details on the actual query engine, and documentation of other keyword arguments appropriate for each query
- classmethod query_dqsegdb(flag, *args, **kwargs)[source]¶
Query the advanced LIGO DQSegDB for the given flag
- Parameters
flag :
strThe name of the flag for which to query
*args
Either, two
float-like numbers indicating the GPS [start, stop) interval, or aSegmentListdefining a number of summary segmentsurl :
str, optionalURL of the segment database, defaults to
$DEFAULT_SEGMENT_SERVERenvironment variable, or'https://segments.ligo.org'- Returns
flag :
DataQualityFlagA new
DataQualityFlag, with theknownandactivelists filled appropriately.
- classmethod query_segdb(flag, *args, **kwargs)[source]¶
Query the initial LIGO segment database for the given flag
- Parameters
flag :
strThe name of the flag for which to query
*args
Either, two
float-like numbers indicating the GPS [start, stop) interval, or aSegmentListdefining a number of summary segmentsurl :
str, optionalURL of the segment database, defaults to
$DEFAULT_SEGMENT_SERVERenvironment variable, or'https://segments.ligo.org'- Returns
flag :
DataQualityFlagA new
DataQualityFlag, with theknownandactivelists filled appropriately.
- classmethod read(source, *args, **kwargs)[source]¶
Read segments from file into a
DataQualityFlag.- Parameters
filename :
strpath of file to read
name :
str, optionalname of flag to read from file, otherwise read all segments.
format :
str, optionalsource format identifier. If not given, the format will be detected if possible. See below for list of acceptable formats.
coltype :
type, optional, default:floatdatatype to force for segment times, only valid for
format='segwizard'.strict :
bool, optional, default:Truerequire segment start and stop times match printed duration, only valid for
format='segwizard'.coalesce :
bool, optionalif
Truecoalesce the all segment lists before returning, otherwise return exactly as contained in file(s).nproc :
int, optional, default: 1number of CPUs to use for parallel reading of multiple files
verbose :
bool, optional, default:Falseprint a progress bar showing read status
- Returns
dqflag :
DataQualityFlagformatted
DataQualityFlagcontaining the active and known segments read from file.- Raises
IndexError
if
sourceis an empty list
Notes
The available built-in formats are:
Format
Read
Write
Auto-identify
hdf5
Yes
Yes
Yes
json
Yes
No
No
ligolw
Yes
Yes
Yes
- round(contract=False)[source]¶
Round this flag to integer segments.
- Parameters
contract :
bool, optionalif
False(default) expand each segment to the containing integer boundaries, otherwise contract each segment to the contained boundaries- Returns
roundedflag :
DataQualityFlag
- write(target, *args, **kwargs)[source]¶
Write this
DataQualityFlagto fileNotes
The available built-in formats are:
Format
Read
Write
Auto-identify
hdf5
Yes
Yes
Yes
json
Yes
Yes
No
ligolw
Yes
Yes
Yes