gwnr.workflow — workflow automation
Programmatic construction of batch analyses and HTCondor workflows; the engine behind the
gwnr_create_*_workflow command-line tools. Source:
gwnr/workflow/.
utils.py— configuration parsingcondor.py— HTCondor job/node classesinference.py— batch inference frameworkpycbc_inference.py— PyCBC Inference backendsbilby.py— Bilby backends
utils.py — configuration parsing
class WorkflowConfigParserBase(pycbc.workflow.configuration.InterpolatingConfigParser) —
base INI parser for workflow configuration files; get_ini_opts(confs, section) extracts
command-line options from a config section.
condor.py — HTCondor job/node classes
Thin wrappers over glue.pipeline Condor classes:
class BaseJob(CondorDAGJob, CondorJob)— common job setup (universe, executable, logs)class BanksimNode(CondorDAGNode),class BanksimCombineNode(CondorDAGNode)— nodes for bank-simulation jobs and their match-combination stepclass FaithsimNode(CondorDAGNode)— faithfulness-simulation jobsclass InferenceJob(CondorDAGJob, CondorJob)— parameter-estimation jobs
inference.py — batch inference framework
class OneInferenceAnalysis— one parameter-estimation run: resolves analysis directories, executables (injection generator, inference engine, plotting), log dirs;setup()creates the run directory andwrite_run_script(...)emits the shell script that executes the analysis.class BatchInferenceAnalyses— a campaign of such runs:setup_runs()creates oneOneInferenceAnalysisper injection/event, withname_run_dir(...)defining the layout andget_run_tag()labeling the campaign.
pycbc_inference.py — PyCBC Inference backends
Concrete subclasses for pycbc_inference:
PycbcInferenceInjectionAnalysis/PycbcInferenceOnInjectionBatch— runs on synthetic injections.PycbcInferenceEventAnalysis/PycbcInferenceOnEventBatch— runs on real (public) events;fetch_all_data()andfetch_all_psds()download the strain and PSDs around each event via thegwnr.analysiscatalog classes.
bilby.py — Bilby backends
class BilbyInferenceConfigParser(WorkflowConfigParserBase)— reads the campaign INI: inference options, interferometer list, source type, prior lines, injection parameters; can emitinjection.inifiles.BilbyInferenceInjectionAnalysis/BilbyInferenceEventAnalysis— write per-run Bilby prior files and run scripts.BilbyOnInjectionBatch/BilbyOnEventBatch— the corresponding campaign classes.