Skip to content

Commit

Permalink
Add a standard --version option to common pycbc options (gwastro#4811)
Browse files Browse the repository at this point in the history
* Start moving to a common --version argument

* Fix version importing

* Continue moving to a common --version argument

* Continue moving to a common --version argument

* Moving minifollowups to a common --version argument

* Moving plotting to a common --version argument

* Move workflows to use standard versioning

* Moving pygrb to a common --version argument

* Moving executables in /bin to a common --version argument

* allow ---version to provide a level of information set by the user

* Move help into the class definition

* minor wording clarification

* Fix# to the pygrb_initialize_plot_parser

* fix missed imports

* CC

* fix missed imports

* Fix some places where --version fails

* Allow pycbc_pygrb_exclusion_dist_table to use standard logging and version

* Add --version testing to the CI, add version modifer test

* Re-add failing codes

* Do the exclusion of certain codes properly

* Remove unused variable, move test_results into its own function in pycbc_test_suite.sh

* Remove some code information that is no longer needed

* Tabs-->spaces, allow log file not to be set in test_results
  • Loading branch information
GarethCabournDavies authored Jul 12, 2024
1 parent e033ad8 commit 273bafe
Show file tree
Hide file tree
Showing 157 changed files with 190 additions and 580 deletions.
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_add_statmap
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ def get_ifo_string(fi):

parser = argparse.ArgumentParser()
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action="version",
version=pycbc.version.git_verbose_msg)
parser.add_argument('--statmap-files', nargs='+',
help="List of coinc files to be combined")
parser.add_argument('--background-files', nargs='+', default=None,
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_apply_rerank
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ from shutil import copyfile

parser = argparse.ArgumentParser()
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version',
version=pycbc.version.git_verbose_msg)
parser.add_argument('--stat-files', nargs='+',
help="Statistic files produced by candidate followup codes")
parser.add_argument('--followup-file',
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_average_psd
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,11 @@ import argparse
import numpy as np
import pycbc
from pycbc.io import HFile
from pycbc.version import git_verbose_msg as version
from pycbc.types import MultiDetOptionAction, FrequencySeries


parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version', version=version)
parser.add_argument('--input-files', nargs='+', required=True, metavar='PATH',
help='HDF5 files from pycbc_calculate_psd (one per '
'detector) containing the input PSDs to average.')
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_bin_templates
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@ import numpy as np

import pycbc
import pycbc.pnutils
from pycbc.version import git_verbose_msg as version
from pycbc.events import background_bin_from_string

parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version', version=version)
parser.add_argument("--ifo", type=str, required=True)
parser.add_argument("--f-lower", type=float, default=15.,
help='Enforce a uniform low frequency cutoff to '
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_bin_trigger_rates_dq
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,9 @@ from pycbc.events.veto import (select_segments_by_definer,
segments_to_start_end)
from pycbc.types.optparse import MultiDetOptionAction
from pycbc.io.hdf import SingleDetTriggers
from pycbc.version import git_verbose_msg as version

parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version', version=version)
parser.add_argument("--template-bins-file", required=True)
parser.add_argument("--trig-file", required=True)
parser.add_argument("--flag-file", required=True)
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_calculate_psd
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,13 @@ import logging, argparse, numpy, multiprocessing, time, copy
from six.moves import zip_longest
import pycbc, pycbc.psd, pycbc.strain, pycbc.events
from pycbc.io import HFile
from pycbc.version import git_verbose_msg as version
from pycbc.fft.fftw import set_measure_level
from pycbc.workflow import resolve_td_option
from ligo.segments import segmentlist, segment
set_measure_level(0)

parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version', version=version)
parser.add_argument("--low-frequency-cutoff", type=float, required=True,
help="The low frequency cutoff to use for filtering (Hz)")
parser.add_argument("--analysis-segment-file", required=True,
Expand Down
3 changes: 1 addition & 2 deletions bin/all_sky_search/pycbc_coinc_findtrigs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
import copy, argparse, logging, numpy, numpy.random
import shutil, uuid, os.path, atexit
from ligo.segments import infinity
import pycbc
from pycbc.events import veto, coinc, stat, ranking, cuts
import pycbc.version
from pycbc.io import HFile
from pycbc import pool, init_logging
from numpy.random import seed, shuffle
Expand All @@ -12,7 +12,6 @@ from pycbc.types.optparse import MultiDetOptionAction

parser = argparse.ArgumentParser()
pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action="version", version=pycbc.version.git_verbose_msg)
parser.add_argument("--veto-files", nargs='*', action='append', default=[],
help="Optional veto file. Triggers within veto segments "
"contained in the file are ignored")
Expand Down
4 changes: 1 addition & 3 deletions bin/all_sky_search/pycbc_coinc_hdfinjfind
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ files.
import argparse, logging, types, numpy, os.path
from ligo.lw import lsctables, utils as ligolw_utils
from ligo import segments
import pycbc
from pycbc import events, init_logging
from pycbc.events import indices_within_segments
from pycbc.types import MultiDetOptionAction
from pycbc.inject import CBCHDFInjectionSet
from pycbc.io import HFile
import pycbc.version
from pycbc.io.ligolw import LIGOLWContentHandler


Expand Down Expand Up @@ -57,8 +57,6 @@ def xml_to_hdf(table, hdf_file, hdf_key, columns):

parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version',
version=pycbc.version.git_verbose_msg)
parser.add_argument('--trigger-files', nargs='+', required=True)
parser.add_argument('--injection-files', nargs='+', required=True)
parser.add_argument('--veto-file')
Expand Down
7 changes: 2 additions & 5 deletions bin/all_sky_search/pycbc_coinc_mergetrigs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
"""

import numpy, argparse, h5py, logging
import pycbc.version
from pycbc.io import HFile
from pycbc import init_logging
from pycbc import add_common_pycbc_options, init_logging

def changes(arr):
l = numpy.where(arr[:-1] != arr[1:])[0]
Expand All @@ -31,9 +30,7 @@ def region(f, key, boundaries, ids):
dtype=h5py.special_dtype(ref=h5py.RegionReference))

parser = argparse.ArgumentParser()
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version',
version=pycbc.version.git_verbose_msg)
add_common_pycbc_options(parser)
parser.add_argument('--trigger-files', nargs='+')
parser.add_argument('--output-file', required=True)
parser.add_argument('--bank-file', required=True)
Expand Down
4 changes: 1 addition & 3 deletions bin/all_sky_search/pycbc_coinc_statmap
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ the FANs of any other gravitational waves in the dataset.
import argparse, itertools
import lal, logging, numpy
from pycbc.events import veto, coinc, significance
import pycbc.version, pycbc.pnutils, pycbc.io
import pycbc.pnutils, pycbc.io
import sys
import pycbc.conversions as conv

Expand All @@ -35,8 +35,6 @@ class fw(object):
parser = argparse.ArgumentParser()
# General required options
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version',
version=pycbc.version.git_verbose_msg)
parser.add_argument('--coinc-files', nargs='+',
help='List of coincidence files used to calculate the '
'FAP, FAR, etc.')
Expand Down
3 changes: 0 additions & 3 deletions bin/all_sky_search/pycbc_coinc_statmap_inj
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,12 @@ with producing the combined foreground and background triggers
"""
import argparse, logging, itertools, copy, pycbc.io, numpy, lal
from pycbc.events import veto, coinc, significance
import pycbc.version
import pycbc.conversions as conv
from pycbc import init_logging

parser = argparse.ArgumentParser()
# General required options
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version',
version=pycbc.version.git_verbose_msg)
parser.add_argument('--cluster-window', type=float, default=10,
help='Length of time window in seconds to cluster coinc '
'events [default=10s]')
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_combine_coincident_events
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import logging

import pycbc
from pycbc.io import HFile
import pycbc.version

def com(f, files, group):
""" Combine the same column from multiple files into another file f"""
Expand Down Expand Up @@ -56,7 +55,6 @@ def com_with_detector_key(f, files, group):

parser = argparse.ArgumentParser()
pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action="version", version=pycbc.version.git_verbose_msg)
parser.add_argument('--statmap-files', nargs='+',
help="List of coinc files to be redistributed")
parser.add_argument('--output-file', help="name of output file")
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_combine_statmap
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@ significant foreground, but leaves the background triggers alone.
"""

import numpy, argparse, logging, pycbc, pycbc.events, pycbc.io, lal
import pycbc.version
from ligo import segments

parser = argparse.ArgumentParser()
pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action="version", version=pycbc.version.git_verbose_msg)
parser.add_argument('--statmap-files', nargs='+',
help="List of coinc files to be redistributed")
parser.add_argument('--cluster-window', type=float)
Expand Down
3 changes: 0 additions & 3 deletions bin/all_sky_search/pycbc_cut_merge_triggers_to_tmpltbank
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,10 @@ import argparse
import numpy
import h5py
import pycbc
import pycbc.version
from pycbc.io import HFile

parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action="version",
version=pycbc.version.git_verbose_msg)
parser.add_argument("--input-file", required=True,
help="Input merge triggers HDF file.")
parser.add_argument("--output-file", required=True,
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_distribute_background_bins
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
#!/bin/env python
import argparse, numpy, pycbc.events, logging, pycbc.events, pycbc.io
import pycbc.version

parser = argparse.ArgumentParser()
parser.add_argument("--version", action=pycbc.version.Version)
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--coinc-files', nargs='+',
help="List of coinc files to be redistributed")
Expand Down
3 changes: 0 additions & 3 deletions bin/all_sky_search/pycbc_exclude_zerolag
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,11 @@ coincidences from *any* coincidence type with ifar above a certain threshold
"""

import numpy as np, argparse, logging, pycbc, pycbc.io
import pycbc.version
from pycbc.events import veto, coinc, significance
import pycbc.conversions as conv

parser = argparse.ArgumentParser()
pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action="version",
version=pycbc.version.git_verbose_msg)
parser.add_argument('--statmap-file', type=str,
help="Coinc statmap file to be recalculated based on foreground removal")
parser.add_argument('--other-statmap-files', nargs='+',
Expand Down
3 changes: 1 addition & 2 deletions bin/all_sky_search/pycbc_fit_sngls_binned
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,19 @@ from matplotlib import pyplot as plt

import copy, numpy as np

import pycbc
from pycbc import events, bin_utils, results
from pycbc.events import triggers
from pycbc.events import trigger_fits as trstats
from pycbc.events import stat as pystat
from pycbc.io import HFile
import pycbc.version

#### MAIN ####

parser = argparse.ArgumentParser(usage="",
description="Perform maximum-likelihood fits of single inspiral trigger"
" distributions to various functions")
pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action=pycbc.version.Version)
parser.add_argument("--trigger-file",
help="Input hdf5 file containing single triggers. "
"Required")
Expand Down
3 changes: 1 addition & 2 deletions bin/all_sky_search/pycbc_fit_sngls_by_template
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ import argparse, logging

import copy, numpy as np

import pycbc
from pycbc import events, init_logging
from pycbc.events import triggers, trigger_fits as trstats
from pycbc.events import stat as statsmod
from pycbc.types.optparse import MultiDetOptionAction
import pycbc.version
from pycbc.io import HFile

#### DEFINITIONS AND FUNCTIONS ####
Expand Down Expand Up @@ -61,7 +61,6 @@ parser = argparse.ArgumentParser(usage="",
description="Perform maximum-likelihood fits of single inspiral trigger"
" distributions to various functions")
pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action=pycbc.version.Version)
parser.add_argument("--trigger-file",
help="Input hdf5 file containing single triggers. "
"Required")
Expand Down
5 changes: 3 additions & 2 deletions bin/all_sky_search/pycbc_fit_sngls_over_multiparam
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@
# Public License for more details.


import sys, argparse, logging, pycbc.version, numpy
import sys, argparse, logging, numpy
from scipy.stats import norm

import pycbc
from pycbc.events import triggers
from pycbc.io import HFile
from pycbc import init_logging
Expand Down Expand Up @@ -177,7 +179,6 @@ parser = argparse.ArgumentParser(usage="",
"background model.")

pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action=pycbc.version.Version)
parser.add_argument("--template-fit-file", required=True, nargs='+',
help="hdf5 file(s) containing fit coefficients for each "
"individual template. Can smooth over multiple "
Expand Down
3 changes: 1 addition & 2 deletions bin/all_sky_search/pycbc_fit_sngls_over_param
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ import argparse, logging

import numpy as np

import pycbc
from pycbc import init_logging
from pycbc.io import HFile
from pycbc.events import triggers
import pycbc.version

parser = argparse.ArgumentParser(usage="",
description="Smooth (regress) the dependence of coefficients describing "
Expand All @@ -30,7 +30,6 @@ parser = argparse.ArgumentParser(usage="",
"background model.")

pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action=pycbc.version.Version)
parser.add_argument("--template-fit-file",
help="Input hdf5 file containing fit coefficients for each"
" individual template. Required")
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_followup_file
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ from pycbc.io import HFile

parser = argparse.ArgumentParser()
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version',
version=pycbc.version.git_verbose_msg)
parser.add_argument('--statmap-file',
help="Statmap file containing the candidates/background to follow up")
parser.add_argument('--bank-file',
Expand Down
3 changes: 1 addition & 2 deletions bin/all_sky_search/pycbc_foreground_censor
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
#!/usr/bin/env python
"""Make segment file to blind the results from foreground related triggers """

import os, argparse, logging, pycbc.version
import os, argparse, logging
from urllib.parse import urlunparse
import pycbc.events
from pycbc.workflow import SegFile
from pycbc.io import HFile

parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version', version=pycbc.version.git_verbose_msg)
parser.add_argument('--foreground-triggers',
help="HDF file containing the zerolag foreground triggers "
"from the analysis")
Expand Down
4 changes: 1 addition & 3 deletions bin/all_sky_search/pycbc_make_bayestar_skymap
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,14 @@ import tempfile

from ligo.lw import lsctables, utils as ligolw_utils

import pycbc.version
import pycbc
from pycbc import init_logging
from pycbc.waveform import bank as wavebank
from pycbc.io import WaveformArray
from pycbc.io.ligolw import LIGOLWContentHandler

parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action="version",
version=pycbc.version.git_verbose_msg)
parser.add_argument('--bayestar-executable',
help="The bayestar-localize-coinc executable to be run. "
"If not given, will use whatever is available in "
Expand Down
2 changes: 0 additions & 2 deletions bin/all_sky_search/pycbc_merge_psds
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,10 @@
""" Merge hdf psd files
"""
import logging, argparse, numpy, pycbc.types
from pycbc.version import git_verbose_msg as version
from pycbc.io import HFile

parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument('--version', action='version', version=version)
parser.add_argument('--psd-files', nargs='+')
parser.add_argument("--output-file", required=True)

Expand Down
3 changes: 0 additions & 3 deletions bin/all_sky_search/pycbc_reduce_template_bank
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,10 @@ import logging
import imp
import argparse
import pycbc
import pycbc.version
from pycbc.io import HFile

parser = argparse.ArgumentParser(description=__doc__)
pycbc.add_common_pycbc_options(parser)
parser.add_argument("--version", action="version",
version=pycbc.version.git_verbose_msg)
parser.add_argument("--input-bank", required=True,
help="Input template bank HDF file.")
parser.add_argument("--output-bank", required=True,
Expand Down
Loading

0 comments on commit 273bafe

Please sign in to comment.