Asimov Interface Overview
This section describes the integration of the RIFT pipeline into the asimov production framework.
Overview
The asimov interface allows RIFT to be deployed as a production pipeline. This involves a Python wrapper (rift.py) and a configuration template (rift.ini) that map asimov ledger metadata to RIFT-specific execution arguments.
API Reference
The core integration is handled by:
RIFT/asimov/rift.py: The pipeline class that manages DAG construction, submission, and monitoring.RIFT/asimov/rift.ini: The Jinja2 template used to generate the runtime configuration.
Asimov Use Case: Production PE
To run RIFT through asimov, a user typically defines a production specification in a YAML file (the “ledger”). This specification is then mapped by rift.py and rift.ini into the final command line arguments for util_RIFT_pseudo_pipe.py.
Mapping the Ledger to RIFT
The mapping process determines which RIFT flags are set based on the ledger’s meta section.
Key Mapping Examples:
Waveform Approximant: The
waveform: approximantfield in the ledger maps to the--approxflag in RIFT.Physics Assumptions: Fields under
likelihood: assume(e.g.,no spin,precessing,eccentric) map to corresponding--assume-xxxflags.Sampling Settings: Fields under
sampler: cip(e.g.,sampling method) map tocip-sampler-methodin theinifile.Priors: Prior ranges defined in the ledger are mapped to specific
ile-xxx-priorsettings in theinifile.
Configuration File Note
It is important to note that the RIFT/asimov/rift.ini file contains many legacy or placeholder entries. The actual behavior of the pipeline is determined by which values are explicitly parsed by util_RIFT_pseudo_pipe.py and ../../executables/helper_LDG_Events.
Users should focus on the actionable items—the flags and configuration keys that the low-level RIFT code actually reads—rather than the entirety of the ini template.
Deployment Workflow
Define Production: Create a YAML production spec in the
asimovledger.Build: Run
asimov manage build. TheRiftpipeline class identifies the production and usesrift.inito generate a specific configuration.Submit: The
Riftpipeline callsutil_RIFT_pseudo_pipe.pyto build a Condor DAG and then submits it to the cluster.Monitor:
asimovmonitors the job status viadetect_completion(), which looks for the final posterior sample files.