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¶
- namestr, optional
The name of this flag. This should be of the form {ifo}:{tag}:{version}, e.g. ‘H1:DMT-SCIENCE:1’. Use
label
for human-readable names.- active
SegmentList
, optional A list of active segments for this flag
- known
SegmentList
, optional A list of known segments for this flag
- label
str
, optional Human-readable name for this flag, e.g.
'Science-mode'
- category
int
, optional Veto category for this flag.
- description
str
, optional Human-readable description of why this flag was created.
- isgood
bool
, optional Do 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
active
segments 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.
True
if theactive
segments 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
active
Segments
byx
seconds.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
DataQualityFlag
from aVetoDef
pad
(*args, **kwargs)Apply a padding to each segment in this
DataQualityFlag
plot
([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
active
Segments
byx
seconds.query
(flag, *args, **kwargs)Query the advanced LIGO DQSegDB for the given flag
query_dqsegdb
(flag, *args, **kwargs)Query the advanced LIGO DQSegDB 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
DataQualityFlag
to fileAttributes Documentation
- active¶
The set of segments during which this flag was active.
- extent¶
The single GPS
[start, stop)
enclosing segment of thisDataQualityFlag
.
- ifo¶
The interferometer associated with this flag.
This should be a single uppercase letter and a single number, e.g.
'H1'
.
- 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.
- 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'
.
- 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.
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
active
Segments
byx
seconds.This method adds
x
to each segment’s lower bound, and subtractsx
from the upper bound.The
active
SegmentList
is modified in place.
- copy()[source]¶
Build an exact copy of this flag.
- Returns¶
- flag2
DataQualityFlag
a copy of the original flag, but with a fresh memory address.
- flag2
- 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://gwosc.org'
- Returns¶
- flag
DataQualityFlag
a new flag with
active
segments filled from Open Data
- flag
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
DataQualityFlag
from aVetoDef
- Parameters¶
- veto
VetoDef
veto definition to convert from
- veto
- pad(*args, **kwargs)[source]¶
Apply a padding to each segment in this
DataQualityFlag
This method either takes no arguments, in which case the value of the
padding
attribute will be used, or two values representing the padding for the start and end of each segment.For both the
start
andend
paddings, a positive value means pad forward in time, so that a positivestart
pad or negativeend
padding will contract a segment at one or both ends, and vice-versa.This method will apply the same padding to both the
known
andactive
lists, but will notcoalesce()
the result.- Parameters¶
- Returns¶
- paddedflag
DataQualityFlag
a view of the modified flag
- paddedflag
-
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
Plot
constructor.
- Returns¶
- figure
Figure
the newly created figure, with populated Axes.
- figure
See also
matplotlib.pyplot.figure
for documentation of keyword arguments used to create the figure
matplotlib.figure.Figure.add_subplot
for documentation of keyword arguments used to create the axes
gwpy.plot.SegmentAxes.plot_segmentlist
for 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
padding
added on-the-fly.This
DataQualityFlag
will be modified in-place.- Parameters¶
- source
str
source 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
, optional a 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()
.
- source
- Returns¶
- self
DataQualityFlag
a reference to this flag
- self
- protract(x)[source]¶
Protract each of the
active
Segments
byx
seconds.This method subtracts
x
from each segment’s lower bound, and addsx
to the upper bound, while maintaining that eachSegment
stays within theknown
bounds.The
active
SegmentList
is modified in place.
- classmethod query(flag, *args, **kwargs)[source]¶
Query the advanced LIGO DQSegDB for the given flag
- Parameters¶
- flag
str
The name of the flag for which to query
- *args
Either, two
float
-like numbers indicating the GPS [start, stop) interval, or aSegmentList
defining a number of summary segments- url
str
, optional URL of the segment database, defaults to
$DEFAULT_SEGMENT_SERVER
environment variable, or'https://segments.ligo.org'
- flag
- Returns¶
- flag
DataQualityFlag
A new
DataQualityFlag
, with theknown
andactive
lists filled appropriately.
- flag
- classmethod query_dqsegdb(flag, *args, **kwargs)[source]¶
Query the advanced LIGO DQSegDB for the given flag
- Parameters¶
- flag
str
The name of the flag for which to query
- *args
Either, two
float
-like numbers indicating the GPS [start, stop) interval, or aSegmentList
defining a number of summary segments- url
str
, optional URL of the segment database, defaults to
$DEFAULT_SEGMENT_SERVER
environment variable, or'https://segments.ligo.org'
- flag
- Returns¶
- flag
DataQualityFlag
A new
DataQualityFlag
, with theknown
andactive
lists filled appropriately.
- flag
- classmethod read(source, *args, **kwargs)[source]¶
Read segments from file into a
DataQualityFlag
.- Parameters¶
- filename
str
path of file to read
- name
str
, optional name of flag to read from file, otherwise read all segments.
- format
str
, optional source format identifier. If not given, the format will be detected if possible. See below for list of acceptable formats.
- coltype
type
, optional, default:float
datatype to force for segment times, only valid for
format='segwizard'
.- strict
bool
, optional, default:True
require segment start and stop times match printed duration, only valid for
format='segwizard'
.- coalesce
bool
, optional if
True
coalesce the all segment lists before returning, otherwise return exactly as contained in file(s).- nproc
int
, optional, default: 1 number of CPUs to use for parallel reading of multiple files
- verbose
bool
, optional, default:False
print a progress bar showing read status
- filename
- Returns¶
- dqflag
DataQualityFlag
formatted
DataQualityFlag
containing the active and known segments read from file.
- dqflag
- Raises¶
- IndexError
if
source
is 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¶
- Returns¶
- roundedflag
DataQualityFlag
A copy of the original flag with the
active
andknown
segments padded out to integer boundaries.
- roundedflag
- write(target, *args, **kwargs)[source]¶
Write this
DataQualityFlag
to fileNotes
The available built-in formats are:
Format
Read
Write
Auto-identify
hdf5
Yes
Yes
Yes
json
Yes
Yes
No
ligolw
Yes
Yes
Yes