Setting up a Run
The suggest method of setting up a BayesWave
run is to make a config file,
and a bash script which calls bayeswave_pipe
.
Config files
A config file will be a .ini
file, and follows common .ini syntax. Sections are labeled in [square brackets]
,
[input]
General settings for the run
Required:
seglen=float
: duration of data (s)window=float
: duration of time window for model characterization runs (i.e the window where wavelets will can be placed)flow=float
: minimum frequency (Hz)srate=float
: sampling rate (Hz). Must be a power of 2.PSDlength=float
: GPS start time for PSD estimationifolist=float
: List of IFOs to include in the analysis, for example [‘H1’,’L1’]
Optional:
dataseed=integer
: Required if using simulated noise. Seed for noise realisation. Integer.
[engine]
Information about where BayesWave executable and related scripts are
Required:
bayeswave=str
: Path to the BayesWave executabe, for example {path_to_executables}/BayesWavebayeswave_post=str
: Path to BayesWavePost executable, e.g. {path_to_executables}/BayesWavePostmegaplot=str
: Path to megaplot executable, e.g. {path_to_executables}/megaplot.py
[datafind]
Information about the type of data to be used.
If real using real data, sets up gw_data_find
call to make cache files.
Required:
frtype-list=dict
: List of frame times for each IFO. Takes dictionary in form{'IFO_1':'frame_type','IFO_2':'frame_type'}
channel-list=dict
: List of channels for each IFO.url-type=file
– information about how cache is made.
Optional:
veto-categories=list
: Data quality vetoes
[bayeswave_options]
Command line options for BayesWave
. See BayesWave –help for a detailed list.
Any flag can by passed to the BayesWave command line by setting exampleFlag=
, and a flag with an argument can passed with exampleFlag=arugment
.
Optional command line options for BayesWave
.:
Run parameters
- --segment-start SEGSTART
GPS start time of segment (trigtime + 2 - seglen)
- --CBC-trigtime TRIGTIME
window for CBC is set around this time, any other window unchanged
- --glitchBuster
Preform deterministic glitch subtraction as initial point in glitch model
- --Niter NITER
number of iterations (4000000)
- --Nchain NCHAIN
number of parallel chains (20)
- --Nthreads NTHREAD
number of
openmp
threads to use (1). Recommended to haveNchain
a multiple ofNthreads
- --Ncycle NCYCLE
number of model updates per RJMCMC iteration (100)
- --Nburnin NBURNIN
number of burn-in iterations (50000)
- --maxLogL MAXLOGL
use maximized likelihood during burnin
- --chainseed SEED
random number seed for Markov chain (1234)
- --runName NAME
run name for output files
- --outputDir DIRECTORY
absolute path of where the output should be written
- --waveletStart FILEPATH
path to files containing wavelet starting parameters
- --0noise
no noise realization
- --prior
sample from prior using logL = constant test
- --gnuplot
output files for gnuplot animations
- --verbose
output hot chains
- --window WINDOW
duration of time window for model characterization runs
- --CBCwindow WINDOW
window for CBC is set around trigtime (or CBC-trigtime if given) with this length
- --Niter-search NITER
number of iterations used in CBC search phase (5000)
- --checkpoint
enable self-checkpointing
- --version
print BayesWave version and exit
- --help
print BayesWave options and exit
Model parameters
- --chirplets
use chirplets as reconstruction basis
- --fullOnly
require signal && glitch model
- --noClean
skip cleaning phase and go right to reduced window
- --noSignal
skip signal phase and quit after glitch model
- --noGlitch
skip glitch phase
- --cleanOnly
run bayesline & glitch cleaning phase only
- --noiseOnly
use noise model only (no signal or glitches or cbc)
- --signalOnly
use signal model only (no glitches or cbc)
- --glitchOnly
use glitch model only (no signal or cbc)
- --cbcOnly
use full CBC model only (incl. extrinsic parameters, no signal or glitches)
- --CBCGlitch
use full CBC model and glitch model (incl. extrinsic parameters, no signal)
- --noPSDfit
keep PSD parameters fixed
- --bayesLine
use BayesLine for PSD model
- --bayesCBC-tidal
specify BayesCBC waveform used: NRTidal_V or NoNRT_V (default)) (
- --bayesCBC-skip-ext
skip BayesCBC extrinsic burnin (
Priors and Proposals
- --Dmin MIN
minimum number of wavelets total (1)
- --Dmax MAX
maximum number of wavelets per channel (100)
- --fixD D
fix # of wavelets for signal/IFO. Overrides –Dmin,–Dmax
- --Qmin MIN
minimum quality factor for wavelets (0.1)
- --Qmax MAX
maximum quality factor for wavelets (40)
- --waveletFmin MIN
minimum frequency for wavelets
- --waveletFmax MAX
maximum frequency for wavelets
- --noWaveletPrior
revert to uniform p(D)
- --updateGeocenterPSD
geocenter PSD depends on extrinsic parameters
- --waveletPrior
use empirical distribution on number of wavelets (O1)
- --backgroundPrior FILE
name of 2-column bkg frequency distribution file
- --noOrientationProposal
disable MCMC proposal for psi/ecc
- --uniformAmplitudePrior
don’t use SNR-dependent amplitude prior
- --noSignalAmplitudePrior
use same SNR-dependent prior for signal & glitch model
- --noAmplitudeProposal
don’t draw from SNR-dependent amplitude prior
- --varyExtrinsicAmplitude
update wavelet amplitudes in extrinsic update (FIXED?)
- --noPolarization
do not assume elliptical polarization for signal model
- --noClusterProposal
disable clustering & TF density proposal
- --clusterWeight WEIGHT
fractional weight for TF to proximity proposal (0.5)
- --ampPriorPeak PEAK
SNR where amplitude prior peaks (5)
- --signalPriorPeak PEAK
SNR where signal amplitude prior peaks (5)
- --dimensionDecayRate RATE
e-folding time for number of wavelets (1000)
- --fixIntrinsicParams
hold intrinsic parameters fixed
- --fixExtrinsicParams
hold extrinsic parameters fixed
- --loudGlitchPrior
set floor of PSD prior to .01*Sn(f=200Hz)
- --fixSky
hold sky locaiton fixed
- --fixRA RA
right ascension in radians of fixed sky location
- --fixDEC
DEC declination in radians of fixed sky location
- --TFQ-resize
increases nQ/nf spacing for high srate/Qmax in TFQ proposal
- --TFQ-nf-spacing
set custom nf spacing value for TFQ proposal
- --TFQ-nQ-spacing
set custom nQ spacing value for TFQ proposal
Parallel Tempering parameters
- --tempMin MIN
minimum temperature chain (1)
- --noAdaptTemperature
disable adjust PT ladder to maintain acc. rate across chains
- --tempSpacing SPACING
set temperature spacing for geometric ladder (1.2)
- --noSplineEvidence
disable spline thermodynamic integration
LALInference injection options
- --inj INJFILE
Injection XML file to use
- --event N
Event number from Injection XML file to use
Burst MDC injection options
- --MDC-channel CHANNEL
IFO1-chan, IFO2-chan, etc
- --MDC-cache CACHE
IFO1-mdcframe, IFO2-mdcframe, etc
- --MDC-prefactor PREFACTOR
Rescale injection amplitude (1.0)
BayesWave internal injection bayeswave_options
- --BW-inject MODEL
(signal/glitch)
- --BW-injName NAME
runName that produced the chain file
- --BW-path PATH
Path to BW chain file for injection (./chains)
- --BW-event EVENT
Which sample from BayesWave chain (200000)
[bayeswave_post_options]
Required:
0noise=
: Always required for technical purposes.
[injections]
Optional. Use if doing injections from an xml file.
If using, required:
events=list of events
: Flexible syntax. Can set to all, or for a smaller set of events a list like 0:10 or 1,3,5.inj-fref=float
: Reference frequency for injection.
Todo
include MDC section*
[condor]
Information for setting up the condor job. More details on running condor jobs can be found at HTCondor.
Required:
- universe=vanilla
bayeswave-request-memory=int
: Required memory for BayesWavebayeswave_post-request-memory=int
: Required memory for BayesWavePostbayeswave-request-disk=int
: Required disk space for BayesWavebayeswave_post-request-disk=int
: Required disk space for BayesWavePostdatafind=/usr/bin/gw_data_find
: Specify the gw_data_find executableligolw_print=/usr/bin/ligolw_print
: Specify the ligolw_print executableaccounting-group=str
LIGO accounting group
Optional:
- checkpoint=
: Self checkpointing. If running on condor this should be used.
Running bayeswave_pipe
Once you have created a config file, you can run bayeswave_pipe
to set up your BayesWave run,
or your batch of runs.
positional arguments
configfile
options
- --help, -h
show this help message and exit
- --workdir WORKDIR, -r WORKDIR
name of directory for this batch of jobs
- --trigger-time TRIGGER_TIME, -t TRIGGER_TIME
GPS trigger time
- --trigger-list TRIGGER_LIST, -l TRIGGER_LIST
List of GPS trigger times
- --cwb-trigger-list CWB_TRIGGER_LIST
cWB style trigger list
- --CBC-trigger-list CBC_TRIGGER_LIST
Trigger list for CBCs
- --bayesline-median-psd
Print out median bayesLine PSD
- --server SERVER
LIGO data find server
- --copy-frames
Copy .gwf frames (for OSG use (TODO someone check this))
- --skip-datafind
Skip
gw_data_find
- --sim-data
Use simulated data
- -I INJFILE, --injfile INJFILE
xml file for injection
- -F FOLLOWUP_INJECTIONS, --followup-injections FOLLOWUP_INJECTIONS
TODO; fill this out
- --bw-inject
BayesWave internal injections
- -G GRACEID, --graceID GRACEID
GraceID of event
- --graceID-list GRACEID_LIST
List of GRACEIDs
- --gdb-playground
Use GraceDB playground
- --submit-to-gracedb
Submit results to GraceDB ONLY USE THIS IF YOU KNOW EXACTLY WHAT YOU’RE DOING
- --skip-megapy
Skip megaplot plotting script
- --skip-post
Skip
BayesWavePost
- --separate-post-dag
Make a separate dag for postprocessing
- --trigger-time-delta TRIGGER_TIME_DELTA
Offset from trigger time
- --bayeswave-clean-frame
Make glitch subtracted .gwf frames
- --condor-precommand
Include conodr precommand for smart restart after checkpoint
- --condor-submit
Automatically submit dag to condor
- --bayeswave-retries BAYESWAVE_RETRIES
Number of times to retry on condor if job fails
- --osg-deploy
Deploy job on open science grid
- --transfer-files
Transfer files with condor job
- --shared-filesystem
Condor shared filesystem
- --singularity SINGULARITY
Use singularity
Launching the BayesWave Job
Using Condor
If using condor, you will submit a DAG input file.
The DAG will manage the workflow – launching first the BayesWave
job,
then BayesWavePost
job after the BayesWave
job completes,
and the megaplot
job after the postprocessing completes.
If running large batches of jobs, the individual jobs will be launched in parallel.
When running bayeswave_pipe
, you can include --condor-submit
to launch the job automatically.
Otherwise, you can submit the dag from via
$ condor_submit_dag WORKDIR.dag
where WORKDIR
is the directory name used in the bayeswave_pipe
call.
Without Condor
If you are running without condor (for example, running on your own laptop),
you can use the bash script to run BayesWave, the postproccessing, and plotting.
The bash script can be found in the working directory, names WORKDIR.sh
, where WORKDIR is the name of your directory.
Note
Warning! If you are running a batch of jobs, for example a bunch of injections, this will run all of those in sequence. So be mindful of how you use this script!