simonsobs / BBPipe

B-modes pipeline constructor
5 stars 6 forks source link

Building Beautiful pipelines - A pipeline constructor

A framework for creating pipelines for the Simons Observatory. Documentation is still under development, but details about how to use this package to create new pipelines can be found below and in CONTRIBUTING.md.

Dependencies

Installation

To install BBPipe, just clone this repository and run

python setup.py install

(add --user if you don't have permissions, which is probably the case at e.g. NERSC).

Once installed, you can test the installation by running it on the current test power-spectrum pipeline (mostly made out of placeholders). To do so, type:

bbpipe test/test_ini.yml

Creating a pipeline

To create a new pipeline, you must create its corresponding pipeline stages, and link them together through a yaml file.

Creating a new pipeline stage involves creating a python module. Note that this module doesn't have to live in this repo, it just has to be accessible by bbpipe when you run it. The new repo must:

Have a look at the extended comments in bbpower_test/mask_preproc.py for more details on the structure of any pipeline stage.

To create the yaml file that puts your pipeline together, have a look at the test file. This file should contain:

Credit

BBPipe is heavily inspired by ceci, a pipeline constructor designed within the LSST DESC by Joe Zuntz, Francois Lanusse and others. BBPipe uses PARSL.