Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add skeleton BBH pipeline #5546

Merged
merged 4 commits into from
Oct 16, 2023
Merged

Conversation

nilsvu
Copy link
Member

@nilsvu nilsvu commented Oct 7, 2023

Proposed changes

Tools to generate-id > start-inspiral > start-ringdown. No automation yet and barely any smart parameter choices, but this should provide a good starting point to flesh out the transition from inspiral to ringdown. See #5021 for details on future plans.

Try it like this:

./bin/spectre bbh generate-id -q 1 -D 20 -w 0.015 -o ./ID
# wait...
./bin/spectre bbh start-inspiral ./ID/InitialData.yaml -O ./Ev/
# wait...
./bin/spectre bbh start-ringdown ./Ev/Inspiral.yaml -O ./Ringdown/

(this won't really work yet because the inspiral won't finish properly, but that's #4600)

Upgrade instructions

Code review checklist

  • The code is documented and the documentation renders correctly. Run
    make doc to generate the documentation locally into BUILD_DIR/docs/html.
    Then open index.html.
  • The code follows the stylistic and code quality guidelines listed in the
    code review guide.
  • The PR lists upgrade instructions and is labeled bugfix or
    new feature if appropriate.

Further comments

@nilsvu nilsvu mentioned this pull request Oct 7, 2023
3 tasks
@nilsvu nilsvu force-pushed the bbh_pipeline branch 5 times, most recently from b85a456 to f72bf29 Compare October 9, 2023 21:55
Copy link
Contributor

@knelli2 knelli2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a great start! We'll definitely need to tune input file parameters and such, but that can be done as we go.

Comment on lines +89 to +95
@click.option(
"--mass-ratio",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do you feel about using another yaml to specify these? As we add more and more capability, having to write a new click option for every nob we want to tweak will probably get pretty annoying. This could simplify the command down to

spectre bbh generate-id InitialParams.yaml

where InitialParams.yaml is

mass-ratio: 1.5
separation: 16
orbital-angular-velocity: 0.01
polynomial-order: 7

and then all the other parameters we didn't specify will be default.

This suggestion applies to all phases of the BBH pipeline.

Copy link
Member Author

@nilsvu nilsvu Oct 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ohh no, adding another "meta" input file seems like it could be a disaster :D I'd rather keep the knobs here down, and even remove the hp refinement options once we have AMR. If you want full control over options you can write your own input file and run it. The steps in the pipeline still work if you're starting them from a simulation that you didn't run with the pipeline.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would be fine with adding an option to supply the CLI option from a configuration file rather than on the command line if you want. We already do something like that with the user config file and the status CLI. It's just an alternative way of passing the options to the CLI. There's a pretty generic way to do that with click.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I think that would be nice.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you want to make this change now or in a follow up PR?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't planning to do this right away, since I don't have a use case right now

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, could be nice, first need to see how all this works in practice :)

support/Pipelines/Bbh/InitialData.py Show resolved Hide resolved
support/Pipelines/Bbh/__init__.py Show resolved Hide resolved
@nilsvu nilsvu marked this pull request as ready for review October 10, 2023 14:52
@nilsvu nilsvu force-pushed the bbh_pipeline branch 2 times, most recently from c8eb100 to 988bc81 Compare October 11, 2023 17:02
Copy link
Contributor

@knelli2 knelli2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great start!

Comment on lines +89 to +95
@click.option(
"--mass-ratio",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you want to make this change now or in a follow up PR?

@nilsvu
Copy link
Member Author

nilsvu commented Oct 11, 2023

Fixed the MPI failure (I hope)

@nilsvu nilsvu added the cli/pybindings Command line interface & Python bindings label Oct 11, 2023
@nilsvu nilsvu requested a review from knelli2 October 15, 2023 04:47
nilsdeppe
nilsdeppe previously approved these changes Oct 15, 2023
Copy link
Member

@nilsdeppe nilsdeppe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't read it all in fine detail, but this seems like a good way to structure and organize all this.

Comment on lines +89 to +95
@click.option(
"--mass-ratio",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, could be nice, first need to see how all this works in practice :)

nilsvu and others added 4 commits October 15, 2023 19:00
For some reason this broke, maybe some package dependencies
changed upstream. Disabling recommended packages fixed it.
Clang 15 on M2 macOS also fails to instantiate this class.
@nilsvu
Copy link
Member Author

nilsvu commented Oct 16, 2023

Rebased

@knelli2 knelli2 merged commit b705d86 into sxs-collaboration:develop Oct 16, 2023
22 checks passed
@nilsvu nilsvu deleted the bbh_pipeline branch October 17, 2023 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cli/pybindings Command line interface & Python bindings
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants