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 search workflow run with condor + pegasus to github actions #3554

Merged
merged 3 commits into from
Dec 10, 2020

Conversation

ahnitz
Copy link
Member

@ahnitz ahnitz commented Dec 8, 2020

No description provided.

@ahnitz ahnitz changed the title condor test [wip] add search workflow run with condor + pegasus to github actions Dec 10, 2020
@ahnitz ahnitz requested a review from spxiwh December 10, 2020 01:46
@ahnitz
Copy link
Member Author

ahnitz commented Dec 10, 2020

@spxiwh I believe this is now ready for review. If you don't too strongly object, I think it might be nice to merge this before #3535. It would be a good test case to see this run there.

This adds a new github action workflow which runs a "full" (as in the complete set of jobs) 3-ifo search workflow on the time around GW170814. It's using a reduce template bank and all other settings tuned to minimal configurations (i.e. fewest possible things for the followup codes to look at). It does however still use the proper detection statistic to make sure that path is exercised. Software injections are also done. Note that only the IMRPhenomD waveform model is employed, however, so we are not testing the various possible injection types or template approximants here.

Things to note

  • the error logs are saved as an artifact if present (any file in our submitdir with patter *.out.001 is saved for review) see https://github.com/gwastro/pycbc/actions/runs/411878092 for example of this (with failed pycbc_ifar_catalog job output).
  • the final output webpage is saved for manual review as an artifact as well. See https://github.com/gwastro/pycbc/actions/runs/411918480 for example
  • There is an included 'master.sh' script which can be run on a cluster or local machine where the PyCBC software stack is preinstalled. It will will allow people to run the test "by hand" if needed for comparison or to debug.
  • config files are stored in pycbc repo. I debated this, but think it's best for this test.

Summary of other changes
* a few python3 fixes (such as to pycbc_brute_bank, pycbc_dtphase)
* a few fixes for cases with a small number of triggers or a single segment (statmap code, various type issues)
* fix to ensure we don't require latex in the environment (ifar_catalog plot)
* stop hard coding some memory requirements in the workflow (hard to unset in the config file)
* add method to pycbc_submit_dax to disable the database check

Copy link
Contributor

@spxiwh spxiwh left a comment

Choose a reason for hiding this comment

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

Looks good, a couple of comments, and one place I'd like Gareth to double check.

I am a little concerned that having the config files here will mean that those in pycbc-config will not be updated ... But the ones here do need to be sufficiently different.

if len(indiv_segs) > 1:
foreground_segs = np.sum(list(indiv_segs.values()), axis=0)
else:
foreground_segs = indiv_segs.values()[0]
Copy link
Contributor

Choose a reason for hiding this comment

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

@GarethDaviesGW Can you check this. I think this is equivalent, but don't understand why this was complicated previously?

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure why this was over-complicated in this way - I don't see how this wouldn't work

Copy link
Contributor

Choose a reason for hiding this comment

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

and the proposed solution looks correct as well (This was probably early on in my understanding of segmentlists)

Copy link
Member Author

@ahnitz ahnitz Dec 10, 2020

Choose a reason for hiding this comment

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

The problem is that taking the length is actually wrong as it is a dict. It was meant to avoid the case where there is a single segment as there the numpy sum will return a numpy ndarray instead of a segment list..

@ahnitz ahnitz merged commit 0fdc081 into gwastro:master Dec 10, 2020
OliverEdy pushed a commit to OliverEdy/pycbc that referenced this pull request Apr 3, 2023
…tro#3554)

* Add github action test with full run of search workflow

* decode issues

* Update pycbc_add_statmap
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants