Importing Bridger Data
Emissions Import
Used for importing Bridger emission data.
CSV Format
The following headers must be present in the CSV file, even though some of them can be blank:
| Header | Type | Blank | Help |
|---|---|---|---|
| Plume image | String | YES | Each file referenced in this column must exist in the --data_path folder |
| Emission detected | Boolean | NO | (Yes/No) or (True, False) |
| Longitude | Number | NO | |
| Latitude | Number | NO | |
| Detection timestamp | Date | NO | ISO format |
| Detected rate | Decimal | YES | g/hr |
| Detection limit | PositiveInteger | NO | g/hr |
| Concentration | Decimal | YES | ppm*m |
Notes:
- Owner column is required for self-reported emissions, but is optional for third party. If owner is present, any company found in the file must exist in the platform, or the import script will fail.
- Any additional fields will be stored as extra data in the
DataPoint.dataJSONB field. Bridger imports typically include the following extra columns, which are used by the platform for filtering, display, and analytics — see Bridger extra data fields below.
Script Arguments
In addition to the common arguments (environment, api_key, data_path), the Bridger script requires:
--data_source- Source of the data:SELF_REPORTED,THIRD_PARTY, orEPA--contains_no_detects- Whether the data contains non-detects:1or0
The following import parameters are set by the import script:
data_provider: "Bridger"
Example
Example of calling the Bridger script on dev environment:
python -m importers.emissions.bridger --environment dev --api_key {API_KEY_VALUE} --data_path {PATH_TO_FOLDER} --data_source SELF_REPORTED --contains_no_detects 0Nondetects Import
The Bridger nondetects import script can be used to import site non-detects using a CSV file.
CSV Format
The following headers must be present in the CSV file, and they cannot be blank:
| Header | Type | Blank | Help |
|---|---|---|---|
| aershed_site_id | String | NO | Primary key of the Site database in the platform |
| time | DateTime | NO | ISO format |
| detection_limit_kgh | Number | NO | Detection limit in kg/h |
Note: Any additional fields will be stored as extra data object.
Script Arguments
In addition to the common arguments, the nondetects script requires:
--owner- The exact name of a company (must exist in the database)
Example
Example of calling the Bridger nondetect import script on prod-testing environment:
python -m importers.nondetects.bridger --environment staging --api_key {API_KEY_VALUE} --data_path {PATH_TO_FOLDER} --owner "A100"Bridger extra data fields
Bridger CSV files often include additional columns beyond the standard headers. These are stored as extra data on each data point and power several platform features. They are optional — not required for import — but when present they enable filtering, display columns, timeline grouping, and analytics deduplication.
| Field | Purpose |
|---|---|
bridger_emission_location_id | Identifies detections at the same physical location. Used to group and deduplicate emissions in analytics — when multiple detections share the same location ID, site, and day, only the highest rate is counted per location and summed into a daily site total. Also drives timeline grouping on the site page. |
bridger_equipment_type | The type of equipment at the detection (e.g. compressor, tank battery). Shown in the emission detail panel and timeline tooltip, and used to aggregate survey stats by equipment type. |
bridger_equipment_id | Identifier for the specific equipment at the detection. Shown as a filterable column in the emissions table. |
bridger_detection_id | Unique identifier for the individual Bridger detection. Shown as a filterable column in the emissions table. |
bridger_site_name | The Bridger-provided site name. Used together with bridger_emission_location_id to group emissions on the site timeline. |
bridger_location | A location descriptor from Bridger. Available as a filter on the emissions API. |
All six fields can be used to filter emissions in the platform's emissions table and API queries.
Related documentation
- Troubleshooting — common errors and solutions
- Matching — how imported emissions are matched to infrastructure
- Emission States — lifecycle of matched emission events