dingo-gw / dingo

Dingo: Deep inference for gravitational-wave observations
MIT License
55 stars 18 forks source link

Inference CLI #122

Closed stephengreen closed 1 year ago

stephengreen commented 1 year ago

I am trying to decide on the new command-line interface for inference. Here is a proposal, and I am open to suggestions.

Simple / low-level scripts

The following commands perform very specific low-level tasks, and an entire inference run would involve a combination. Individual scripts are needed for all of these for suitably splitting jobs over nodes with condor.

Full inference

We would also have a high-level script for carrying out the complete inference task, similar to what we have now.

I'm not sure if we want to have any other intermediate scripts. I think the low-level ones are needed for condor, and the high-level one for convenience. The high-level script would use what we consider to be "best practices" for performing inference (e.g., 3D unconditional flow, not 15D; possibly default settings for this flow) so it would be inherently less flexible than it could be. But we still retain with the low-level scripts + class interface the ability to experiment with new ideas.

stephengreen commented 1 year ago

One question is where the call to graceDB would take place. I think we should follow the Bilby lead on this, so presumably in dingo_pipe?

mpuerrer commented 1 year ago

To me this sounds like a good split of the code into pieces with different functions that are then combined by dingo_pipe. Regarding the call to graceDB, there does not seem to be a natural place for it in any of the component scripts, so, yes, I agree that it would fit best in dingo_pipe.

stephengreen commented 1 year ago

Much of this is addressed in #129.