Setting up the Prompt Products Database for ap_pipe

ap_pipe.py needs an existing Prompt Products Database (PPDB) in which to store its results. Such a database will be provided externally during operations, but developers can run make_ppdb.py to set up their own database for testing. This page provides an overview of how to use make_ppdb.py.

Configuring the database

ap_pipe.py includes information about the database location and schema in its ApPipeConfig, and most users pass this information to the script through the --config and --configfile command-line options.

make_ppdb.py also uses ApPipeConfig and the --config and --configfile options, so users can pass exactly the same arguments to make_ppdb.py and ap_pipe.py. Supporting identical command line arguments for both scripts makes it easy to keep the database settings in sync.

For more information on the configuration options themselves, see lsst.dax.ppdb.PpdbConfig. ppdb.db_url has no default and must be set to create a valid config.

Examples

Databases can be configured using direct config overrides:

make_ppdb.py -c ppdb.isolation_level=READ_UNCOMMITTED ppdb.db_url="sqlite:///databases/ppdb.db" differencer.coaddName=dcr
ap_pipe.py -c ppdb.isolation_level=READ_UNCOMMITTED ppdb.db_url="sqlite:///databases/ppdb.db" differencer.coaddName=dcr repo --calib repo/calibs --rerun myrun --id

make_ppdb.py ignores any ApPipeConfig fields not related to the PPDB (in the example, differencer.coaddName), so there is no need to filter them out.

Databases can also be set up using config files:

make_ppdb.py -C myApPipeConfig.py
ap_pipe.py repo --calib repo/calibs --rerun myrun -C myApPipeConfig.py --id

Further reading