ADC/DAC overflows

The LIGO real-time controls system is a sophisticated collection of control loops designed to hold the arm cavities in resonance. At fairly regular intervals, this system can experience overflows in digital-to-analogue (DAC) and analogue-to-digital (ADC) conversion, which we can keep track of using a few command-line tools.

The gwdetchar.daq module provides the following functions:

find_overflows(timeseries[, cumulative]) Find the times of overflows from an overflow counter
find_overflow_segments(timeseries[, …]) Find the segments during which the given counter indicated an overflow
ligo_accum_overflow_channel(dcuid[, ifo]) Returns the channel name for cumulative overflows for this DCUID
ligo_model_overflow_channels(dcuid[, ifo, …]) Find the CDS overflow channel names for a given DCUID
find_crossings(timeseries, threshold) Find the times that a timeseries crosses a specific value

Another module, gwdetchar.cds, is used to find mappings between front-end data collection units.

Command-line utilities

Note

These utilities require authentication with LIGO.ORG credentials for archived frame data access.

gwdetchar-overflow

The gwdetchar-overflow tool searches for overflows in a given time range over a given set of data collection unit identifiers (DCUIDs) from the front-end computing system. The simplest usage is as follows:

gwdetchar-overflow -i <interferometer> <gps-start-time> <gps-end-time> <DCUIDs>

For example,

gwdetchar-overflow -i H1 1126259442 1126259502 8 10 19 29 30 88 97 98

For a full explanation of the available command-line arguments and options, you can run

$ gwdetchar-overflow --help
usage: gwdetchar-overflow [-h] [-V] -i IFO -f FRAMETYPE [-j NPROC] [--deep]
                          [-a FLAG] [--nds HOST:PORT] [-o OUTPUT_FILE] [-I]
                          [-p SEGMENT_PAD] [-s SEGMENT_END_PAD] [-m HTML] [-v]
                          [-c FEC_MAP] [-u SIMULINK] [-d DAQSVN]
                          gpsstart gpsend dcuid [dcuid ...]

Find overflows associated with a particular front-end model

positional arguments:
  gpsstart              GPS start time or datetime of analysis
  gpsend                GPS end time or datetime of analysis
  dcuid                 DCUID for the relevant front-end model

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -i IFO, --ifo IFO     IFO prefix for this analysis, default: None
  -f FRAMETYPE, --frametype FRAMETYPE
                        the frame type name
  -j NPROC, --nproc NPROC
                        the number of processes to use when reading data,
                        default: 8
  --deep                perform deep scan, default: False
  -a FLAG, --state-flag FLAG
                        restrict search to times when FLAG was active
  --nds HOST:PORT       use the given NDS host:port to access data, default:
                        use datafind
  -o OUTPUT_FILE, --output-file OUTPUT_FILE
                        path to output data file, default name will be
                        automatically generated based on IFO and GPS times
  -I, --integer-segments
                        pad all overflow segments to integer boundaries
                        (default: False)
  -p SEGMENT_PAD, --segment-pad SEGMENT_PAD
                        minimum padding (one-sided) for output segments when
                        using --output-format [segments|integer-segments]
  -s SEGMENT_END_PAD, --segment-end-pad SEGMENT_END_PAD
                        amount of time to remove from the end of each analysis
                        segment
  -m HTML, --html HTML  path to write html output
  -v, --plot            make plots of all overflows, default: None
  -c FEC_MAP, --fec-map FEC_MAP
                        URL of human-readable FEC map, default: infer from IFO
  -u SIMULINK, --simulink SIMULINK
                        URL of human-readable Simulink model, default: infer
                        from IFO
  -d DAQSVN, --daqsvn DAQSVN
                        URL of the front-end data gathering configuration,
                        default: internal LIGO DAQ subversion repository

gwdetchar-mct

Similarly, the gwdetchar-mct tool can be used to find times when any input signal crosses a given threshold:

$ gwdetchar-mct --help
usage: gwdetchar-mct [-h] [-V] -i IFO [-j NPROC] -f FRAMETYPE [-a FLAG]
                     [-o OUTPUT_PATH] [-t THRESHOLD [THRESHOLD ...]] -c
                     CHANNEL [-r RATE_THRESH]
                     gpsstart gpsend

Find times when an input signal crosses a particular threshold

positional arguments:
  gpsstart              GPS start time or datetime of analysis
  gpsend                GPS end time or datetime of analysis

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -i IFO, --ifo IFO     IFO prefix for this analysis, default: None
  -j NPROC, --nproc NPROC
                        the number of processes to use when reading data,
                        default: 8
  -f FRAMETYPE, --frametype FRAMETYPE
                        the frame type name
  -a FLAG, --state-flag FLAG
                        restrict search to times when FLAG was active
  -o OUTPUT_PATH, --output-path OUTPUT_PATH
                        path to output HDF5 file, name will be automatically
                        generated based on IFO and GPS times
  -t THRESHOLD [THRESHOLD ...], --threshold THRESHOLD [THRESHOLD ...]
                        threshold for marking input data crossings
  -c CHANNEL, --channel CHANNEL
                        channel to read for input data
  -r RATE_THRESH, --rate-thresh RATE_THRESH
                        if the trigger rate (Hz) is above this value for a
                        given segment, crossings for that segment will not be
                        recorded