I've filled out the rest of the documentation page. I settled on a bit of a combination of things from the Getting Started page, the Bilby Page, and the Bilby section of the LIGO cookbook to try and make it flow together.
@daniel-williams I've included fully some of the files that are currently provided as git links in the asimov documentation just so that the page is not reliant on those links remaining active. If you'd prefer I do something else there, let me know.
The first file looks good, I just spotted two typos that were presumably copied over. I'd also be happy to have the cookbook section included.
Missing close parenthesis
Once again, saving this to a file (in this example in ``bilby-analysis.yaml``),
Missing close parenthesis
``bilby-config.yaml``), this may be applied to the project by running
Now pinned.
That's a good question without (currently) a good answer. I think I need to take this as an action to update this once I have a final understanding of how post-processing is working in 0.6, and have better documented it. This should be soon, but needn't hold up this MR. (Though we should probably pin the asimov requirement to being for `<0.6`
I'll start moving things over now, to ease that process.
Is there anything that you think would be good to do now to prep for that?
I would presume something akin to the current contents of: the Bilby page, as well as perhaps the current contents of: the Bilby section of the LIGO cookbook page
A cautionary note, this (`PESummaryPipeline`) will move in v0.6.0 in a non-backwards compatible way (though I'd like to try and figure out a way to do it without breaking things, and if I can I will).
This isn't an argument against this, but something to keep in mind for the future.
In 0.7.0 it will be removed entirely.
I think, in the long-run, it would be best to do this the other way around, and document the interface in the bilby docs. However, for now I think this is fine. I'll open an asimov issue to resolve this down the line as part of a broader push to sort out all of the pipeline interfaces.
I've added a page just now, that you may see here that just links to the asimov docs for the moment.
cc'ing @daniel-williams, on the question of what else to place in there both for now and in the longer term.
It's been moved over to extras_require
, and the testing CI has been updated to install with that option for the main running of the tests.
Setting the sampling seed and n-parallel>1 results in all the parallel jobs using the same sampling seed. If the sampler being used is deterministic, then this will result in the parallel jobs producing identical results.
I don't think this impacts any existing analyses, as they do not set the sampling seed and it is instead set at run time.
Example
See the log files in this directory: https://ldas-jobs.ligo.caltech.edu/~michael.williams/bilby-dev/bilby-pipe/sampling-seed-parallel-jobs/outdir_dynesty_v1.3.0/
Both report:
02:28 bilby_pipe INFO : Sampling seed set to 1234
Colm Talbot (09949edd) at 27 Mar 15:36
Merge branch 'sampling-seed-parallel-jobs' into 'master'
... and 1 more commit
Set the sampling seed in the data analysis jobs based on parallel_idx
.
Closes #294
Testing
Here are two runs to test that this works as intended:
n-parallel=2
: https://ldas-jobs.ligo.caltech.edu/~michael.williams/bilby-dev/bilby-pipe/sampling-seed-parallel-jobs/outdir_dynesty/
In the case where n-parallel=2
, the sampling seeds are set to 1234 and 1235:
FWIW, imports still work without asimov unless you really want to break things.
In [1]: import bilby_pipe
In [2]: import bilby_pipe.asimov
In [3]: import bilby_pipe.asimov.asimov
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[3], line 1
----> 1 import bilby_pipe.asimov.asimov
File ~/mambaforge/envs/bilby-310/lib/python3.10/site-packages/bilby_pipe/asimov/asimov.py:11
8 import subprocess
9 import time
---> 11 from asimov import config
12 from asimov.pipeline import (
13 PESummaryPipeline,
14 Pipeline,
15 PipelineException,
16 PipelineLogger,
17 )
20 class Bilby(Pipeline):
ModuleNotFoundError: No module named 'asimov'
Done