Automation of Gravelamps using Asimov
It is often the case that a user of Gravelamps may wish to set up a large number of parameter estimation runs using the gravelamps_inference
program. In such a case, writing many INI files would be tedious and would leave a significant potential for accidental error or incompatibility between one INI and another not allowing for easy comparison. To alleviate the burden of large volume analyses, Gravelamps has been made compatible with the Asimov automation framework.
Basic Example
The full technical implementation of Gravelamps may be seen in the asimov.py
located in the main code folder, but knowledge of this file is not necessary for using Gravelamps through Asimov. We refer the reader to the Asimov documentation for general information on using it. A typical analysis.yaml
file to encode a Gravelamps run may look something like
kind: analysis
name: GravelampsExample
pipeline: gravelamps
template: example-template
More Advanced Example
When doing multiple model comparison, multiple Gravelamps runs may be necesary and linked together. In such cases an example analysis.yaml
file may look something like:
kind: analysis
name: GravelampsPoint
pipeline: gravelamps
template: example-template
lens model: point
---
kind: analysis
name: GravelampsSIS
pipeline: gravelamps
template: example-template
lens model: sis
needs:
- GravelampsPoint
interest threshold: 1.0
---
kind: analysis
name: GravelampsNFW
pipeline: gravelamps
template: example-template
lens model: nfw
needs:
- GravelampsPoint
interest threshold: 1.0
This would generate three runs, one with the point, SIS, and NFW lens models. Firstly the point mass run would be done to establish a baseline. Then the other two model runs would be done. These could then be compared to the point mass run and for instance, the user could be alerted if the log Bayes Factor from the run was higher than 1.0.