gwin_make_inj_workflow
: A parameter estimation workflow generator¶
Introduction¶
The executable gwin_make_inj_workflow
is a workflow generator to setup a parameter estimation analysis.
Workflow configuration file¶
A simple workflow configuration file:
[workflow]
; basic information used by the workflow generator
file-retention-level = all_triggers
h1-channel-name = H1:DCS-CALIB_STRAIN_C02
l1-channel-name = L1:DCS-CALIB_STRAIN_C02
[workflow-ifos]
; the IFOs to analyze
h1 =
l1 =
[workflow-inference]
; how the workflow generator should setup inference nodes
num-injections = 3
plot-group-mass = mass1 mass2 mchirp q
plot-group-orientation = inclination polarization ra dec
plot-group-distance = distance redshift
plot-group-time = tc coa_phase
[executables]
; paths to executables to use in workflow
create_injections = ${which:pycbc_create_injections}
inference = ${which:run_gwin}
inference_intervals = ${which:gwin_plot_inj_intervals}
inference_posterior = ${which:gwin_plot_posterior}
inference_rate = ${which:gwin_plot_acceptance_rate}
inference_recovery = ${which:gwin_plot_inj_recovery}
inference_samples = ${which:gwin_plot_samples}
inference_table = ${which:gwin_table_summary}
results_page = ${which:pycbc_make_html_page}
[create_injections]
; command line options use --help for more information
ninjections = 1
dist-section = prior
variable-args-section = variable_params
static-args-section = static_params
[inference]
; command line options use --help for more information
processing-scheme = cpu
sampler = kombine
nwalkers = 5000
checkpoint-interval = 1000
n-independent-samples = 5000
update-interval = 500
burn-in-function = max_posterior
nprocesses = 24
fake-strain = aLIGOZeroDetHighPower
psd-model = aLIGOZeroDetHighPower
pad-data = 8
strain-high-pass = 15
sample-rate = 2048
low-frequency-cutoff = 20
config-overrides = static_params:approximant:TaylorF2
save-psd =
save-strain =
save-stilde =
resmume-from-checkpoint =
[pegasus_profile-inference]
; pegasus profile for inference nodes
condor|request_memory = 20G
condor|request_cpus = 24
[inference_intervals]
; command line options use --help for more information
[inference_posterior]
; command line options use --help for more information
plot-scatter =
plot-contours =
plot-marginal =
z-arg = logposterior
[inference_rate]
; command line options use --help for more information
[inference_recovery]
; command line options use --help for more information
[inference_samples]
; command line options use --help for more information
[inference_table]
; command line options use --help for more information
[results_page]
; command line options use --help for more information
analysis-title = "PyCBC Inference Test"
Use the ninjections
option in the [workflow-inference]
section to set the number of injections in the analysis.
Generate the workflow¶
To generate a workflow you will need your configuration files. We set the following enviroment variables for this example:
# name of the workflow
WORKFLOW_NAME="r1"
# path to output dir
OUTPUT_DIR=output
# input configuration files
CONFIG_PATH=workflow.ini
INFERENCE_CONFIG_PATH=gwin.ini
Specify a directory to save the HTML pages:
# directory that will be populated with HTML pages
HTML_DIR=${HOME}/public_html/inference_test
If you want to run with a test likelihood function use:
# option for using test likelihood functions
DATA_TYPE=analytical
Otherwise if you want to run with simulated data use:
# option for using simulated data
DATA_TYPE=simulated_data
Plan and execute the workflow¶
Finally plan and submit the workflow with:
# submit workflow
pycbc_submit_dax --dax ${WORKFLOW_NAME}.dax \
--accounting-group ligo.dev.o3.cbc.explore.test \
--enable-shared-filesystem