Closed GarethCabournDavies closed 1 year ago
NB: Bringing to the attention of @titodalcanton and @bhooshan-gadre for any comments/ideas
Yes, this is a clear shortcoming of the current CLI interface. One could obviously do something like --snr-opt-args="--foo --bar --baz"
, but it gets really ugly. More generally, I have been thinking more than once about replacing the entire CLI with a configuration file that has a structure inspired by the offline search. One difficulty is that many of the CLI arguments are "inherited" by the underlying modules (e.g. PSD estimation) and a good solution for how to interface that with a config file approach has not occurred to me.
Another idea I fantasized about a while ago is a generalized modular framework for implementing "things to do when we have an interesting candidate". SNR opt would be one of those, but we could also imagine running BAYESTAR ourselves, or making lots of diagnostic plots in a parallel way. Even uploading the candidate to GraceDB might be handled in this way. It seems to me that such an approach would very naturally use a configuration file, although there may be some (DAG-style?) dependency requirements to implement.
Yes, this is a clear shortcoming of the current CLI interface. One could obviously do something like
--snr-opt-args="--foo --bar --baz"
, but it gets really ugly. More generally, I have been thinking more than once about replacing the entire CLI with a configuration file that has a structure inspired by the offline search. One difficulty is that many of the CLI arguments are "inherited" by the underlying modules (e.g. PSD estimation) and a good solution for how to interface that with a config file approach has not occurred to me.
I think that pycbc_inference is already doing exactly this. It takes its PSD estimation arguments from a config file.
@ArthurTolley now you're back, I wanted to flag this again
I believe this is being addressed in https://github.com/gwastro/pycbc/pull/4432.
Closing as addressed by the PR
pycbc_optimize_snr
is currently only taking the default optimizer arguments in when called frompycbc_live
. The code is called throughpycbc_live
, and are currently unable to set these options on thepycbc_live
command linepycbc_live
options, so a new module with the optimizer options (--optimizer
and--di-...
etc.) in an argument group called from both codes should mean the options can be taken in.pycbc_optimize_snr
mainly calls the module.I do not think we currently plan on using non-default SNR optimizer options in
pycbc_live
in the near future, so this isn't urgent, but should be addressedOn labels: This is a bug, but not a bug. In that we are unable to use features that we have coded up, but it is not breaking anything else