From d41717d016b13bc42eb7e9f64f9e60b72cfb5e3e Mon Sep 17 00:00:00 2001 From: sam Date: Sat, 21 Sep 2024 13:53:52 -0400 Subject: [PATCH 01/39] Update phmsagas DOI and start transformation --- .../phmsagas_distribution.ipynb | 3856 +++++++++++++++++ src/pudl/metadata/sources.py | 2 +- src/pudl/package_data/settings/etl_fast.yml | 2 +- src/pudl/package_data/settings/etl_full.yml | 1 + src/pudl/workspace/datastore.py | 2 +- 5 files changed, 3860 insertions(+), 3 deletions(-) create mode 100644 notebooks/work-in-progress/phmsagas_distribution.ipynb diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb new file mode 100644 index 0000000000..60ad89e9a7 --- /dev/null +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -0,0 +1,3856 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load the data" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", + "2024-09-21 12:44:41 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + ] + } + ], + "source": [ + "from dagster import AssetKey\n", + "from pudl.etl import defs\n", + "\n", + "demand_forecasts = defs.load_asset_value(AssetKey(\"raw_phmsagas__yearly_distribution\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Data exploration" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
additional_informationall_known_leaks_scheduled_for_repairall_leaks_construction_defect_mainsall_leaks_construction_defect_servicesall_leaks_corrosion_failure_mainsall_leaks_corrosion_failure_servicesall_leaks_equipment_failure_mainsall_leaks_equipment_failure_servicesall_leaks_excavation_damage_mainsall_leaks_excavation_damage_servicesall_leaks_incorrect_operation_mainsall_leaks_incorrect_operation_servicesall_leaks_material_defect_mainsall_leaks_material_defect_servicesall_leaks_natural_force_damage_mainsall_leaks_natural_force_damage_servicesall_leaks_other_mainsall_leaks_other_outside_force_mainsall_leaks_other_outside_force_servicesall_leaks_other_servicesall_leaks_outside_force_mainsall_leaks_outside_force_servicesall_leaks_pipe_weld_joint_failure_mainsall_leaks_pipe_weld_joint_failure_servicesall_leaks_third_party_mainsall_leaks_third_party_servicesaverage_service_length_feetcommoditycorrection_datedata_datedata_maturityexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsfederal_land_leaks_repaired_or_scheduledfiling_dateform_revisionhazardous_leaks_corrosion_failure_mainshazardous_leaks_corrosion_failure_serviceshazardous_leaks_equipment_failure_mainshazardous_leaks_equipment_failure_serviceshazardous_leaks_excavation_damage_mainshazardous_leaks_excavation_damage_serviceshazardous_leaks_incorrect_operation_mainshazardous_leaks_incorrect_operation_serviceshazardous_leaks_mechanical_joint_failurehazardous_leaks_natural_force_damage_mainshazardous_leaks_natural_force_damage_serviceshazardous_leaks_other_mainshazardous_leaks_other_outside_force_mainshazardous_leaks_other_outside_force_serviceshazardous_leaks_other_serviceshazardous_leaks_pipe_weld_joint_failure_mainshazardous_leaks_pipe_weld_joint_failure_servicesheadquarters_address_cityheadquarters_address_countyheadquarters_address_stateheadquarters_address_streetheadquarters_address_ziplogmain_1940s_milesmain_1950s_milesmain_1960s_milesmain_1970s_milesmain_1980s_milesmain_1990s_milesmain_2000s_milesmain_2010s_milesmain_2020s_milesmain_abs_2_in_or_less_milesmain_abs_2_to_4_in_milesmain_abs_4_to_8_in_milesmain_abs_8_to_12_in_milesmain_abs_over_12_in_milesmain_abs_total_milesmain_abs_unknown_milesmain_all_materials_2_in_or_less_milesmain_all_materials_2_to_4_in_milesmain_all_materials_4_to_8_in_milesmain_all_materials_8_to_12_in_milesmain_all_materials_over_12_in_milesmain_all_materials_total_milesmain_all_materials_unknown_milesmain_all_time_milesmain_cast_or_wrought_iron_2_in_or_less_milesmain_cast_or_wrought_iron_2_to_4_in_milesmain_cast_or_wrought_iron_4_to_8_in_milesmain_cast_or_wrought_iron_8_to_12_in_milesmain_cast_or_wrought_iron_milesmain_cast_or_wrought_iron_over_12_in_milesmain_cast_or_wrought_iron_total_milesmain_cast_or_wrought_iron_unknown_milesmain_cathodically_protected_steel_bare_milesmain_cathodically_protected_steel_coated_milesmain_copper_2_in_or_less_milesmain_copper_2_to_4_in_milesmain_copper_4_to_8_in_milesmain_copper_8_to_12_in_milesmain_copper_milesmain_copper_over_12_in_milesmain_copper_total_milesmain_copper_unknown_milesmain_ductile_iron_2_in_or_less_milesmain_ductile_iron_2_to_4_in_milesmain_ductile_iron_4_to_8_in_milesmain_ductile_iron_8_to_12_in_milesmain_ductile_iron_milesmain_ductile_iron_over_12_in_milesmain_ductile_iron_total_milesmain_ductile_iron_unknown_milesmain_other_2_in_or_less_milesmain_other_2_to_4_in_milesmain_other_4_to_8_in_milesmain_other_8_to_12_in_milesmain_other_alt_2_in_or_less_milesmain_other_alt_2_to_4_in_milesmain_other_alt_4_to_8_in_milesmain_other_alt_8_to_12_in_milesmain_other_alt_milesmain_other_alt_over_12_in_milesmain_other_alt_total_milesmain_other_alt_unknown_milesmain_other_material_detail_milesmain_other_milesmain_other_over_12_in_milesmain_other_plastic_2_in_or_less_milesmain_other_plastic_2_to_4_in_milesmain_other_plastic_4_to_8_in_milesmain_other_plastic_8_to_12_in_milesmain_other_plastic_over_12_in_milesmain_other_plastic_total_milesmain_other_plastic_unknown_milesmain_other_total_milesmain_other_unknown_milesmain_pe_2_in_or_less_milesmain_pe_2_to_4_in_milesmain_pe_4_to_8_in_milesmain_pe_8_to_12_in_milesmain_pe_over_12_in_milesmain_pe_total_milesmain_pe_unknown_milesmain_plastic_milesmain_pre_1940_milesmain_pvc_2_in_or_less_milesmain_pvc_2_to_4_in_milesmain_pvc_4_to_8_in_milesmain_pvc_8_to_12_in_milesmain_pvc_over_12_in_milesmain_pvc_total_milesmain_pvc_unknown_milesmain_reconditioned_cast_iron_2_in_or_less_milesmain_reconditioned_cast_iron_2_to_4_in_milesmain_reconditioned_cast_iron_4_to_8_in_milesmain_reconditioned_cast_iron_8_to_12_in_milesmain_reconditioned_cast_iron_milesmain_reconditioned_cast_iron_over_12_in_milesmain_reconditioned_cast_iron_total_milesmain_reconditioned_cast_iron_unknown_milesmain_steel_2_in_or_less_milesmain_steel_2_to_4_in_milesmain_steel_4_to_8_in_milesmain_steel_8_to_12_in_milesmain_steel_over_12_in_milesmain_steel_total_milesmain_steel_unknown_milesmain_total_milesmain_unknown_decade_milesmain_unprotected_steel_bare_milesmain_unprotected_steel_coated_milesoffice_address_cityoffice_address_countyoffice_address_stateoffice_address_streetoffice_address_zipoperating_stateoperator_id_phmsaoperator_name_phmsaoperator_typeoriginal_reportpercent_unaccounted_for_gaspreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_titlereport_datereport_numberreport_submission_typereport_yearservices_1940sservices_1950sservices_1960sservices_1970sservices_1980sservices_1990sservices_2000sservices_2010sservices_2020sservices_abs_1_in_or_lessservices_abs_1_to_2_inservices_abs_2_to_4_inservices_abs_4_to_8_inservices_abs_over_8_inservices_abs_totalservices_abs_unknownservices_all_materials_1_in_or_lessservices_all_materials_1_to_2_inservices_all_materials_2_to_4_inservices_all_materials_4_to_8_inservices_all_materials_over_8_inservices_all_materials_totalservices_all_materials_unknownservices_all_timeservices_cast_or_wrought_ironservices_cast_or_wrought_iron_1_in_or_lessservices_cast_or_wrought_iron_1_to_2_inservices_cast_or_wrought_iron_2_to_4_inservices_cast_or_wrought_iron_4_to_8_inservices_cast_or_wrought_iron_over_8_inservices_cast_or_wrought_iron_totalservices_cast_or_wrought_iron_unknownservices_cathodically_protected_steel_bareservices_cathodically_protected_steel_coatedservices_copperservices_copper_1_in_or_lessservices_copper_1_to_2_inservices_copper_2_to_4_inservices_copper_4_to_8_inservices_copper_over_8_inservices_copper_totalservices_copper_unknownservices_ductile_ironservices_ductile_iron_1_in_or_lessservices_ductile_iron_1_to_2_inservices_ductile_iron_2_to_4_inservices_ductile_iron_4_to_8_inservices_ductile_iron_over_8_inservices_ductile_iron_totalservices_ductile_iron_unknownservices_efv_in_systemservices_efv_installedservices_otherservices_other_1_in_or_lessservices_other_1_to_2_inservices_other_2_to_4_inservices_other_4_to_8_inservices_other_altservices_other_alt_1_in_or_lessservices_other_alt_1_to_2_inservices_other_alt_2_to_4_inservices_other_alt_4_to_8_inservices_other_alt_over_8_inservices_other_alt_totalservices_other_alt_unknownservices_other_material_detailservices_other_over_8_inservices_other_plastic_1_in_or_lessservices_other_plastic_1_to_2_inservices_other_plastic_2_to_4_inservices_other_plastic_4_to_8_inservices_other_plastic_over_8_inservices_other_plastic_totalservices_other_plastic_unknownservices_other_totalservices_other_unknownservices_pe_1_in_or_lessservices_pe_1_to_2_inservices_pe_2_to_4_inservices_pe_4_to_8_inservices_pe_over_8_inservices_pe_totalservices_pe_unknownservices_plasticservices_pre_1940services_pvc_1_in_or_lessservices_pvc_1_to_2_inservices_pvc_2_to_4_inservices_pvc_4_to_8_inservices_pvc_over_8_inservices_pvc_totalservices_pvc_unknownservices_reconditioned_cast_ironservices_reconditioned_cast_iron_1_in_or_lessservices_reconditioned_cast_iron_1_to_2_inservices_reconditioned_cast_iron_2_to_4_inservices_reconditioned_cast_iron_4_to_8_inservices_reconditioned_cast_iron_over_8_inservices_reconditioned_cast_iron_totalservices_reconditioned_cast_iron_unknownservices_shutoff_valve_in_systemservices_shutoff_valve_installedservices_steel_1_in_or_lessservices_steel_1_to_2_inservices_steel_2_to_4_inservices_steel_4_to_8_inservices_steel_over_8_inservices_steel_totalservices_steel_unknownservices_totalservices_unknown_decadeservices_unprotected_steel_bareservices_unprotected_steel_coatedsupplemental_report_numbersupplementary_report
0NaN0.0NaNNaN0.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.01.00.0NaNNaN0.00.0NaNNaN35.0Natural GasNaN2024-01-02 11:38:37final0.00.00.00.00.01.00.02023-03-06 16:30:437100.1-1 (Rev. 05-2021)0.00.00.00.00.00.00.00.00.00.00.00.00.01.00.00.00.0ABBYVILLENaNKSP O BOX 10067510NaN0.03.00.000.00.00.000.00.0000.0000.00.00.00.00.00.00.03.0000.000.000.00.03.0000.03.000.00.00.00.00.00.00.00.00.03.0000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.00.0000.000.000.00.00.0000.00.0000.00.00.000.000.00.00.000.00.00.00.00.00.00.00.00.03.0000.000.000.00.03.0000.03.0000.00.00.0ABBYVILLERenoKSPO BOX 10067510KS18.0ABBYVILLE, CITY OFMunicipal OwnedNaN5.00(620) 500-5758cityofabbyville@hotmail.comMindy Iverson(620) 286-5643agent2023-03-06 16:30:4320230656.0INITIAL2022.00.055.00.00.00.00.01.00.00.00.00.00.00.00.00.00.00.056.00.00.00.056.00.056.00.00.00.00.00.00.00.00.00.055.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.01.00.00.00.01.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.055.00.00.00.055.00.056.00.00.00.050938.0NaN
1NaN0.0NaNNaNNaNNaNNaNNaN2.01.0NaNNaNNaNNaNNaN1.0NaNNaN1.0NaNNaNNaNNaNNaNNaNNaN30.0Natural GasNaN2024-01-02 11:38:37final2.00.01.00.03.01047.00.02023-02-15 13:07:147100.1-1 (Rev. 05-2021)NaNNaNNaNNaN2.01.0NaNNaN0.0NaN1.0NaNNaN1.0NaNNaNNaNABITA SPRINGSNaNLA22161 LEVEL STREET, PO BOX 46170420NaN0.00.00.000.00.00.0028.00.0000.2100.00.00.00.00.00.00.00.00028.210.000.00.028.2100.028.210.00.00.00.00.00.00.00.00.026.0000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.00.0002.210.000.00.02.2100.02.2100.00.00.000.000.00.00.000.00.00.00.00.00.00.00.00.00.00026.000.000.00.026.0000.028.2100.00.00.0SLAUGHTERNaNLA222 Highway 1970777-3521LA27.0ABITA SPRINGS NAT GAS & WATERMunicipal OwnedNaN3.90(000) 000-0000kewing.pip@gmail.comKaylan A. Ewing(225) 286-5650Consultant2023-02-15 13:07:1420230299.0INITIAL2022.00.00.00.00.00.00.0852.066.077.00.00.00.00.00.00.00.0992.03.00.00.00.0995.00.0995.00.00.00.00.00.00.00.00.00.0511.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0133.027.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0481.03.00.00.00.0484.00.0484.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.025.00.0511.00.00.00.00.0511.00.0995.00.00.00.049739.0NaN
2This report prepared by: Maurice Chaney Munici...0.0NaNNaN0.00.00.00.01.00.00.00.0NaNNaN0.00.00.00.00.00.0NaNNaN0.00.0NaNNaN100.0Natural GasNaN2024-01-02 11:38:37finalNaN1.0NaNNaN1.01815.00.02023-03-15 14:08:487100.1-1 (Rev. 05-2021)0.00.00.00.01.00.00.00.00.00.00.00.00.00.00.00.00.0ADAIRSVILLENaNGA116 PUBLIC SQUARE30103NaN0.00.03.446.09.08.9831.054.9502.7500.00.00.00.00.00.00.074.76028.6912.670.00.0116.1200.0116.120.00.00.00.00.00.00.00.00.030.0600.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.064.60018.772.690.00.086.0600.086.0600.00.00.000.000.00.00.000.00.00.00.00.00.00.00.00.010.1609.929.980.00.030.0600.0116.1200.00.00.0AdairsvilleBartowGA2369 Hall Station Rd NW30103GA45.0ADAIRSVILLE, CITY OFMunicipal OwnedNaN-1.60(678) 819-0957mchaney@gasauthority.comMAURICE CHANEY(770) 851-3094Consultant2023-03-15 14:08:4820231215.0INITIAL2022.00.00.047.072.0356.0283.0671.0245.0201.00.00.00.00.00.00.00.01831.035.012.01.00.01879.00.01879.00.00.00.00.00.00.00.00.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.01292.068.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.01830.035.012.01.00.01878.00.01878.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.02.00.01.00.00.00.00.01.00.01879.04.00.00.051920.0NaN
3We have stopped using the radio read transpond...0.0NaNNaN0.00.00.012.03.012.00.00.0NaNNaN0.00.00.00.03.00.0NaNNaN0.00.0NaNNaN90.0Natural GasNaN2024-01-02 11:38:37final8.05.02.00.015.0963.00.02023-03-06 11:55:367100.1-1 (Rev. 05-2021)0.00.00.00.03.012.00.00.00.00.00.00.00.03.00.00.00.0ADAMSVILLENaNTN231 EAST MAIN STREET P O BOX 30138310NaN0.00.00.000.00.00.000.045.1410.1890.00.00.00.00.00.00.0139.93515.3016.000.00.0171.2350.0171.330.00.00.00.00.00.00.00.0NaN92.3590.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.073.5760.305.000.00.078.8760.078.8760.00.00.000.000.00.00.000.00.00.00.00.00.00.00.00.066.35915.0011.000.00.092.3590.0171.235126.0NaNNaNAdamsvilleMcNairyTN203 Sunrise Drive 231 East Main Street38310TN49.0TOWN OF ADAMSVILLE GAS DEPTMunicipal OwnedNaN5.42(000) 000-0000scottklinck@yahoo.comScott Klinck(731) 632-4214Publc Works Director2023-03-06 11:55:3620230639.0INITIAL2022.00.00.00.00.00.00.00.0327.027.00.00.00.00.00.00.00.02054.010.07.00.00.02071.00.02064.00.00.00.00.00.00.00.00.0NaN719.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0671.07.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.01351.01.00.00.00.01352.00.01352.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.08.03.0703.09.07.00.00.0719.00.02071.01710.0NaNNaN50880.0NaN
4NaN0.0NaNNaN0.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.0NaNNaN0.00.0NaNNaN100.0Natural GasNaN2024-01-02 11:38:37final0.00.00.00.00.0448.00.02023-02-14 15:41:247100.1-1 (Rev. 05-2021)0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0ADELNaNGAP.O. BOX 153031620NaN0.00.00.0015.04.04.000.06.50028.8100.00.00.00.00.00.00.026.78017.7913.820.00.058.3900.058.310.00.00.00.00.00.00.00.0NaN29.2800.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.00.0000.000.000.00.00.0000.029.1100.07.011.7910.320.00.029.110.00.00.00.00.00.00.00.00.019.7806.003.500.00.029.2800.058.3900.0NaNNaNAdelCookGAP.O. Box 153031620GA54.0ADEL GAS DEPT, CITY OFMunicipal OwnedNaN0.00(000) 000-0000peterschultzharpassociates@yahoo.comPeter Schultz(229) 834-6246agent2023-02-14 15:41:2420230289.0INITIAL2022.00.00.00.0108.0181.0112.0173.0189.06.00.00.00.00.00.00.00.0766.03.00.00.00.0769.00.0769.00.00.00.00.00.00.00.00.0NaN306.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0102.03.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0463.00.00.00.00.0463.00.0463.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.02.00.0303.03.00.00.00.0306.00.0769.00.0NaNNaN49693.0NaN
\n", + "
" + ], + "text/plain": [ + " additional_information all_known_leaks_scheduled_for_repair all_leaks_construction_defect_mains all_leaks_construction_defect_services all_leaks_corrosion_failure_mains all_leaks_corrosion_failure_services all_leaks_equipment_failure_mains all_leaks_equipment_failure_services all_leaks_excavation_damage_mains all_leaks_excavation_damage_services all_leaks_incorrect_operation_mains all_leaks_incorrect_operation_services all_leaks_material_defect_mains all_leaks_material_defect_services all_leaks_natural_force_damage_mains all_leaks_natural_force_damage_services all_leaks_other_mains all_leaks_other_outside_force_mains all_leaks_other_outside_force_services all_leaks_other_services all_leaks_outside_force_mains all_leaks_outside_force_services all_leaks_pipe_weld_joint_failure_mains all_leaks_pipe_weld_joint_failure_services all_leaks_third_party_mains all_leaks_third_party_services average_service_length_feet commodity \\\n", + "0 NaN 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 1.0 0.0 NaN NaN 0.0 0.0 NaN NaN 35.0 Natural Gas \n", + "1 NaN 0.0 NaN NaN NaN NaN NaN NaN 2.0 1.0 NaN NaN NaN NaN NaN 1.0 NaN NaN 1.0 NaN NaN NaN NaN NaN NaN NaN 30.0 Natural Gas \n", + "2 This report prepared by: Maurice Chaney Munici... 0.0 NaN NaN 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 NaN NaN 100.0 Natural Gas \n", + "3 We have stopped using the radio read transpond... 0.0 NaN NaN 0.0 0.0 0.0 12.0 3.0 12.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 3.0 0.0 NaN NaN 0.0 0.0 NaN NaN 90.0 Natural Gas \n", + "4 NaN 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 NaN NaN 100.0 Natural Gas \n", + "\n", + " correction_date data_date data_maturity excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets federal_land_leaks_repaired_or_scheduled filing_date form_revision hazardous_leaks_corrosion_failure_mains hazardous_leaks_corrosion_failure_services hazardous_leaks_equipment_failure_mains hazardous_leaks_equipment_failure_services hazardous_leaks_excavation_damage_mains hazardous_leaks_excavation_damage_services hazardous_leaks_incorrect_operation_mains hazardous_leaks_incorrect_operation_services hazardous_leaks_mechanical_joint_failure hazardous_leaks_natural_force_damage_mains hazardous_leaks_natural_force_damage_services hazardous_leaks_other_mains hazardous_leaks_other_outside_force_mains hazardous_leaks_other_outside_force_services hazardous_leaks_other_services \\\n", + "0 NaN 2024-01-02 11:38:37 final 0.0 0.0 0.0 0.0 0.0 1.0 0.0 2023-03-06 16:30:43 7100.1-1 (Rev. 05-2021) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 \n", + "1 NaN 2024-01-02 11:38:37 final 2.0 0.0 1.0 0.0 3.0 1047.0 0.0 2023-02-15 13:07:14 7100.1-1 (Rev. 05-2021) NaN NaN NaN NaN 2.0 1.0 NaN NaN 0.0 NaN 1.0 NaN NaN 1.0 NaN \n", + "2 NaN 2024-01-02 11:38:37 final NaN 1.0 NaN NaN 1.0 1815.0 0.0 2023-03-15 14:08:48 7100.1-1 (Rev. 05-2021) 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3 NaN 2024-01-02 11:38:37 final 8.0 5.0 2.0 0.0 15.0 963.0 0.0 2023-03-06 11:55:36 7100.1-1 (Rev. 05-2021) 0.0 0.0 0.0 0.0 3.0 12.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.0 0.0 \n", + "4 NaN 2024-01-02 11:38:37 final 0.0 0.0 0.0 0.0 0.0 448.0 0.0 2023-02-14 15:41:24 7100.1-1 (Rev. 05-2021) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " hazardous_leaks_pipe_weld_joint_failure_mains hazardous_leaks_pipe_weld_joint_failure_services headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip log main_1940s_miles main_1950s_miles main_1960s_miles main_1970s_miles main_1980s_miles main_1990s_miles main_2000s_miles main_2010s_miles main_2020s_miles main_abs_2_in_or_less_miles main_abs_2_to_4_in_miles main_abs_4_to_8_in_miles main_abs_8_to_12_in_miles main_abs_over_12_in_miles main_abs_total_miles main_abs_unknown_miles main_all_materials_2_in_or_less_miles main_all_materials_2_to_4_in_miles main_all_materials_4_to_8_in_miles main_all_materials_8_to_12_in_miles main_all_materials_over_12_in_miles main_all_materials_total_miles main_all_materials_unknown_miles main_all_time_miles main_cast_or_wrought_iron_2_in_or_less_miles main_cast_or_wrought_iron_2_to_4_in_miles main_cast_or_wrought_iron_4_to_8_in_miles \\\n", + "0 0.0 0.0 ABBYVILLE NaN KS P O BOX 100 67510 NaN 0.0 3.0 0.00 0.0 0.0 0.00 0.0 0.000 0.000 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.000 0.00 0.00 0.0 0.0 3.000 0.0 3.00 0.0 0.0 0.0 \n", + "1 NaN NaN ABITA SPRINGS NaN LA 22161 LEVEL STREET, PO BOX 461 70420 NaN 0.0 0.0 0.00 0.0 0.0 0.00 28.0 0.000 0.210 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 28.21 0.00 0.0 0.0 28.210 0.0 28.21 0.0 0.0 0.0 \n", + "2 0.0 0.0 ADAIRSVILLE NaN GA 116 PUBLIC SQUARE 30103 NaN 0.0 0.0 3.44 6.0 9.0 8.98 31.0 54.950 2.750 0.0 0.0 0.0 0.0 0.0 0.0 0.0 74.760 28.69 12.67 0.0 0.0 116.120 0.0 116.12 0.0 0.0 0.0 \n", + "3 0.0 0.0 ADAMSVILLE NaN TN 231 EAST MAIN STREET P O BOX 301 38310 NaN 0.0 0.0 0.00 0.0 0.0 0.00 0.0 45.141 0.189 0.0 0.0 0.0 0.0 0.0 0.0 0.0 139.935 15.30 16.00 0.0 0.0 171.235 0.0 171.33 0.0 0.0 0.0 \n", + "4 0.0 0.0 ADEL NaN GA P.O. BOX 1530 31620 NaN 0.0 0.0 0.00 15.0 4.0 4.00 0.0 6.500 28.810 0.0 0.0 0.0 0.0 0.0 0.0 0.0 26.780 17.79 13.82 0.0 0.0 58.390 0.0 58.31 0.0 0.0 0.0 \n", + "\n", + " main_cast_or_wrought_iron_8_to_12_in_miles main_cast_or_wrought_iron_miles main_cast_or_wrought_iron_over_12_in_miles main_cast_or_wrought_iron_total_miles main_cast_or_wrought_iron_unknown_miles main_cathodically_protected_steel_bare_miles main_cathodically_protected_steel_coated_miles main_copper_2_in_or_less_miles main_copper_2_to_4_in_miles main_copper_4_to_8_in_miles main_copper_8_to_12_in_miles main_copper_miles main_copper_over_12_in_miles main_copper_total_miles main_copper_unknown_miles main_ductile_iron_2_in_or_less_miles main_ductile_iron_2_to_4_in_miles main_ductile_iron_4_to_8_in_miles main_ductile_iron_8_to_12_in_miles main_ductile_iron_miles main_ductile_iron_over_12_in_miles main_ductile_iron_total_miles main_ductile_iron_unknown_miles main_other_2_in_or_less_miles main_other_2_to_4_in_miles main_other_4_to_8_in_miles main_other_8_to_12_in_miles main_other_alt_2_in_or_less_miles main_other_alt_2_to_4_in_miles \\\n", + "0 0.0 0.0 0.0 0.0 0.0 0.0 3.000 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + "1 0.0 0.0 0.0 0.0 0.0 0.0 26.000 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + "2 0.0 0.0 0.0 0.0 0.0 0.0 30.060 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + "3 0.0 0.0 0.0 0.0 0.0 NaN 92.359 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + "4 0.0 0.0 0.0 0.0 0.0 NaN 29.280 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + "\n", + " main_other_alt_4_to_8_in_miles main_other_alt_8_to_12_in_miles main_other_alt_miles main_other_alt_over_12_in_miles main_other_alt_total_miles main_other_alt_unknown_miles main_other_material_detail_miles main_other_miles main_other_over_12_in_miles main_other_plastic_2_in_or_less_miles main_other_plastic_2_to_4_in_miles main_other_plastic_4_to_8_in_miles main_other_plastic_8_to_12_in_miles main_other_plastic_over_12_in_miles main_other_plastic_total_miles main_other_plastic_unknown_miles main_other_total_miles main_other_unknown_miles main_pe_2_in_or_less_miles main_pe_2_to_4_in_miles main_pe_4_to_8_in_miles main_pe_8_to_12_in_miles main_pe_over_12_in_miles main_pe_total_miles main_pe_unknown_miles main_plastic_miles main_pre_1940_miles main_pvc_2_in_or_less_miles main_pvc_2_to_4_in_miles main_pvc_4_to_8_in_miles main_pvc_8_to_12_in_miles main_pvc_over_12_in_miles main_pvc_total_miles main_pvc_unknown_miles \\\n", + "0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 0.00 0.00 0.0 0.0 0.000 0.0 0.000 0.0 0.0 0.00 0.00 0.0 0.0 0.00 0.0 \n", + "1 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 2.21 0.00 0.0 0.0 2.210 0.0 2.210 0.0 0.0 0.00 0.00 0.0 0.0 0.00 0.0 \n", + "2 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 64.600 18.77 2.69 0.0 0.0 86.060 0.0 86.060 0.0 0.0 0.00 0.00 0.0 0.0 0.00 0.0 \n", + "3 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 73.576 0.30 5.00 0.0 0.0 78.876 0.0 78.876 0.0 0.0 0.00 0.00 0.0 0.0 0.00 0.0 \n", + "4 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 0.00 0.00 0.0 0.0 0.000 0.0 29.110 0.0 7.0 11.79 10.32 0.0 0.0 29.11 0.0 \n", + "\n", + " main_reconditioned_cast_iron_2_in_or_less_miles main_reconditioned_cast_iron_2_to_4_in_miles main_reconditioned_cast_iron_4_to_8_in_miles main_reconditioned_cast_iron_8_to_12_in_miles main_reconditioned_cast_iron_miles main_reconditioned_cast_iron_over_12_in_miles main_reconditioned_cast_iron_total_miles main_reconditioned_cast_iron_unknown_miles main_steel_2_in_or_less_miles main_steel_2_to_4_in_miles main_steel_4_to_8_in_miles main_steel_8_to_12_in_miles main_steel_over_12_in_miles main_steel_total_miles main_steel_unknown_miles main_total_miles main_unknown_decade_miles main_unprotected_steel_bare_miles main_unprotected_steel_coated_miles office_address_city office_address_county office_address_state office_address_street office_address_zip operating_state operator_id_phmsa operator_name_phmsa operator_type original_report percent_unaccounted_for_gas preparer_email preparer_fax preparer_name \\\n", + "0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.000 0.00 0.00 0.0 0.0 3.000 0.0 3.000 0.0 0.0 0.0 ABBYVILLE Reno KS PO BOX 100 67510 KS 18.0 ABBYVILLE, CITY OF Municipal Owned NaN 5.00 (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson \n", + "1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 26.00 0.00 0.0 0.0 26.000 0.0 28.210 0.0 0.0 0.0 SLAUGHTER NaN LA 222 Highway 19 70777-3521 LA 27.0 ABITA SPRINGS NAT GAS & WATER Municipal Owned NaN 3.90 (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing \n", + "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 10.160 9.92 9.98 0.0 0.0 30.060 0.0 116.120 0.0 0.0 0.0 Adairsville Bartow GA 2369 Hall Station Rd NW 30103 GA 45.0 ADAIRSVILLE, CITY OF Municipal Owned NaN -1.60 (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY \n", + "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 66.359 15.00 11.00 0.0 0.0 92.359 0.0 171.235 126.0 NaN NaN Adamsville McNairy TN 203 Sunrise Drive 231 East Main Street 38310 TN 49.0 TOWN OF ADAMSVILLE GAS DEPT Municipal Owned NaN 5.42 (000) 000-0000 scottklinck@yahoo.com Scott Klinck \n", + "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 19.780 6.00 3.50 0.0 0.0 29.280 0.0 58.390 0.0 NaN NaN Adel Cook GA P.O. Box 1530 31620 GA 54.0 ADEL GAS DEPT, CITY OF Municipal Owned NaN 0.00 (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz \n", + "\n", + " preparer_phone preparer_title report_date report_number report_submission_type report_year services_1940s services_1950s services_1960s services_1970s services_1980s services_1990s services_2000s services_2010s services_2020s services_abs_1_in_or_less services_abs_1_to_2_in services_abs_2_to_4_in services_abs_4_to_8_in services_abs_over_8_in services_abs_total services_abs_unknown services_all_materials_1_in_or_less services_all_materials_1_to_2_in services_all_materials_2_to_4_in services_all_materials_4_to_8_in services_all_materials_over_8_in services_all_materials_total services_all_materials_unknown services_all_time services_cast_or_wrought_iron services_cast_or_wrought_iron_1_in_or_less services_cast_or_wrought_iron_1_to_2_in services_cast_or_wrought_iron_2_to_4_in services_cast_or_wrought_iron_4_to_8_in services_cast_or_wrought_iron_over_8_in services_cast_or_wrought_iron_total services_cast_or_wrought_iron_unknown \\\n", + "0 (620) 286-5643 agent 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 0.0 55.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 56.0 0.0 0.0 0.0 56.0 0.0 56.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1 (225) 286-5650 Consultant 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 0.0 0.0 0.0 0.0 0.0 0.0 852.0 66.0 77.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 992.0 3.0 0.0 0.0 0.0 995.0 0.0 995.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "2 (770) 851-3094 Consultant 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 0.0 0.0 47.0 72.0 356.0 283.0 671.0 245.0 201.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1831.0 35.0 12.0 1.0 0.0 1879.0 0.0 1879.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3 (731) 632-4214 Publc Works Director 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 327.0 27.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2054.0 10.0 7.0 0.0 0.0 2071.0 0.0 2064.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "4 (229) 834-6246 agent 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 0.0 0.0 0.0 108.0 181.0 112.0 173.0 189.0 6.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 766.0 3.0 0.0 0.0 0.0 769.0 0.0 769.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " services_cathodically_protected_steel_bare services_cathodically_protected_steel_coated services_copper services_copper_1_in_or_less services_copper_1_to_2_in services_copper_2_to_4_in services_copper_4_to_8_in services_copper_over_8_in services_copper_total services_copper_unknown services_ductile_iron services_ductile_iron_1_in_or_less services_ductile_iron_1_to_2_in services_ductile_iron_2_to_4_in services_ductile_iron_4_to_8_in services_ductile_iron_over_8_in services_ductile_iron_total services_ductile_iron_unknown services_efv_in_system services_efv_installed services_other services_other_1_in_or_less services_other_1_to_2_in services_other_2_to_4_in services_other_4_to_8_in services_other_alt services_other_alt_1_in_or_less services_other_alt_1_to_2_in services_other_alt_2_to_4_in services_other_alt_4_to_8_in services_other_alt_over_8_in services_other_alt_total services_other_alt_unknown services_other_material_detail services_other_over_8_in \\\n", + "0 0.0 55.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", + "1 0.0 511.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 133.0 27.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", + "2 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1292.0 68.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", + "3 NaN 719.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 671.0 7.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", + "4 NaN 306.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 102.0 3.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", + "\n", + " services_other_plastic_1_in_or_less services_other_plastic_1_to_2_in services_other_plastic_2_to_4_in services_other_plastic_4_to_8_in services_other_plastic_over_8_in services_other_plastic_total services_other_plastic_unknown services_other_total services_other_unknown services_pe_1_in_or_less services_pe_1_to_2_in services_pe_2_to_4_in services_pe_4_to_8_in services_pe_over_8_in services_pe_total services_pe_unknown services_plastic services_pre_1940 services_pvc_1_in_or_less services_pvc_1_to_2_in services_pvc_2_to_4_in services_pvc_4_to_8_in services_pvc_over_8_in services_pvc_total services_pvc_unknown services_reconditioned_cast_iron services_reconditioned_cast_iron_1_in_or_less services_reconditioned_cast_iron_1_to_2_in services_reconditioned_cast_iron_2_to_4_in services_reconditioned_cast_iron_4_to_8_in services_reconditioned_cast_iron_over_8_in services_reconditioned_cast_iron_total services_reconditioned_cast_iron_unknown \\\n", + "0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 481.0 3.0 0.0 0.0 0.0 484.0 0.0 484.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1830.0 35.0 12.0 1.0 0.0 1878.0 0.0 1878.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1351.0 1.0 0.0 0.0 0.0 1352.0 0.0 1352.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 463.0 0.0 0.0 0.0 0.0 463.0 0.0 463.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " services_shutoff_valve_in_system services_shutoff_valve_installed services_steel_1_in_or_less services_steel_1_to_2_in services_steel_2_to_4_in services_steel_4_to_8_in services_steel_over_8_in services_steel_total services_steel_unknown services_total services_unknown_decade services_unprotected_steel_bare services_unprotected_steel_coated supplemental_report_number supplementary_report \n", + "0 0.0 0.0 0.0 55.0 0.0 0.0 0.0 55.0 0.0 56.0 0.0 0.0 0.0 50938.0 NaN \n", + "1 25.0 0.0 511.0 0.0 0.0 0.0 0.0 511.0 0.0 995.0 0.0 0.0 0.0 49739.0 NaN \n", + "2 2.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 1879.0 4.0 0.0 0.0 51920.0 NaN \n", + "3 8.0 3.0 703.0 9.0 7.0 0.0 0.0 719.0 0.0 2071.0 1710.0 NaN NaN 50880.0 NaN \n", + "4 2.0 0.0 303.0 3.0 0.0 0.0 0.0 306.0 0.0 769.0 0.0 NaN NaN 49693.0 NaN " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "demand_forecasts.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "def sorted_value_printer(column):\n", + " # Assuming 'demand_forecasts' is your DataFrame\n", + " sorted_values = sorted(demand_forecasts[column])\n", + "\n", + " # Pretty print the sorted columns\n", + " for val in sorted_values:\n", + " print(val)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2023-12-21 14:41:38\n", + "2022-10-28 12:52:08\n", + "2023-12-11 16:19:06\n", + "2022-10-28 12:52:08\n", + "2022.0\n", + "2022.0\n" + ] + } + ], + "source": [ + "print(demand_forecasts.filing_date.max())\n", + "print(demand_forecasts.filing_date.min())\n", + "\n", + "print(demand_forecasts.report_date.max())\n", + "print(demand_forecasts.report_date.min())\n", + "\n", + "print(demand_forecasts.report_year.max())\n", + "print(demand_forecasts.report_year.min())" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
operator_id_phmsaoperator_name_phmsa
17383.0AMARILLO NATURAL GAS INC
18383.0AMARILLO NATURAL GAS INC
\n", + "
" + ], + "text/plain": [ + " operator_id_phmsa operator_name_phmsa\n", + "17 383.0 AMARILLO NATURAL GAS INC\n", + "18 383.0 AMARILLO NATURAL GAS INC" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "demand_forecasts[demand_forecasts.operator_id_phmsa==383][['operator_id_phmsa','operator_name_phmsa']]" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
additional_informationall_known_leaks_scheduled_for_repairall_leaks_construction_defect_mainsall_leaks_construction_defect_servicesall_leaks_corrosion_failure_mainsall_leaks_corrosion_failure_servicesall_leaks_equipment_failure_mainsall_leaks_equipment_failure_servicesall_leaks_excavation_damage_mainsall_leaks_excavation_damage_servicesall_leaks_incorrect_operation_mainsall_leaks_incorrect_operation_servicesall_leaks_material_defect_mainsall_leaks_material_defect_servicesall_leaks_natural_force_damage_mainsall_leaks_natural_force_damage_servicesall_leaks_other_mainsall_leaks_other_outside_force_mainsall_leaks_other_outside_force_servicesall_leaks_other_servicesall_leaks_outside_force_mainsall_leaks_outside_force_servicesall_leaks_pipe_weld_joint_failure_mainsall_leaks_pipe_weld_joint_failure_servicesall_leaks_third_party_mainsall_leaks_third_party_servicesaverage_service_length_feetcommoditycorrection_datedata_datedata_maturityexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsfederal_land_leaks_repaired_or_scheduledfiling_dateform_revisionhazardous_leaks_corrosion_failure_mainshazardous_leaks_corrosion_failure_serviceshazardous_leaks_equipment_failure_mainshazardous_leaks_equipment_failure_serviceshazardous_leaks_excavation_damage_mainshazardous_leaks_excavation_damage_serviceshazardous_leaks_incorrect_operation_mainshazardous_leaks_incorrect_operation_serviceshazardous_leaks_mechanical_joint_failurehazardous_leaks_natural_force_damage_mainshazardous_leaks_natural_force_damage_serviceshazardous_leaks_other_mainshazardous_leaks_other_outside_force_mainshazardous_leaks_other_outside_force_serviceshazardous_leaks_other_serviceshazardous_leaks_pipe_weld_joint_failure_mainshazardous_leaks_pipe_weld_joint_failure_servicesheadquarters_address_cityheadquarters_address_countyheadquarters_address_stateheadquarters_address_streetheadquarters_address_ziplogmain_1940s_milesmain_1950s_milesmain_1960s_milesmain_1970s_milesmain_1980s_milesmain_1990s_milesmain_2000s_milesmain_2010s_milesmain_2020s_milesmain_abs_2_in_or_less_milesmain_abs_2_to_4_in_milesmain_abs_4_to_8_in_milesmain_abs_8_to_12_in_milesmain_abs_over_12_in_milesmain_abs_total_milesmain_abs_unknown_milesmain_all_materials_2_in_or_less_milesmain_all_materials_2_to_4_in_milesmain_all_materials_4_to_8_in_milesmain_all_materials_8_to_12_in_milesmain_all_materials_over_12_in_milesmain_all_materials_total_milesmain_all_materials_unknown_milesmain_all_time_milesmain_cast_or_wrought_iron_2_in_or_less_milesmain_cast_or_wrought_iron_2_to_4_in_milesmain_cast_or_wrought_iron_4_to_8_in_milesmain_cast_or_wrought_iron_8_to_12_in_milesmain_cast_or_wrought_iron_milesmain_cast_or_wrought_iron_over_12_in_milesmain_cast_or_wrought_iron_total_milesmain_cast_or_wrought_iron_unknown_milesmain_cathodically_protected_steel_bare_milesmain_cathodically_protected_steel_coated_milesmain_copper_2_in_or_less_milesmain_copper_2_to_4_in_milesmain_copper_4_to_8_in_milesmain_copper_8_to_12_in_milesmain_copper_milesmain_copper_over_12_in_milesmain_copper_total_milesmain_copper_unknown_milesmain_ductile_iron_2_in_or_less_milesmain_ductile_iron_2_to_4_in_milesmain_ductile_iron_4_to_8_in_milesmain_ductile_iron_8_to_12_in_milesmain_ductile_iron_milesmain_ductile_iron_over_12_in_milesmain_ductile_iron_total_milesmain_ductile_iron_unknown_milesmain_other_2_in_or_less_milesmain_other_2_to_4_in_milesmain_other_4_to_8_in_milesmain_other_8_to_12_in_milesmain_other_alt_2_in_or_less_milesmain_other_alt_2_to_4_in_milesmain_other_alt_4_to_8_in_milesmain_other_alt_8_to_12_in_milesmain_other_alt_milesmain_other_alt_over_12_in_milesmain_other_alt_total_milesmain_other_alt_unknown_milesmain_other_material_detail_milesmain_other_milesmain_other_over_12_in_milesmain_other_plastic_2_in_or_less_milesmain_other_plastic_2_to_4_in_milesmain_other_plastic_4_to_8_in_milesmain_other_plastic_8_to_12_in_milesmain_other_plastic_over_12_in_milesmain_other_plastic_total_milesmain_other_plastic_unknown_milesmain_other_total_milesmain_other_unknown_milesmain_pe_2_in_or_less_milesmain_pe_2_to_4_in_milesmain_pe_4_to_8_in_milesmain_pe_8_to_12_in_milesmain_pe_over_12_in_milesmain_pe_total_milesmain_pe_unknown_milesmain_plastic_milesmain_pre_1940_milesmain_pvc_2_in_or_less_milesmain_pvc_2_to_4_in_milesmain_pvc_4_to_8_in_milesmain_pvc_8_to_12_in_milesmain_pvc_over_12_in_milesmain_pvc_total_milesmain_pvc_unknown_milesmain_reconditioned_cast_iron_2_in_or_less_milesmain_reconditioned_cast_iron_2_to_4_in_milesmain_reconditioned_cast_iron_4_to_8_in_milesmain_reconditioned_cast_iron_8_to_12_in_milesmain_reconditioned_cast_iron_milesmain_reconditioned_cast_iron_over_12_in_milesmain_reconditioned_cast_iron_total_milesmain_reconditioned_cast_iron_unknown_milesmain_steel_2_in_or_less_milesmain_steel_2_to_4_in_milesmain_steel_4_to_8_in_milesmain_steel_8_to_12_in_milesmain_steel_over_12_in_milesmain_steel_total_milesmain_steel_unknown_milesmain_total_milesmain_unknown_decade_milesmain_unprotected_steel_bare_milesmain_unprotected_steel_coated_milesoffice_address_cityoffice_address_countyoffice_address_stateoffice_address_streetoffice_address_zipoperating_stateoperator_id_phmsaoperator_name_phmsaoperator_typeoriginal_reportpercent_unaccounted_for_gaspreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_titlereport_datereport_numberreport_submission_typereport_yearservices_1940sservices_1950sservices_1960sservices_1970sservices_1980sservices_1990sservices_2000sservices_2010sservices_2020sservices_abs_1_in_or_lessservices_abs_1_to_2_inservices_abs_2_to_4_inservices_abs_4_to_8_inservices_abs_over_8_inservices_abs_totalservices_abs_unknownservices_all_materials_1_in_or_lessservices_all_materials_1_to_2_inservices_all_materials_2_to_4_inservices_all_materials_4_to_8_inservices_all_materials_over_8_inservices_all_materials_totalservices_all_materials_unknownservices_all_timeservices_cast_or_wrought_ironservices_cast_or_wrought_iron_1_in_or_lessservices_cast_or_wrought_iron_1_to_2_inservices_cast_or_wrought_iron_2_to_4_inservices_cast_or_wrought_iron_4_to_8_inservices_cast_or_wrought_iron_over_8_inservices_cast_or_wrought_iron_totalservices_cast_or_wrought_iron_unknownservices_cathodically_protected_steel_bareservices_cathodically_protected_steel_coatedservices_copperservices_copper_1_in_or_lessservices_copper_1_to_2_inservices_copper_2_to_4_inservices_copper_4_to_8_inservices_copper_over_8_inservices_copper_totalservices_copper_unknownservices_ductile_ironservices_ductile_iron_1_in_or_lessservices_ductile_iron_1_to_2_inservices_ductile_iron_2_to_4_inservices_ductile_iron_4_to_8_inservices_ductile_iron_over_8_inservices_ductile_iron_totalservices_ductile_iron_unknownservices_efv_in_systemservices_efv_installedservices_otherservices_other_1_in_or_lessservices_other_1_to_2_inservices_other_2_to_4_inservices_other_4_to_8_inservices_other_altservices_other_alt_1_in_or_lessservices_other_alt_1_to_2_inservices_other_alt_2_to_4_inservices_other_alt_4_to_8_inservices_other_alt_over_8_inservices_other_alt_totalservices_other_alt_unknownservices_other_material_detailservices_other_over_8_inservices_other_plastic_1_in_or_lessservices_other_plastic_1_to_2_inservices_other_plastic_2_to_4_inservices_other_plastic_4_to_8_inservices_other_plastic_over_8_inservices_other_plastic_totalservices_other_plastic_unknownservices_other_totalservices_other_unknownservices_pe_1_in_or_lessservices_pe_1_to_2_inservices_pe_2_to_4_inservices_pe_4_to_8_inservices_pe_over_8_inservices_pe_totalservices_pe_unknownservices_plasticservices_pre_1940services_pvc_1_in_or_lessservices_pvc_1_to_2_inservices_pvc_2_to_4_inservices_pvc_4_to_8_inservices_pvc_over_8_inservices_pvc_totalservices_pvc_unknownservices_reconditioned_cast_ironservices_reconditioned_cast_iron_1_in_or_lessservices_reconditioned_cast_iron_1_to_2_inservices_reconditioned_cast_iron_2_to_4_inservices_reconditioned_cast_iron_4_to_8_inservices_reconditioned_cast_iron_over_8_inservices_reconditioned_cast_iron_totalservices_reconditioned_cast_iron_unknownservices_shutoff_valve_in_systemservices_shutoff_valve_installedservices_steel_1_in_or_lessservices_steel_1_to_2_inservices_steel_2_to_4_inservices_steel_4_to_8_inservices_steel_over_8_inservices_steel_totalservices_steel_unknownservices_totalservices_unknown_decadeservices_unprotected_steel_bareservices_unprotected_steel_coatedsupplemental_report_numbersupplementary_report
17NaN0.0NaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN8.0Natural GasNaN2024-01-02 11:38:37final0.00.01.00.01.011.00.02023-01-30 13:25:307100.1-1 (Rev. 05-2021)NaNNaNNaNNaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNAMARILLONaNTX5800 ARNOT ROAD79119NaN0.00.00.000.00.009.2062.380.000.000.00.00.00.00.00.00.00.0011.5860.00.00.011.5860.011.5860.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.00.0011.5860.00.00.011.5860.011.5860.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.000.00.00.00.000.011.5860.0NaNNaNAMARILLONaNTX5800 ARNOT ROAD79119OK383.0AMARILLO NATURAL GAS INCPrivately OwnedNaN0.0(000) 000-0000akila@anginc.netAkila Addesso(806) 352-5271Corporate Manager2023-01-30 13:25:3020230131.0INITIAL2022.00.00.00.00.00.08.00.00.00.00.00.00.00.00.00.00.00.00.08.00.00.08.00.08.00.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.00.08.00.00.08.00.08.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.08.00.0NaNNaN49242.0NaN
18NaN0.0NaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaN8.0Natural GasNaN2024-01-02 11:38:37final0.01.00.00.01.0435.00.02023-01-30 13:18:497100.1-1 (Rev. 05-2021)NaNNaNNaNNaNNaNNaNNaNNaN0.0NaNNaNNaNNaNNaNNaNNaNNaNAMARILLONaNTX5800 ARNOT ROAD79119NaN0.038.529.640.019.7236.3904.172.029.870.00.00.00.00.00.00.016.83123.4800.00.00.0140.3100.0140.3100.00.00.00.00.00.00.00.04.6478.850.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.011.3145.5100.00.00.056.8200.056.8200.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.05.5277.970.00.00.083.490.0140.3100.0NaNNaNAMARILLORANDALLTX5800 ARNOT ROAD79119TX383.0AMARILLO NATURAL GAS INCPrivately OwnedNaN0.1(000) 000-0000akila@anginc.netAkila Addesso(806) 352-5271Corporate Manager2023-01-30 13:18:4920230130.0INITIAL2022.00.073.021.00.066.052.014.04.09.00.00.00.00.00.00.00.00.013.0225.01.00.0239.00.0239.00.00.00.00.00.00.00.00.04.0142.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.00.04.088.00.00.092.00.092.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.09.0137.01.00.0147.00.0239.00.01.00.049241.0NaN
\n", + "
" + ], + "text/plain": [ + " additional_information all_known_leaks_scheduled_for_repair all_leaks_construction_defect_mains all_leaks_construction_defect_services all_leaks_corrosion_failure_mains all_leaks_corrosion_failure_services all_leaks_equipment_failure_mains all_leaks_equipment_failure_services all_leaks_excavation_damage_mains all_leaks_excavation_damage_services all_leaks_incorrect_operation_mains all_leaks_incorrect_operation_services all_leaks_material_defect_mains all_leaks_material_defect_services all_leaks_natural_force_damage_mains all_leaks_natural_force_damage_services all_leaks_other_mains all_leaks_other_outside_force_mains all_leaks_other_outside_force_services all_leaks_other_services all_leaks_outside_force_mains all_leaks_outside_force_services all_leaks_pipe_weld_joint_failure_mains all_leaks_pipe_weld_joint_failure_services all_leaks_third_party_mains all_leaks_third_party_services average_service_length_feet commodity correction_date data_date \\\n", + "17 NaN 0.0 NaN NaN NaN NaN NaN NaN 1.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8.0 Natural Gas NaN 2024-01-02 11:38:37 \n", + "18 NaN 0.0 NaN NaN NaN NaN NaN NaN 1.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.0 NaN NaN NaN 8.0 Natural Gas NaN 2024-01-02 11:38:37 \n", + "\n", + " data_maturity excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets federal_land_leaks_repaired_or_scheduled filing_date form_revision hazardous_leaks_corrosion_failure_mains hazardous_leaks_corrosion_failure_services hazardous_leaks_equipment_failure_mains hazardous_leaks_equipment_failure_services hazardous_leaks_excavation_damage_mains hazardous_leaks_excavation_damage_services hazardous_leaks_incorrect_operation_mains hazardous_leaks_incorrect_operation_services hazardous_leaks_mechanical_joint_failure hazardous_leaks_natural_force_damage_mains hazardous_leaks_natural_force_damage_services hazardous_leaks_other_mains hazardous_leaks_other_outside_force_mains hazardous_leaks_other_outside_force_services hazardous_leaks_other_services hazardous_leaks_pipe_weld_joint_failure_mains \\\n", + "17 final 0.0 0.0 1.0 0.0 1.0 11.0 0.0 2023-01-30 13:25:30 7100.1-1 (Rev. 05-2021) NaN NaN NaN NaN NaN NaN NaN NaN 0.0 NaN NaN NaN NaN NaN NaN NaN \n", + "18 final 0.0 1.0 0.0 0.0 1.0 435.0 0.0 2023-01-30 13:18:49 7100.1-1 (Rev. 05-2021) NaN NaN NaN NaN NaN NaN NaN NaN 0.0 NaN NaN NaN NaN NaN NaN NaN \n", + "\n", + " hazardous_leaks_pipe_weld_joint_failure_services headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip log main_1940s_miles main_1950s_miles main_1960s_miles main_1970s_miles main_1980s_miles main_1990s_miles main_2000s_miles main_2010s_miles main_2020s_miles main_abs_2_in_or_less_miles main_abs_2_to_4_in_miles main_abs_4_to_8_in_miles main_abs_8_to_12_in_miles main_abs_over_12_in_miles main_abs_total_miles main_abs_unknown_miles main_all_materials_2_in_or_less_miles main_all_materials_2_to_4_in_miles main_all_materials_4_to_8_in_miles main_all_materials_8_to_12_in_miles main_all_materials_over_12_in_miles main_all_materials_total_miles main_all_materials_unknown_miles main_all_time_miles main_cast_or_wrought_iron_2_in_or_less_miles main_cast_or_wrought_iron_2_to_4_in_miles main_cast_or_wrought_iron_4_to_8_in_miles main_cast_or_wrought_iron_8_to_12_in_miles \\\n", + "17 NaN AMARILLO NaN TX 5800 ARNOT ROAD 79119 NaN 0.0 0.0 0.00 0.0 0.00 9.206 2.38 0.00 0.00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 11.586 0.0 0.0 0.0 11.586 0.0 11.586 0.0 0.0 0.0 0.0 \n", + "18 NaN AMARILLO NaN TX 5800 ARNOT ROAD 79119 NaN 0.0 38.5 29.64 0.0 19.72 36.390 4.17 2.02 9.87 0.0 0.0 0.0 0.0 0.0 0.0 0.0 16.83 123.480 0.0 0.0 0.0 140.310 0.0 140.310 0.0 0.0 0.0 0.0 \n", + "\n", + " main_cast_or_wrought_iron_miles main_cast_or_wrought_iron_over_12_in_miles main_cast_or_wrought_iron_total_miles main_cast_or_wrought_iron_unknown_miles main_cathodically_protected_steel_bare_miles main_cathodically_protected_steel_coated_miles main_copper_2_in_or_less_miles main_copper_2_to_4_in_miles main_copper_4_to_8_in_miles main_copper_8_to_12_in_miles main_copper_miles main_copper_over_12_in_miles main_copper_total_miles main_copper_unknown_miles main_ductile_iron_2_in_or_less_miles main_ductile_iron_2_to_4_in_miles main_ductile_iron_4_to_8_in_miles main_ductile_iron_8_to_12_in_miles main_ductile_iron_miles main_ductile_iron_over_12_in_miles main_ductile_iron_total_miles main_ductile_iron_unknown_miles main_other_2_in_or_less_miles main_other_2_to_4_in_miles main_other_4_to_8_in_miles main_other_8_to_12_in_miles main_other_alt_2_in_or_less_miles main_other_alt_2_to_4_in_miles main_other_alt_4_to_8_in_miles main_other_alt_8_to_12_in_miles \\\n", + "17 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN \n", + "18 0.0 0.0 0.0 0.0 4.64 78.85 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN \n", + "\n", + " main_other_alt_miles main_other_alt_over_12_in_miles main_other_alt_total_miles main_other_alt_unknown_miles main_other_material_detail_miles main_other_miles main_other_over_12_in_miles main_other_plastic_2_in_or_less_miles main_other_plastic_2_to_4_in_miles main_other_plastic_4_to_8_in_miles main_other_plastic_8_to_12_in_miles main_other_plastic_over_12_in_miles main_other_plastic_total_miles main_other_plastic_unknown_miles main_other_total_miles main_other_unknown_miles main_pe_2_in_or_less_miles main_pe_2_to_4_in_miles main_pe_4_to_8_in_miles main_pe_8_to_12_in_miles main_pe_over_12_in_miles main_pe_total_miles main_pe_unknown_miles main_plastic_miles main_pre_1940_miles main_pvc_2_in_or_less_miles main_pvc_2_to_4_in_miles main_pvc_4_to_8_in_miles main_pvc_8_to_12_in_miles main_pvc_over_12_in_miles main_pvc_total_miles main_pvc_unknown_miles main_reconditioned_cast_iron_2_in_or_less_miles main_reconditioned_cast_iron_2_to_4_in_miles \\\n", + "17 NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 11.586 0.0 0.0 0.0 11.586 0.0 11.586 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "18 NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 11.31 45.510 0.0 0.0 0.0 56.820 0.0 56.820 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " main_reconditioned_cast_iron_4_to_8_in_miles main_reconditioned_cast_iron_8_to_12_in_miles main_reconditioned_cast_iron_miles main_reconditioned_cast_iron_over_12_in_miles main_reconditioned_cast_iron_total_miles main_reconditioned_cast_iron_unknown_miles main_steel_2_in_or_less_miles main_steel_2_to_4_in_miles main_steel_4_to_8_in_miles main_steel_8_to_12_in_miles main_steel_over_12_in_miles main_steel_total_miles main_steel_unknown_miles main_total_miles main_unknown_decade_miles main_unprotected_steel_bare_miles main_unprotected_steel_coated_miles office_address_city office_address_county office_address_state office_address_street office_address_zip operating_state operator_id_phmsa operator_name_phmsa operator_type original_report percent_unaccounted_for_gas preparer_email preparer_fax preparer_name preparer_phone preparer_title report_date report_number report_submission_type report_year services_1940s services_1950s \\\n", + "17 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0.0 0.0 0.0 0.00 0.0 11.586 0.0 NaN NaN AMARILLO NaN TX 5800 ARNOT ROAD 79119 OK 383.0 AMARILLO NATURAL GAS INC Privately Owned NaN 0.0 (000) 000-0000 akila@anginc.net Akila Addesso (806) 352-5271 Corporate Manager 2023-01-30 13:25:30 20230131.0 INITIAL 2022.0 0.0 0.0 \n", + "18 0.0 0.0 0.0 0.0 0.0 0.0 5.52 77.97 0.0 0.0 0.0 83.49 0.0 140.310 0.0 NaN NaN AMARILLO RANDALL TX 5800 ARNOT ROAD 79119 TX 383.0 AMARILLO NATURAL GAS INC Privately Owned NaN 0.1 (000) 000-0000 akila@anginc.net Akila Addesso (806) 352-5271 Corporate Manager 2023-01-30 13:18:49 20230130.0 INITIAL 2022.0 0.0 73.0 \n", + "\n", + " services_1960s services_1970s services_1980s services_1990s services_2000s services_2010s services_2020s services_abs_1_in_or_less services_abs_1_to_2_in services_abs_2_to_4_in services_abs_4_to_8_in services_abs_over_8_in services_abs_total services_abs_unknown services_all_materials_1_in_or_less services_all_materials_1_to_2_in services_all_materials_2_to_4_in services_all_materials_4_to_8_in services_all_materials_over_8_in services_all_materials_total services_all_materials_unknown services_all_time services_cast_or_wrought_iron services_cast_or_wrought_iron_1_in_or_less services_cast_or_wrought_iron_1_to_2_in services_cast_or_wrought_iron_2_to_4_in services_cast_or_wrought_iron_4_to_8_in services_cast_or_wrought_iron_over_8_in services_cast_or_wrought_iron_total services_cast_or_wrought_iron_unknown services_cathodically_protected_steel_bare services_cathodically_protected_steel_coated services_copper services_copper_1_in_or_less \\\n", + "17 0.0 0.0 0.0 8.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 8.0 0.0 0.0 8.0 0.0 8.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 \n", + "18 21.0 0.0 66.0 52.0 14.0 4.0 9.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 13.0 225.0 1.0 0.0 239.0 0.0 239.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 142.0 0.0 0.0 \n", + "\n", + " services_copper_1_to_2_in services_copper_2_to_4_in services_copper_4_to_8_in services_copper_over_8_in services_copper_total services_copper_unknown services_ductile_iron services_ductile_iron_1_in_or_less services_ductile_iron_1_to_2_in services_ductile_iron_2_to_4_in services_ductile_iron_4_to_8_in services_ductile_iron_over_8_in services_ductile_iron_total services_ductile_iron_unknown services_efv_in_system services_efv_installed services_other services_other_1_in_or_less services_other_1_to_2_in services_other_2_to_4_in services_other_4_to_8_in services_other_alt services_other_alt_1_in_or_less services_other_alt_1_to_2_in services_other_alt_2_to_4_in services_other_alt_4_to_8_in services_other_alt_over_8_in services_other_alt_total services_other_alt_unknown services_other_material_detail services_other_over_8_in services_other_plastic_1_in_or_less services_other_plastic_1_to_2_in services_other_plastic_2_to_4_in services_other_plastic_4_to_8_in \\\n", + "17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 \n", + "18 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " services_other_plastic_over_8_in services_other_plastic_total services_other_plastic_unknown services_other_total services_other_unknown services_pe_1_in_or_less services_pe_1_to_2_in services_pe_2_to_4_in services_pe_4_to_8_in services_pe_over_8_in services_pe_total services_pe_unknown services_plastic services_pre_1940 services_pvc_1_in_or_less services_pvc_1_to_2_in services_pvc_2_to_4_in services_pvc_4_to_8_in services_pvc_over_8_in services_pvc_total services_pvc_unknown services_reconditioned_cast_iron services_reconditioned_cast_iron_1_in_or_less services_reconditioned_cast_iron_1_to_2_in services_reconditioned_cast_iron_2_to_4_in services_reconditioned_cast_iron_4_to_8_in services_reconditioned_cast_iron_over_8_in services_reconditioned_cast_iron_total services_reconditioned_cast_iron_unknown services_shutoff_valve_in_system services_shutoff_valve_installed services_steel_1_in_or_less services_steel_1_to_2_in services_steel_2_to_4_in \\\n", + "17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 8.0 0.0 0.0 8.0 0.0 8.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "18 0.0 0.0 0.0 0.0 0.0 0.0 4.0 88.0 0.0 0.0 92.0 0.0 92.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.0 137.0 \n", + "\n", + " services_steel_4_to_8_in services_steel_over_8_in services_steel_total services_steel_unknown services_total services_unknown_decade services_unprotected_steel_bare services_unprotected_steel_coated supplemental_report_number supplementary_report \n", + "17 0.0 0.0 0.0 0.0 8.0 0.0 NaN NaN 49242.0 NaN \n", + "18 1.0 0.0 147.0 0.0 239.0 0.0 1.0 0.0 49241.0 NaN " + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "demand_forecasts[demand_forecasts.operator_id_phmsa==383.0].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'excavation_damage_locating_practices': '0.0, 1.0',\n", + " 'excavation_damage_one_call_notification': '1.0, 0.0',\n", + " 'excavation_tickets': '11.0, 435.0',\n", + " 'filing_date': '2023-01-30T13:25:30.000000000, 2023-01-30T13:18:49.000000000',\n", + " 'main_1950s_miles': '0.0, 38.5',\n", + " 'main_1960s_miles': '0.0, 29.64',\n", + " 'main_1980s_miles': '0.0, 19.72',\n", + " 'main_1990s_miles': '9.206, 36.39',\n", + " 'main_2000s_miles': '2.38, 4.17',\n", + " 'main_2010s_miles': '0.0, 2.02',\n", + " 'main_2020s_miles': '0.0, 9.87',\n", + " 'main_all_materials_2_in_or_less_miles': '0.0, 16.83',\n", + " 'main_all_materials_2_to_4_in_miles': '11.586, 123.48',\n", + " 'main_all_materials_total_miles': '11.586, 140.31',\n", + " 'main_all_time_miles': '11.586, 140.31',\n", + " 'main_pe_2_in_or_less_miles': '0.0, 11.31',\n", + " 'main_pe_2_to_4_in_miles': '11.586, 45.51',\n", + " 'main_pe_total_miles': '11.586, 56.82',\n", + " 'main_plastic_miles': '11.586, 56.82',\n", + " 'main_steel_2_in_or_less_miles': '0.0, 5.52',\n", + " 'main_steel_2_to_4_in_miles': '0.0, 77.97',\n", + " 'main_steel_total_miles': '0.0, 83.49',\n", + " 'main_total_miles': '11.586, 140.31',\n", + " 'operating_state': 'OK, TX',\n", + " 'percent_unaccounted_for_gas': '0.0, 0.1',\n", + " 'report_date': '2023-01-30T13:25:30.000000000, 2023-01-30T13:18:49.000000000',\n", + " 'report_number': '20230131.0, 20230130.0',\n", + " 'services_1950s': '0.0, 73.0',\n", + " 'services_1960s': '0.0, 21.0',\n", + " 'services_1980s': '0.0, 66.0',\n", + " 'services_1990s': '8.0, 52.0',\n", + " 'services_2000s': '0.0, 14.0',\n", + " 'services_2010s': '0.0, 4.0',\n", + " 'services_2020s': '0.0, 9.0',\n", + " 'services_all_materials_1_to_2_in': '0.0, 13.0',\n", + " 'services_all_materials_2_to_4_in': '8.0, 225.0',\n", + " 'services_all_materials_4_to_8_in': '0.0, 1.0',\n", + " 'services_all_materials_total': '8.0, 239.0',\n", + " 'services_all_time': '8.0, 239.0',\n", + " 'services_pe_1_to_2_in': '0.0, 4.0',\n", + " 'services_pe_2_to_4_in': '8.0, 88.0',\n", + " 'services_pe_total': '8.0, 92.0',\n", + " 'services_plastic': '8.0, 92.0',\n", + " 'services_steel_1_to_2_in': '0.0, 9.0',\n", + " 'services_steel_2_to_4_in': '0.0, 137.0',\n", + " 'services_steel_4_to_8_in': '0.0, 1.0',\n", + " 'services_steel_total': '0.0, 147.0',\n", + " 'services_total': '8.0, 239.0',\n", + " 'supplemental_report_number': '49242.0, 49241.0'}\n" + ] + } + ], + "source": [ + "# What values are different when we look at AMARILLO NATURAL GAS INC\n", + "filtered_df = demand_forecasts[demand_forecasts.operator_id_phmsa==383.0]\n", + "\n", + "columns_with_differences = filtered_df.loc[:, filtered_df.nunique() > 1]\n", + "\n", + "result_dict = {\n", + " col: \", \".join(map(str, columns_with_differences[col].values))\n", + " for col in columns_with_differences.columns\n", + "}\n", + "\n", + "# Step 4: Pretty print the dictionary\n", + "import pprint\n", + "pprint.pprint(result_dict)\n", + "sorted_columns = sorted(demand_forecasts.columns)\n", + "\n", + "# Pretty print the sorted columns\n", + "for col in sorted_columns:\n", + " print(col)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "additional_information\n", + "all_known_leaks_scheduled_for_repair\n", + "all_leaks_construction_defect_mains\n", + "all_leaks_construction_defect_services\n", + "all_leaks_corrosion_failure_mains\n", + "all_leaks_corrosion_failure_services\n", + "all_leaks_equipment_failure_mains\n", + "all_leaks_equipment_failure_services\n", + "all_leaks_excavation_damage_mains\n", + "all_leaks_excavation_damage_services\n", + "all_leaks_incorrect_operation_mains\n", + "all_leaks_incorrect_operation_services\n", + "all_leaks_material_defect_mains\n", + "all_leaks_material_defect_services\n", + "all_leaks_natural_force_damage_mains\n", + "all_leaks_natural_force_damage_services\n", + "all_leaks_other_mains\n", + "all_leaks_other_outside_force_mains\n", + "all_leaks_other_outside_force_services\n", + "all_leaks_other_services\n", + "all_leaks_outside_force_mains\n", + "all_leaks_outside_force_services\n", + "all_leaks_pipe_weld_joint_failure_mains\n", + "all_leaks_pipe_weld_joint_failure_services\n", + "all_leaks_third_party_mains\n", + "all_leaks_third_party_services\n", + "average_service_length_feet\n", + "commodity\n", + "correction_date\n", + "data_date\n", + "data_maturity\n", + "excavation_damage_excavation_practices\n", + "excavation_damage_locating_practices\n", + "excavation_damage_one_call_notification\n", + "excavation_damage_other\n", + "excavation_damage_total\n", + "excavation_tickets\n", + "federal_land_leaks_repaired_or_scheduled\n", + "filing_date\n", + "form_revision\n", + "hazardous_leaks_corrosion_failure_mains\n", + "hazardous_leaks_corrosion_failure_services\n", + "hazardous_leaks_equipment_failure_mains\n", + "hazardous_leaks_equipment_failure_services\n", + "hazardous_leaks_excavation_damage_mains\n", + "hazardous_leaks_excavation_damage_services\n", + "hazardous_leaks_incorrect_operation_mains\n", + "hazardous_leaks_incorrect_operation_services\n", + "hazardous_leaks_mechanical_joint_failure\n", + "hazardous_leaks_natural_force_damage_mains\n", + "hazardous_leaks_natural_force_damage_services\n", + "hazardous_leaks_other_mains\n", + "hazardous_leaks_other_outside_force_mains\n", + "hazardous_leaks_other_outside_force_services\n", + "hazardous_leaks_other_services\n", + "hazardous_leaks_pipe_weld_joint_failure_mains\n", + "hazardous_leaks_pipe_weld_joint_failure_services\n", + "headquarters_address_city\n", + "headquarters_address_county\n", + "headquarters_address_state\n", + "headquarters_address_street\n", + "headquarters_address_zip\n", + "log\n", + "main_1940s_miles\n", + "main_1950s_miles\n", + "main_1960s_miles\n", + "main_1970s_miles\n", + "main_1980s_miles\n", + "main_1990s_miles\n", + "main_2000s_miles\n", + "main_2010s_miles\n", + "main_2020s_miles\n", + "main_abs_2_in_or_less_miles\n", + "main_abs_2_to_4_in_miles\n", + "main_abs_4_to_8_in_miles\n", + "main_abs_8_to_12_in_miles\n", + "main_abs_over_12_in_miles\n", + "main_abs_total_miles\n", + "main_abs_unknown_miles\n", + "main_all_materials_2_in_or_less_miles\n", + "main_all_materials_2_to_4_in_miles\n", + "main_all_materials_4_to_8_in_miles\n", + "main_all_materials_8_to_12_in_miles\n", + "main_all_materials_over_12_in_miles\n", + "main_all_materials_total_miles\n", + "main_all_materials_unknown_miles\n", + "main_all_time_miles\n", + "main_cast_or_wrought_iron_2_in_or_less_miles\n", + "main_cast_or_wrought_iron_2_to_4_in_miles\n", + "main_cast_or_wrought_iron_4_to_8_in_miles\n", + "main_cast_or_wrought_iron_8_to_12_in_miles\n", + "main_cast_or_wrought_iron_miles\n", + "main_cast_or_wrought_iron_over_12_in_miles\n", + "main_cast_or_wrought_iron_total_miles\n", + "main_cast_or_wrought_iron_unknown_miles\n", + "main_cathodically_protected_steel_bare_miles\n", + "main_cathodically_protected_steel_coated_miles\n", + "main_copper_2_in_or_less_miles\n", + "main_copper_2_to_4_in_miles\n", + "main_copper_4_to_8_in_miles\n", + "main_copper_8_to_12_in_miles\n", + "main_copper_miles\n", + "main_copper_over_12_in_miles\n", + "main_copper_total_miles\n", + "main_copper_unknown_miles\n", + "main_ductile_iron_2_in_or_less_miles\n", + "main_ductile_iron_2_to_4_in_miles\n", + "main_ductile_iron_4_to_8_in_miles\n", + "main_ductile_iron_8_to_12_in_miles\n", + "main_ductile_iron_miles\n", + "main_ductile_iron_over_12_in_miles\n", + "main_ductile_iron_total_miles\n", + "main_ductile_iron_unknown_miles\n", + "main_other_2_in_or_less_miles\n", + "main_other_2_to_4_in_miles\n", + "main_other_4_to_8_in_miles\n", + "main_other_8_to_12_in_miles\n", + "main_other_alt_2_in_or_less_miles\n", + "main_other_alt_2_to_4_in_miles\n", + "main_other_alt_4_to_8_in_miles\n", + "main_other_alt_8_to_12_in_miles\n", + "main_other_alt_miles\n", + "main_other_alt_over_12_in_miles\n", + "main_other_alt_total_miles\n", + "main_other_alt_unknown_miles\n", + "main_other_material_detail_miles\n", + "main_other_miles\n", + "main_other_over_12_in_miles\n", + "main_other_plastic_2_in_or_less_miles\n", + "main_other_plastic_2_to_4_in_miles\n", + "main_other_plastic_4_to_8_in_miles\n", + "main_other_plastic_8_to_12_in_miles\n", + "main_other_plastic_over_12_in_miles\n", + "main_other_plastic_total_miles\n", + "main_other_plastic_unknown_miles\n", + "main_other_total_miles\n", + "main_other_unknown_miles\n", + "main_pe_2_in_or_less_miles\n", + "main_pe_2_to_4_in_miles\n", + "main_pe_4_to_8_in_miles\n", + "main_pe_8_to_12_in_miles\n", + "main_pe_over_12_in_miles\n", + "main_pe_total_miles\n", + "main_pe_unknown_miles\n", + "main_plastic_miles\n", + "main_pre_1940_miles\n", + "main_pvc_2_in_or_less_miles\n", + "main_pvc_2_to_4_in_miles\n", + "main_pvc_4_to_8_in_miles\n", + "main_pvc_8_to_12_in_miles\n", + "main_pvc_over_12_in_miles\n", + "main_pvc_total_miles\n", + "main_pvc_unknown_miles\n", + "main_reconditioned_cast_iron_2_in_or_less_miles\n", + "main_reconditioned_cast_iron_2_to_4_in_miles\n", + "main_reconditioned_cast_iron_4_to_8_in_miles\n", + "main_reconditioned_cast_iron_8_to_12_in_miles\n", + "main_reconditioned_cast_iron_miles\n", + "main_reconditioned_cast_iron_over_12_in_miles\n", + "main_reconditioned_cast_iron_total_miles\n", + "main_reconditioned_cast_iron_unknown_miles\n", + "main_steel_2_in_or_less_miles\n", + "main_steel_2_to_4_in_miles\n", + "main_steel_4_to_8_in_miles\n", + "main_steel_8_to_12_in_miles\n", + "main_steel_over_12_in_miles\n", + "main_steel_total_miles\n", + "main_steel_unknown_miles\n", + "main_total_miles\n", + "main_unknown_decade_miles\n", + "main_unprotected_steel_bare_miles\n", + "main_unprotected_steel_coated_miles\n", + "office_address_city\n", + "office_address_county\n", + "office_address_state\n", + "office_address_street\n", + "office_address_zip\n", + "operating_state\n", + "operator_id_phmsa\n", + "operator_name_phmsa\n", + "operator_type\n", + "original_report\n", + "percent_unaccounted_for_gas\n", + "preparer_email\n", + "preparer_fax\n", + "preparer_name\n", + "preparer_phone\n", + "preparer_title\n", + "report_date\n", + "report_number\n", + "report_submission_type\n", + "report_year\n", + "services_1940s\n", + "services_1950s\n", + "services_1960s\n", + "services_1970s\n", + "services_1980s\n", + "services_1990s\n", + "services_2000s\n", + "services_2010s\n", + "services_2020s\n", + "services_abs_1_in_or_less\n", + "services_abs_1_to_2_in\n", + "services_abs_2_to_4_in\n", + "services_abs_4_to_8_in\n", + "services_abs_over_8_in\n", + "services_abs_total\n", + "services_abs_unknown\n", + "services_all_materials_1_in_or_less\n", + "services_all_materials_1_to_2_in\n", + "services_all_materials_2_to_4_in\n", + "services_all_materials_4_to_8_in\n", + "services_all_materials_over_8_in\n", + "services_all_materials_total\n", + "services_all_materials_unknown\n", + "services_all_time\n", + "services_cast_or_wrought_iron\n", + "services_cast_or_wrought_iron_1_in_or_less\n", + "services_cast_or_wrought_iron_1_to_2_in\n", + "services_cast_or_wrought_iron_2_to_4_in\n", + "services_cast_or_wrought_iron_4_to_8_in\n", + "services_cast_or_wrought_iron_over_8_in\n", + "services_cast_or_wrought_iron_total\n", + "services_cast_or_wrought_iron_unknown\n", + "services_cathodically_protected_steel_bare\n", + "services_cathodically_protected_steel_coated\n", + "services_copper\n", + "services_copper_1_in_or_less\n", + "services_copper_1_to_2_in\n", + "services_copper_2_to_4_in\n", + "services_copper_4_to_8_in\n", + "services_copper_over_8_in\n", + "services_copper_total\n", + "services_copper_unknown\n", + "services_ductile_iron\n", + "services_ductile_iron_1_in_or_less\n", + "services_ductile_iron_1_to_2_in\n", + "services_ductile_iron_2_to_4_in\n", + "services_ductile_iron_4_to_8_in\n", + "services_ductile_iron_over_8_in\n", + "services_ductile_iron_total\n", + "services_ductile_iron_unknown\n", + "services_efv_in_system\n", + "services_efv_installed\n", + "services_other\n", + "services_other_1_in_or_less\n", + "services_other_1_to_2_in\n", + "services_other_2_to_4_in\n", + "services_other_4_to_8_in\n", + "services_other_alt\n", + "services_other_alt_1_in_or_less\n", + "services_other_alt_1_to_2_in\n", + "services_other_alt_2_to_4_in\n", + "services_other_alt_4_to_8_in\n", + "services_other_alt_over_8_in\n", + "services_other_alt_total\n", + "services_other_alt_unknown\n", + "services_other_material_detail\n", + "services_other_over_8_in\n", + "services_other_plastic_1_in_or_less\n", + "services_other_plastic_1_to_2_in\n", + "services_other_plastic_2_to_4_in\n", + "services_other_plastic_4_to_8_in\n", + "services_other_plastic_over_8_in\n", + "services_other_plastic_total\n", + "services_other_plastic_unknown\n", + "services_other_total\n", + "services_other_unknown\n", + "services_pe_1_in_or_less\n", + "services_pe_1_to_2_in\n", + "services_pe_2_to_4_in\n", + "services_pe_4_to_8_in\n", + "services_pe_over_8_in\n", + "services_pe_total\n", + "services_pe_unknown\n", + "services_plastic\n", + "services_pre_1940\n", + "services_pvc_1_in_or_less\n", + "services_pvc_1_to_2_in\n", + "services_pvc_2_to_4_in\n", + "services_pvc_4_to_8_in\n", + "services_pvc_over_8_in\n", + "services_pvc_total\n", + "services_pvc_unknown\n", + "services_reconditioned_cast_iron\n", + "services_reconditioned_cast_iron_1_in_or_less\n", + "services_reconditioned_cast_iron_1_to_2_in\n", + "services_reconditioned_cast_iron_2_to_4_in\n", + "services_reconditioned_cast_iron_4_to_8_in\n", + "services_reconditioned_cast_iron_over_8_in\n", + "services_reconditioned_cast_iron_total\n", + "services_reconditioned_cast_iron_unknown\n", + "services_shutoff_valve_in_system\n", + "services_shutoff_valve_installed\n", + "services_steel_1_in_or_less\n", + "services_steel_1_to_2_in\n", + "services_steel_2_to_4_in\n", + "services_steel_4_to_8_in\n", + "services_steel_over_8_in\n", + "services_steel_total\n", + "services_steel_unknown\n", + "services_total\n", + "services_unknown_decade\n", + "services_unprotected_steel_bare\n", + "services_unprotected_steel_coated\n", + "supplemental_report_number\n", + "supplementary_report\n" + ] + } + ], + "source": [ + "sorted_cols = sorted(demand_forecasts.columns)\n", + "\n", + "for col in sorted_cols:\n", + " print(col)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## core_phmsagas__yearly_distribution_operators" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyoperator_id_phmsaexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_title
02023-03-06 16:30:4320230656.0INITIAL2022.018.0ABBYVILLE, CITY OFPO BOX 100ABBYVILLEKS67510Reno18.00.00.00.00.00.01.00.00.00.00.00.05.00NaN(620) 500-5758cityofabbyville@hotmail.comMindy Iverson(620) 286-5643agent
12023-02-15 13:07:1420230299.0INITIAL2022.027.0ABITA SPRINGS NAT GAS & WATER222 Highway 19SLAUGHTERLA70777-3521NaN27.02.00.01.00.03.01047.0133.027.025.00.00.03.90NaN(000) 000-0000kewing.pip@gmail.comKaylan A. Ewing(225) 286-5650Consultant
22023-03-15 14:08:4820231215.0INITIAL2022.045.0ADAIRSVILLE, CITY OF2369 Hall Station Rd NWAdairsvilleGA30103Bartow45.0NaN1.0NaNNaN1.01815.01292.068.02.00.00.0-1.60This report prepared by: Maurice Chaney Munici...(678) 819-0957mchaney@gasauthority.comMAURICE CHANEY(770) 851-3094Consultant
32023-03-06 11:55:3620230639.0INITIAL2022.049.0TOWN OF ADAMSVILLE GAS DEPT203 Sunrise Drive 231 East Main StreetAdamsvilleTN38310McNairy49.08.05.02.00.015.0963.0671.07.08.03.00.05.42We have stopped using the radio read transpond...(000) 000-0000scottklinck@yahoo.comScott Klinck(731) 632-4214Publc Works Director
42023-02-14 15:41:2420230289.0INITIAL2022.054.0ADEL GAS DEPT, CITY OFP.O. Box 1530AdelGA31620Cook54.00.00.00.00.00.0448.0102.03.02.00.00.00.00NaN(000) 000-0000peterschultzharpassociates@yahoo.comPeter Schultz(229) 834-6246agent
\n", + "
" + ], + "text/plain": [ + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county operator_id_phmsa excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", + "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno 18.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 5.00 NaN (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson (620) 286-5643 agent\n", + "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN 27.0 2.0 0.0 1.0 0.0 3.0 1047.0 133.0 27.0 25.0 0.0 0.0 3.90 NaN (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing (225) 286-5650 Consultant\n", + "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow 45.0 NaN 1.0 NaN NaN 1.0 1815.0 1292.0 68.0 2.0 0.0 0.0 -1.60 This report prepared by: Maurice Chaney Munici... (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY (770) 851-3094 Consultant\n", + "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy 49.0 8.0 5.0 2.0 0.0 15.0 963.0 671.0 7.0 8.0 3.0 0.0 5.42 We have stopped using the radio read transpond... (000) 000-0000 scottklinck@yahoo.com Scott Klinck (731) 632-4214 Publc Works Director\n", + "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 54.0 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "core_phmsagas__yearly_distribution_operators = demand_forecasts[[\n", + " \"report_date\",\n", + " \"report_number\",\n", + " \"report_submission_type\",\n", + " \"report_year\",\n", + " \"operator_id_phmsa\",\n", + " \"operator_name_phmsa\",\n", + " \"office_address_street\",\n", + " \"office_address_city\",\n", + " \"office_address_state\",\n", + " \"office_address_zip\",\n", + " \"office_address_county\",\n", + " \"operator_id_phmsa\",\n", + " \"excavation_damage_excavation_practices\",\n", + " \"excavation_damage_locating_practices\",\n", + " \"excavation_damage_one_call_notification\",\n", + " \"excavation_damage_other\",\n", + " \"excavation_damage_total\",\n", + " \"excavation_tickets\",\n", + " \"services_efv_in_system\",\n", + " \"services_efv_installed\",\n", + " \"services_shutoff_valve_in_system\",\n", + " \"services_shutoff_valve_installed\",\n", + " \"federal_land_leaks_repaired_or_scheduled\",\n", + " \"percent_unaccounted_for_gas\",\n", + " \"additional_information\",\n", + " \"preparer_email\",\n", + " \"preparer_fax\",\n", + " \"preparer_name\",\n", + " \"preparer_phone\",\n", + " \"preparer_title\"\n", + "]]\n", + "\n", + "core_phmsagas__yearly_distribution_operators.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Operator Table Tasks\n", + "\n", + "Next part to complete" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pudl-dev", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/pudl/metadata/sources.py b/src/pudl/metadata/sources.py index a8856bce16..f8b61c9933 100644 --- a/src/pudl/metadata/sources.py +++ b/src/pudl/metadata/sources.py @@ -791,7 +791,7 @@ "working_partitions": { # 1970 - 1989 are all in one CSV in multiple tabs with multi-column headers # and will need to be more extensively processed, not currently integrated. - "years": sorted(set(range(1990, 2023))), + "years": sorted(set(range(1990, 2024))), }, "keywords": sorted(set(KEYWORDS["phmsa"] + KEYWORDS["us_govt"])), "license_raw": LICENSES["us-govt"], diff --git a/src/pudl/package_data/settings/etl_fast.yml b/src/pudl/package_data/settings/etl_fast.yml index eb2308baf6..22204e6678 100644 --- a/src/pudl/package_data/settings/etl_fast.yml +++ b/src/pudl/package_data/settings/etl_fast.yml @@ -90,7 +90,7 @@ datasets: # also load the EIA 860 data for that year if possible year_quarters: ["2023q1"] phmsagas: - years: [2022] + years: [2023] nrelatb: years: [2024] gridpathratoolkit: diff --git a/src/pudl/package_data/settings/etl_full.yml b/src/pudl/package_data/settings/etl_full.yml index a1bfcd11fc..87200fab7e 100644 --- a/src/pudl/package_data/settings/etl_full.yml +++ b/src/pudl/package_data/settings/etl_full.yml @@ -350,6 +350,7 @@ datasets: 2020, 2021, 2022, + 2023, ] nrelatb: years: [2021, 2022, 2023, 2024] diff --git a/src/pudl/workspace/datastore.py b/src/pudl/workspace/datastore.py index 17f629016e..b1a099c308 100644 --- a/src/pudl/workspace/datastore.py +++ b/src/pudl/workspace/datastore.py @@ -206,7 +206,7 @@ class ZenodoDoiSettings(BaseSettings): ferc60: ZenodoDoi = "10.5281/zenodo.13149090" ferc714: ZenodoDoi = "10.5281/zenodo.13149091" gridpathratoolkit: ZenodoDoi = "10.5281/zenodo.10892394" - phmsagas: ZenodoDoi = "10.5281/zenodo.10493790" + phmsagas: ZenodoDoi = "10.5281/zenodo.13624526" nrelatb: ZenodoDoi = "10.5281/zenodo.12658647" model_config = SettingsConfigDict( From b40071e685e3d0013e355386b0adbeac07c98e04 Mon Sep 17 00:00:00 2001 From: sam Date: Mon, 23 Sep 2024 08:54:40 -0400 Subject: [PATCH 02/39] Starting data transformation --- .../phmsagas_distribution.ipynb | 755 +++++++++++++++++- 1 file changed, 727 insertions(+), 28 deletions(-) diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index 60ad89e9a7..740f9b20ea 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -17,13 +17,14 @@ "output_type": "stream", "text": [ "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-09-21 12:44:41 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + "2024-09-23 08:02:24 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" ] } ], "source": [ "from dagster import AssetKey\n", "from pudl.etl import defs\n", + "import pandas as pd\n", "\n", "demand_forecasts = defs.load_asset_value(AssetKey(\"raw_phmsagas__yearly_distribution\"))" ] @@ -2008,7 +2009,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -2023,7 +2024,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -2052,7 +2053,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -2101,7 +2102,7 @@ "18 383.0 AMARILLO NATURAL GAS INC" ] }, - "execution_count": 30, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -2112,7 +2113,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -3112,7 +3113,7 @@ "18 1.0 0.0 147.0 0.0 239.0 0.0 1.0 0.0 49241.0 NaN " ] }, - "execution_count": 27, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -3123,7 +3124,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -3178,7 +3179,314 @@ " 'services_steel_4_to_8_in': '0.0, 1.0',\n", " 'services_steel_total': '0.0, 147.0',\n", " 'services_total': '8.0, 239.0',\n", - " 'supplemental_report_number': '49242.0, 49241.0'}\n" + " 'supplemental_report_number': '49242.0, 49241.0'}\n", + "additional_information\n", + "all_known_leaks_scheduled_for_repair\n", + "all_leaks_construction_defect_mains\n", + "all_leaks_construction_defect_services\n", + "all_leaks_corrosion_failure_mains\n", + "all_leaks_corrosion_failure_services\n", + "all_leaks_equipment_failure_mains\n", + "all_leaks_equipment_failure_services\n", + "all_leaks_excavation_damage_mains\n", + "all_leaks_excavation_damage_services\n", + "all_leaks_incorrect_operation_mains\n", + "all_leaks_incorrect_operation_services\n", + "all_leaks_material_defect_mains\n", + "all_leaks_material_defect_services\n", + "all_leaks_natural_force_damage_mains\n", + "all_leaks_natural_force_damage_services\n", + "all_leaks_other_mains\n", + "all_leaks_other_outside_force_mains\n", + "all_leaks_other_outside_force_services\n", + "all_leaks_other_services\n", + "all_leaks_outside_force_mains\n", + "all_leaks_outside_force_services\n", + "all_leaks_pipe_weld_joint_failure_mains\n", + "all_leaks_pipe_weld_joint_failure_services\n", + "all_leaks_third_party_mains\n", + "all_leaks_third_party_services\n", + "average_service_length_feet\n", + "commodity\n", + "correction_date\n", + "data_date\n", + "data_maturity\n", + "excavation_damage_excavation_practices\n", + "excavation_damage_locating_practices\n", + "excavation_damage_one_call_notification\n", + "excavation_damage_other\n", + "excavation_damage_total\n", + "excavation_tickets\n", + "federal_land_leaks_repaired_or_scheduled\n", + "filing_date\n", + "form_revision\n", + "hazardous_leaks_corrosion_failure_mains\n", + "hazardous_leaks_corrosion_failure_services\n", + "hazardous_leaks_equipment_failure_mains\n", + "hazardous_leaks_equipment_failure_services\n", + "hazardous_leaks_excavation_damage_mains\n", + "hazardous_leaks_excavation_damage_services\n", + "hazardous_leaks_incorrect_operation_mains\n", + "hazardous_leaks_incorrect_operation_services\n", + "hazardous_leaks_mechanical_joint_failure\n", + "hazardous_leaks_natural_force_damage_mains\n", + "hazardous_leaks_natural_force_damage_services\n", + "hazardous_leaks_other_mains\n", + "hazardous_leaks_other_outside_force_mains\n", + "hazardous_leaks_other_outside_force_services\n", + "hazardous_leaks_other_services\n", + "hazardous_leaks_pipe_weld_joint_failure_mains\n", + "hazardous_leaks_pipe_weld_joint_failure_services\n", + "headquarters_address_city\n", + "headquarters_address_county\n", + "headquarters_address_state\n", + "headquarters_address_street\n", + "headquarters_address_zip\n", + "log\n", + "main_1940s_miles\n", + "main_1950s_miles\n", + "main_1960s_miles\n", + "main_1970s_miles\n", + "main_1980s_miles\n", + "main_1990s_miles\n", + "main_2000s_miles\n", + "main_2010s_miles\n", + "main_2020s_miles\n", + "main_abs_2_in_or_less_miles\n", + "main_abs_2_to_4_in_miles\n", + "main_abs_4_to_8_in_miles\n", + "main_abs_8_to_12_in_miles\n", + "main_abs_over_12_in_miles\n", + "main_abs_total_miles\n", + "main_abs_unknown_miles\n", + "main_all_materials_2_in_or_less_miles\n", + "main_all_materials_2_to_4_in_miles\n", + "main_all_materials_4_to_8_in_miles\n", + "main_all_materials_8_to_12_in_miles\n", + "main_all_materials_over_12_in_miles\n", + "main_all_materials_total_miles\n", + "main_all_materials_unknown_miles\n", + "main_all_time_miles\n", + "main_cast_or_wrought_iron_2_in_or_less_miles\n", + "main_cast_or_wrought_iron_2_to_4_in_miles\n", + "main_cast_or_wrought_iron_4_to_8_in_miles\n", + "main_cast_or_wrought_iron_8_to_12_in_miles\n", + "main_cast_or_wrought_iron_miles\n", + "main_cast_or_wrought_iron_over_12_in_miles\n", + "main_cast_or_wrought_iron_total_miles\n", + "main_cast_or_wrought_iron_unknown_miles\n", + "main_cathodically_protected_steel_bare_miles\n", + "main_cathodically_protected_steel_coated_miles\n", + "main_copper_2_in_or_less_miles\n", + "main_copper_2_to_4_in_miles\n", + "main_copper_4_to_8_in_miles\n", + "main_copper_8_to_12_in_miles\n", + "main_copper_miles\n", + "main_copper_over_12_in_miles\n", + "main_copper_total_miles\n", + "main_copper_unknown_miles\n", + "main_ductile_iron_2_in_or_less_miles\n", + "main_ductile_iron_2_to_4_in_miles\n", + "main_ductile_iron_4_to_8_in_miles\n", + "main_ductile_iron_8_to_12_in_miles\n", + "main_ductile_iron_miles\n", + "main_ductile_iron_over_12_in_miles\n", + "main_ductile_iron_total_miles\n", + "main_ductile_iron_unknown_miles\n", + "main_other_2_in_or_less_miles\n", + "main_other_2_to_4_in_miles\n", + "main_other_4_to_8_in_miles\n", + "main_other_8_to_12_in_miles\n", + "main_other_alt_2_in_or_less_miles\n", + "main_other_alt_2_to_4_in_miles\n", + "main_other_alt_4_to_8_in_miles\n", + "main_other_alt_8_to_12_in_miles\n", + "main_other_alt_miles\n", + "main_other_alt_over_12_in_miles\n", + "main_other_alt_total_miles\n", + "main_other_alt_unknown_miles\n", + "main_other_material_detail_miles\n", + "main_other_miles\n", + "main_other_over_12_in_miles\n", + "main_other_plastic_2_in_or_less_miles\n", + "main_other_plastic_2_to_4_in_miles\n", + "main_other_plastic_4_to_8_in_miles\n", + "main_other_plastic_8_to_12_in_miles\n", + "main_other_plastic_over_12_in_miles\n", + "main_other_plastic_total_miles\n", + "main_other_plastic_unknown_miles\n", + "main_other_total_miles\n", + "main_other_unknown_miles\n", + "main_pe_2_in_or_less_miles\n", + "main_pe_2_to_4_in_miles\n", + "main_pe_4_to_8_in_miles\n", + "main_pe_8_to_12_in_miles\n", + "main_pe_over_12_in_miles\n", + "main_pe_total_miles\n", + "main_pe_unknown_miles\n", + "main_plastic_miles\n", + "main_pre_1940_miles\n", + "main_pvc_2_in_or_less_miles\n", + "main_pvc_2_to_4_in_miles\n", + "main_pvc_4_to_8_in_miles\n", + "main_pvc_8_to_12_in_miles\n", + "main_pvc_over_12_in_miles\n", + "main_pvc_total_miles\n", + "main_pvc_unknown_miles\n", + "main_reconditioned_cast_iron_2_in_or_less_miles\n", + "main_reconditioned_cast_iron_2_to_4_in_miles\n", + "main_reconditioned_cast_iron_4_to_8_in_miles\n", + "main_reconditioned_cast_iron_8_to_12_in_miles\n", + "main_reconditioned_cast_iron_miles\n", + "main_reconditioned_cast_iron_over_12_in_miles\n", + "main_reconditioned_cast_iron_total_miles\n", + "main_reconditioned_cast_iron_unknown_miles\n", + "main_steel_2_in_or_less_miles\n", + "main_steel_2_to_4_in_miles\n", + "main_steel_4_to_8_in_miles\n", + "main_steel_8_to_12_in_miles\n", + "main_steel_over_12_in_miles\n", + "main_steel_total_miles\n", + "main_steel_unknown_miles\n", + "main_total_miles\n", + "main_unknown_decade_miles\n", + "main_unprotected_steel_bare_miles\n", + "main_unprotected_steel_coated_miles\n", + "office_address_city\n", + "office_address_county\n", + "office_address_state\n", + "office_address_street\n", + "office_address_zip\n", + "operating_state\n", + "operator_id_phmsa\n", + "operator_name_phmsa\n", + "operator_type\n", + "original_report\n", + "percent_unaccounted_for_gas\n", + "preparer_email\n", + "preparer_fax\n", + "preparer_name\n", + "preparer_phone\n", + "preparer_title\n", + "report_date\n", + "report_number\n", + "report_submission_type\n", + "report_year\n", + "services_1940s\n", + "services_1950s\n", + "services_1960s\n", + "services_1970s\n", + "services_1980s\n", + "services_1990s\n", + "services_2000s\n", + "services_2010s\n", + "services_2020s\n", + "services_abs_1_in_or_less\n", + "services_abs_1_to_2_in\n", + "services_abs_2_to_4_in\n", + "services_abs_4_to_8_in\n", + "services_abs_over_8_in\n", + "services_abs_total\n", + "services_abs_unknown\n", + "services_all_materials_1_in_or_less\n", + "services_all_materials_1_to_2_in\n", + "services_all_materials_2_to_4_in\n", + "services_all_materials_4_to_8_in\n", + "services_all_materials_over_8_in\n", + "services_all_materials_total\n", + "services_all_materials_unknown\n", + "services_all_time\n", + "services_cast_or_wrought_iron\n", + "services_cast_or_wrought_iron_1_in_or_less\n", + "services_cast_or_wrought_iron_1_to_2_in\n", + "services_cast_or_wrought_iron_2_to_4_in\n", + "services_cast_or_wrought_iron_4_to_8_in\n", + "services_cast_or_wrought_iron_over_8_in\n", + "services_cast_or_wrought_iron_total\n", + "services_cast_or_wrought_iron_unknown\n", + "services_cathodically_protected_steel_bare\n", + "services_cathodically_protected_steel_coated\n", + "services_copper\n", + "services_copper_1_in_or_less\n", + "services_copper_1_to_2_in\n", + "services_copper_2_to_4_in\n", + "services_copper_4_to_8_in\n", + "services_copper_over_8_in\n", + "services_copper_total\n", + "services_copper_unknown\n", + "services_ductile_iron\n", + "services_ductile_iron_1_in_or_less\n", + "services_ductile_iron_1_to_2_in\n", + "services_ductile_iron_2_to_4_in\n", + "services_ductile_iron_4_to_8_in\n", + "services_ductile_iron_over_8_in\n", + "services_ductile_iron_total\n", + "services_ductile_iron_unknown\n", + "services_efv_in_system\n", + "services_efv_installed\n", + "services_other\n", + "services_other_1_in_or_less\n", + "services_other_1_to_2_in\n", + "services_other_2_to_4_in\n", + "services_other_4_to_8_in\n", + "services_other_alt\n", + "services_other_alt_1_in_or_less\n", + "services_other_alt_1_to_2_in\n", + "services_other_alt_2_to_4_in\n", + "services_other_alt_4_to_8_in\n", + "services_other_alt_over_8_in\n", + "services_other_alt_total\n", + "services_other_alt_unknown\n", + "services_other_material_detail\n", + "services_other_over_8_in\n", + "services_other_plastic_1_in_or_less\n", + "services_other_plastic_1_to_2_in\n", + "services_other_plastic_2_to_4_in\n", + "services_other_plastic_4_to_8_in\n", + "services_other_plastic_over_8_in\n", + "services_other_plastic_total\n", + "services_other_plastic_unknown\n", + "services_other_total\n", + "services_other_unknown\n", + "services_pe_1_in_or_less\n", + "services_pe_1_to_2_in\n", + "services_pe_2_to_4_in\n", + "services_pe_4_to_8_in\n", + "services_pe_over_8_in\n", + "services_pe_total\n", + "services_pe_unknown\n", + "services_plastic\n", + "services_pre_1940\n", + "services_pvc_1_in_or_less\n", + "services_pvc_1_to_2_in\n", + "services_pvc_2_to_4_in\n", + "services_pvc_4_to_8_in\n", + "services_pvc_over_8_in\n", + "services_pvc_total\n", + "services_pvc_unknown\n", + "services_reconditioned_cast_iron\n", + "services_reconditioned_cast_iron_1_in_or_less\n", + "services_reconditioned_cast_iron_1_to_2_in\n", + "services_reconditioned_cast_iron_2_to_4_in\n", + "services_reconditioned_cast_iron_4_to_8_in\n", + "services_reconditioned_cast_iron_over_8_in\n", + "services_reconditioned_cast_iron_total\n", + "services_reconditioned_cast_iron_unknown\n", + "services_shutoff_valve_in_system\n", + "services_shutoff_valve_installed\n", + "services_steel_1_in_or_less\n", + "services_steel_1_to_2_in\n", + "services_steel_2_to_4_in\n", + "services_steel_4_to_8_in\n", + "services_steel_over_8_in\n", + "services_steel_total\n", + "services_steel_unknown\n", + "services_total\n", + "services_unknown_decade\n", + "services_unprotected_steel_bare\n", + "services_unprotected_steel_coated\n", + "supplemental_report_number\n", + "supplementary_report\n" ] } ], @@ -3205,7 +3513,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -3538,7 +3846,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 59, "metadata": {}, "outputs": [ { @@ -3573,7 +3881,6 @@ " office_address_state\n", " office_address_zip\n", " office_address_county\n", - " operator_id_phmsa\n", " excavation_damage_excavation_practices\n", " excavation_damage_locating_practices\n", " excavation_damage_one_call_notification\n", @@ -3608,7 +3915,6 @@ " KS\n", " 67510\n", " Reno\n", - " 18.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -3641,7 +3947,6 @@ " LA\n", " 70777-3521\n", " NaN\n", - " 27.0\n", " 2.0\n", " 0.0\n", " 1.0\n", @@ -3674,7 +3979,6 @@ " GA\n", " 30103\n", " Bartow\n", - " 45.0\n", " NaN\n", " 1.0\n", " NaN\n", @@ -3707,7 +4011,6 @@ " TN\n", " 38310\n", " McNairy\n", - " 49.0\n", " 8.0\n", " 5.0\n", " 2.0\n", @@ -3740,7 +4043,6 @@ " GA\n", " 31620\n", " Cook\n", - " 54.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -3765,15 +4067,15 @@ "" ], "text/plain": [ - " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county operator_id_phmsa excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", - "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno 18.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 5.00 NaN (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson (620) 286-5643 agent\n", - "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN 27.0 2.0 0.0 1.0 0.0 3.0 1047.0 133.0 27.0 25.0 0.0 0.0 3.90 NaN (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing (225) 286-5650 Consultant\n", - "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow 45.0 NaN 1.0 NaN NaN 1.0 1815.0 1292.0 68.0 2.0 0.0 0.0 -1.60 This report prepared by: Maurice Chaney Munici... (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY (770) 851-3094 Consultant\n", - "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy 49.0 8.0 5.0 2.0 0.0 15.0 963.0 671.0 7.0 8.0 3.0 0.0 5.42 We have stopped using the radio read transpond... (000) 000-0000 scottklinck@yahoo.com Scott Klinck (731) 632-4214 Publc Works Director\n", - "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 54.0 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent" + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", + "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 5.00 NaN (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson (620) 286-5643 agent\n", + "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN 2.0 0.0 1.0 0.0 3.0 1047.0 133.0 27.0 25.0 0.0 0.0 3.90 NaN (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing (225) 286-5650 Consultant\n", + "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow NaN 1.0 NaN NaN 1.0 1815.0 1292.0 68.0 2.0 0.0 0.0 -1.60 This report prepared by: Maurice Chaney Munici... (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY (770) 851-3094 Consultant\n", + "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy 8.0 5.0 2.0 0.0 15.0 963.0 671.0 7.0 8.0 3.0 0.0 5.42 We have stopped using the radio read transpond... (000) 000-0000 scottklinck@yahoo.com Scott Klinck (731) 632-4214 Publc Works Director\n", + "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent" ] }, - "execution_count": 52, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -3791,7 +4093,6 @@ " \"office_address_state\",\n", " \"office_address_zip\",\n", " \"office_address_county\",\n", - " \"operator_id_phmsa\",\n", " \"excavation_damage_excavation_practices\",\n", " \"excavation_damage_locating_practices\",\n", " \"excavation_damage_one_call_notification\",\n", @@ -3819,9 +4120,407 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Operator Table Tasks\n", + "## Operator Table Tasks" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Standardize NAs\n", "\n", - "Next part to complete" + "Based on the analysis below, I'm not seeing any major issues with nans. \n", + "\n", + "* No empty strings. Just nans.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Analyzing column: report_date\n", + "Column 'report_date' is of type datetime64[ns].\n", + "\n", + "Analyzing column: report_number\n", + "Column 'report_number' is numeric.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: report_submission_type\n", + "Column 'report_submission_type' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: report_year\n", + "Column 'report_year' is numeric.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: operator_id_phmsa\n", + "Column 'operator_id_phmsa' is numeric.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: operator_name_phmsa\n", + "Column 'operator_name_phmsa' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: office_address_street\n", + "Column 'office_address_street' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: office_address_city\n", + "Column 'office_address_city' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: office_address_state\n", + "Column 'office_address_state' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: office_address_zip\n", + "Column 'office_address_zip' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: office_address_county\n", + "Column 'office_address_county' is a string type.\n", + "Rows with None values: 546\n", + "Rows with empty strings: 0\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: excavation_damage_excavation_practices\n", + "Column 'excavation_damage_excavation_practices' is numeric.\n", + "Min value: 0.0\n", + "Max value: 2349.0\n", + "Rows with NA values: 75\n", + "Custom missing values (e.g., 0): 742\n", + "\n", + "Analyzing column: excavation_damage_locating_practices\n", + "Column 'excavation_damage_locating_practices' is numeric.\n", + "Min value: 0.0\n", + "Max value: 1338.0\n", + "Rows with NA values: 74\n", + "Custom missing values (e.g., 0): 925\n", + "\n", + "Analyzing column: excavation_damage_one_call_notification\n", + "Column 'excavation_damage_one_call_notification' is numeric.\n", + "Min value: 0.0\n", + "Max value: 2813.0\n", + "Rows with NA values: 38\n", + "Custom missing values (e.g., 0): 883\n", + "\n", + "Analyzing column: excavation_damage_other\n", + "Column 'excavation_damage_other' is numeric.\n", + "Min value: 0.0\n", + "Max value: 195.0\n", + "Rows with NA values: 240\n", + "Custom missing values (e.g., 0): 1011\n", + "\n", + "Analyzing column: excavation_damage_total\n", + "Column 'excavation_damage_total' is numeric.\n", + "Min value: 0.0\n", + "Max value: 6500.0\n", + "Rows with NA values: 0\n", + "Custom missing values (e.g., 0): 678\n", + "\n", + "Analyzing column: excavation_tickets\n", + "Column 'excavation_tickets' is numeric.\n", + "Min value: 0.0\n", + "Max value: 1584765.0\n", + "Rows with NA values: 0\n", + "Custom missing values (e.g., 0): 53\n", + "\n", + "Analyzing column: services_efv_in_system\n", + "Column 'services_efv_in_system' is numeric.\n", + "Min value: 0.0\n", + "Max value: 670273.0\n", + "Rows with NA values: 0\n", + "Custom missing values (e.g., 0): 234\n", + "\n", + "Analyzing column: services_efv_installed\n", + "Column 'services_efv_installed' is numeric.\n", + "Min value: 0.0\n", + "Max value: 83927.0\n", + "Rows with NA values: 0\n", + "Custom missing values (e.g., 0): 409\n", + "\n", + "Analyzing column: services_shutoff_valve_in_system\n", + "Column 'services_shutoff_valve_in_system' is numeric.\n", + "Min value: 0.0\n", + "Max value: 913900.0\n", + "Rows with NA values: 0\n", + "Custom missing values (e.g., 0): 582\n", + "\n", + "Analyzing column: services_shutoff_valve_installed\n", + "Column 'services_shutoff_valve_installed' is numeric.\n", + "Min value: 0.0\n", + "Max value: 11288.0\n", + "Rows with NA values: 0\n", + "Custom missing values (e.g., 0): 842\n", + "\n", + "Analyzing column: federal_land_leaks_repaired_or_scheduled\n", + "Column 'federal_land_leaks_repaired_or_scheduled' is numeric.\n", + "Min value: 0.0\n", + "Max value: 81.0\n", + "Rows with NA values: 0\n", + "Custom missing values (e.g., 0): 1389\n", + "\n", + "Analyzing column: percent_unaccounted_for_gas\n", + "Column 'percent_unaccounted_for_gas' is numeric.\n", + "Min value: -74.76\n", + "Max value: 61.0\n", + "Rows with NA values: 0\n", + "Custom missing values (e.g., 0): 276\n", + "\n", + "Analyzing column: additional_information\n", + "Column 'additional_information' is a string type.\n", + "Rows with None values: 1165\n", + "Rows with empty strings: 0\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: preparer_email\n", + "Column 'preparer_email' is a string type.\n", + "Rows with None values: 88\n", + "Rows with empty strings: 0\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: preparer_fax\n", + "Column 'preparer_fax' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: preparer_name\n", + "Column 'preparer_name' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: preparer_phone\n", + "Column 'preparer_phone' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: preparer_title\n", + "Column 'preparer_title' is a string type.\n", + "Rows with None values: 163\n", + "Rows with empty strings: 0\n", + "Rows with custom missing values: 0\n", + "\n" + ] + } + ], + "source": [ + "nan_cols = []\n", + "exception_cols = []\n", + "\n", + "# Define custom missing value markers\n", + "custom_missing_values = ['', ' ', 'NA', 'N/A', 'NULL', '-', 'None', 'NaN', '?', '*', '#']\n", + "\n", + "# Standardize NAs and analyze columns\n", + "for col in core_phmsagas__yearly_distribution_operators.columns:\n", + " try:\n", + " print(f\"Analyzing column: {col}\")\n", + " \n", + " # Get the column values\n", + " col_data = core_phmsagas__yearly_distribution_operators[col]\n", + " \n", + " # Check if the column is of string (object) type\n", + " if col_data.dtype == 'object':\n", + " # Count rows where the value is NaN, None, empty string, or custom missing values\n", + " none_count = col_data.isna().sum() # Count None (NaN)\n", + " empty_string_count = (col_data.str.strip() == '').sum() # Count empty strings\n", + " custom_missing_count = col_data.isin(custom_missing_values).sum() # Count custom missing values\n", + " \n", + " total_nan_count = none_count + empty_string_count + custom_missing_count\n", + " \n", + " if total_nan_count > 0:\n", + " nan_cols.append(col)\n", + " \n", + " # Output counts\n", + " print(f\"Column '{col}' is a string type.\")\n", + " if none_count > 0 or empty_string_count > 0 or custom_missing_count > 0:\n", + " print(f\"Rows with None values: {none_count}\")\n", + " print(f\"Rows with empty strings: {empty_string_count}\")\n", + " print(f\"Rows with custom missing values: {custom_missing_count}\")\n", + " else:\n", + " print(\"Found nothing worth reporting here\")\n", + " \n", + " # Check if the column is numeric (int or float)\n", + " elif pd.api.types.is_numeric_dtype(col_data):\n", + " # Output min, max, out-of-range values, and NA count\n", + " print(f\"Column '{col}' is numeric.\")\n", + "\n", + " # Count NA values in the column\n", + " na_count = col_data.isna().sum()\n", + " # Count custom missing values in numeric columns (if applicable)\n", + " custom_missing_numeric_count = col_data.isin([0]).sum() # Assuming 0 is considered a missing value\n", + " \n", + " if na_count > 0 or custom_missing_numeric_count > 0:\n", + " nan_cols.append(col)\n", + " \n", + " # Handle the non-NA data for further analysis\n", + " col_data_cleaned = col_data.dropna()\n", + " \n", + " if not col_data_cleaned.empty:\n", + " # Calculate min and max\n", + " min_val = col_data_cleaned.min()\n", + " max_val = col_data_cleaned.max()\n", + " \n", + " if min_val < 0 or na_count > 0 or custom_missing_numeric_count > 0:\n", + " print(f\"Min value: {min_val}\")\n", + " print(f\"Max value: {max_val}\")\n", + " print(f\"Rows with NA values: {na_count}\")\n", + " print(f\"Custom missing values (e.g., 0): {custom_missing_numeric_count}\")\n", + " else:\n", + " print(\"Found nothing worth reporting here\")\n", + " else:\n", + " print(f\"Column '{col}' is numeric but contains only NA values.\")\n", + " \n", + " # If the column is of some other type, simply note the type\n", + " else:\n", + " print(f\"Column '{col}' is of type {col_data.dtype}.\")\n", + " print(\"\")\n", + " except Exception as e:\n", + " exception_cols.append(col)\n", + " print(f\"Caught exception for column {col}: {e}\\n\")\n", + " continue\n" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "exception_cols" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### percent_unaccounted_for_gas\n", + "\n", + "The one thing that did stick out somewhat was the \"percent_unaccounted_for_gas\" column having negative values.\n", + "\n", + "This comes from Part G of the PHMSA form, which defines this value as:\n", + "\n", + "```\n", + "Unaccounted for gas as a percent of total consumption for the 12 months ending June 30 of the reporting year.\n", + "[(Purchased gas + produced gas) minus (customer use + company use + appropriate adjustments)] divided by (customer use + company use + appropriate adjustments) times 100 equals percent unaccounted for.\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
percent_unaccounted_for_gas
2-1.600
11-5.090
14-5.000
30-17.802
35-7.000
......
1401-0.480
1412-0.232
1415-6.360
1416-2.910
1424-1.650
\n", + "

214 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " percent_unaccounted_for_gas\n", + "2 -1.600\n", + "11 -5.090\n", + "14 -5.000\n", + "30 -17.802\n", + "35 -7.000\n", + "... ...\n", + "1401 -0.480\n", + "1412 -0.232\n", + "1415 -6.360\n", + "1416 -2.910\n", + "1424 -1.650\n", + "\n", + "[214 rows x 1 columns]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "core_phmsagas__yearly_distribution_operators[core_phmsagas__yearly_distribution_operators.percent_unaccounted_for_gas<0][[\"percent_unaccounted_for_gas\"]]" ] }, { From 90fd277ae46b1384215653864911b8693d6c45ff Mon Sep 17 00:00:00 2001 From: sam Date: Thu, 26 Sep 2024 08:28:32 -0400 Subject: [PATCH 03/39] Update notebook and change etl_fast phmsagas years --- .../phmsagas_distribution.ipynb | 958 +++++++++++++++++- src/pudl/package_data/settings/etl_fast.yml | 2 +- 2 files changed, 915 insertions(+), 45 deletions(-) diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index 740f9b20ea..e361cab0b0 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 96, "metadata": {}, "outputs": [ { @@ -17,7 +17,15 @@ "output_type": "stream", "text": [ "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-09-23 08:02:24 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + "2024-09-26 08:24:30 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022.0\n", + "2022.0\n" ] } ], @@ -26,7 +34,9 @@ "from pudl.etl import defs\n", "import pandas as pd\n", "\n", - "demand_forecasts = defs.load_asset_value(AssetKey(\"raw_phmsagas__yearly_distribution\"))" + "raw_df = defs.load_asset_value(AssetKey(\"raw_phmsagas__yearly_distribution\"))\n", + "print(raw_df.report_year.min())\n", + "print(raw_df.report_year.max())\n" ] }, { @@ -38,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 97, "metadata": {}, "outputs": [ { @@ -1998,24 +2008,24 @@ "4 2.0 0.0 303.0 3.0 0.0 0.0 0.0 306.0 0.0 769.0 0.0 NaN NaN 49693.0 NaN " ] }, - "execution_count": 2, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "demand_forecasts.head()" + "raw_df.head()" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 98, "metadata": {}, "outputs": [], "source": [ "def sorted_value_printer(column):\n", - " # Assuming 'demand_forecasts' is your DataFrame\n", - " sorted_values = sorted(demand_forecasts[column])\n", + " # Assuming 'raw_df' is your DataFrame\n", + " sorted_values = sorted(raw_df[column])\n", "\n", " # Pretty print the sorted columns\n", " for val in sorted_values:\n", @@ -2024,7 +2034,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 99, "metadata": {}, "outputs": [ { @@ -2041,19 +2051,19 @@ } ], "source": [ - "print(demand_forecasts.filing_date.max())\n", - "print(demand_forecasts.filing_date.min())\n", + "print(raw_df.filing_date.max())\n", + "print(raw_df.filing_date.min())\n", "\n", - "print(demand_forecasts.report_date.max())\n", - "print(demand_forecasts.report_date.min())\n", + "print(raw_df.report_date.max())\n", + "print(raw_df.report_date.min())\n", "\n", - "print(demand_forecasts.report_year.max())\n", - "print(demand_forecasts.report_year.min())" + "print(raw_df.report_year.max())\n", + "print(raw_df.report_year.min())" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 100, "metadata": {}, "outputs": [ { @@ -2102,18 +2112,18 @@ "18 383.0 AMARILLO NATURAL GAS INC" ] }, - "execution_count": 5, + "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "demand_forecasts[demand_forecasts.operator_id_phmsa==383][['operator_id_phmsa','operator_name_phmsa']]" + "raw_df[raw_df.operator_id_phmsa==383][['operator_id_phmsa','operator_name_phmsa']]" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 101, "metadata": {}, "outputs": [ { @@ -3113,18 +3123,18 @@ "18 1.0 0.0 147.0 0.0 239.0 0.0 1.0 0.0 49241.0 NaN " ] }, - "execution_count": 6, + "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "demand_forecasts[demand_forecasts.operator_id_phmsa==383.0].head()" + "raw_df[raw_df.operator_id_phmsa==383.0].head()" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 102, "metadata": {}, "outputs": [ { @@ -3491,8 +3501,8 @@ } ], "source": [ - "# What values are different when we look at AMARILLO NATURAL GAS INC\n", - "filtered_df = demand_forecasts[demand_forecasts.operator_id_phmsa==383.0]\n", + "# What values are different when we look at AMARILLO NATURAL GAS INC (ID 383)\n", + "filtered_df = raw_df[raw_df.operator_id_phmsa==383.0]\n", "\n", "columns_with_differences = filtered_df.loc[:, filtered_df.nunique() > 1]\n", "\n", @@ -3504,7 +3514,7 @@ "# Step 4: Pretty print the dictionary\n", "import pprint\n", "pprint.pprint(result_dict)\n", - "sorted_columns = sorted(demand_forecasts.columns)\n", + "sorted_columns = sorted(raw_df.columns)\n", "\n", "# Pretty print the sorted columns\n", "for col in sorted_columns:\n", @@ -3513,7 +3523,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 103, "metadata": {}, "outputs": [ { @@ -3831,7 +3841,8 @@ } ], "source": [ - "sorted_cols = sorted(demand_forecasts.columns)\n", + "# Let's look at all the columns that are available\n", + "sorted_cols = sorted(raw_df.columns)\n", "\n", "for col in sorted_cols:\n", " print(col)" @@ -3846,7 +3857,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 104, "metadata": {}, "outputs": [ { @@ -3899,6 +3910,11 @@ " preparer_name\n", " preparer_phone\n", " preparer_title\n", + " headquarters_address_city\n", + " headquarters_address_county\n", + " headquarters_address_state\n", + " headquarters_address_street\n", + " headquarters_address_zip\n", " \n", " \n", " \n", @@ -3933,6 +3949,11 @@ " Mindy Iverson\n", " (620) 286-5643\n", " agent\n", + " ABBYVILLE\n", + " NaN\n", + " KS\n", + " P O BOX 100\n", + " 67510\n", " \n", " \n", " 1\n", @@ -3965,6 +3986,11 @@ " Kaylan A. Ewing\n", " (225) 286-5650\n", " Consultant\n", + " ABITA SPRINGS\n", + " NaN\n", + " LA\n", + " 22161 LEVEL STREET, PO BOX 461\n", + " 70420\n", " \n", " \n", " 2\n", @@ -3997,6 +4023,11 @@ " MAURICE CHANEY\n", " (770) 851-3094\n", " Consultant\n", + " ADAIRSVILLE\n", + " NaN\n", + " GA\n", + " 116 PUBLIC SQUARE\n", + " 30103\n", " \n", " \n", " 3\n", @@ -4029,6 +4060,11 @@ " Scott Klinck\n", " (731) 632-4214\n", " Publc Works Director\n", + " ADAMSVILLE\n", + " NaN\n", + " TN\n", + " 231 EAST MAIN STREET P O BOX 301\n", + " 38310\n", " \n", " \n", " 4\n", @@ -4061,27 +4097,32 @@ " Peter Schultz\n", " (229) 834-6246\n", " agent\n", + " ADEL\n", + " NaN\n", + " GA\n", + " P.O. BOX 1530\n", + " 31620\n", " \n", " \n", "\n", "" ], "text/plain": [ - " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", - "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 5.00 NaN (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson (620) 286-5643 agent\n", - "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN 2.0 0.0 1.0 0.0 3.0 1047.0 133.0 27.0 25.0 0.0 0.0 3.90 NaN (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing (225) 286-5650 Consultant\n", - "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow NaN 1.0 NaN NaN 1.0 1815.0 1292.0 68.0 2.0 0.0 0.0 -1.60 This report prepared by: Maurice Chaney Munici... (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY (770) 851-3094 Consultant\n", - "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy 8.0 5.0 2.0 0.0 15.0 963.0 671.0 7.0 8.0 3.0 0.0 5.42 We have stopped using the radio read transpond... (000) 000-0000 scottklinck@yahoo.com Scott Klinck (731) 632-4214 Publc Works Director\n", - "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent" + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip\n", + "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 5.00 NaN (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson (620) 286-5643 agent ABBYVILLE NaN KS P O BOX 100 67510\n", + "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN 2.0 0.0 1.0 0.0 3.0 1047.0 133.0 27.0 25.0 0.0 0.0 3.90 NaN (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing (225) 286-5650 Consultant ABITA SPRINGS NaN LA 22161 LEVEL STREET, PO BOX 461 70420\n", + "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow NaN 1.0 NaN NaN 1.0 1815.0 1292.0 68.0 2.0 0.0 0.0 -1.60 This report prepared by: Maurice Chaney Munici... (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY (770) 851-3094 Consultant ADAIRSVILLE NaN GA 116 PUBLIC SQUARE 30103\n", + "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy 8.0 5.0 2.0 0.0 15.0 963.0 671.0 7.0 8.0 3.0 0.0 5.42 We have stopped using the radio read transpond... (000) 000-0000 scottklinck@yahoo.com Scott Klinck (731) 632-4214 Publc Works Director ADAMSVILLE NaN TN 231 EAST MAIN STREET P O BOX 301 38310\n", + "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent ADEL NaN GA P.O. BOX 1530 31620" ] }, - "execution_count": 59, + "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "core_phmsagas__yearly_distribution_operators = demand_forecasts[[\n", + "core_phmsagas__yearly_distribution_operators = raw_df[[\n", " \"report_date\",\n", " \"report_number\",\n", " \"report_submission_type\",\n", @@ -4110,7 +4151,13 @@ " \"preparer_fax\",\n", " \"preparer_name\",\n", " \"preparer_phone\",\n", - " \"preparer_title\"\n", + " \"preparer_title\",\n", + " # Adding these fields temporarily for transformation cleanup\n", + " \"headquarters_address_city\",\n", + " \"headquarters_address_county\",\n", + " \"headquarters_address_state\",\n", + " \"headquarters_address_street\",\n", + " \"headquarters_address_zip\"\n", "]]\n", "\n", "core_phmsagas__yearly_distribution_operators.head()" @@ -4136,7 +4183,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 105, "metadata": {}, "outputs": [ { @@ -4301,6 +4348,29 @@ "Rows with None values: 163\n", "Rows with empty strings: 0\n", "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: headquarters_address_city\n", + "Column 'headquarters_address_city' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: headquarters_address_county\n", + "Column 'headquarters_address_county' is numeric.\n", + "Min value: 0.0\n", + "Max value: 0.0\n", + "Rows with NA values: 1440\n", + "Custom missing values (e.g., 0): 1\n", + "\n", + "Analyzing column: headquarters_address_state\n", + "Column 'headquarters_address_state' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: headquarters_address_street\n", + "Column 'headquarters_address_street' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: headquarters_address_zip\n", + "Column 'headquarters_address_zip' is a string type.\n", + "Found nothing worth reporting here\n", "\n" ] } @@ -4384,7 +4454,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 106, "metadata": {}, "outputs": [ { @@ -4393,7 +4463,7 @@ "[]" ] }, - "execution_count": 61, + "execution_count": 106, "metadata": {}, "output_type": "execute_result" } @@ -4415,12 +4485,16 @@ "```\n", "Unaccounted for gas as a percent of total consumption for the 12 months ending June 30 of the reporting year.\n", "[(Purchased gas + produced gas) minus (customer use + company use + appropriate adjustments)] divided by (customer use + company use + appropriate adjustments) times 100 equals percent unaccounted for.\n", - "```" + "```\n", + "\n", + "Based on that description, it sounds like negative values here suggest that a company produced/purchased less gas than was consumed. But also it's hard to tell exactly what these figures mean (especially the \"appropriate adjustments\" part).\n", + "\n", + "So the question is: are we okay with these negative values? Or do we want to manually clean them up somehow?" ] }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 107, "metadata": {}, "outputs": [ { @@ -4514,7 +4588,7 @@ "[214 rows x 1 columns]" ] }, - "execution_count": 56, + "execution_count": 107, "metadata": {}, "output_type": "execute_result" } @@ -4523,6 +4597,802 @@ "core_phmsagas__yearly_distribution_operators[core_phmsagas__yearly_distribution_operators.percent_unaccounted_for_gas<0][[\"percent_unaccounted_for_gas\"]]" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Standardize usage of office vs HQ address over time." + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_titleheadquarters_address_cityheadquarters_address_countyheadquarters_address_stateheadquarters_address_streetheadquarters_address_zip
02023-03-06 16:30:4320230656.0INITIAL2022.018.0ABBYVILLE, CITY OFPO BOX 100ABBYVILLEKS67510Reno0.00.00.00.00.01.00.00.00.00.00.05.00NaN(620) 500-5758cityofabbyville@hotmail.comMindy Iverson(620) 286-5643agentABBYVILLENaNKSP O BOX 10067510
12023-02-15 13:07:1420230299.0INITIAL2022.027.0ABITA SPRINGS NAT GAS & WATER222 Highway 19SLAUGHTERLA70777-3521NaN2.00.01.00.03.01047.0133.027.025.00.00.03.90NaN(000) 000-0000kewing.pip@gmail.comKaylan A. Ewing(225) 286-5650ConsultantABITA SPRINGSNaNLA22161 LEVEL STREET, PO BOX 46170420
22023-03-15 14:08:4820231215.0INITIAL2022.045.0ADAIRSVILLE, CITY OF2369 Hall Station Rd NWAdairsvilleGA30103BartowNaN1.0NaNNaN1.01815.01292.068.02.00.00.0-1.60This report prepared by: Maurice Chaney Munici...(678) 819-0957mchaney@gasauthority.comMAURICE CHANEY(770) 851-3094ConsultantADAIRSVILLENaNGA116 PUBLIC SQUARE30103
32023-03-06 11:55:3620230639.0INITIAL2022.049.0TOWN OF ADAMSVILLE GAS DEPT203 Sunrise Drive 231 East Main StreetAdamsvilleTN38310McNairy8.05.02.00.015.0963.0671.07.08.03.00.05.42We have stopped using the radio read transpond...(000) 000-0000scottklinck@yahoo.comScott Klinck(731) 632-4214Publc Works DirectorADAMSVILLENaNTN231 EAST MAIN STREET P O BOX 30138310
42023-02-14 15:41:2420230289.0INITIAL2022.054.0ADEL GAS DEPT, CITY OFP.O. Box 1530AdelGA31620Cook0.00.00.00.00.0448.0102.03.02.00.00.00.00NaN(000) 000-0000peterschultzharpassociates@yahoo.comPeter Schultz(229) 834-6246agentADELNaNGAP.O. BOX 153031620
\n", + "
" + ], + "text/plain": [ + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip\n", + "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 5.00 NaN (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson (620) 286-5643 agent ABBYVILLE NaN KS P O BOX 100 67510\n", + "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN 2.0 0.0 1.0 0.0 3.0 1047.0 133.0 27.0 25.0 0.0 0.0 3.90 NaN (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing (225) 286-5650 Consultant ABITA SPRINGS NaN LA 22161 LEVEL STREET, PO BOX 461 70420\n", + "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow NaN 1.0 NaN NaN 1.0 1815.0 1292.0 68.0 2.0 0.0 0.0 -1.60 This report prepared by: Maurice Chaney Munici... (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY (770) 851-3094 Consultant ADAIRSVILLE NaN GA 116 PUBLIC SQUARE 30103\n", + "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy 8.0 5.0 2.0 0.0 15.0 963.0 671.0 7.0 8.0 3.0 0.0 5.42 We have stopped using the radio read transpond... (000) 000-0000 scottklinck@yahoo.com Scott Klinck (731) 632-4214 Publc Works Director ADAMSVILLE NaN TN 231 EAST MAIN STREET P O BOX 301 38310\n", + "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent ADEL NaN GA P.O. BOX 1530 31620" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "core_phmsagas__yearly_distribution_operators.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['report_date', 'report_number', 'report_submission_type', 'report_year', 'operator_id_phmsa', 'operator_name_phmsa', 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_county', 'excavation_damage_excavation_practices', 'excavation_damage_locating_practices', 'excavation_damage_one_call_notification', 'excavation_damage_other', 'excavation_damage_total', 'excavation_tickets', 'services_efv_in_system', 'services_efv_installed', 'services_shutoff_valve_in_system', 'services_shutoff_valve_installed', 'federal_land_leaks_repaired_or_scheduled', 'percent_unaccounted_for_gas', 'additional_information', 'preparer_email', 'preparer_fax', 'preparer_name', 'preparer_phone', 'preparer_title', 'headquarters_address_city', 'headquarters_address_county', 'headquarters_address_state', 'headquarters_address_street', 'headquarters_address_zip'], dtype='object')" + ] + }, + "execution_count": 109, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "core_phmsagas__yearly_distribution_operators.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyheadquarters_address_cityheadquarters_address_countyheadquarters_address_stateheadquarters_address_streetheadquarters_address_zipadditional_information
02023-03-06 16:30:4320230656.0INITIAL2022.018.0ABBYVILLE, CITY OFPO BOX 100ABBYVILLEKS67510RenoABBYVILLENaNKSP O BOX 10067510NaN
12023-02-15 13:07:1420230299.0INITIAL2022.027.0ABITA SPRINGS NAT GAS & WATER222 Highway 19SLAUGHTERLA70777-3521NaNABITA SPRINGSNaNLA22161 LEVEL STREET, PO BOX 46170420NaN
22023-03-15 14:08:4820231215.0INITIAL2022.045.0ADAIRSVILLE, CITY OF2369 Hall Station Rd NWAdairsvilleGA30103BartowADAIRSVILLENaNGA116 PUBLIC SQUARE30103This report prepared by: Maurice Chaney Munici...
32023-03-06 11:55:3620230639.0INITIAL2022.049.0TOWN OF ADAMSVILLE GAS DEPT203 Sunrise Drive 231 East Main StreetAdamsvilleTN38310McNairyADAMSVILLENaNTN231 EAST MAIN STREET P O BOX 30138310We have stopped using the radio read transpond...
42023-02-14 15:41:2420230289.0INITIAL2022.054.0ADEL GAS DEPT, CITY OFP.O. Box 1530AdelGA31620CookADELNaNGAP.O. BOX 153031620NaN
\n", + "
" + ], + "text/plain": [ + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip additional_information\n", + "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno ABBYVILLE NaN KS P O BOX 100 67510 NaN\n", + "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN ABITA SPRINGS NaN LA 22161 LEVEL STREET, PO BOX 461 70420 NaN\n", + "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow ADAIRSVILLE NaN GA 116 PUBLIC SQUARE 30103 This report prepared by: Maurice Chaney Munici...\n", + "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy ADAMSVILLE NaN TN 231 EAST MAIN STREET P O BOX 301 38310 We have stopped using the radio read transpond...\n", + "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook ADEL NaN GA P.O. BOX 1530 31620 NaN" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "core_phmsagas__yearly_distribution_operators[['report_date', 'report_number', 'report_submission_type', 'report_year', 'operator_id_phmsa', 'operator_name_phmsa', 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_county', 'headquarters_address_city', 'headquarters_address_county', 'headquarters_address_state', 'headquarters_address_street', 'headquarters_address_zip', 'additional_information']].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_7095/1654031739.py:14: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df_addresses['office_address'] = df_addresses['office_address_street'] + ', ' + df_addresses['office_address_city'] + ', ' + df_addresses['office_address_state'] + ' ' + df_addresses['office_address_zip']\n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_7095/1654031739.py:15: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df_addresses['headquarters_address'] = df_addresses['headquarters_address_street'] + ', ' + df_addresses['headquarters_address_city'] + ', ' + df_addresses['headquarters_address_state'] + ' ' + df_addresses['headquarters_address_zip']\n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_7095/1654031739.py:22: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", + " df_addresses['address_switch'] = df_addresses.groupby('operator_id_phmsa').apply(\n" + ] + } + ], + "source": [ + "# Assuming 'core_phmsagas__yearly_distribution_operators' is your dataframe\n", + "df = core_phmsagas__yearly_distribution_operators\n", + "\n", + "# Selecting the relevant columns\n", + "address_cols = [\n", + " 'operator_id_phmsa', 'report_year',\n", + " 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip',\n", + " 'headquarters_address_street', 'headquarters_address_city', 'headquarters_address_state', 'headquarters_address_zip'\n", + "]\n", + "\n", + "df_addresses = df[address_cols]\n", + "\n", + "# Create a concatenated address string for easier comparison\n", + "df_addresses['office_address'] = df_addresses['office_address_street'] + ', ' + df_addresses['office_address_city'] + ', ' + df_addresses['office_address_state'] + ' ' + df_addresses['office_address_zip']\n", + "df_addresses['headquarters_address'] = df_addresses['headquarters_address_street'] + ', ' + df_addresses['headquarters_address_city'] + ', ' + df_addresses['headquarters_address_state'] + ' ' + df_addresses['headquarters_address_zip']\n", + "\n", + "# Group by operator and sort by year\n", + "df_addresses = df_addresses.sort_values(by=['operator_id_phmsa', 'report_year'])\n", + "\n", + "# Create flags for overlap or switch\n", + "df_addresses['address_overlap'] = df_addresses['office_address'] == df_addresses['headquarters_address']\n", + "df_addresses['address_switch'] = df_addresses.groupby('operator_id_phmsa').apply(\n", + " lambda x: (x['office_address'].shift() == x['headquarters_address']) & \n", + " (x['headquarters_address'].shift() == x['office_address'])\n", + ").reset_index(drop=True)\n", + "\n", + "# Display the results where overlap or switch occurred\n", + "df_overlap_switch = df_addresses[(df_addresses['address_overlap'] == True) | (df_addresses['address_switch'] == True)]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
operator_id_phmsareport_yearoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipoffice_addressheadquarters_addressaddress_overlapaddress_switch
17383.02022.05800 ARNOT ROADAMARILLOTX791195800 ARNOT ROADAMARILLOTX791195800 ARNOT ROAD, AMARILLO, TX 791195800 ARNOT ROAD, AMARILLO, TX 79119TrueFalse
18383.02022.05800 ARNOT ROADAMARILLOTX791195800 ARNOT ROADAMARILLOTX791195800 ARNOT ROAD, AMARILLO, TX 791195800 ARNOT ROAD, AMARILLO, TX 79119TrueTrue
801168.02022.07 SOUTH AVEBATHNY148107 SOUTH AVEBATHNY148107 SOUTH AVE, BATH, NY 148107 SOUTH AVE, BATH, NY 14810TrueFalse
921328.02022.0201 MAIN STREETBENTONKY42025201 MAIN STREETBENTONKY42025201 MAIN STREET, BENTON, KY 42025201 MAIN STREET, BENTON, KY 42025TrueFalse
1382020.02022.07901 HWY 31CALERAAL350407901 HWY 31CALERAAL350407901 HWY 31, CALERA, AL 350407901 HWY 31, CALERA, AL 35040TrueFalse
\n", + "
" + ], + "text/plain": [ + " operator_id_phmsa report_year office_address_street office_address_city office_address_state office_address_zip headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip office_address headquarters_address address_overlap address_switch\n", + "17 383.0 2022.0 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 True False\n", + "18 383.0 2022.0 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 True True\n", + "80 1168.0 2022.0 7 SOUTH AVE BATH NY 14810 7 SOUTH AVE BATH NY 14810 7 SOUTH AVE, BATH, NY 14810 7 SOUTH AVE, BATH, NY 14810 True False\n", + "92 1328.0 2022.0 201 MAIN STREET BENTON KY 42025 201 MAIN STREET BENTON KY 42025 201 MAIN STREET, BENTON, KY 42025 201 MAIN STREET, BENTON, KY 42025 True False\n", + "138 2020.0 2022.0 7901 HWY 31 CALERA AL 35040 7901 HWY 31 CALERA AL 35040 7901 HWY 31, CALERA, AL 35040 7901 HWY 31, CALERA, AL 35040 True False" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_overlap_switch.head()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_7095/4087453537.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n", + " df_overlap_switch[(df_overlap_switch.operator_id_phmsa==383)&(core_phmsagas__yearly_distribution_operators.report_year>=2021)]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
operator_id_phmsareport_yearoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipoffice_addressheadquarters_addressaddress_overlapaddress_switch
17383.02022.05800 ARNOT ROADAMARILLOTX791195800 ARNOT ROADAMARILLOTX791195800 ARNOT ROAD, AMARILLO, TX 791195800 ARNOT ROAD, AMARILLO, TX 79119TrueFalse
18383.02022.05800 ARNOT ROADAMARILLOTX791195800 ARNOT ROADAMARILLOTX791195800 ARNOT ROAD, AMARILLO, TX 791195800 ARNOT ROAD, AMARILLO, TX 79119TrueTrue
\n", + "
" + ], + "text/plain": [ + " operator_id_phmsa report_year office_address_street office_address_city office_address_state office_address_zip headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip office_address headquarters_address address_overlap address_switch\n", + "17 383.0 2022.0 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 True False\n", + "18 383.0 2022.0 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 True True" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# df_overlap_switch[df_overlap_switch.address_switch==True]\n", + "df_overlap_switch[(df_overlap_switch.operator_id_phmsa==383)&(core_phmsagas__yearly_distribution_operators.report_year>=2021)]" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022.0\n", + "2022.0\n" + ] + } + ], + "source": [ + "print(core_phmsagas__yearly_distribution_operators.report_year.min())\n", + "print(core_phmsagas__yearly_distribution_operators.report_year.max())" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/src/pudl/package_data/settings/etl_fast.yml b/src/pudl/package_data/settings/etl_fast.yml index 22204e6678..75781c50ea 100644 --- a/src/pudl/package_data/settings/etl_fast.yml +++ b/src/pudl/package_data/settings/etl_fast.yml @@ -90,7 +90,7 @@ datasets: # also load the EIA 860 data for that year if possible year_quarters: ["2023q1"] phmsagas: - years: [2023] + years: [1995, 1996, 1997] nrelatb: years: [2024] gridpathratoolkit: From c5406b14ad8521447f5165dcbf058f5c1a45e2c6 Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 27 Sep 2024 08:38:48 -0400 Subject: [PATCH 04/39] Add 2023 package data columns for new phmsagas run --- .../phmsagas_distribution.ipynb | 70 +- .../column_maps/yearly_distribution.csv | 614 +++++++++--------- .../yearly_gathering_pipe_miles_by_nps.csv | 274 ++++---- ...ssion_gathering_failures_leaks_repairs.csv | 442 ++++++------- ...sion_gathering_inspections_assessments.csv | 206 +++--- ...gathering_pipe_miles_by_class_location.csv | 124 ++-- ...thering_pipe_miles_by_decade_installed.csv | 256 ++++---- ...ssion_gathering_pipe_miles_by_material.csv | 204 +++--- ...ssion_gathering_preparer_certification.csv | 2 +- ...mission_gathering_summary_by_commodity.csv | 362 +++++------ ...by_determination_method_and_risk_model.csv | 64 +- ...rly_transmission_material_verification.csv | 68 +- .../yearly_transmission_miles_by_maop.csv | 550 ++++++++-------- ...ure_test_range_and_internal_inspection.csv | 428 ++++++------ .../yearly_transmission_pipe_miles_by_nps.csv | 156 ++--- ...yearly_transmission_pipe_miles_by_smys.csv | 152 ++--- src/pudl/package_data/phmsagas/csv-updater.py | 31 + src/pudl/package_data/phmsagas/file_map.csv | 32 +- src/pudl/package_data/phmsagas/page_map.csv | 32 +- src/pudl/package_data/phmsagas/skipfooter.csv | 32 +- src/pudl/package_data/phmsagas/skiprows.csv | 32 +- src/pudl/package_data/settings/etl_fast.yml | 2 +- 22 files changed, 2082 insertions(+), 2051 deletions(-) create mode 100644 src/pudl/package_data/phmsagas/csv-updater.py diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index e361cab0b0..a73a364786 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -17,7 +17,7 @@ "output_type": "stream", "text": [ "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-09-26 08:24:30 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + "2024-09-27 08:34:34 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" ] }, { @@ -48,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -2008,7 +2008,7 @@ "4 2.0 0.0 303.0 3.0 0.0 0.0 0.0 306.0 0.0 769.0 0.0 NaN NaN 49693.0 NaN " ] }, - "execution_count": 97, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -2019,7 +2019,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -2034,7 +2034,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -2063,7 +2063,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -2112,7 +2112,7 @@ "18 383.0 AMARILLO NATURAL GAS INC" ] }, - "execution_count": 100, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -2123,7 +2123,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -3123,7 +3123,7 @@ "18 1.0 0.0 147.0 0.0 239.0 0.0 1.0 0.0 49241.0 NaN " ] }, - "execution_count": 101, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -3134,7 +3134,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -3523,7 +3523,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -3857,7 +3857,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -4116,7 +4116,7 @@ "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent ADEL NaN GA P.O. BOX 1530 31620" ] }, - "execution_count": 104, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -4183,7 +4183,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -4454,7 +4454,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -4463,7 +4463,7 @@ "[]" ] }, - "execution_count": 106, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -4494,7 +4494,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -4588,7 +4588,7 @@ "[214 rows x 1 columns]" ] }, - "execution_count": 107, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -4606,7 +4606,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -4865,7 +4865,7 @@ "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent ADEL NaN GA P.O. BOX 1530 31620" ] }, - "execution_count": 108, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -4876,7 +4876,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -4885,7 +4885,7 @@ "Index(['report_date', 'report_number', 'report_submission_type', 'report_year', 'operator_id_phmsa', 'operator_name_phmsa', 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_county', 'excavation_damage_excavation_practices', 'excavation_damage_locating_practices', 'excavation_damage_one_call_notification', 'excavation_damage_other', 'excavation_damage_total', 'excavation_tickets', 'services_efv_in_system', 'services_efv_installed', 'services_shutoff_valve_in_system', 'services_shutoff_valve_installed', 'federal_land_leaks_repaired_or_scheduled', 'percent_unaccounted_for_gas', 'additional_information', 'preparer_email', 'preparer_fax', 'preparer_name', 'preparer_phone', 'preparer_title', 'headquarters_address_city', 'headquarters_address_county', 'headquarters_address_state', 'headquarters_address_street', 'headquarters_address_zip'], dtype='object')" ] }, - "execution_count": 109, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -4896,7 +4896,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -5053,7 +5053,7 @@ "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook ADEL NaN GA P.O. BOX 1530 31620 NaN" ] }, - "execution_count": 110, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -5064,26 +5064,26 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_7095/1654031739.py:14: SettingWithCopyWarning: \n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_13362/1654031739.py:14: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " df_addresses['office_address'] = df_addresses['office_address_street'] + ', ' + df_addresses['office_address_city'] + ', ' + df_addresses['office_address_state'] + ' ' + df_addresses['office_address_zip']\n", - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_7095/1654031739.py:15: SettingWithCopyWarning: \n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_13362/1654031739.py:15: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " df_addresses['headquarters_address'] = df_addresses['headquarters_address_street'] + ', ' + df_addresses['headquarters_address_city'] + ', ' + df_addresses['headquarters_address_state'] + ' ' + df_addresses['headquarters_address_zip']\n", - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_7095/1654031739.py:22: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_13362/1654031739.py:22: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", " df_addresses['address_switch'] = df_addresses.groupby('operator_id_phmsa').apply(\n" ] } @@ -5121,7 +5121,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -5260,7 +5260,7 @@ "138 2020.0 2022.0 7901 HWY 31 CALERA AL 35040 7901 HWY 31 CALERA AL 35040 7901 HWY 31, CALERA, AL 35040 7901 HWY 31, CALERA, AL 35040 True False" ] }, - "execution_count": 112, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -5271,14 +5271,14 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_7095/4087453537.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_13362/4087453537.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n", " df_overlap_switch[(df_overlap_switch.operator_id_phmsa==383)&(core_phmsagas__yearly_distribution_operators.report_year>=2021)]\n" ] }, @@ -5364,7 +5364,7 @@ "18 383.0 2022.0 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 True True" ] }, - "execution_count": 113, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -5376,7 +5376,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 20, "metadata": {}, "outputs": [ { diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_distribution.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_distribution.csv index f688229dff..f7ff9504a6 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_distribution.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_distribution.csv @@ -1,307 +1,307 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -log,,,,,log,log,log,log,,,,,,,,,,,,,,,,,,,,,,,,, -supplemental_report_number,,,,,,,,,,,,,,,d_sup_id,d_sup_id,d_sup_id,d_sup_id,d_sup_id,d_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name -office_address_street,ostreet,ostreet,ostreet,stadd,stadd,stadd,stadd,stadd,stadd,ostreet,ostreet,ostreet,ostreet,ostreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street -office_address_city,ocity,ocity,ocity,city,city,city,city,city,city,ocity,ocity,ocity,ocity,ocity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city -office_address_county,ocounty,ocounty,ocounty,count,count,count,count,count,count,ocounty,ocounty,ocounty,ocounty,ocounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county -office_address_state,ostate,ostate,ostate,st,st,st,st,st,st,ostate,ostate,ostate,ostate,ostate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state -office_address_zip,ozip,ozip,ozip,zip,zip,zip,zip,zip,zip,ozip,ozip,ozip,ozip,ozip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip -headquarters_address_street,hstreet,hstreet,hstreet,hstad,hstad,hstad,hstad,hstad,hstad,hstreet,hstreet,hstreet,hstreet,hstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street -headquarters_address_city,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city -headquarters_address_county,hcounty,hcounty,hcounty,hcnty,hcnty,hcnty,hcnty,hcnty,hcnty,hcounty,hcounty,hcounty,hcounty,hcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county -headquarters_address_state,hstate,hstate,hstate,hst,hst,hst,hst,hst,hst,hstate,hstate,hstate,hstate,hstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state -headquarters_address_zip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip -commodity,,,,,,,,,,,,,,,,,,,,,,,,,,commodity,commodity,commodity,commodity,commodity,commodity,commodity,commodity -operating_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop -operator_type,,,,,,,,,,,,,,,,,,,,,,,,,,operator_type,operator_type,operator_type,operator_type,operator_type,operator_type,operator_type,operator_type -main_unprotected_steel_bare_miles,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare -main_unprotected_steel_coated_miles,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated -main_cathodically_protected_steel_bare_miles,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare -main_cathodically_protected_steel_coated_miles,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated -main_plastic_miles,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic -main_cast_or_wrought_iron_miles,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci -main_ductile_iron_miles,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di -main_copper_miles,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu -main_other_miles,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other -main_other_alt_miles,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,,,,,,,,,,,,, -main_reconditioned_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci -main_total_miles,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total -services_unprotected_steel_bare,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare -services_unprotected_steel_coated,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated -services_cathodically_protected_steel_bare,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare -services_cathodically_protected_steel_coated,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated -services_plastic,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic -services_cast_or_wrought_iron,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci -services_ductile_iron,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di -services_copper,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu -services_other,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other -services_other_alt,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,,,,,,,,,,,,, -services_reconditioned_cast_iron,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci -services_total,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total -main_steel_unknown_miles,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk -main_steel_2_in_or_less_miles,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in -main_steel_2_to_4_in_miles,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in -main_steel_4_to_8_in_miles,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in -main_steel_8_to_12_in_miles,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in -main_steel_over_12_in_miles,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in -main_steel_total_miles,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total -main_ductile_iron_unknown_miles,dim_1,dim_1,dim_1,dim_1_integer,dim_1_integer,dim_1_integer,dim_1_integer,dim_1_integer,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk -main_ductile_iron_2_in_or_less_miles,dim_2,dim_2,dim_2,dim_2_integer,dim_2_integer,dim_2_integer,dim_2_integer,dim_2_integer,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in -main_ductile_iron_2_to_4_in_miles,dim_3,dim_3,dim_3,dim_3_integer,dim_3_integer,dim_3_integer,dim_3_integer,dim_3_integer,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in -main_ductile_iron_4_to_8_in_miles,dim_4,dim_4,dim_4,dim_4_integer,dim_4_integer,dim_4_integer,dim_4_integer,dim_4_integer,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in -main_ductile_iron_8_to_12_in_miles,dim_5,dim_5,dim_5,dim_5_integer,dim_5_integer,dim_5_integer,dim_5_integer,dim_5_integer,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in -main_ductile_iron_over_12_in_miles,dim_6,dim_6,dim_6,dim_6_integer,dim_6_integer,dim_6_integer,dim_6_integer,dim_6_integer,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in -main_ductile_iron_total_miles,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total -main_copper_unknown_miles,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk -main_copper_2_in_or_less_miles,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in -main_copper_2_to_4_in_miles,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in -main_copper_4_to_8_in_miles,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in -main_copper_8_to_12_in_miles,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in -main_copper_over_12_in_miles,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in -main_copper_total_miles,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total -main_cast_or_wrought_iron_unknown_miles,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk -main_cast_or_wrought_iron_2_in_or_less_miles,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in -main_cast_or_wrought_iron_2_to_4_in_miles,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in -main_cast_or_wrought_iron_4_to_8_in_miles,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in -main_cast_or_wrought_iron_8_to_12_in_miles,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in -main_cast_or_wrought_iron_over_12_in_miles,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in -main_cast_or_wrought_iron_total_miles,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total -main_pvc_unknown_miles,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk -main_pvc_2_in_or_less_miles,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in -main_pvc_2_to_4_in_miles,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in -main_pvc_4_to_8_in_miles,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in -main_pvc_8_to_12_in_miles,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in -main_pvc_over_12_in_miles,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in -main_pvc_total_miles,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total -main_pe_unknown_miles,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk -main_pe_2_in_or_less_miles,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in -main_pe_2_to_4_in_miles,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in -main_pe_4_to_8_in_miles,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in -main_pe_8_to_12_in_miles,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in -main_pe_over_12_in_miles,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in -main_pe_total_miles,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total -main_abs_unknown_miles,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk -main_abs_2_in_or_less_miles,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in -main_abs_2_to_4_in_miles,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in -main_abs_4_to_8_in_miles,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in -main_abs_8_to_12_in_miles,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in -main_abs_over_12_in_miles,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in -main_abs_total_miles,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total -main_other_plastic_unknown_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk -main_other_plastic_2_in_or_less_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in -main_other_plastic_2_to_4_in_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in -main_other_plastic_4_to_8_in_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in -main_other_plastic_8_to_12_in_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in -main_other_plastic_over_12_in_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in -main_other_plastic_total_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total -main_other_unknown_miles,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk -main_other_2_in_or_less_miles,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in -main_other_2_to_4_in_miles,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in -main_other_4_to_8_in_miles,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in -main_other_8_to_12_in_miles,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in -main_other_over_12_in_miles,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in -main_other_total_miles,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total -main_other_alt_unknown_miles,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,,,,,,,,,,,,, -main_other_alt_2_in_or_less_miles,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,,,,,,,,,,,,, -main_other_alt_2_to_4_in_miles,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,,,,,,,,,,,,, -main_other_alt_4_to_8_in_miles,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,,,,,,,,,,,,, -main_other_alt_8_to_12_in_miles,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,,,,,,,,,,,,, -main_other_alt_over_12_in_miles,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,,,,,,,,,,,,, -main_other_alt_total_miles,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,,,,,,,,,,,,, -main_other_material_detail_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail -main_reconditioned_cast_iron_unknown_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk -main_reconditioned_cast_iron_2_in_or_less_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in -main_reconditioned_cast_iron_2_to_4_in_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in -main_reconditioned_cast_iron_4_to_8_in_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in -main_reconditioned_cast_iron_8_to_12_in_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in -main_reconditioned_cast_iron_over_12_in_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in -main_reconditioned_cast_iron_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total -main_all_materials_unknown_miles,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,,,,,,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total -main_all_materials_2_in_or_less_miles,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,,,,,,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total -main_all_materials_2_to_4_in_miles,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,,,,,,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total -main_all_materials_4_to_8_in_miles,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,,,,,,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total -main_all_materials_8_to_12_in_miles,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,,,,,,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total -main_all_materials_over_12_in_miles,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,,,,,,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total -main_all_materials_total_miles,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,,,,,,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total -average_service_length_feet,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length -services_steel_unknown,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk -services_steel_1_in_or_less,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in -services_steel_1_to_2_in,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in -services_steel_2_to_4_in,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in -services_steel_4_to_8_in,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in -services_steel_over_8_in,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in -services_steel_total,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total -services_ductile_iron_unknown,dis_1,dis_1,dis_1,dis_1_integer,dis_1_integer,dis_1_integer,dis_1_integer,dis_1_integer,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk -services_ductile_iron_1_in_or_less,dis_2,dis_2,dis_2,dis_2_integer,dis_2_integer,dis_2_integer,dis_2_integer,dis_2_integer,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in -services_ductile_iron_1_to_2_in,dis_3,dis_3,dis_3,dis_3_integer,dis_3_integer,dis_3_integer,dis_3_integer,dis_3_integer,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in -services_ductile_iron_2_to_4_in,dis_4,dis_4,dis_4,dis_4_integer,dis_4_integer,dis_4_integer,dis_4_integer,dis_4_integer,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in -services_ductile_iron_4_to_8_in,dis_5,dis_5,dis_5,dis_5_integer,dis_5_integer,dis_5_integer,dis_5_integer,dis_5_integer,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in -services_ductile_iron_over_8_in,dis_6,dis_6,dis_6,dis_6_integer,dis_6_integer,dis_6_integer,dis_6_integer,dis_6_integer,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in -services_ductile_iron_total,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total -services_copper_unknown,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk -services_copper_1_in_or_less,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in -services_copper_1_to_2_in,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in -services_copper_2_to_4_in,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in -services_copper_4_to_8_in,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in -services_copper_over_8_in,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in -services_copper_total,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total -services_cast_or_wrought_iron_unknown,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk -services_cast_or_wrought_iron_1_in_or_less,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in -services_cast_or_wrought_iron_1_to_2_in,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in -services_cast_or_wrought_iron_2_to_4_in,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in -services_cast_or_wrought_iron_4_to_8_in,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in -services_cast_or_wrought_iron_over_8_in,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in -services_cast_or_wrought_iron_total,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total -services_pvc_unknown,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk -services_pvc_1_in_or_less,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in -services_pvc_1_to_2_in,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in -services_pvc_2_to_4_in,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in -services_pvc_4_to_8_in,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in -services_pvc_over_8_in,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in -services_pvc_total,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total -services_pe_unknown,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk -services_pe_1_in_or_less,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in -services_pe_1_to_2_in,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in -services_pe_2_to_4_in,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in -services_pe_4_to_8_in,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in -services_pe_over_8_in,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in -services_pe_total,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total -services_abs_unknown,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk -services_abs_1_in_or_less,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in -services_abs_1_to_2_in,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in -services_abs_2_to_4_in,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in -services_abs_4_to_8_in,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in -services_abs_over_8_in,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in -services_abs_total,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total -services_other_plastic_unknown,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk -services_other_plastic_1_in_or_less,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in -services_other_plastic_1_to_2_in,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in -services_other_plastic_2_to_4_in,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in -services_other_plastic_4_to_8_in,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in -services_other_plastic_over_8_in,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in -services_other_plastic_total,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total -services_other_unknown,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk -services_other_1_in_or_less,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in -services_other_1_to_2_in,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in -services_other_2_to_4_in,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in -services_other_4_to_8_in,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in -services_other_over_8_in,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in -services_other_total,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total -services_other_alt_unknown,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,,,,,,,,,,,,, -services_other_alt_1_in_or_less,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,,,,,,,,,,,,, -services_other_alt_1_to_2_in,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,,,,,,,,,,,,, -services_other_alt_2_to_4_in,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,,,,,,,,,,,,, -services_other_alt_4_to_8_in,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,,,,,,,,,,,,, -services_other_alt_over_8_in,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,,,,,,,,,,,,, -services_other_alt_total,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,,,,,,,,,,,,, -services_other_material_detail,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail -services_reconditioned_cast_iron_unknown,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk -services_reconditioned_cast_iron_1_in_or_less,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in -services_reconditioned_cast_iron_1_to_2_in,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in -services_reconditioned_cast_iron_2_to_4_in,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in -services_reconditioned_cast_iron_4_to_8_in,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in -services_reconditioned_cast_iron_over_8_in,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in -services_reconditioned_cast_iron_total,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total -services_all_materials_unknown,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,,,,,,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total -services_all_materials_1_in_or_less,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,,,,,,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total -services_all_materials_1_to_2_in,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,,,,,,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total -services_all_materials_2_to_4_in,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,,,,,,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total -services_all_materials_4_to_8_in,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,,,,,,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total -services_all_materials_over_8_in,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,,,,,,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total -services_all_materials_total,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,,,,,,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total -main_unknown_decade_miles,,,,,,,,,,,,,,,dinstm_1,dinstm_1,dinstm_1,dinstm_1,dinstm_1,dinstm_1,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk -main_pre_1940_miles,,,,,,,,,,,,,,,dinstm_2,dinstm_2,dinstm_2,dinstm_2,dinstm_2,dinstm_2,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940 -main_1940s_miles,,,,,,,,,,,,,,,dinstm_3,dinstm_3,dinstm_3,dinstm_3,dinstm_3,dinstm_3,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949 -main_1950s_miles,,,,,,,,,,,,,,,dinstm_4,dinstm_4,dinstm_4,dinstm_4,dinstm_4,dinstm_4,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959 -main_1960s_miles,,,,,,,,,,,,,,,dinstm_5,dinstm_5,dinstm_5,dinstm_5,dinstm_5,dinstm_5,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969 -main_1970s_miles,,,,,,,,,,,,,,,dinstm_6,dinstm_6,dinstm_6,dinstm_6,dinstm_6,dinstm_6,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979 -main_1980s_miles,,,,,,,,,,,,,,,dinstm_7,dinstm_7,dinstm_7,dinstm_7,dinstm_7,dinstm_7,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989 -main_1990s_miles,,,,,,,,,,,,,,,dinstm_8,dinstm_8,dinstm_8,dinstm_8,dinstm_8,dinstm_8,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999 -main_2000s_miles,,,,,,,,,,,,,,,dinstm_9,dinstm_9,dinstm_9,dinstm_9,dinstm_9,dinstm_9,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009 -main_2010s_miles,,,,,,,,,,,,,,,,,,,,,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019 -main_2020s_miles,,,,,,,,,,,,,,,,,,,,,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029 -main_all_time_miles,,,,,,,,,,,,,,,dinstmt,dinstmt,dinstmt,dinstmt,dinstmt,dinstmt,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total -services_unknown_decade,,,,,,,,,,,,,,,dinsts_1,dinsts_1,dinsts_1,dinsts_1,dinsts_1,dinsts_1,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk -services_pre_1940,,,,,,,,,,,,,,,dinsts_2,dinsts_2,dinsts_2,dinsts_2,dinsts_2,dinsts_2,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940 -services_1940s,,,,,,,,,,,,,,,dinsts_3,dinsts_3,dinsts_3,dinsts_3,dinsts_3,dinsts_3,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949 -services_1950s,,,,,,,,,,,,,,,dinsts_4,dinsts_4,dinsts_4,dinsts_4,dinsts_4,dinsts_4,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959 -services_1960s,,,,,,,,,,,,,,,dinsts_5,dinsts_5,dinsts_5,dinsts_5,dinsts_5,dinsts_5,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969 -services_1970s,,,,,,,,,,,,,,,dinsts_6,dinsts_6,dinsts_6,dinsts_6,dinsts_6,dinsts_6,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979 -services_1980s,,,,,,,,,,,,,,,dinsts_7,dinsts_7,dinsts_7,dinsts_7,dinsts_7,dinsts_7,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989 -services_1990s,,,,,,,,,,,,,,,dinsts_8,dinsts_8,dinsts_8,dinsts_8,dinsts_8,dinsts_8,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999 -services_2000s,,,,,,,,,,,,,,,dinsts_9,dinsts_9,dinsts_9,dinsts_9,dinsts_9,dinsts_9,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009 -services_2010s,,,,,,,,,,,,,,,,,,,,,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019 -services_2020s,,,,,,,,,,,,,,,,,,,,,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029 -services_all_time,,,,,,,,,,,,,,,dinstst,dinstst,dinstst,dinstst,dinstst,dinstst,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total -all_leaks_corrosion_failure_mains,cm,cm,cm,cm1,cm1,cm1,cm1,cm1,cm,cm,cm,cm,cm,cm,cm,cm,cm,cm,cm,cm,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains -all_leaks_natural_force_damage_mains,,,,,,,,,,,,,,,nfm,nfm,nfm,nfm,nfm,nfm,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains -all_leaks_excavation_damage_mains,,,,,,,,,,,,,,,excm,excm,excm,excm,excm,excm,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains -all_leaks_other_outside_force_mains,,,,,,,,,,,,,,,oofm,oofm,oofm,oofm,oofm,oofm,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains -all_leaks_pipe_weld_joint_failure_mains,,,,,,,,,,,,,,,mwm,mwm,mwm,mwm,mwm,mwm,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains -all_leaks_equipment_failure_mains,,,,,,,,,,,,,,,eqm,eqm,eqm,eqm,eqm,eqm,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains -all_leaks_incorrect_operation_mains,,,,,,,,,,,,,,,operm,operm,operm,operm,operm,operm,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains -all_leaks_third_party_mains,tm,tm,tm,tm1,tm1,tm1,tm1,tm1,tm,tm,tm,tm,tm,tm,,,,,,,,,,,,,,,,,,, -all_leaks_outside_force_mains,om,om,om,om1,om1,om1,om1,om1,om,om,om,om,om,om,,,,,,,,,,,,,,,,,,, -all_leaks_construction_defect_mains,cdm,cdm,cdm,cdm1,cdm1,cdm1,cdm1,cdm1,cdm,cdm,cdm,cdm,cdm,cdm,,,,,,,,,,,,,,,,,,, -all_leaks_material_defect_mains,mdm,mdm,mdm,mdm1,mdm1,mdm1,mdm1,mdm1,mdm,mdm,mdm,mdm,mdm,mdm,,,,,,,,,,,,,,,,,,, -all_leaks_other_mains,othm,othm,othm,othm1,othm1,othm1,othm1,othm1,othm,othm,othm,othm,othm,othm,othm,othm,othm,othm,othm,othm,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains -hazardous_leaks_corrosion_failure_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains -hazardous_leaks_natural_force_damage_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains -hazardous_leaks_excavation_damage_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains -hazardous_leaks_other_outside_force_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains -hazardous_leaks_pipe_weld_joint_failure_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains -hazardous_leaks_equipment_failure_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains -hazardous_leaks_incorrect_operation_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains -hazardous_leaks_other_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains -all_leaks_corrosion_failure_services,cs,cs,cs,cs1,cs1,cs1,cs1,cs1,cs,cs,cs,cs,cs,cs,cs,cs,cs,cs,cs,cs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs -all_leaks_natural_force_damage_services,,,,,,,,,,,,,,,nfs,nfs,nfs,nfs,nfs,nfs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs -all_leaks_excavation_damage_services,,,,,,,,,,,,,,,excs,excs,excs,excs,excs,excs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs -all_leaks_other_outside_force_services,,,,,,,,,,,,,,,oofs,oofs,oofs,oofs,oofs,oofs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs -all_leaks_pipe_weld_joint_failure_services,,,,,,,,,,,,,,,mws,mws,mws,mws,mws,mws,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs -all_leaks_equipment_failure_services,,,,,,,,,,,,,,,eqs,eqs,eqs,eqs,eqs,eqs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs -all_leaks_incorrect_operation_services,,,,,,,,,,,,,,,opers,opers,opers,opers,opers,opers,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs -all_leaks_third_party_services,ts,ts,ts,ts1,ts1,ts1,ts1,ts1,ts,ts,ts,ts,ts,ts,,,,,,,,,,,,,,,,,,, -all_leaks_outside_force_services,os,os,os,os1,os1,os1,os1,os1,os,os,os,os,os,os,,,,,,,,,,,,,,,,,,, -all_leaks_construction_defect_services,cds,cds,cds,cds1,cds1,cds1,cds1,cds1,cds,cds,cds,cds,cds,cds,,,,,,,,,,,,,,,,,,, -all_leaks_material_defect_services,mds,mds,mds,mds1,mds1,mds1,mds1,mds1,mds,mds,mds,mds,mds,mds,,,,,,,,,,,,,,,,,,, -all_leaks_other_services,oths,oths,oths,oths1,oths1,oths1,oths1,oths1,oths,oths,oths,oths,oths,oths,oths,oths,oths,oths,oths,oths,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs -hazardous_leaks_corrosion_failure_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs -hazardous_leaks_natural_force_damage_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs -hazardous_leaks_excavation_damage_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs -hazardous_leaks_other_outside_force_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs -hazardous_leaks_pipe_weld_joint_failure_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs -hazardous_leaks_equipment_failure_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs -hazardous_leaks_incorrect_operation_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs -hazardous_leaks_other_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs -all_known_leaks_scheduled_for_repair,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks -hazardous_leaks_mechanical_joint_failure,,,,,,,,,,,,,,,,,,,,,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks -excavation_damage_total,,,,,,,,,,,,,,,,,,,,,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages -excavation_damage_one_call_notification,,,,,,,,,,,,,,,,,,,,,,,,,,excav_onecall,excav_onecall,excav_onecall,excav_onecall,excav_onecall,excav_onecall,excav_onecall,excav_onecall -excavation_damage_locating_practices,,,,,,,,,,,,,,,,,,,,,,,,,,excav_locating,excav_locating,excav_locating,excav_locating,excav_locating,excav_locating,excav_locating,excav_locating -excavation_damage_excavation_practices,,,,,,,,,,,,,,,,,,,,,,,,,,excav_excav,excav_excav,excav_excav,excav_excav,excav_excav,excav_excav,excav_excav,excav_excav -excavation_damage_other,,,,,,,,,,,,,,,,,,,,,,,,,,excav_other,excav_other,excav_other,excav_other,excav_other,excav_other,excav_other,excav_other -excavation_tickets,,,,,,,,,,,,,,,,,,,,,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets -services_efv_installed,,,,,,,,,,,,,,,,,,,,,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy -services_efv_in_system,,,,,,,,,,,,,,,,,,,,,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system -services_shutoff_valve_installed,,,,,,,,,,,,,,,,,,,,,,,,,,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy -services_shutoff_valve_in_system,,,,,,,,,,,,,,,,,,,,,,,,,,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system -federal_land_leaks_repaired_or_scheduled,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired -percent_unaccounted_for_gas,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas -additional_information,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,,,,,,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information -preparer_name,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name -preparer_title,,,,,,,,,,,,,,,pemail,pemail,pemail,pemail,pemail,pemail,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title -preparer_phone,,,,,,,,,,,,,,,pfax,pfax,pfax,pfax,pfax,pfax,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone -preparer_email,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,pphone,pphone,pphone,pphone,pphone,pphone,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax -preparer_fax,,,,,,,,,,,,,,,,,,,,,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email -report_submission_type,,,,,,,,,,,,,,,,,,,,,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type -report_date,,,,,,,,,,,dor,dor,dor,dor,dor,dor,dor,dor,dor,dor,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date -filing_date,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date -correction_date,doc,doc,doc,doc,doc,doc,doc,doc,doc,doc,,,,,,,,,,,,,,,,,,,,,,, -form_revision,,,,,,,,,,,,,,,,,,,,,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev -original_report,,,,,,,,,,,,,,,original,original,original,original,original,original,,,,,,,,,,,,, -supplementary_report,,,,,,,,,,,,,,,supplement,supplement,supplement,supplement,supplement,supplement,,,,,,,,,,,,, +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +log,,,,,log,log,log,log,,,,,,,,,,,,,,,,,,,,,,,,,,nan +supplemental_report_number,,,,,,,,,,,,,,,d_sup_id,d_sup_id,d_sup_id,d_sup_id,d_sup_id,d_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name,operator_name +office_address_street,ostreet,ostreet,ostreet,stadd,stadd,stadd,stadd,stadd,stadd,ostreet,ostreet,ostreet,ostreet,ostreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street,office_address_street +office_address_city,ocity,ocity,ocity,city,city,city,city,city,city,ocity,ocity,ocity,ocity,ocity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city,office_address_city +office_address_county,ocounty,ocounty,ocounty,count,count,count,count,count,count,ocounty,ocounty,ocounty,ocounty,ocounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county,office_address_county +office_address_state,ostate,ostate,ostate,st,st,st,st,st,st,ostate,ostate,ostate,ostate,ostate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state,office_address_state +office_address_zip,ozip,ozip,ozip,zip,zip,zip,zip,zip,zip,ozip,ozip,ozip,ozip,ozip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip,office_address_zip +headquarters_address_street,hstreet,hstreet,hstreet,hstad,hstad,hstad,hstad,hstad,hstad,hstreet,hstreet,hstreet,hstreet,hstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street,hq_address_street +headquarters_address_city,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city,hq_address_city +headquarters_address_county,hcounty,hcounty,hcounty,hcnty,hcnty,hcnty,hcnty,hcnty,hcnty,hcounty,hcounty,hcounty,hcounty,hcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county,hq_address_county +headquarters_address_state,hstate,hstate,hstate,hst,hst,hst,hst,hst,hst,hstate,hstate,hstate,hstate,hstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state,hq_address_state +headquarters_address_zip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip,hq_address_zip +commodity,,,,,,,,,,,,,,,,,,,,,,,,,,commodity,commodity,commodity,commodity,commodity,commodity,commodity,commodity,commodity +operating_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop +operator_type,,,,,,,,,,,,,,,,,,,,,,,,,,operator_type,operator_type,operator_type,operator_type,operator_type,operator_type,operator_type,operator_type,operator_type +main_unprotected_steel_bare_miles,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,b1m_1,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare,mmiles_steel_unp_bare +main_unprotected_steel_coated_miles,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,b1m_2,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated,mmiles_steel_unp_coated +main_cathodically_protected_steel_bare_miles,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,b1m_3,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare,mmiles_steel_cp_bare +main_cathodically_protected_steel_coated_miles,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,b1m_4,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated,mmiles_steel_cp_coated +main_plastic_miles,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,b1m_5,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic,mmiles_plastic +main_cast_or_wrought_iron_miles,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,b1m_6,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci,mmiles_ci +main_ductile_iron_miles,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,b1m_7,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di,mmiles_di +main_copper_miles,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,b1m_8,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu,mmiles_cu +main_other_miles,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,b1m_9,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other,mmiles_other +main_other_alt_miles,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,b1m_10,,,,,,,,,,,,,,nan +main_reconditioned_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci,mmiles_rci +main_total_miles,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,b1mt,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total,mmiles_total +services_unprotected_steel_bare,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,b1s_1,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare,num_srvs_steel_unp_bare +services_unprotected_steel_coated,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,b1s_2,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated,num_srvs_steel_unp_coated +services_cathodically_protected_steel_bare,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,b1s_3,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare,num_srvs_steel_cp_bare +services_cathodically_protected_steel_coated,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,b1s_4,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated,num_srvs_steel_cp_coated +services_plastic,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,b1s_5,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic,num_srvs_plastic +services_cast_or_wrought_iron,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,b1s_6,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci,num_srvs_ci +services_ductile_iron,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,b1s_7,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di,num_srvs_di +services_copper,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,b1s_8,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu,num_srvs_cu +services_other,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,b1s_9,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other,num_srvs_other +services_other_alt,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,b1s_10,,,,,,,,,,,,,,nan +services_reconditioned_cast_iron,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci,num_srvs_rci +services_total,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,b1st,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total,num_srvcs_total +main_steel_unknown_miles,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,stm_1,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk,mmiles_steel_unk +main_steel_2_in_or_less_miles,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,stm_2,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in,mmiles_steel_lt2in +main_steel_2_to_4_in_miles,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,stm_3,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in,mmiles_steel_2in_to_4in +main_steel_4_to_8_in_miles,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,stm_4,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in,mmiles_steel_4in_to_8in +main_steel_8_to_12_in_miles,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,stm_5,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in,mmiles_steel_8in_to_12in +main_steel_over_12_in_miles,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,stm_6,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in,mmiles_steel_gt12in +main_steel_total_miles,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,stmt,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total,mmiles_steel_total +main_ductile_iron_unknown_miles,dim_1,dim_1,dim_1,dim_1_integer,dim_1_integer,dim_1_integer,dim_1_integer,dim_1_integer,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,dim_1,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk,mmiles_di_unk +main_ductile_iron_2_in_or_less_miles,dim_2,dim_2,dim_2,dim_2_integer,dim_2_integer,dim_2_integer,dim_2_integer,dim_2_integer,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,dim_2,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in,mmiles_di_lt2in +main_ductile_iron_2_to_4_in_miles,dim_3,dim_3,dim_3,dim_3_integer,dim_3_integer,dim_3_integer,dim_3_integer,dim_3_integer,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,dim_3,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in,mmiles_di_2in_to_4in +main_ductile_iron_4_to_8_in_miles,dim_4,dim_4,dim_4,dim_4_integer,dim_4_integer,dim_4_integer,dim_4_integer,dim_4_integer,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,dim_4,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in,mmiles_di_4in_to_8in +main_ductile_iron_8_to_12_in_miles,dim_5,dim_5,dim_5,dim_5_integer,dim_5_integer,dim_5_integer,dim_5_integer,dim_5_integer,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,dim_5,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in,mmiles_di_8in_to_12in +main_ductile_iron_over_12_in_miles,dim_6,dim_6,dim_6,dim_6_integer,dim_6_integer,dim_6_integer,dim_6_integer,dim_6_integer,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,dim_6,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in,mmiles_di_gt12in +main_ductile_iron_total_miles,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,dimt,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total,mmiles_di_total +main_copper_unknown_miles,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,cum_1,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk,mmiles_cu_unk +main_copper_2_in_or_less_miles,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,cum_2,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in,mmiles_cu_lt2in +main_copper_2_to_4_in_miles,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,cum_3,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in,mmiles_cu_2in_to_4in +main_copper_4_to_8_in_miles,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,cum_4,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in,mmiles_cu_4in_to_8in +main_copper_8_to_12_in_miles,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,cum_5,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in,mmiles_cu_8in_to_12in +main_copper_over_12_in_miles,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,cum_6,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in,mmiles_cu_gt12in +main_copper_total_miles,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,cumt,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total,mmiles_cu_total +main_cast_or_wrought_iron_unknown_miles,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,cim_1,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk,mmiles_ci_wr_unk +main_cast_or_wrought_iron_2_in_or_less_miles,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,cim_2,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in,mmiles_ci_wr_lt2in +main_cast_or_wrought_iron_2_to_4_in_miles,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,cim_3,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in,mmiles_ci_wr_2in_to_4in +main_cast_or_wrought_iron_4_to_8_in_miles,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,cim_4,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in,mmiles_ci_wr_4in_to_8in +main_cast_or_wrought_iron_8_to_12_in_miles,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,cim_5,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in,mmiles_ci_wr_8in_to_12in +main_cast_or_wrought_iron_over_12_in_miles,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,cim_6,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in,mmiles_ci_wr_gt12in +main_cast_or_wrought_iron_total_miles,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,cimt,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total,mmiles_ci_wr_total +main_pvc_unknown_miles,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,pvcm_1,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk,mmiles_plastic_unk +main_pvc_2_in_or_less_miles,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,pvcm_2,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in,mmiles_plastic_lt2in +main_pvc_2_to_4_in_miles,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,pvcm_3,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in,mmiles_plastic_2in_to_4in +main_pvc_4_to_8_in_miles,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,pvcm_4,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in,mmiles_plastic_4in_to_8in +main_pvc_8_to_12_in_miles,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,pvcm_5,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in,mmiles_plastic_8in_to_12in +main_pvc_over_12_in_miles,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,pvcm_6,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in,mmiles_plastic_gt12in +main_pvc_total_miles,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,pvcmt,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total,mmiles_plastic_total +main_pe_unknown_miles,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,pem_1,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk,mmiles_pe_unk +main_pe_2_in_or_less_miles,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,pem_2,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in,mmiles_pe_lt2in +main_pe_2_to_4_in_miles,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,pem_3,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in,mmiles_pe_2in_to_4in +main_pe_4_to_8_in_miles,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,pem_4,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in,mmiles_pe_4in_to_8in +main_pe_8_to_12_in_miles,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,pem_5,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in,mmiles_pe_8in_to_12in +main_pe_over_12_in_miles,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,pem_6,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in,mmiles_pe_gt12in +main_pe_total_miles,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,pemt,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total,mmiles_pe_total +main_abs_unknown_miles,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,absm_1,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk,mmiles_abs_unk +main_abs_2_in_or_less_miles,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,absm_2,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in,mmiles_abs_lt2in +main_abs_2_to_4_in_miles,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,absm_3,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in,mmiles_abs_2in_to_4in +main_abs_4_to_8_in_miles,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,absm_4,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in,mmiles_abs_4in_to_8in +main_abs_8_to_12_in_miles,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,absm_5,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in,mmiles_abs_8in_to_12in +main_abs_over_12_in_miles,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,absm_6,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in,mmiles_abs_gt12in +main_abs_total_miles,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,absmt,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total,mmiles_abs_total +main_other_plastic_unknown_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk,mmiles_oth_plstc_unk +main_other_plastic_2_in_or_less_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in,mmiles_oth_plstc_lt2in +main_other_plastic_2_to_4_in_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in,mmiles_oth_plstc_2in_to_4in +main_other_plastic_4_to_8_in_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in,mmiles_oth_plstc_4in_to_8in +main_other_plastic_8_to_12_in_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in,mmiles_oth_plstc_8in_to_12in +main_other_plastic_over_12_in_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in,mmiles_oth_plstc_gt12in +main_other_plastic_total_miles,,,,,,,,,,,,,,,,,,,,,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total,mmiles_oth_plstc_total +main_other_unknown_miles,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,ot1m_1,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk,mmiles_other_unk +main_other_2_in_or_less_miles,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,ot1m_2,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in,mmiles_other_lt2in +main_other_2_to_4_in_miles,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,ot1m_3,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in,mmiles_other_2in_to_4in +main_other_4_to_8_in_miles,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,ot1m_4,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in,mmiles_other_4in_to_8in +main_other_8_to_12_in_miles,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,ot1m_5,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in,mmiles_other_8in_to_12in +main_other_over_12_in_miles,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,ot1m_6,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in,mmiles_other_gt12in +main_other_total_miles,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,ot1mt,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total,mmiles_other_total +main_other_alt_unknown_miles,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,ot2m_1,,,,,,,,,,,,,,nan +main_other_alt_2_in_or_less_miles,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,ot2m_2,,,,,,,,,,,,,,nan +main_other_alt_2_to_4_in_miles,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,ot2m_3,,,,,,,,,,,,,,nan +main_other_alt_4_to_8_in_miles,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,ot2m_4,,,,,,,,,,,,,,nan +main_other_alt_8_to_12_in_miles,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,ot2m_5,,,,,,,,,,,,,,nan +main_other_alt_over_12_in_miles,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,ot2m_6,,,,,,,,,,,,,,nan +main_other_alt_total_miles,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,ot2mt,,,,,,,,,,,,,,nan +main_other_material_detail_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail,mmiles_other_material_detail +main_reconditioned_cast_iron_unknown_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk,mmiles_rci_unk +main_reconditioned_cast_iron_2_in_or_less_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in,mmiles_rci_lt2in +main_reconditioned_cast_iron_2_to_4_in_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in,mmiles_rci_2in_to_4in +main_reconditioned_cast_iron_4_to_8_in_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in,mmiles_rci_4in_to_8in +main_reconditioned_cast_iron_8_to_12_in_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in,mmiles_rci_8in_to_12in +main_reconditioned_cast_iron_over_12_in_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in,mmiles_rci_gt12in +main_reconditioned_cast_iron_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total,mmiles_rci_total +main_all_materials_unknown_miles,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,totm_1,,,,,,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total,mmiles_unk_total +main_all_materials_2_in_or_less_miles,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,totm_2,,,,,,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total,mmiles_lt2in_total +main_all_materials_2_to_4_in_miles,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,totm_3,,,,,,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total,mmiles_2in_to_4in_total +main_all_materials_4_to_8_in_miles,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,totm_4,,,,,,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total,mmiles_4in_to_8in_total +main_all_materials_8_to_12_in_miles,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,totm_5,,,,,,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total,mmiles_8in_to_12in_total +main_all_materials_over_12_in_miles,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,totm_6,,,,,,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total,mmiles_gt12in_total +main_all_materials_total_miles,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,totmt,,,,,,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total,mmiles_part_b2_total +average_service_length_feet,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,aver,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length,average_length +services_steel_unknown,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,sts_1,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk,num_srvs_steel_unk +services_steel_1_in_or_less,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,sts_2,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in,num_srvs_steel_lt1in +services_steel_1_to_2_in,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,sts_3,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in,num_srvs_steel_1in_to_2in +services_steel_2_to_4_in,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,sts_4,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in,num_srvs_steel_2in_to_4in +services_steel_4_to_8_in,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,sts_5,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in,num_srvs_steel_4in_to_8in +services_steel_over_8_in,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,sts_6,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in,num_srvs_steel_gt8in +services_steel_total,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,stst,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total,num_srvs_steel_total +services_ductile_iron_unknown,dis_1,dis_1,dis_1,dis_1_integer,dis_1_integer,dis_1_integer,dis_1_integer,dis_1_integer,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,dis_1,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk,num_srvs_di_unk +services_ductile_iron_1_in_or_less,dis_2,dis_2,dis_2,dis_2_integer,dis_2_integer,dis_2_integer,dis_2_integer,dis_2_integer,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,dis_2,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in,num_srvs_di_lt1in +services_ductile_iron_1_to_2_in,dis_3,dis_3,dis_3,dis_3_integer,dis_3_integer,dis_3_integer,dis_3_integer,dis_3_integer,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,dis_3,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in,num_srvs_di_1in_to_2in +services_ductile_iron_2_to_4_in,dis_4,dis_4,dis_4,dis_4_integer,dis_4_integer,dis_4_integer,dis_4_integer,dis_4_integer,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,dis_4,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in,num_srvs_di_2in_to_4in +services_ductile_iron_4_to_8_in,dis_5,dis_5,dis_5,dis_5_integer,dis_5_integer,dis_5_integer,dis_5_integer,dis_5_integer,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,dis_5,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in,num_srvs_di_4in_to_8in +services_ductile_iron_over_8_in,dis_6,dis_6,dis_6,dis_6_integer,dis_6_integer,dis_6_integer,dis_6_integer,dis_6_integer,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,dis_6,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in,num_srvs_di_gt8in +services_ductile_iron_total,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,dist,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total,num_srvs_di_total +services_copper_unknown,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,cus_1,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk,num_srvs_cu_unk +services_copper_1_in_or_less,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,cus_2,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in,num_srvs_cu_lt1in +services_copper_1_to_2_in,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,cus_3,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in,num_srvs_cu_1in_to_2in +services_copper_2_to_4_in,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,cus_4,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in,num_srvs_cu_2in_to_4in +services_copper_4_to_8_in,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,cus_5,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in,num_srvs_cu_4in_to_8in +services_copper_over_8_in,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,cus_6,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in,num_srvs_cu_gt8in +services_copper_total,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,cust,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total,num_srvs_cu_total +services_cast_or_wrought_iron_unknown,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,cis_1,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk,num_srvs_ci_wr_unk +services_cast_or_wrought_iron_1_in_or_less,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,cis_2,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in,num_srvs_ci_wr_lt1in +services_cast_or_wrought_iron_1_to_2_in,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,cis_3,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in,num_srvs_ci_wr_1in_to_2in +services_cast_or_wrought_iron_2_to_4_in,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,cis_4,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in,num_srvs_ci_wr_2in_to_4in +services_cast_or_wrought_iron_4_to_8_in,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,cis_5,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in,num_srvs_ci_wr_4in_to_8in +services_cast_or_wrought_iron_over_8_in,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,cis_6,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in,num_srvs_ci_wr_gt8in +services_cast_or_wrought_iron_total,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,cist,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total,num_srvs_ci_wr_total +services_pvc_unknown,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,pvcs_1,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk,num_srvs_plastic_unk +services_pvc_1_in_or_less,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,pvcs_2,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in,num_srvs_plastic_lt1in +services_pvc_1_to_2_in,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,pvcs_3,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in,num_srvs_plastic_1in_to_2in +services_pvc_2_to_4_in,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,pvcs_4,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in,num_srvs_plastic_2in_to_4in +services_pvc_4_to_8_in,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,pvcs_5,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in,num_srvs_plastic_4in_to_8in +services_pvc_over_8_in,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,pvcs_6,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in,num_srvs_plastic_gt8in +services_pvc_total,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,pvcst,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total,num_srvs_plastic_total +services_pe_unknown,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,pes_1,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk,num_srvs_pe_unk +services_pe_1_in_or_less,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,pes_2,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in,num_srvs_pe_lt1in +services_pe_1_to_2_in,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,pes_3,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in,num_srvs_pe_1in_to_2in +services_pe_2_to_4_in,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,pes_4,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in,num_srvs_pe_2in_to_4in +services_pe_4_to_8_in,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,pes_5,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in,num_srvs_pe_4in_to_8in +services_pe_over_8_in,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,pes_6,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in,num_srvs_pe_gt8in +services_pe_total,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,pest,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total,num_srvs_pe_total +services_abs_unknown,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,abss_1,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk,num_srvs_abs_unk +services_abs_1_in_or_less,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,abss_2,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in,num_srvs_abs_lt1in +services_abs_1_to_2_in,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,abss_3,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in,num_srvs_abs_1in_to_2in +services_abs_2_to_4_in,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,abss_4,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in,num_srvs_abs_2in_to_4in +services_abs_4_to_8_in,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,abss_5,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in,num_srvs_abs_4in_to_8in +services_abs_over_8_in,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,abss_6,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in,num_srvs_abs_gt8in +services_abs_total,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,absst,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total,num_srvs_abs_total +services_other_plastic_unknown,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk,num_srvs_oth_plstc_unk +services_other_plastic_1_in_or_less,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in,num_srvs_oth_plstc_lt1in +services_other_plastic_1_to_2_in,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in,num_srvs_oth_plstc_1in_to_2in +services_other_plastic_2_to_4_in,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in,num_srvs_oth_plstc_2in_to_4in +services_other_plastic_4_to_8_in,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in,num_srvs_oth_plstc_4in_to_8in +services_other_plastic_over_8_in,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in,num_srvs_oth_plstc_gt8in +services_other_plastic_total,,,,,,,,,,,,,,,,,,,,,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total,num_srvs_oth_plstc_total +services_other_unknown,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,ot1s_1,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk,num_srvs_other_unk +services_other_1_in_or_less,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,ot1s_2,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in,num_srvs_other_lt1in +services_other_1_to_2_in,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,ot1s_3,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in,num_srvs_other_1in_to_2in +services_other_2_to_4_in,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,ot1s_4,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in,num_srvs_other_2in_to_4in +services_other_4_to_8_in,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,ot1s_5,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in,num_srvs_other_4in_to_8in +services_other_over_8_in,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,ot1s_6,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in,num_srvs_other_gt8in +services_other_total,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,ot1st,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total,num_srvs_other_total +services_other_alt_unknown,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,ot2s_1,,,,,,,,,,,,,,nan +services_other_alt_1_in_or_less,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,ot2s_2,,,,,,,,,,,,,,nan +services_other_alt_1_to_2_in,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,ot2s_3,,,,,,,,,,,,,,nan +services_other_alt_2_to_4_in,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,ot2s_4,,,,,,,,,,,,,,nan +services_other_alt_4_to_8_in,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,ot2s_5,,,,,,,,,,,,,,nan +services_other_alt_over_8_in,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,ot2s_6,,,,,,,,,,,,,,nan +services_other_alt_total,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,ot2st,,,,,,,,,,,,,,nan +services_other_material_detail,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail,num_srvs_other_material_detail +services_reconditioned_cast_iron_unknown,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk,num_srvs_rci_unk +services_reconditioned_cast_iron_1_in_or_less,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in,num_srvs_rci_lt1in +services_reconditioned_cast_iron_1_to_2_in,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in,num_srvs_rci_1in_to_2in +services_reconditioned_cast_iron_2_to_4_in,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in,num_srvs_rci_2in_to_4in +services_reconditioned_cast_iron_4_to_8_in,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in,num_srvs_rci_4in_to_8in +services_reconditioned_cast_iron_over_8_in,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in,num_srvs_rci_gt8in +services_reconditioned_cast_iron_total,,,,,,,,,,,,,,,,,,,,,,,,,,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total,num_srvs_rci_total +services_all_materials_unknown,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,tots_1,,,,,,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total,num_srvs_unk_total +services_all_materials_1_in_or_less,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,tots_2,,,,,,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total,num_srvs_lt1in_total +services_all_materials_1_to_2_in,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,tots_3,,,,,,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total,num_srvs_1in_to_2in_total +services_all_materials_2_to_4_in,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,tots_4,,,,,,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total,num_srvs_2in_to_4in_total +services_all_materials_4_to_8_in,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,tots_5,,,,,,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total,num_srvs_4in_to_8in_total +services_all_materials_over_8_in,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,tots_6,,,,,,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total,num_srvs_gt8in_total +services_all_materials_total,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,totst,,,,,,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total,num_srvs_part_b3_total +main_unknown_decade_miles,,,,,,,,,,,,,,,dinstm_1,dinstm_1,dinstm_1,dinstm_1,dinstm_1,dinstm_1,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk,mmiles_by_dcd_unk +main_pre_1940_miles,,,,,,,,,,,,,,,dinstm_2,dinstm_2,dinstm_2,dinstm_2,dinstm_2,dinstm_2,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940,mmiles_by_dcd_pre1940 +main_1940s_miles,,,,,,,,,,,,,,,dinstm_3,dinstm_3,dinstm_3,dinstm_3,dinstm_3,dinstm_3,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949,mmiles_by_dcd_1940_to_1949 +main_1950s_miles,,,,,,,,,,,,,,,dinstm_4,dinstm_4,dinstm_4,dinstm_4,dinstm_4,dinstm_4,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959,mmiles_by_dcd_1950_to_1959 +main_1960s_miles,,,,,,,,,,,,,,,dinstm_5,dinstm_5,dinstm_5,dinstm_5,dinstm_5,dinstm_5,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969,mmiles_by_dcd_1960_to_1969 +main_1970s_miles,,,,,,,,,,,,,,,dinstm_6,dinstm_6,dinstm_6,dinstm_6,dinstm_6,dinstm_6,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979,mmiles_by_dcd_1970_to_1979 +main_1980s_miles,,,,,,,,,,,,,,,dinstm_7,dinstm_7,dinstm_7,dinstm_7,dinstm_7,dinstm_7,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989,mmiles_by_dcd_1980_to_1989 +main_1990s_miles,,,,,,,,,,,,,,,dinstm_8,dinstm_8,dinstm_8,dinstm_8,dinstm_8,dinstm_8,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999,mmiles_by_dcd_1990_to_1999 +main_2000s_miles,,,,,,,,,,,,,,,dinstm_9,dinstm_9,dinstm_9,dinstm_9,dinstm_9,dinstm_9,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009,mmiles_by_dcd_2000_to_2009 +main_2010s_miles,,,,,,,,,,,,,,,,,,,,,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019,mmiles_by_dcd_2010_to_2019 +main_2020s_miles,,,,,,,,,,,,,,,,,,,,,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029,mmiles_by_dcd_2020_to_2029 +main_all_time_miles,,,,,,,,,,,,,,,dinstmt,dinstmt,dinstmt,dinstmt,dinstmt,dinstmt,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total,mmiles_by_dcd_total +services_unknown_decade,,,,,,,,,,,,,,,dinsts_1,dinsts_1,dinsts_1,dinsts_1,dinsts_1,dinsts_1,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk,num_srvs_by_dcd_unk +services_pre_1940,,,,,,,,,,,,,,,dinsts_2,dinsts_2,dinsts_2,dinsts_2,dinsts_2,dinsts_2,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940,num_srvs_by_dcd_pre1940 +services_1940s,,,,,,,,,,,,,,,dinsts_3,dinsts_3,dinsts_3,dinsts_3,dinsts_3,dinsts_3,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949,num_srvs_by_dcd_1940_to_1949 +services_1950s,,,,,,,,,,,,,,,dinsts_4,dinsts_4,dinsts_4,dinsts_4,dinsts_4,dinsts_4,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959,num_srvs_by_dcd_1950_to_1959 +services_1960s,,,,,,,,,,,,,,,dinsts_5,dinsts_5,dinsts_5,dinsts_5,dinsts_5,dinsts_5,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969,num_srvs_by_dcd_1960_to_1969 +services_1970s,,,,,,,,,,,,,,,dinsts_6,dinsts_6,dinsts_6,dinsts_6,dinsts_6,dinsts_6,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979,num_srvs_by_dcd_1970_to_1979 +services_1980s,,,,,,,,,,,,,,,dinsts_7,dinsts_7,dinsts_7,dinsts_7,dinsts_7,dinsts_7,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989,num_srvs_by_dcd_1980_to_1989 +services_1990s,,,,,,,,,,,,,,,dinsts_8,dinsts_8,dinsts_8,dinsts_8,dinsts_8,dinsts_8,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999,num_srvs_by_dcd_1990_to_1999 +services_2000s,,,,,,,,,,,,,,,dinsts_9,dinsts_9,dinsts_9,dinsts_9,dinsts_9,dinsts_9,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009,num_srvs_by_dcd_2000_to_2009 +services_2010s,,,,,,,,,,,,,,,,,,,,,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019,num_srvs_by_dcd_2010_to_2019 +services_2020s,,,,,,,,,,,,,,,,,,,,,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029,num_srvs_by_dcd_2020_to_2029 +services_all_time,,,,,,,,,,,,,,,dinstst,dinstst,dinstst,dinstst,dinstst,dinstst,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total,num_srvs_by_dcd_total +all_leaks_corrosion_failure_mains,cm,cm,cm,cm1,cm1,cm1,cm1,cm1,cm,cm,cm,cm,cm,cm,cm,cm,cm,cm,cm,cm,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains,total_leaks_cor_mains +all_leaks_natural_force_damage_mains,,,,,,,,,,,,,,,nfm,nfm,nfm,nfm,nfm,nfm,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains,total_leaks_nf_mains +all_leaks_excavation_damage_mains,,,,,,,,,,,,,,,excm,excm,excm,excm,excm,excm,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains,total_leaks_ex_mains +all_leaks_other_outside_force_mains,,,,,,,,,,,,,,,oofm,oofm,oofm,oofm,oofm,oofm,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains,total_leaks_of_dam_mains +all_leaks_pipe_weld_joint_failure_mains,,,,,,,,,,,,,,,mwm,mwm,mwm,mwm,mwm,mwm,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains,total_leaks_mat_weld_mains +all_leaks_equipment_failure_mains,,,,,,,,,,,,,,,eqm,eqm,eqm,eqm,eqm,eqm,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains,total_leaks_eq_mains +all_leaks_incorrect_operation_mains,,,,,,,,,,,,,,,operm,operm,operm,operm,operm,operm,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains,total_leaks_op_mains +all_leaks_third_party_mains,tm,tm,tm,tm1,tm1,tm1,tm1,tm1,tm,tm,tm,tm,tm,tm,,,,,,,,,,,,,,,,,,,,nan +all_leaks_outside_force_mains,om,om,om,om1,om1,om1,om1,om1,om,om,om,om,om,om,,,,,,,,,,,,,,,,,,,,nan +all_leaks_construction_defect_mains,cdm,cdm,cdm,cdm1,cdm1,cdm1,cdm1,cdm1,cdm,cdm,cdm,cdm,cdm,cdm,,,,,,,,,,,,,,,,,,,,nan +all_leaks_material_defect_mains,mdm,mdm,mdm,mdm1,mdm1,mdm1,mdm1,mdm1,mdm,mdm,mdm,mdm,mdm,mdm,,,,,,,,,,,,,,,,,,,,nan +all_leaks_other_mains,othm,othm,othm,othm1,othm1,othm1,othm1,othm1,othm,othm,othm,othm,othm,othm,othm,othm,othm,othm,othm,othm,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains,total_leaks_ot_mains +hazardous_leaks_corrosion_failure_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains,total_hazleaks_cor_mains +hazardous_leaks_natural_force_damage_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains,total_hazleaks_nf_mains +hazardous_leaks_excavation_damage_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains,total_hazleaks_ex_mains +hazardous_leaks_other_outside_force_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains,total_hazleaks_of_dam_mains +hazardous_leaks_pipe_weld_joint_failure_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains,total_hazleaks_mat_weld_mains +hazardous_leaks_equipment_failure_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains,total_hazleaks_eq_mains +hazardous_leaks_incorrect_operation_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains,total_hazleaks_op_mains +hazardous_leaks_other_mains,,,,,,,,,,,,,,,,,,,,,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains,total_hazleaks_ot_mains +all_leaks_corrosion_failure_services,cs,cs,cs,cs1,cs1,cs1,cs1,cs1,cs,cs,cs,cs,cs,cs,cs,cs,cs,cs,cs,cs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs,total_leaks_cor_srvs +all_leaks_natural_force_damage_services,,,,,,,,,,,,,,,nfs,nfs,nfs,nfs,nfs,nfs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs,total_leaks_nf_srvs +all_leaks_excavation_damage_services,,,,,,,,,,,,,,,excs,excs,excs,excs,excs,excs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs,total_leaks_ex_srvs +all_leaks_other_outside_force_services,,,,,,,,,,,,,,,oofs,oofs,oofs,oofs,oofs,oofs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs,total_leaks_of_dam_srvs +all_leaks_pipe_weld_joint_failure_services,,,,,,,,,,,,,,,mws,mws,mws,mws,mws,mws,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs,total_leaks_mat_weld_srvs +all_leaks_equipment_failure_services,,,,,,,,,,,,,,,eqs,eqs,eqs,eqs,eqs,eqs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs,total_leaks_eq_srvs +all_leaks_incorrect_operation_services,,,,,,,,,,,,,,,opers,opers,opers,opers,opers,opers,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs,total_leaks_op_srvs +all_leaks_third_party_services,ts,ts,ts,ts1,ts1,ts1,ts1,ts1,ts,ts,ts,ts,ts,ts,,,,,,,,,,,,,,,,,,,,nan +all_leaks_outside_force_services,os,os,os,os1,os1,os1,os1,os1,os,os,os,os,os,os,,,,,,,,,,,,,,,,,,,,nan +all_leaks_construction_defect_services,cds,cds,cds,cds1,cds1,cds1,cds1,cds1,cds,cds,cds,cds,cds,cds,,,,,,,,,,,,,,,,,,,,nan +all_leaks_material_defect_services,mds,mds,mds,mds1,mds1,mds1,mds1,mds1,mds,mds,mds,mds,mds,mds,,,,,,,,,,,,,,,,,,,,nan +all_leaks_other_services,oths,oths,oths,oths1,oths1,oths1,oths1,oths1,oths,oths,oths,oths,oths,oths,oths,oths,oths,oths,oths,oths,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs,total_leaks_ot_srvs +hazardous_leaks_corrosion_failure_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs,total_hazleaks_cor_srvs +hazardous_leaks_natural_force_damage_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs,total_hazleaks_nf_srvs +hazardous_leaks_excavation_damage_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs,total_hazleaks_ex_srvs +hazardous_leaks_other_outside_force_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs,total_hazleaks_of_dam_srvs +hazardous_leaks_pipe_weld_joint_failure_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs,total_hazleaks_mat_weld_srvs +hazardous_leaks_equipment_failure_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs,total_hazleaks_eq_srvs +hazardous_leaks_incorrect_operation_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs,total_hazleaks_op_srvs +hazardous_leaks_other_services,,,,,,,,,,,,,,,,,,,,,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs,total_hazleaks_ot_srvs +all_known_leaks_scheduled_for_repair,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,knlk,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks,known_leaks +hazardous_leaks_mechanical_joint_failure,,,,,,,,,,,,,,,,,,,,,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks,mechanical_joint_leaks +excavation_damage_total,,,,,,,,,,,,,,,,,,,,,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages,excav_damages +excavation_damage_one_call_notification,,,,,,,,,,,,,,,,,,,,,,,,,,excav_onecall,excav_onecall,excav_onecall,excav_onecall,excav_onecall,excav_onecall,excav_onecall,excav_onecall,excav_onecall +excavation_damage_locating_practices,,,,,,,,,,,,,,,,,,,,,,,,,,excav_locating,excav_locating,excav_locating,excav_locating,excav_locating,excav_locating,excav_locating,excav_locating,excav_locating +excavation_damage_excavation_practices,,,,,,,,,,,,,,,,,,,,,,,,,,excav_excav,excav_excav,excav_excav,excav_excav,excav_excav,excav_excav,excav_excav,excav_excav,excav_excav +excavation_damage_other,,,,,,,,,,,,,,,,,,,,,,,,,,excav_other,excav_other,excav_other,excav_other,excav_other,excav_other,excav_other,excav_other,excav_other +excavation_tickets,,,,,,,,,,,,,,,,,,,,,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets,excav_tickets +services_efv_installed,,,,,,,,,,,,,,,,,,,,,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy,efv_installed_cy, +services_efv_in_system,,,,,,,,,,,,,,,,,,,,,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system,efv_in_system, +services_shutoff_valve_installed,,,,,,,,,,,,,,,,,,,,,,,,,,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy,shutoff_valve_installed_cy, +services_shutoff_valve_in_system,,,,,,,,,,,,,,,,,,,,,,,,,,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system,shutoff_valve_in_system, +federal_land_leaks_repaired_or_scheduled,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired,fed_land_leaks_repaired +percent_unaccounted_for_gas,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas +additional_information,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,,,,,,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information +preparer_name,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name +preparer_title,,,,,,,,,,,,,,,pemail,pemail,pemail,pemail,pemail,pemail,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title +preparer_phone,,,,,,,,,,,,,,,pfax,pfax,pfax,pfax,pfax,pfax,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone +preparer_email,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,pphone,pphone,pphone,pphone,pphone,pphone,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax +preparer_fax,,,,,,,,,,,,,,,,,,,,,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email +report_submission_type,,,,,,,,,,,,,,,,,,,,,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type +report_date,,,,,,,,,,,dor,dor,dor,dor,dor,dor,dor,dor,dor,dor,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date +filing_date,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date +correction_date,doc,doc,doc,doc,doc,doc,doc,doc,doc,doc,,,,,,,,,,,,,,,,,,,,,,,,nan +form_revision,,,,,,,,,,,,,,,,,,,,,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev +original_report,,,,,,,,,,,,,,,original,original,original,original,original,original,,,,,,,,,,,,,,nan +supplementary_report,,,,,,,,,,,,,,,supplement,supplement,supplement,supplement,supplement,supplement,,,,,,,,,,,,,,nan diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_gathering_pipe_miles_by_nps.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_gathering_pipe_miles_by_nps.csv index 02138eab74..e8521e69e6 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_gathering_pipe_miles_by_nps.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_gathering_pipe_miles_by_nps.csv @@ -1,137 +1,137 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -report_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -onshore_gathering_pipe_unknown_size_miles,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,,,,,,,,,,,,, -onshore_gathering_pipe_nps_4_or_less_miles,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,,,,,,,,,,,,, -onshore_gathering_pipe_nps_4_to_10_miles,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,,,,,,,,,,,,, -onshore_gathering_pipe_nps_10_to_20_miles,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,,,,,,,,,,,,, -onshore_gathering_pipe_nps_20_to_28_miles,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,,,,,,,,,,,,, -onshore_gathering_pipe_nps_28_and_over_miles,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,,,,,,,,,,,,, -onshore_gathering_pipe_total_miles,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,,,,,,,,,,,,, -onshore_type_a_gathering_pipe_nps_4_or_less_miles,,,,,,,,,,,,,,,,,,,,,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less -onshore_type_a_gathering_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6 -onshore_type_a_gathering_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8 -onshore_type_a_gathering_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10 -onshore_type_a_gathering_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12 -onshore_type_a_gathering_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14 -onshore_type_a_gathering_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16 -onshore_type_a_gathering_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18 -onshore_type_a_gathering_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20 -onshore_type_a_gathering_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22 -onshore_type_a_gathering_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24 -onshore_type_a_gathering_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26 -onshore_type_a_gathering_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28 -onshore_type_a_gathering_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30 -onshore_type_a_gathering_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32 -onshore_type_a_gathering_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34 -onshore_type_a_gathering_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36 -onshore_type_a_gathering_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38 -onshore_type_a_gathering_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40 -onshore_type_a_gathering_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42 -onshore_type_a_gathering_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44 -onshore_type_a_gathering_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46 -onshore_type_a_gathering_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48 -onshore_type_a_gathering_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52 -onshore_type_a_gathering_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56 -onshore_type_a_gathering_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over -onshore_type_a_gathering_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total -onshore_type_a_gathering_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail -onshore_type_a_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal -onshore_type_b_gathering_pipe_nps_4_or_less_miles,,,,,,,,,,,,,,,,,,,,,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less -onshore_type_b_gathering_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6 -onshore_type_b_gathering_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8 -onshore_type_b_gathering_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10 -onshore_type_b_gathering_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12 -onshore_type_b_gathering_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14 -onshore_type_b_gathering_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16 -onshore_type_b_gathering_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18 -onshore_type_b_gathering_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20 -onshore_type_b_gathering_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22 -onshore_type_b_gathering_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24 -onshore_type_b_gathering_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26 -onshore_type_b_gathering_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28 -onshore_type_b_gathering_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30 -onshore_type_b_gathering_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32 -onshore_type_b_gathering_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34 -onshore_type_b_gathering_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36 -onshore_type_b_gathering_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38 -onshore_type_b_gathering_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40 -onshore_type_b_gathering_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42 -onshore_type_b_gathering_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44 -onshore_type_b_gathering_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46 -onshore_type_b_gathering_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48 -onshore_type_b_gathering_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52 -onshore_type_b_gathering_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56 -onshore_type_b_gathering_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over -onshore_type_b_gathering_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total -onshore_type_b_gathering_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail -onshore_type_b_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal -onshore_type_c_gathering_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8 -onshore_type_c_gathering_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10 -onshore_type_c_gathering_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12 -onshore_type_c_gathering_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14 -onshore_type_c_gathering_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16 -onshore_type_c_gathering_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18 -onshore_type_c_gathering_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20 -onshore_type_c_gathering_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22 -onshore_type_c_gathering_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24 -onshore_type_c_gathering_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26 -onshore_type_c_gathering_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28 -onshore_type_c_gathering_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30 -onshore_type_c_gathering_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32 -onshore_type_c_gathering_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34 -onshore_type_c_gathering_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36 -onshore_type_c_gathering_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38 -onshore_type_c_gathering_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40 -onshore_type_c_gathering_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42 -onshore_type_c_gathering_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44 -onshore_type_c_gathering_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46 -onshore_type_c_gathering_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48 -onshore_type_c_gathering_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52 -onshore_type_c_gathering_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56 -onshore_type_c_gathering_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58 -onshore_type_c_gathering_pipe_other_size_miles,,,,,,,,,,,,,,,,,,,,,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional -onshore_type_c_gathering_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total -onshore_type_c_gathering_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail -onshore_type_c_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal -offshore_gathering_pipe_nps_4_or_less_miles,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less -offshore_gathering_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6 -offshore_gathering_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8 -offshore_gathering_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10 -offshore_gathering_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12 -offshore_gathering_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14 -offshore_gathering_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16 -offshore_gathering_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18 -offshore_gathering_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20 -offshore_gathering_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22 -offshore_gathering_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24 -offshore_gathering_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26 -offshore_gathering_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28 -offshore_gathering_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30 -offshore_gathering_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32 -offshore_gathering_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34 -offshore_gathering_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36 -offshore_gathering_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38 -offshore_gathering_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40 -offshore_gathering_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42 -offshore_gathering_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44 -offshore_gathering_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46 -offshore_gathering_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48 -offshore_gathering_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52 -offshore_gathering_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56 -offshore_gathering_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over -offshore_gathering_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total -offshore_gathering_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail -offshore_gathering_pipe_unknown_size_miles,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,,,,,,,,,,,,, -offshore_gathering_pipe_nps_4_to_10_miles,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,,,,,,,,,,,,, -offshore_gathering_pipe_nps_10_to_20_miles,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,,,,,,,,,,,,, -offshore_gathering_pipe_nps_20_to_28_miles,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,,,,,,,,,,,,, -offshore_gathering_pipe_nps_28_and_over_miles,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,,,,,,,,,,,,, -offshore_gathering_pipe_total_miles,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +report_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +onshore_gathering_pipe_unknown_size_miles,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,g2m1_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,b2gon_1,,,,,,,,,,,,,,nan +onshore_gathering_pipe_nps_4_or_less_miles,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,g2m1_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,b2gon_2,,,,,,,,,,,,,,nan +onshore_gathering_pipe_nps_4_to_10_miles,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,g2m1_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,b2gon_3,,,,,,,,,,,,,,nan +onshore_gathering_pipe_nps_10_to_20_miles,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,g2m1_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,b2gon_4,,,,,,,,,,,,,,nan +onshore_gathering_pipe_nps_20_to_28_miles,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,g2m1_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,b2gon_5,,,,,,,,,,,,,,nan +onshore_gathering_pipe_nps_28_and_over_miles,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,g2m1_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,b2gon_6,,,,,,,,,,,,,,nan +onshore_gathering_pipe_total_miles,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,g2m1t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,b2gon_t,,,,,,,,,,,,,,nan +onshore_type_a_gathering_pipe_nps_4_or_less_miles,,,,,,,,,,,,,,,,,,,,,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less,partiona4less +onshore_type_a_gathering_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6,partiona6 +onshore_type_a_gathering_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8,partiona8 +onshore_type_a_gathering_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10,partiona10 +onshore_type_a_gathering_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12,partiona12 +onshore_type_a_gathering_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14,partiona14 +onshore_type_a_gathering_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16,partiona16 +onshore_type_a_gathering_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18,partiona18 +onshore_type_a_gathering_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20,partiona20 +onshore_type_a_gathering_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22,partiona22 +onshore_type_a_gathering_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24,partiona24 +onshore_type_a_gathering_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26,partiona26 +onshore_type_a_gathering_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28,partiona28 +onshore_type_a_gathering_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30,partiona30 +onshore_type_a_gathering_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32,partiona32 +onshore_type_a_gathering_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34,partiona34 +onshore_type_a_gathering_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36,partiona36 +onshore_type_a_gathering_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38,partiona38 +onshore_type_a_gathering_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40,partiona40 +onshore_type_a_gathering_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42,partiona42 +onshore_type_a_gathering_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44,partiona44 +onshore_type_a_gathering_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46,partiona46 +onshore_type_a_gathering_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48,partiona48 +onshore_type_a_gathering_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52,partiona52 +onshore_type_a_gathering_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56,partiona56 +onshore_type_a_gathering_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over,partiona58over +onshore_type_a_gathering_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total,partiona_other_pipe_mile_total +onshore_type_a_gathering_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail,partiona_other_pipe_detail +onshore_type_a_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal,partionatotal +onshore_type_b_gathering_pipe_nps_4_or_less_miles,,,,,,,,,,,,,,,,,,,,,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less,partionb4less +onshore_type_b_gathering_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6,partionb6 +onshore_type_b_gathering_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8,partionb8 +onshore_type_b_gathering_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10,partionb10 +onshore_type_b_gathering_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12,partionb12 +onshore_type_b_gathering_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14,partionb14 +onshore_type_b_gathering_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16,partionb16 +onshore_type_b_gathering_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18,partionb18 +onshore_type_b_gathering_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20,partionb20 +onshore_type_b_gathering_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22,partionb22 +onshore_type_b_gathering_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24,partionb24 +onshore_type_b_gathering_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26,partionb26 +onshore_type_b_gathering_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28,partionb28 +onshore_type_b_gathering_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30,partionb30 +onshore_type_b_gathering_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32,partionb32 +onshore_type_b_gathering_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34,partionb34 +onshore_type_b_gathering_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36,partionb36 +onshore_type_b_gathering_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38,partionb38 +onshore_type_b_gathering_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40,partionb40 +onshore_type_b_gathering_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42,partionb42 +onshore_type_b_gathering_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44,partionb44 +onshore_type_b_gathering_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46,partionb46 +onshore_type_b_gathering_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48,partionb48 +onshore_type_b_gathering_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52,partionb52 +onshore_type_b_gathering_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56,partionb56 +onshore_type_b_gathering_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over,partionb58over +onshore_type_b_gathering_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total,partionb_other_pipe_mile_total +onshore_type_b_gathering_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail,partionb_other_pipe_detail +onshore_type_b_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal,partionbtotal +onshore_type_c_gathering_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8,partionc8 +onshore_type_c_gathering_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10,partionc10 +onshore_type_c_gathering_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12,partionc12 +onshore_type_c_gathering_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14,partionc14 +onshore_type_c_gathering_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16,partionc16 +onshore_type_c_gathering_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18,partionc18 +onshore_type_c_gathering_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20,partionc20 +onshore_type_c_gathering_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22,partionc22 +onshore_type_c_gathering_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24,partionc24 +onshore_type_c_gathering_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26,partionc26 +onshore_type_c_gathering_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28,partionc28 +onshore_type_c_gathering_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30,partionc30 +onshore_type_c_gathering_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32,partionc32 +onshore_type_c_gathering_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34,partionc34 +onshore_type_c_gathering_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36,partionc36 +onshore_type_c_gathering_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38,partionc38 +onshore_type_c_gathering_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40,partionc40 +onshore_type_c_gathering_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42,partionc42 +onshore_type_c_gathering_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44,partionc44 +onshore_type_c_gathering_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46,partionc46 +onshore_type_c_gathering_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48,partionc48 +onshore_type_c_gathering_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52,partionc52 +onshore_type_c_gathering_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56,partionc56 +onshore_type_c_gathering_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58,partionc58 +onshore_type_c_gathering_pipe_other_size_miles,,,,,,,,,,,,,,,,,,,,,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional,partioncadditional +onshore_type_c_gathering_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total,partionc_other_pipe_mile_total +onshore_type_c_gathering_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail,partionc_other_pipe_detail +onshore_type_c_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal,partionctotal +offshore_gathering_pipe_nps_4_or_less_miles,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,g2m2_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,b2goff_2,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less,partioff4less +offshore_gathering_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6,partioff6 +offshore_gathering_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8,partioff8 +offshore_gathering_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10,partioff10 +offshore_gathering_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12,partioff12 +offshore_gathering_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14,partioff14 +offshore_gathering_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16,partioff16 +offshore_gathering_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18,partioff18 +offshore_gathering_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20,partioff20 +offshore_gathering_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22,partioff22 +offshore_gathering_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24,partioff24 +offshore_gathering_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26,partioff26 +offshore_gathering_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28,partioff28 +offshore_gathering_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30,partioff30 +offshore_gathering_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32,partioff32 +offshore_gathering_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34,partioff34 +offshore_gathering_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36,partioff36 +offshore_gathering_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38,partioff38 +offshore_gathering_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40,partioff40 +offshore_gathering_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42,partioff42 +offshore_gathering_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44,partioff44 +offshore_gathering_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46,partioff46 +offshore_gathering_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48,partioff48 +offshore_gathering_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52,partioff52 +offshore_gathering_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56,partioff56 +offshore_gathering_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over,partioff58over +offshore_gathering_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total,partioff_other_pipe_mile_total +offshore_gathering_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail,partioff_other_pipe_detail +offshore_gathering_pipe_unknown_size_miles,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,g2m2_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,b2goff_1,,,,,,,,,,,,,,nan +offshore_gathering_pipe_nps_4_to_10_miles,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,g2m2_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,b2goff_3,,,,,,,,,,,,,,nan +offshore_gathering_pipe_nps_10_to_20_miles,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,g2m2_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,b2goff_4,,,,,,,,,,,,,,nan +offshore_gathering_pipe_nps_20_to_28_miles,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,g2m2_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,b2goff_5,,,,,,,,,,,,,,nan +offshore_gathering_pipe_nps_28_and_over_miles,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,g2m2_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,b2goff_6,,,,,,,,,,,,,,nan +offshore_gathering_pipe_total_miles,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,g2m2t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,b2goff_t,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal,partiofftotal diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_failures_leaks_repairs.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_failures_leaks_repairs.csv index 9617ad3ccf..ab5b63f9ec 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_failures_leaks_repairs.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_failures_leaks_repairs.csv @@ -1,221 +1,221 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -filing_date,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,,,,,,,,,,,,, -report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -report_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -repaired_leaks_transmission_external_corrosion_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca -repaired_leaks_transmission_external_corrosion_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaec,partmtlfmcaec -repaired_leaks_transmission_external_corrosion_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,, -repaired_leaks_transmission_external_corrosion_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34ec,partmtlfcl34ec -repaired_leaks_transmission_external_corrosion_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12ec,partmtlfcl12ec -repaired_leaks_transmission_external_corrosion_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca -repaired_leaks_transmission_external_corrosion_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca -repaired_leaks_transmission_external_corrosion_onshore_total,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,,,,,,,,,,,,, -repaired_leaks_transmission_external_corrosion_offshore_total,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,,,,,,,,,,,,, -repaired_failures_transmission_external_corrosion,,,,,,,,,,,,,,,,,,,,,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca -repaired_leaks_gathering_external_corrosion_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona -repaired_leaks_gathering_external_corrosion_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb -repaired_leaks_gathering_external_corrosion_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgceconc,partmgceconc -repaired_leaks_gathering_external_corrosion_onshore_total,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,,,,,,,,,,,,, -repaired_leaks_gathering_external_corrosion_offshore_total,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff -repaired_leaks_transmission_internal_corrosion_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca -repaired_leaks_transmission_internal_corrosion_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaic,partmtlfmcaic -repaired_leaks_transmission_internal_corrosion_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,, -repaired_leaks_transmission_internal_corrosion_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34ic,partmtlfcl34ic -repaired_leaks_transmission_internal_corrosion_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12ic,partmtlfcl12ic -repaired_leaks_transmission_internal_corrosion_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca -repaired_leaks_transmission_internal_corrosion_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca -repaired_failures_transmission_internal_corrosion,,,,,,,,,,,,,,,,,,,,,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca -repaired_leaks_gathering_internal_corrosion_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona -repaired_leaks_gathering_internal_corrosion_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb -repaired_leaks_gathering_internal_corrosion_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgciconc,partmgciconc -repaired_leaks_gathering_internal_corrosion_offshore_total,,,,,,,,,,,,,,,,,,,,,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff -repaired_leaks_transmission_stress_corrosion_cracking_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca -repaired_leaks_transmission_stress_corrosion_cracking_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcasc,partmtlfmcasc -repaired_leaks_transmission_stress_corrosion_cracking_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,, -repaired_leaks_transmission_stress_corrosion_cracking_onshore_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -repaired_leaks_transmission_stress_corrosion_cracking_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34sc,partmtlfcl34sc -repaired_leaks_transmission_stress_corrosion_cracking_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12sc,partmtlfcl12sc -repaired_leaks_transmission_stress_corrosion_cracking_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca -repaired_leaks_transmission_stress_corrosion_cracking_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca -repaired_leaks_transmission_stress_corrosion_cracking_offshore_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -repaired_failures_transmission_stress_corrosion_cracking,,,,,,,,,,,,,,,,,,,,,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca -repaired_leaks_gathering_stress_corrosion_cracking_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona -repaired_leaks_gathering_stress_corrosion_cracking_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb -repaired_leaks_gathering_stress_corrosion_cracking_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcsconc,partmgcsconc -repaired_leaks_gathering_stress_corrosion_cracking_onshore_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -repaired_leaks_gathering_stress_corrosion_cracking_offshore_total,,,,,,,,,,,,,,,,,,,,,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff -repaired_leaks_transmission_manufacturing_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca -repaired_leaks_transmission_manufacturing_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcama,partmtlfmcama -repaired_leaks_transmission_manufacturing_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,, -repaired_leaks_transmission_manufacturing_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34ma,partmtlfcl34ma -repaired_leaks_transmission_manufacturing_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12ma,partmtlfcl12ma -repaired_leaks_transmission_manufacturing_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca -repaired_leaks_transmission_manufacturing_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca -repaired_failures_transmission_manufacturing,,,,,,,,,,,,,,,,,,,,,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca -repaired_leaks_gathering_manufacturing_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona -repaired_leaks_gathering_manufacturing_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb -repaired_leaks_gathering_manufacturing_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcmonc,partmgcmonc -repaired_leaks_gathering_manufacturing_offshore_total,,,,,,,,,,,,,,,,,,,,,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff -repaired_leaks_transmission_construction_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca -repaired_leaks_transmission_construction_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaco,partmtlfmcaco -repaired_leaks_transmission_construction_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,, -repaired_leaks_transmission_construction_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34co,partmtlfcl34co -repaired_leaks_transmission_construction_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12co,partmtlfcl12co -repaired_leaks_transmission_construction_onshore_total,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,,,,,,,,,,,,,,,,,,,,,, -repaired_leaks_transmission_construction_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca -repaired_leaks_transmission_construction_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca -repaired_leaks_transmission_construction_offshore_total,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,,,,,,,,,,,,,,,,,,,,,, -repaired_failures_transmission_construction,,,,,,,,,,,,,,,,,,,,,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca -repaired_leaks_gathering_construction_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona -repaired_leaks_gathering_construction_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb -repaired_leaks_gathering_construction_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcconc,partmgcconc -repaired_leaks_gathering_construction_onshore_total,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,,,,,,,,,,,,,,,,,,,,,, -repaired_leaks_gathering_construction_offshore_total,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,,,,,,,,,,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff -repaired_leaks_transmission_equipment_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca -repaired_leaks_transmission_equipment_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaeq,partmtlfmcaeq -repaired_leaks_transmission_equipment_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,, -repaired_leaks_transmission_equipment_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34eq,partmtlfcl34eq -repaired_leaks_transmission_equipment_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12eq,partmtlfcl12eq -repaired_leaks_transmission_equipment_onshore_total,,,,,,,,,,,,cteo1,cteo1,cteo1,cteo1,cteo1,cteo1,cteo1,cteo1,cteo1,,,,,,,,,,,,, -repaired_leaks_transmission_equipment_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca -repaired_leaks_transmission_equipment_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca -repaired_leaks_transmission_equipment_offshore_total,,,,,,,,,,,,cteo2,cteo2,cteo2,cteo2,cteo2,cteo2,cteo2,cteo2,cteo2,,,,,,,,,,,,, -repaired_failures_transmission_equipment,,,,,,,,,,,,,,,,,,,,,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca -repaired_leaks_gathering_equipment_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona -repaired_leaks_gathering_equipment_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb -repaired_leaks_gathering_equipment_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgceonc,partmgceonc -repaired_leaks_gathering_equipment_onshore_total,,,,,,,,,,,,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,,,,,,,,,,,,, -repaired_leaks_gathering_equipment_offshore_total,,,,,,,,,,,,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff -repaired_leaks_transmission_incorrect_operations_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca -repaired_leaks_transmission_incorrect_operations_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaio,partmtlfmcaio -repaired_leaks_transmission_incorrect_operations_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,, -repaired_leaks_transmission_incorrect_operations_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34io,partmtlfcl34io -repaired_leaks_transmission_incorrect_operations_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12io,partmtlfcl12io -repaired_leaks_transmission_incorrect_operations_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca -repaired_leaks_transmission_incorrect_operations_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca -repaired_failures_transmission_incorrect_operations,,,,,,,,,,,,,,,,,,,,,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca -repaired_leaks_gathering_incorrect_operations_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgciona,partmgciona -repaired_leaks_gathering_incorrect_operations_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcionb,partmgcionb -repaired_leaks_gathering_incorrect_operations_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcionc,partmgcionc -repaired_leaks_gathering_incorrect_operations_offshore,,,,,,,,,,,,,,,,,,,,,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgcioff,partmgcioff -repaired_leaks_transmission_excavation_damage_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca -repaired_leaks_transmission_excavation_damage_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdmcaed,partmtpdmcaed -repaired_leaks_transmission_excavation_damage_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,, -repaired_leaks_transmission_excavation_damage_onshore_total,,,,,,,,,,,,cte1,cte1,cte1,cte1,cte1,cte1,cte1,cte1,cte1,,,,,,,,,,,,, -repaired_leaks_transmission_excavation_damage_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl34ed,partmtpdcl34ed -repaired_leaks_transmission_excavation_damage_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl12ed,partmtpdcl12ed -repaired_leaks_transmission_excavation_damage_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca -repaired_leaks_transmission_excavation_damage_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca -repaired_leaks_transmission_excavation_damage_offshore,,,,,,,,,,,,cte2,cte2,cte2,cte2,cte2,cte2,cte2,cte2,cte2,,,,,,,,,,,,, -repaired_failures_transmission_excavation_damage,,,,,,,,,,,,,,,,,,,,,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca -repaired_leaks_gathering_excavation_damage_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona -repaired_leaks_gathering_excavation_damage_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb -repaired_leaks_gathering_excavation_damage_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcedonc,partmgcedonc -repaired_leaks_gathering_excavation_damage_onshore_total,,,,,,,,,,,,cge1,cge1,cge1,cge1,cge1,cge1,cge1,cge1,cge1,,,,,,,,,,,,, -repaired_leaks_gathering_excavation_damage_offshore_total,,,,,,,,,,,,cge2,cge2,cge2,cge2,cge2,cge2,cge2,cge2,cge2,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff -repaired_leaks_transmission_previous_damage_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca -repaired_leaks_transmission_previous_damage_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdmcapd,partmtpdmcapd -repaired_leaks_transmission_previous_damage_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,, -repaired_leaks_transmission_previous_damage_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl34pd,partmtpdcl34pd -repaired_leaks_transmission_previous_damage_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl12pd,partmtpdcl12pd -repaired_leaks_transmission_previous_damage_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca -repaired_leaks_transmission_previous_damage_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca -repaired_failures_transmission_previous_damage,,,,,,,,,,,,,,,,,,,,,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca -repaired_leaks_gathering_previous_damage_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona -repaired_leaks_gathering_previous_damage_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb -repaired_leaks_gathering_previous_damage_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcpdonc,partmgcpdonc -repaired_leaks_gathering_previous_damage_offshore,,,,,,,,,,,,,,,,,,,,,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff -repaired_leaks_transmission_vandalism_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca -repaired_leaks_transmission_vandalism_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdmcava,partmtpdmcava -repaired_leaks_transmission_vandalism_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,, -repaired_leaks_transmission_vandalism_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl34va,partmtpdcl34va -repaired_leaks_transmission_vandalism_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl12va,partmtpdcl12va -repaired_leaks_transmission_vandalism_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca -repaired_leaks_transmission_vandalism_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca -repaired_failures_transmission_vandalism,,,,,,,,,,,,,,,,,,,,,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca -repaired_leaks_gathering_vandalism_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona -repaired_leaks_gathering_vandalism_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb -repaired_leaks_gathering_vandalism_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcvonc,partmgcvonc -repaired_leaks_gathering_vandalism_offshore,,,,,,,,,,,,,,,,,,,,,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff -repaired_leaks_transmission_natural_force_damage_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca -repaired_leaks_transmission_natural_force_damage_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrmcanf,partmwrmcanf -repaired_leaks_transmission_natural_force_damage_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,, -repaired_leaks_transmission_natural_force_damage_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl34nf,partmwrcl34nf -repaired_leaks_transmission_natural_force_damage_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl12nf,partmwrcl12nf -repaired_leaks_transmission_natural_force_damage_onshore_total,,,,,,,,,,,,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,,,,,,,,,,,,, -repaired_leaks_transmission_natural_force_damage_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca -repaired_leaks_transmission_natural_force_damage_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca -repaired_leaks_transmission_natural_force_damage_offshore_total,,,,,,,,,,,,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,,,,,,,,,,,,, -repaired_failures_transmission_natural_force_damage,,,,,,,,,,,,,,,,,,,,,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca -repaired_leaks_gathering_natural_force_damage_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona -repaired_leaks_gathering_natural_force_damage_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb -repaired_leaks_gathering_natural_force_damage_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcnfonc,partmgcnfonc -repaired_leaks_gathering_natural_force_damage_onshore_total,,,,,,,,,,,,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,,,,,,,,,,,,, -repaired_leaks_gathering_natural_force_damage_offshore_total,,,,,,,,,,,,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff -repaired_leaks_transmission_other_outside_force_damange_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca -repaired_leaks_transmission_other_outside_force_damange_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrmcaof,partmwrmcaof -repaired_leaks_transmission_other_outside_force_damange_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,, -repaired_leaks_transmission_other_outside_force_damange_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl34of,partmwrcl34of -repaired_leaks_transmission_other_outside_force_damange_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl12of,partmwrcl12of -repaired_leaks_transmission_other_outside_force_damange_onshore_total,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,,,,,,,,,,,,, -repaired_leaks_transmission_other_outside_force_damange_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca -repaired_leaks_transmission_other_outside_force_damange_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca -repaired_leaks_transmission_other_outside_force_damange_offshore_total,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,,,,,,,,,,,,, -repaired_failures_transmission_other_outside_force_damange,,,,,,,,,,,,,,,,,,,,,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca -repaired_leaks_gathering_other_outside_force_damange_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona -repaired_leaks_gathering_other_outside_force_damange_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb -repaired_leaks_gathering_other_outside_force_damange_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcoofdonc,partmgcoofdonc -repaired_leaks_gathering_other_outside_force_damange_onshore_total,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,,,,,,,,,,,,, -repaired_leaks_gathering_other_outside_force_damange_offshore_total,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff -repaired_leaks_transmission_other_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca -repaired_leaks_transmission_other_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrmcaot,partmwrmcaot -repaired_leaks_transmission_other_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,, -repaired_leaks_transmission_other_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl34ot,partmwrcl34ot -repaired_leaks_transmission_other_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl12ot,partmwrcl12ot -repaired_leaks_transmission_other_onshore_total,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,,,,,,,,,,,,, -repaired_leaks_transmission_other_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca -repaired_leaks_transmission_other_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca -repaired_leaks_transmission_other_offshore_total,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,,,,,,,,,,,,, -repaired_failures_transmission_other,,,,,,,,,,,,,,,,,,,,,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca -repaired_leaks_gathering_other_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcooona,partmgcooona -repaired_leaks_gathering_other_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcooonb,partmgcooonb -repaired_leaks_gathering_other_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcooonc,partmgcooonc -repaired_leaks_gathering_other_onshore_total,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,,,,,,,,,,,,, -repaired_leaks_gathering_other_offshore_total,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcoooff,partmgcoooff -repaired_leaks_transmission_total_onshore_hca,,,,,,,,,,,,,,,,,,,,,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partmtonhcatot,partmtonhcatot -repaired_leaks_transmission_total_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtfmcatot,partmtfmcatot -repaired_leaks_transmission_total_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,, -repaired_leaks_transmission_total_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtfclass34tot,partmtfclass34tot -repaired_leaks_transmission_total_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtfclass12tot,partmtfclass12tot -repaired_leaks_transmission_total_offshore_hca,,,,,,,,,,,,,,,,,,,,,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partmtoffhcatot,partmtoffhcatot -repaired_leaks_transmission_total_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partmtfhcatot,partmtfhcatot -repaired_failures_transmission_total,,,,,,,,,,,,,,,,,,,,,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partmtoffnhcatot,partmtoffnhcatot -repaired_leaks_gathering_total_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partmgonatot,partmgonatot -repaired_leaks_gathering_total_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partmgonbtot,partmgonbtot -repaired_leaks_gathering_total_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgonctot,partmgonctot -repaired_leaks_gathering_total_offshore_total,,,,,,,,,,,,,,,,,,,,,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partmgofftot,partmgofftot -repaired_leaks_transmission_materials_welds_onshore_total,,,,,,,,,,,,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,,,,,,,,,,,,, -repaired_leaks_transmission_materials_welds_offshore_total,,,,,,,,,,,,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,,,,,,,,,,,,, -repaired_leaks_gathering_materials_welds_onshore_total,,,,,,,,,,,,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,,,,,,,,,,,,, -repaired_leaks_gathering_materials_welds_offshore_total,,,,,,,,,,,,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,,,,,,,,,,,,, -known_leaks_transmission_total_total,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partmtlsfr,partmtlsfr -known_leaks_gathering_total_total,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partmglcfr,partmglcfr -repaired_or_known_leaks_transmission_any_onshore_federal,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partmtlsron,partmtlsron -repaired_or_known_leaks_transmission_any_offshore_federal,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,,,,,,,,,,,,, -repaired_or_known_leaks_transmission_any_ocs_federal,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partmtlsrocs,partmtlsrocs -repaired_or_known_leaks_gathering_any_onshore_federal_type_a,,,,,,,,,,,,,,,,,,,,,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partmgcglsrona,partmgcglsrona -repaired_or_known_leaks_gathering_any_onshore_federal_type_b,,,,,,,,,,,,,,,,,,,,,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partmgcglsronb,partmgcglsronb -repaired_or_known_leaks_gathering_any_onshore_federal_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcglsronc,partmgcglsronc -repaired_or_known_leaks_gathering_any_onshore_federal,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,,,,,,,,,,,,, -repaired_or_known_leaks_gathering_any_offshore_federal,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,,,,,,,,,,,,, -repaired_or_known_leaks_gathering_any_ocs_federal,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partmgcglsrocs,partmgcglsrocs -repaired_or_known_leaks_transmission_any_total_total,,,,,,,,,,,,,,,,,,,,,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partmtlsrtotal,partmtlsrtotal -repaired_or_known_leaks_gathering_any_total_total,,,,,,,,,,,,,,,,,,,,,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partmgcglsrtotal,partmgcglsrtotal -repaired_or_known_leaks_total_any_total_total,,,,,,,,,,,,,,,,,,,,,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partmm3total,partmm3total +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +filing_date,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,,,,,,,,,,,,,,nan +report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +report_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +repaired_leaks_transmission_external_corrosion_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca,partmtceconhca +repaired_leaks_transmission_external_corrosion_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaec,partmtlfmcaec,partmtlfmcaec +repaired_leaks_transmission_external_corrosion_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,partmtceconnhca,,,nan +repaired_leaks_transmission_external_corrosion_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34ec,partmtlfcl34ec,partmtlfcl34ec +repaired_leaks_transmission_external_corrosion_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12ec,partmtlfcl12ec,partmtlfcl12ec +repaired_leaks_transmission_external_corrosion_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca,partmtcecoffhca +repaired_leaks_transmission_external_corrosion_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca,partmtcecoffnhca +repaired_leaks_transmission_external_corrosion_onshore_total,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,ctc1,,,,,,,,,,,,,,nan +repaired_leaks_transmission_external_corrosion_offshore_total,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,ctc2,,,,,,,,,,,,,,nan +repaired_failures_transmission_external_corrosion,,,,,,,,,,,,,,,,,,,,,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca,partmtcecfhca +repaired_leaks_gathering_external_corrosion_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona,partmgcecona +repaired_leaks_gathering_external_corrosion_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb,partmgceconb +repaired_leaks_gathering_external_corrosion_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgceconc,partmgceconc,partmgceconc +repaired_leaks_gathering_external_corrosion_onshore_total,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,cgc1,,,,,,,,,,,,,,nan +repaired_leaks_gathering_external_corrosion_offshore_total,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,cgc2,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff,partmgcecoff +repaired_leaks_transmission_internal_corrosion_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca,partmtciconhca +repaired_leaks_transmission_internal_corrosion_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaic,partmtlfmcaic,partmtlfmcaic +repaired_leaks_transmission_internal_corrosion_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,partmtciconnhca,,,nan +repaired_leaks_transmission_internal_corrosion_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34ic,partmtlfcl34ic,partmtlfcl34ic +repaired_leaks_transmission_internal_corrosion_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12ic,partmtlfcl12ic,partmtlfcl12ic +repaired_leaks_transmission_internal_corrosion_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca,partmtcicoffhca +repaired_leaks_transmission_internal_corrosion_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca,partmtcicoffnhca +repaired_failures_transmission_internal_corrosion,,,,,,,,,,,,,,,,,,,,,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca,partmtcicfhca +repaired_leaks_gathering_internal_corrosion_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona,partmgcicona +repaired_leaks_gathering_internal_corrosion_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb,partmgciconb +repaired_leaks_gathering_internal_corrosion_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgciconc,partmgciconc,partmgciconc +repaired_leaks_gathering_internal_corrosion_offshore_total,,,,,,,,,,,,,,,,,,,,,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff,partmgcicoff +repaired_leaks_transmission_stress_corrosion_cracking_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca,partmtcsconhca +repaired_leaks_transmission_stress_corrosion_cracking_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcasc,partmtlfmcasc,partmtlfmcasc +repaired_leaks_transmission_stress_corrosion_cracking_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,partmtcsconnhca,,,nan +repaired_leaks_transmission_stress_corrosion_cracking_onshore_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,nan +repaired_leaks_transmission_stress_corrosion_cracking_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34sc,partmtlfcl34sc,partmtlfcl34sc +repaired_leaks_transmission_stress_corrosion_cracking_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12sc,partmtlfcl12sc,partmtlfcl12sc +repaired_leaks_transmission_stress_corrosion_cracking_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca,partmtcscoffhca +repaired_leaks_transmission_stress_corrosion_cracking_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca,partmtcscoffnhca +repaired_leaks_transmission_stress_corrosion_cracking_offshore_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,nan +repaired_failures_transmission_stress_corrosion_cracking,,,,,,,,,,,,,,,,,,,,,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca,partmtcscfhca +repaired_leaks_gathering_stress_corrosion_cracking_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona,partmgcscona +repaired_leaks_gathering_stress_corrosion_cracking_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb,partmgcsconb +repaired_leaks_gathering_stress_corrosion_cracking_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcsconc,partmgcsconc,partmgcsconc +repaired_leaks_gathering_stress_corrosion_cracking_onshore_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,nan +repaired_leaks_gathering_stress_corrosion_cracking_offshore_total,,,,,,,,,,,,,,,,,,,,,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff,partmgcscoff +repaired_leaks_transmission_manufacturing_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca,partmtcmonhca +repaired_leaks_transmission_manufacturing_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcama,partmtlfmcama,partmtlfmcama +repaired_leaks_transmission_manufacturing_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,partmtcmonnhca,,,nan +repaired_leaks_transmission_manufacturing_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34ma,partmtlfcl34ma,partmtlfcl34ma +repaired_leaks_transmission_manufacturing_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12ma,partmtlfcl12ma,partmtlfcl12ma +repaired_leaks_transmission_manufacturing_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca,partmtcmoffhca +repaired_leaks_transmission_manufacturing_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca,partmtcmoffnhca +repaired_failures_transmission_manufacturing,,,,,,,,,,,,,,,,,,,,,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca,partmtcmfhca +repaired_leaks_gathering_manufacturing_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona,partmgcmona +repaired_leaks_gathering_manufacturing_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb,partmgcmonb +repaired_leaks_gathering_manufacturing_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcmonc,partmgcmonc,partmgcmonc +repaired_leaks_gathering_manufacturing_offshore_total,,,,,,,,,,,,,,,,,,,,,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff,partmgcmoff +repaired_leaks_transmission_construction_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca,partmtcconhca +repaired_leaks_transmission_construction_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaco,partmtlfmcaco,partmtlfmcaco +repaired_leaks_transmission_construction_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,partmtcconnhca,,,nan +repaired_leaks_transmission_construction_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34co,partmtlfcl34co,partmtlfcl34co +repaired_leaks_transmission_construction_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12co,partmtlfcl12co,partmtlfcl12co +repaired_leaks_transmission_construction_onshore_total,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,ctcd1,,,,,,,,,,,,,,,,,,,,,,,nan +repaired_leaks_transmission_construction_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca,partmtccoffhca +repaired_leaks_transmission_construction_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca,partmtccoffnhca +repaired_leaks_transmission_construction_offshore_total,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,ctcd2,,,,,,,,,,,,,,,,,,,,,,,nan +repaired_failures_transmission_construction,,,,,,,,,,,,,,,,,,,,,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca,partmtccfhca +repaired_leaks_gathering_construction_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona,partmgccona +repaired_leaks_gathering_construction_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb,partmgcconb +repaired_leaks_gathering_construction_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcconc,partmgcconc,partmgcconc +repaired_leaks_gathering_construction_onshore_total,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,cgcd1,,,,,,,,,,,,,,,,,,,,,,,nan +repaired_leaks_gathering_construction_offshore_total,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,cgcd2,,,,,,,,,,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff,partmgccoff +repaired_leaks_transmission_equipment_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca,partmtceonhca +repaired_leaks_transmission_equipment_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaeq,partmtlfmcaeq,partmtlfmcaeq +repaired_leaks_transmission_equipment_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,partmtceonnhca,,,nan +repaired_leaks_transmission_equipment_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34eq,partmtlfcl34eq,partmtlfcl34eq +repaired_leaks_transmission_equipment_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12eq,partmtlfcl12eq,partmtlfcl12eq +repaired_leaks_transmission_equipment_onshore_total,,,,,,,,,,,,cteo1,cteo1,cteo1,cteo1,cteo1,cteo1,cteo1,cteo1,cteo1,,,,,,,,,,,,,,nan +repaired_leaks_transmission_equipment_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca,partmtceoffhca +repaired_leaks_transmission_equipment_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca,partmtceoffnhca +repaired_leaks_transmission_equipment_offshore_total,,,,,,,,,,,,cteo2,cteo2,cteo2,cteo2,cteo2,cteo2,cteo2,cteo2,cteo2,,,,,,,,,,,,,,nan +repaired_failures_transmission_equipment,,,,,,,,,,,,,,,,,,,,,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca,partmtcefhca +repaired_leaks_gathering_equipment_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona,partmgceona +repaired_leaks_gathering_equipment_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb,partmgceonb +repaired_leaks_gathering_equipment_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgceonc,partmgceonc,partmgceonc +repaired_leaks_gathering_equipment_onshore_total,,,,,,,,,,,,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,cgeo1,,,,,,,,,,,,,,nan +repaired_leaks_gathering_equipment_offshore_total,,,,,,,,,,,,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,cgeo2,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff,partmgceoff +repaired_leaks_transmission_incorrect_operations_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca,partmtcioonhca +repaired_leaks_transmission_incorrect_operations_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfmcaio,partmtlfmcaio,partmtlfmcaio +repaired_leaks_transmission_incorrect_operations_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,partmtcioonnhca,,,nan +repaired_leaks_transmission_incorrect_operations_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl34io,partmtlfcl34io,partmtlfcl34io +repaired_leaks_transmission_incorrect_operations_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtlfcl12io,partmtlfcl12io,partmtlfcl12io +repaired_leaks_transmission_incorrect_operations_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca,partmtciooffhca +repaired_leaks_transmission_incorrect_operations_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca,partmtciooffnhca +repaired_failures_transmission_incorrect_operations,,,,,,,,,,,,,,,,,,,,,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca,partmtciofhca +repaired_leaks_gathering_incorrect_operations_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgcioona,partmgciona,partmgciona,partmgciona +repaired_leaks_gathering_incorrect_operations_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcioonb,partmgcionb,partmgcionb,partmgcionb +repaired_leaks_gathering_incorrect_operations_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcionc,partmgcionc,partmgcionc +repaired_leaks_gathering_incorrect_operations_offshore,,,,,,,,,,,,,,,,,,,,,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgciooff,partmgcioff,partmgcioff,partmgcioff +repaired_leaks_transmission_excavation_damage_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca,partmtcedonhca +repaired_leaks_transmission_excavation_damage_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdmcaed,partmtpdmcaed,partmtpdmcaed +repaired_leaks_transmission_excavation_damage_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,partmtcedonnhca,,,nan +repaired_leaks_transmission_excavation_damage_onshore_total,,,,,,,,,,,,cte1,cte1,cte1,cte1,cte1,cte1,cte1,cte1,cte1,,,,,,,,,,,,,,nan +repaired_leaks_transmission_excavation_damage_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl34ed,partmtpdcl34ed,partmtpdcl34ed +repaired_leaks_transmission_excavation_damage_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl12ed,partmtpdcl12ed,partmtpdcl12ed +repaired_leaks_transmission_excavation_damage_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca,partmtcedoffhca +repaired_leaks_transmission_excavation_damage_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca,partmtcedoffnhca +repaired_leaks_transmission_excavation_damage_offshore,,,,,,,,,,,,cte2,cte2,cte2,cte2,cte2,cte2,cte2,cte2,cte2,,,,,,,,,,,,,,nan +repaired_failures_transmission_excavation_damage,,,,,,,,,,,,,,,,,,,,,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca,partmtcedfhca +repaired_leaks_gathering_excavation_damage_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona,partmgcedona +repaired_leaks_gathering_excavation_damage_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb,partmgcedonb +repaired_leaks_gathering_excavation_damage_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcedonc,partmgcedonc,partmgcedonc +repaired_leaks_gathering_excavation_damage_onshore_total,,,,,,,,,,,,cge1,cge1,cge1,cge1,cge1,cge1,cge1,cge1,cge1,,,,,,,,,,,,,,nan +repaired_leaks_gathering_excavation_damage_offshore_total,,,,,,,,,,,,cge2,cge2,cge2,cge2,cge2,cge2,cge2,cge2,cge2,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff,partmgcedoff +repaired_leaks_transmission_previous_damage_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca,partmtcpdonhca +repaired_leaks_transmission_previous_damage_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdmcapd,partmtpdmcapd,partmtpdmcapd +repaired_leaks_transmission_previous_damage_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,partmtcpdonnhca,,,nan +repaired_leaks_transmission_previous_damage_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl34pd,partmtpdcl34pd,partmtpdcl34pd +repaired_leaks_transmission_previous_damage_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl12pd,partmtpdcl12pd,partmtpdcl12pd +repaired_leaks_transmission_previous_damage_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca,partmtcpdoffhca +repaired_leaks_transmission_previous_damage_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca,partmtcpdoffnhca +repaired_failures_transmission_previous_damage,,,,,,,,,,,,,,,,,,,,,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca,partmtcpdfhca +repaired_leaks_gathering_previous_damage_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona,partmgcpdona +repaired_leaks_gathering_previous_damage_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb,partmgcpdonb +repaired_leaks_gathering_previous_damage_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcpdonc,partmgcpdonc,partmgcpdonc +repaired_leaks_gathering_previous_damage_offshore,,,,,,,,,,,,,,,,,,,,,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff,partmgcpdoff +repaired_leaks_transmission_vandalism_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca,partmtcvonhca +repaired_leaks_transmission_vandalism_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdmcava,partmtpdmcava,partmtpdmcava +repaired_leaks_transmission_vandalism_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,partmtcvonnhca,,,nan +repaired_leaks_transmission_vandalism_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl34va,partmtpdcl34va,partmtpdcl34va +repaired_leaks_transmission_vandalism_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtpdcl12va,partmtpdcl12va,partmtpdcl12va +repaired_leaks_transmission_vandalism_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca,partmtcvoffhca +repaired_leaks_transmission_vandalism_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca,partmtcvoffnhca +repaired_failures_transmission_vandalism,,,,,,,,,,,,,,,,,,,,,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca,partmtcvfhca +repaired_leaks_gathering_vandalism_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona,partmgcvona +repaired_leaks_gathering_vandalism_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb,partmgcvonb +repaired_leaks_gathering_vandalism_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcvonc,partmgcvonc,partmgcvonc +repaired_leaks_gathering_vandalism_offshore,,,,,,,,,,,,,,,,,,,,,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff,partmgcvoff +repaired_leaks_transmission_natural_force_damage_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca,partmtcnfonhca +repaired_leaks_transmission_natural_force_damage_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrmcanf,partmwrmcanf,partmwrmcanf +repaired_leaks_transmission_natural_force_damage_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,partmtcnfonnhca,,,nan +repaired_leaks_transmission_natural_force_damage_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl34nf,partmwrcl34nf,partmwrcl34nf +repaired_leaks_transmission_natural_force_damage_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl12nf,partmwrcl12nf,partmwrcl12nf +repaired_leaks_transmission_natural_force_damage_onshore_total,,,,,,,,,,,,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,ctnf1,,,,,,,,,,,,,,nan +repaired_leaks_transmission_natural_force_damage_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca,partmtcnfoffhca +repaired_leaks_transmission_natural_force_damage_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca,partmtcnfoffnhca +repaired_leaks_transmission_natural_force_damage_offshore_total,,,,,,,,,,,,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,ctnf2,,,,,,,,,,,,,,nan +repaired_failures_transmission_natural_force_damage,,,,,,,,,,,,,,,,,,,,,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca,partmtcnffhca +repaired_leaks_gathering_natural_force_damage_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona,partmgcnfona +repaired_leaks_gathering_natural_force_damage_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb,partmgcnfonb +repaired_leaks_gathering_natural_force_damage_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcnfonc,partmgcnfonc,partmgcnfonc +repaired_leaks_gathering_natural_force_damage_onshore_total,,,,,,,,,,,,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,cgnf1,,,,,,,,,,,,,,nan +repaired_leaks_gathering_natural_force_damage_offshore_total,,,,,,,,,,,,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,cgnf2,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff,partmgcnfoff +repaired_leaks_transmission_other_outside_force_damange_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca,partmtcoofdonhca +repaired_leaks_transmission_other_outside_force_damange_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrmcaof,partmwrmcaof,partmwrmcaof +repaired_leaks_transmission_other_outside_force_damange_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,partmtcoofdonnhca,,,nan +repaired_leaks_transmission_other_outside_force_damange_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl34of,partmwrcl34of,partmwrcl34of +repaired_leaks_transmission_other_outside_force_damange_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl12of,partmwrcl12of,partmwrcl12of +repaired_leaks_transmission_other_outside_force_damange_onshore_total,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,ctoof1,,,,,,,,,,,,,,nan +repaired_leaks_transmission_other_outside_force_damange_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca,partmtcoofdoffhca +repaired_leaks_transmission_other_outside_force_damange_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca,partmtcoofdoffnhca +repaired_leaks_transmission_other_outside_force_damange_offshore_total,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,ctoof2,,,,,,,,,,,,,,nan +repaired_failures_transmission_other_outside_force_damange,,,,,,,,,,,,,,,,,,,,,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca,partmtcoofdfhca +repaired_leaks_gathering_other_outside_force_damange_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona,partmgcoofdona +repaired_leaks_gathering_other_outside_force_damange_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb,partmgcoofdonb +repaired_leaks_gathering_other_outside_force_damange_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcoofdonc,partmgcoofdonc,partmgcoofdonc +repaired_leaks_gathering_other_outside_force_damange_onshore_total,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,cgoof1,,,,,,,,,,,,,,nan +repaired_leaks_gathering_other_outside_force_damange_offshore_total,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,cgoof2,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff,partmgcoofdoff +repaired_leaks_transmission_other_onshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca,partmtcoonhca +repaired_leaks_transmission_other_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrmcaot,partmwrmcaot,partmwrmcaot +repaired_leaks_transmission_other_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,partmtcoonnhca,,,nan +repaired_leaks_transmission_other_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl34ot,partmwrcl34ot,partmwrcl34ot +repaired_leaks_transmission_other_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmwrcl12ot,partmwrcl12ot,partmwrcl12ot +repaired_leaks_transmission_other_onshore_total,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,cto1,,,,,,,,,,,,,,nan +repaired_leaks_transmission_other_offshore_hca,,,,,,,,,,,,,,,,,,,,,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca,partmtcooffhca +repaired_leaks_transmission_other_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca,partmtcooffnhca +repaired_leaks_transmission_other_offshore_total,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,cto2,,,,,,,,,,,,,,nan +repaired_failures_transmission_other,,,,,,,,,,,,,,,,,,,,,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca,partmtcofhca +repaired_leaks_gathering_other_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcoona,partmgcooona,partmgcooona,partmgcooona +repaired_leaks_gathering_other_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcoonb,partmgcooonb,partmgcooonb,partmgcooonb +repaired_leaks_gathering_other_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcooonc,partmgcooonc,partmgcooonc +repaired_leaks_gathering_other_onshore_total,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,cgo1,,,,,,,,,,,,,,nan +repaired_leaks_gathering_other_offshore_total,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,cgo2,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcooff,partmgcoooff,partmgcoooff,partmgcoooff +repaired_leaks_transmission_total_onshore_hca,,,,,,,,,,,,,,,,,,,,,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partm1tonhcatotal,partmtonhcatot,partmtonhcatot,partmtonhcatot +repaired_leaks_transmission_total_onshore_mca,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtfmcatot,partmtfmcatot,partmtfmcatot +repaired_leaks_transmission_total_onshore_nonhca,,,,,,,,,,,,,,,,,,,,,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,partm1tonnhcatotal,,,nan +repaired_leaks_transmission_total_onshore_class_3_class_4_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtfclass34tot,partmtfclass34tot,partmtfclass34tot +repaired_leaks_transmission_total_onshore_class_1_class_2_other,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmtfclass12tot,partmtfclass12tot,partmtfclass12tot +repaired_leaks_transmission_total_offshore_hca,,,,,,,,,,,,,,,,,,,,,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partm1toffhcatotal,partmtoffhcatot,partmtoffhcatot,partmtoffhcatot +repaired_leaks_transmission_total_offshore_nonhca,,,,,,,,,,,,,,,,,,,,,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partm1toffnhcatotal,partmtfhcatot,partmtfhcatot,partmtfhcatot +repaired_failures_transmission_total,,,,,,,,,,,,,,,,,,,,,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partm1tfhcatotal,partmtoffnhcatot,partmtoffnhcatot,partmtoffnhcatot +repaired_leaks_gathering_total_onshore_type_a,,,,,,,,,,,,,,,,,,,,,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partm1gonatotal,partmgonatot,partmgonatot,partmgonatot +repaired_leaks_gathering_total_onshore_type_b,,,,,,,,,,,,,,,,,,,,,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partm1gonbtotal,partmgonbtot,partmgonbtot,partmgonbtot +repaired_leaks_gathering_total_onshore_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgonctot,partmgonctot,partmgonctot +repaired_leaks_gathering_total_offshore_total,,,,,,,,,,,,,,,,,,,,,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partm1gofftotal,partmgofftot,partmgofftot,partmgofftot +repaired_leaks_transmission_materials_welds_onshore_total,,,,,,,,,,,,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,ctmw1,,,,,,,,,,,,,,nan +repaired_leaks_transmission_materials_welds_offshore_total,,,,,,,,,,,,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,ctmw2,,,,,,,,,,,,,,nan +repaired_leaks_gathering_materials_welds_onshore_total,,,,,,,,,,,,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,cgmw1,,,,,,,,,,,,,,nan +repaired_leaks_gathering_materials_welds_offshore_total,,,,,,,,,,,,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,cgmw2,,,,,,,,,,,,,,nan +known_leaks_transmission_total_total,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,knlkt,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partm2tlsr,partmtlsfr,partmtlsfr,partmtlsfr +known_leaks_gathering_total_total,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,knlkg,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partm2glsr,partmglcfr,partmglcfr,partmglcfr +repaired_or_known_leaks_transmission_any_onshore_federal,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,dton,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partm3tlsron,partmtlsron,partmtlsron,partmtlsron +repaired_or_known_leaks_transmission_any_offshore_federal,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,dtoff,,,,,,,,,,,,,,nan +repaired_or_known_leaks_transmission_any_ocs_federal,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,dtout,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partm3tlsrocs,partmtlsrocs,partmtlsrocs,partmtlsrocs +repaired_or_known_leaks_gathering_any_onshore_federal_type_a,,,,,,,,,,,,,,,,,,,,,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partm3gclsrona,partmgcglsrona,partmgcglsrona,partmgcglsrona +repaired_or_known_leaks_gathering_any_onshore_federal_type_b,,,,,,,,,,,,,,,,,,,,,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partm3gclsronb,partmgcglsronb,partmgcglsronb,partmgcglsronb +repaired_or_known_leaks_gathering_any_onshore_federal_type_c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partmgcglsronc,partmgcglsronc,partmgcglsronc +repaired_or_known_leaks_gathering_any_onshore_federal,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,dgon,,,,,,,,,,,,,,nan +repaired_or_known_leaks_gathering_any_offshore_federal,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,dgoff,,,,,,,,,,,,,,nan +repaired_or_known_leaks_gathering_any_ocs_federal,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,dgout,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partm3gcglsrocs,partmgcglsrocs,partmgcglsrocs,partmgcglsrocs +repaired_or_known_leaks_transmission_any_total_total,,,,,,,,,,,,,,,,,,,,,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partm3gclsrtotal,partmtlsrtotal,partmtlsrtotal,partmtlsrtotal +repaired_or_known_leaks_gathering_any_total_total,,,,,,,,,,,,,,,,,,,,,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partm3tlsrtotal,partmgcglsrtotal,partmgcglsrtotal,partmgcglsrtotal +repaired_or_known_leaks_total_any_total_total,,,,,,,,,,,,,,,,,,,,,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partm3total,partmm3total,partmm3total,partmm3total diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_inspections_assessments.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_inspections_assessments.csv index ceafc80ac6..aadc2640ea 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_inspections_assessments.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_inspections_assessments.csv @@ -1,103 +1,103 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_number,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -supplemental_report_number,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -interstate_or_intrastate ,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -report_state,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -inspected_corrosion_or_metal_loss_tools_miles,,,,,,,,,,,,,,,,,,,,,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a -inspected_dent_or_deformation_tools_miles,,,,,,,,,,,,,,,,,,,,,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b -inspected_crack_or_long_seam_defect_detection_tools_miles,,,,,,,,,,,,,,,,,,,,,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c -inspected_other_tools_miles,,,,,,,,,,,,,,,,,,,,,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d -other_tools_description,,,,,,,,,,,,,,,,,,,,,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1d1,partf1d1 -inspected_in_line_total_miles,,,,,,,,,,,,,,,,,,,,,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1tot,partf1tot -anomalies_excavated_operator_criteria,,,,,,,,,,,,,,,,,,,,,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a -anomalies_repaired_following_in_line_inspection,,,,,,,,,,,,,,,,,,,,,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b -conditions_repaired_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c -conditions_repaired_immediate_repair_conditions_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1 -conditions_repaired_one_year_conditions_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2 -conditions_repaired_monitored_conditions_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3 -conditions_repaired_other_scheduled_conditions_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4 -conditions_repaired_192_710_segment_in_line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf2d,partf2d -conditions_repaired_class_3_or_4_in_line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf2e,partf2e -conditions_repaired_class_1_or_2_in_line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf2f,partf2f -inspected_pressure_testing_total_miles,,,,,,,,,,,,,,,,,,,,,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a -pressure_test_failures_repaired_total,,,,,,,,,,,,,,,,,,,,,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b -pressure_test_failures_repaired_hca_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf3c,partf3c -pressure_test_ruptures_repaired_hca_segment,,,,,,,,,,,,,,,,,,,,,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,, -pressure_test_leaks_repaired_hca_segment,,,,,,,,,,,,,,,,,,,,,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,, -pressure_test_failures_repaired_192_710_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf3e,partf3e -pressure_test_failures_repaired_class_3_or_4_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf3f,partf3f -pressure_test_failures_repaired_class_1_or_2_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf3g,partf3g -inspected_direct_assessment_total_miles,,,,,,,,,,,,,,,,,,,,,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a -inspected_ecda_miles,,,,,,,,,,,,,,,,,,,,,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1 -inspected_icda_miles,,,,,,,,,,,,,,,,,,,,,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2 -inspected_sccda_miles,,,,,,,,,,,,,,,,,,,,,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3 -anomalies_repaired_following_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b -anomalies_repaired_following_ecda,,,,,,,,,,,,,,,,,,,,,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1 -anomalies_repaired_following_icda,,,,,,,,,,,,,,,,,,,,,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2 -anomalies_repaired_following_sccda,,,,,,,,,,,,,,,,,,,,,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3 -conditions_repaired_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c -conditions_repaired_immediate_repair_conditions_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1 -conditions_repaired_one_year_conditions_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2 -conditions_repaired_monitored_conditions_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3 -conditions_repaired_other_scheduled_conditions_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4 -conditions_repaired_192_710_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf4d,partf4d -conditions_repaired_class_3_or_4_direct_assessment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf4e,partf4e -conditions_repaired_class_1_or_2_direct_assessment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf4f,partf4f -inspected_guided_wave_ultrasonic_testing_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41a,partf41a -anomalies_repaired_following_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41b_total,partf41b_total -conditions_repaired_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c,partf41c -conditions_repaired_immediate_repair_conditions_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c1,partf41c1 -conditions_repaired_six_month_conditions_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c2,partf41c2 -conditions_repaired_twelve_month_conditions_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c3,partf41c3 -conditions_repaired_monitored_conditions_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c4,partf41c4 -conditions_repaired_192_710_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41d,partf41d -conditions_repaired_class_3_or_4_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41e,partf41e -conditions_repaired_class_1_or_2_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41f,partf41f -inspected_direct_examination_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42a,partf42a -anomalies_repaired_following_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42b_total,partf42b_total -conditions_repaired_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c,partf42c -conditions_repaired_immediate_repair_conditions_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c1,partf42c1 -conditions_repaired_one_year_conditions_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c2,partf42c2 -conditions_repaired_monitored_conditions_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c3,partf42c3 -conditions_repaired_other_scheduled_conditions_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c4,partf42c4 -conditions_repaired_192_710_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42d,partf42d -conditions_repaired_class_3_or_4_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42e,partf42e -conditions_repaired_class_1_or_2_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42f,partf42f -inspected_other_inspection_miles,,,,,,,,,,,,,,,,,,,,,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a -other_inspection_method_description,,,,,,,,,,,,,,,,,,,,,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5a1,partf5a1 -anomalies_repaired_following_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b -conditions_repaired_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c -conditions_repaired_immediate_repair_conditions_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1 -conditions_repaired_one_year_conditions_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2 -conditions_repaired_monitored_conditions_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3 -conditions_repaired_other_scheduled_conditions_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4 -conditions_repaired_192_710_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf5d,partf5d -conditions_repaired_class_3_or_4_other_inspection,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf5e,partf5e -conditions_repaired_class_1_or_2_other_inspection,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf5f,partf5f -total_inspected_miles,,,,,,,,,,,,,,,,,,,,,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a -total_anomalies_repaired,,,,,,,,,,,,,,,,,,,,,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b -total_conditions_repaired_hca_segment,,,,,,,,,,,,,,,,,,,,,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c -total_actionable_anomalies_eliminated_by_pipe_replacement_hca_segment,,,,,,,,,,,,,,,,,,,,,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d -total_actionable_anomalies_eliminated_by_pipe_abandonment_hca_segment,,,,,,,,,,,,,,,,,,,,,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e -total_conditions_repaired_192_710_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6f,partf6f -total_actionable_anomalies_eliminated_by_pipe_replacement_192_710_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6g,partf6g -total_actionable_anomalies_eliminated_by_pipe_abandonment_192_710_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6h,partf6h -total_conditions_repaired_class_3_or_4_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6i,partf6i -total_actionable_anomalies_eliminated_by_pipe_replacement_class_3_or_4_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6j,partf6j -total_actionable_anomalies_eliminated_by_pipe_abandonment_class_3_or_4_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6k,partf6k -total_conditions_repaired_class_1_or_2_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6l,partf6l -total_actionable_anomalies_eliminated_by_pipe_replacement_class_1_or_2_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6m,partf6m -total_actionable_anomalies_eliminated_by_pipe_abandonment_class_1_or_2_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6n,partf6n -hca_segments_baseline_assessment_miles,,,,,,,,,,,,,,,,,,,,,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,part_g_a,part_g_a -hca_segments_reassessment_miles,,,,,,,,,,,,,,,,,,,,,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,part_g_b,part_g_b -hca_segments_assessment_and_reassessment_miles,,,,,,,,,,,,,,,,,,,,,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,part_g_c,part_g_c -192_710_segments_baseline_assessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_d,part_g_d -192_710_segments_reassessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_e,part_g_e -192_710_segments_assessment_and_reassessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_f,part_g_f -class_3_or_4_segments_assessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_g,part_g_g -class_1_or_2_segments_assessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_h,part_g_h +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_number,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +interstate_or_intrastate ,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +report_state,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +inspected_corrosion_or_metal_loss_tools_miles,,,,,,,,,,,,,,,,,,,,,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a,partf1a +inspected_dent_or_deformation_tools_miles,,,,,,,,,,,,,,,,,,,,,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b,partf1b +inspected_crack_or_long_seam_defect_detection_tools_miles,,,,,,,,,,,,,,,,,,,,,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c,partf1c +inspected_other_tools_miles,,,,,,,,,,,,,,,,,,,,,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d,partf1d +other_tools_description,,,,,,,,,,,,,,,,,,,,,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1doth,partf1d1,partf1d1,partf1d1 +inspected_in_line_total_miles,,,,,,,,,,,,,,,,,,,,,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1e,partf1tot,partf1tot,partf1tot +anomalies_excavated_operator_criteria,,,,,,,,,,,,,,,,,,,,,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a,partf2a +anomalies_repaired_following_in_line_inspection,,,,,,,,,,,,,,,,,,,,,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b,partf2b +conditions_repaired_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c,partf2c +conditions_repaired_immediate_repair_conditions_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1,partf2c1 +conditions_repaired_one_year_conditions_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2,partf2c2 +conditions_repaired_monitored_conditions_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3,partf2c3 +conditions_repaired_other_scheduled_conditions_hca_segment_in_line,,,,,,,,,,,,,,,,,,,,,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4,partf2c4 +conditions_repaired_192_710_segment_in_line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf2d,partf2d,partf2d +conditions_repaired_class_3_or_4_in_line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf2e,partf2e,partf2e +conditions_repaired_class_1_or_2_in_line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf2f,partf2f,partf2f +inspected_pressure_testing_total_miles,,,,,,,,,,,,,,,,,,,,,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a,partf3a +pressure_test_failures_repaired_total,,,,,,,,,,,,,,,,,,,,,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b,partf3b +pressure_test_failures_repaired_hca_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf3c,partf3c,partf3c +pressure_test_ruptures_repaired_hca_segment,,,,,,,,,,,,,,,,,,,,,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,partf3c,,,nan +pressure_test_leaks_repaired_hca_segment,,,,,,,,,,,,,,,,,,,,,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,partf3d,,,nan +pressure_test_failures_repaired_192_710_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf3e,partf3e,partf3e +pressure_test_failures_repaired_class_3_or_4_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf3f,partf3f,partf3f +pressure_test_failures_repaired_class_1_or_2_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf3g,partf3g,partf3g +inspected_direct_assessment_total_miles,,,,,,,,,,,,,,,,,,,,,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a,partf4a +inspected_ecda_miles,,,,,,,,,,,,,,,,,,,,,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1,partf4a1 +inspected_icda_miles,,,,,,,,,,,,,,,,,,,,,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2,partf4a2 +inspected_sccda_miles,,,,,,,,,,,,,,,,,,,,,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3,partf4a3 +anomalies_repaired_following_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b,partf4b +anomalies_repaired_following_ecda,,,,,,,,,,,,,,,,,,,,,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1,partf4b1 +anomalies_repaired_following_icda,,,,,,,,,,,,,,,,,,,,,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2,partf4b2 +anomalies_repaired_following_sccda,,,,,,,,,,,,,,,,,,,,,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3,partf4b3 +conditions_repaired_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c,partf4c +conditions_repaired_immediate_repair_conditions_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1,partf4c1 +conditions_repaired_one_year_conditions_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2,partf4c2 +conditions_repaired_monitored_conditions_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3,partf4c3 +conditions_repaired_other_scheduled_conditions_hca_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4,partf4c4 +conditions_repaired_192_710_segment_direct_assessment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf4d,partf4d,partf4d +conditions_repaired_class_3_or_4_direct_assessment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf4e,partf4e,partf4e +conditions_repaired_class_1_or_2_direct_assessment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf4f,partf4f,partf4f +inspected_guided_wave_ultrasonic_testing_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41a,partf41a,partf41a +anomalies_repaired_following_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41b_total,partf41b_total,partf41b_total +conditions_repaired_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c,partf41c,partf41c +conditions_repaired_immediate_repair_conditions_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c1,partf41c1,partf41c1 +conditions_repaired_six_month_conditions_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c2,partf41c2,partf41c2 +conditions_repaired_twelve_month_conditions_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c3,partf41c3,partf41c3 +conditions_repaired_monitored_conditions_hca_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41c4,partf41c4,partf41c4 +conditions_repaired_192_710_segment_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41d,partf41d,partf41d +conditions_repaired_class_3_or_4_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41e,partf41e,partf41e +conditions_repaired_class_1_or_2_guided_wave_ultrasonic_testing,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf41f,partf41f,partf41f +inspected_direct_examination_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42a,partf42a,partf42a +anomalies_repaired_following_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42b_total,partf42b_total,partf42b_total +conditions_repaired_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c,partf42c,partf42c +conditions_repaired_immediate_repair_conditions_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c1,partf42c1,partf42c1 +conditions_repaired_one_year_conditions_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c2,partf42c2,partf42c2 +conditions_repaired_monitored_conditions_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c3,partf42c3,partf42c3 +conditions_repaired_other_scheduled_conditions_hca_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42c4,partf42c4,partf42c4 +conditions_repaired_192_710_segment_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42d,partf42d,partf42d +conditions_repaired_class_3_or_4_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42e,partf42e,partf42e +conditions_repaired_class_1_or_2_direct_examination,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf42f,partf42f,partf42f +inspected_other_inspection_miles,,,,,,,,,,,,,,,,,,,,,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a,partf5a +other_inspection_method_description,,,,,,,,,,,,,,,,,,,,,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5aoth,partf5a1,partf5a1,partf5a1 +anomalies_repaired_following_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b,partf5b +conditions_repaired_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c,partf5c +conditions_repaired_immediate_repair_conditions_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1,partf5c1 +conditions_repaired_one_year_conditions_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2,partf5c2 +conditions_repaired_monitored_conditions_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3,partf5c3 +conditions_repaired_other_scheduled_conditions_hca_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4,partf5c4 +conditions_repaired_192_710_segment_other_inspection,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf5d,partf5d,partf5d +conditions_repaired_class_3_or_4_other_inspection,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf5e,partf5e,partf5e +conditions_repaired_class_1_or_2_other_inspection,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf5f,partf5f,partf5f +total_inspected_miles,,,,,,,,,,,,,,,,,,,,,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a,partf6a +total_anomalies_repaired,,,,,,,,,,,,,,,,,,,,,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b,partf6b +total_conditions_repaired_hca_segment,,,,,,,,,,,,,,,,,,,,,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c,partf6c +total_actionable_anomalies_eliminated_by_pipe_replacement_hca_segment,,,,,,,,,,,,,,,,,,,,,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d,partf6d +total_actionable_anomalies_eliminated_by_pipe_abandonment_hca_segment,,,,,,,,,,,,,,,,,,,,,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e,partf6e +total_conditions_repaired_192_710_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6f,partf6f,partf6f +total_actionable_anomalies_eliminated_by_pipe_replacement_192_710_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6g,partf6g,partf6g +total_actionable_anomalies_eliminated_by_pipe_abandonment_192_710_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6h,partf6h,partf6h +total_conditions_repaired_class_3_or_4_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6i,partf6i,partf6i +total_actionable_anomalies_eliminated_by_pipe_replacement_class_3_or_4_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6j,partf6j,partf6j +total_actionable_anomalies_eliminated_by_pipe_abandonment_class_3_or_4_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6k,partf6k,partf6k +total_conditions_repaired_class_1_or_2_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6l,partf6l,partf6l +total_actionable_anomalies_eliminated_by_pipe_replacement_class_1_or_2_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6m,partf6m,partf6m +total_actionable_anomalies_eliminated_by_pipe_abandonment_class_1_or_2_segment,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partf6n,partf6n,partf6n +hca_segments_baseline_assessment_miles,,,,,,,,,,,,,,,,,,,,,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,partgmba,part_g_a,part_g_a,part_g_a +hca_segments_reassessment_miles,,,,,,,,,,,,,,,,,,,,,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,partgmrc,part_g_b,part_g_b,part_g_b +hca_segments_assessment_and_reassessment_miles,,,,,,,,,,,,,,,,,,,,,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,partgtotmiles,part_g_c,part_g_c,part_g_c +192_710_segments_baseline_assessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_d,part_g_d,part_g_d +192_710_segments_reassessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_e,part_g_e,part_g_e +192_710_segments_assessment_and_reassessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_f,part_g_f,part_g_f +class_3_or_4_segments_assessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_g,part_g_g,part_g_g +class_1_or_2_segments_assessment_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,part_g_h,part_g_h,part_g_h diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_class_location.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_class_location.csv index ee35bbaa0f..31a6386085 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_class_location.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_class_location.csv @@ -1,62 +1,62 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,,,,,,,,,,,,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_number,,,,,,,,,,,,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,,,,,,,,,,,,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -report_state,,,,,,,,,,,,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -onshore_transmission_pipe_class_1_miles,,,,,,,,,,,,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1 -onshore_transmission_pipe_class_2_miles,,,,,,,,,,,,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2 -onshore_transmission_pipe_class_3_miles,,,,,,,,,,,,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3 -onshore_transmission_pipe_class_4_miles,,,,,,,,,,,,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4 -onshore_transmission_pipe_class_total_miles,,,,,,,,,,,,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot -onshore_transmission_pipe_hca_miles,,,,,,,,,,,,,,,,,,,,,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca -onshore_transmission_pipe_192_710_miles,,,,,,,,,,,,,,,,,,,,,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles -onshore_transmission_pipe_class_3_or_4_only_miles,,,,,,,,,,,,,,,,,,,,,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34 -onshore_transmission_pipe_class_1_or_2_only_miles,,,,,,,,,,,,,,,,,,,,,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12 -offshore_transmission_pipe_class_1_miles,,,,,,,,,,,,b4toff,b4toff,b4toff,b4toff,b4toff,b4toff,b4toff,b4toff,b4toff,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1 -offshore_transmission_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot -offshore_transmission_pipe_hca_miles,,,,,,,,,,,,,,,,,,,,,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca -offshore_transmission_pipe_192_710_miles,,,,,,,,,,,,,,,,,,,,,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles -offshore_transmission_pipe_class_3_or_4_only_miles,,,,,,,,,,,,,,,,,,,,,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34 -offshore_transmission_pipe_class_1_or_2_only_miles,,,,,,,,,,,,,,,,,,,,,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12 -transmission_pipe_class_1_miles,,,,,,,,,,,,,,,,,,,,,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot -transmission_pipe_class_2_miles,,,,,,,,,,,,,,,,,,,,,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot -transmission_pipe_class_3_miles,,,,,,,,,,,,,,,,,,,,,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot -transmission_pipe_class_4_miles,,,,,,,,,,,,,,,,,,,,,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot -transmission_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal -transmission_pipe_hca_miles,,,,,,,,,,,,,,,,,,,,,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal -transmission_pipe_192_710_miles,,,,,,,,,,,,,,,,,,,,,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal -transmission_pipe_class_3_or_4_only_miles,,,,,,,,,,,,,,,,,,,,,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total -transmission_pipe_class_1_or_2_only_miles,,,,,,,,,,,,,,,,,,,,,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total -onshore_gathering_pipe_class_1_miles,,,,,,,,,,,,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,,,,,,,,,,,,, -onshore_gathering_pipe_class_2_miles,,,,,,,,,,,,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,,,,,,,,,,,,, -onshore_gathering_pipe_class_3_miles,,,,,,,,,,,,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,,,,,,,,,,,,, -onshore_gathering_pipe_class_4_miles,,,,,,,,,,,,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,,,,,,,,,,,,, -onshore_gathering_pipe_class_total_miles,,,,,,,,,,,,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,,,,,,,,,,,,, -onshore_type_a_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -onshore_type_a_gathering_pipe_class_2_miles,,,,,,,,,,,,,,,,,,,,,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2 -onshore_type_a_gathering_pipe_class_3_miles,,,,,,,,,,,,,,,,,,,,,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3 -onshore_type_a_gathering_pipe_class_4_miles,,,,,,,,,,,,,,,,,,,,,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4 -onshore_type_a_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot -onshore_type_b_gathering_pipe_class_2_miles,,,,,,,,,,,,,,,,,,,,,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2 -onshore_type_b_gathering_pipe_class_3_miles,,,,,,,,,,,,,,,,,,,,,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3 -onshore_type_b_gathering_pipe_class_4_miles,,,,,,,,,,,,,,,,,,,,,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4 -onshore_type_b_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot -onshore_type_c_gathering_pipe_class_1_miles,,,,,,,,,,,,,,,,,,,,,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1 -onshore_type_c_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot -offshore_gathering_pipe_class_1_miles,,,,,,,,,,,,b4goff,b4goff,b4goff,b4goff,b4goff,b4goff,b4goff,b4goff,b4goff,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1 -offshore_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot -gathering_pipe_class_1_miles,,,,,,,,,,,,,,,,,,,,,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot -gathering_pipe_class_2_miles,,,,,,,,,,,,,,,,,,,,,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot -gathering_pipe_class_3_miles,,,,,,,,,,,,,,,,,,,,,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot -gathering_pipe_class_4_miles,,,,,,,,,,,,,,,,,,,,,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot -gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal -total_pipe_class_1_miles,,,,,,,,,,,,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot -total_pipe_class_2_miles,,,,,,,,,,,,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot -total_pipe_class_3_miles,,,,,,,,,,,,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot -total_pipe_class_4_miles,,,,,,,,,,,,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot -total_pipe_class_total_miles,,,,,,,,,,,,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,,,,,,,,,,,,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_number,,,,,,,,,,,,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,,,,,,,,,,,,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +report_state,,,,,,,,,,,,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +onshore_transmission_pipe_class_1_miles,,,,,,,,,,,,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,b4ton_1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1,partltonc1 +onshore_transmission_pipe_class_2_miles,,,,,,,,,,,,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,b4ton_2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2,partltonc2 +onshore_transmission_pipe_class_3_miles,,,,,,,,,,,,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,b4ton_3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3,partltonc3 +onshore_transmission_pipe_class_4_miles,,,,,,,,,,,,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,b4ton_4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4,partltonc4 +onshore_transmission_pipe_class_total_miles,,,,,,,,,,,,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,b4ton_t,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot,partltontot +onshore_transmission_pipe_hca_miles,,,,,,,,,,,,,,,,,,,,,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca,partltronhca +onshore_transmission_pipe_192_710_miles,,,,,,,,,,,,,,,,,,,,,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles,partltron192miles +onshore_transmission_pipe_class_3_or_4_only_miles,,,,,,,,,,,,,,,,,,,,,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34,partltronclass34 +onshore_transmission_pipe_class_1_or_2_only_miles,,,,,,,,,,,,,,,,,,,,,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12,partltronclass12 +offshore_transmission_pipe_class_1_miles,,,,,,,,,,,,b4toff,b4toff,b4toff,b4toff,b4toff,b4toff,b4toff,b4toff,b4toff,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1,partltoffc1 +offshore_transmission_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot,partltofftot +offshore_transmission_pipe_hca_miles,,,,,,,,,,,,,,,,,,,,,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca,partltroffhca +offshore_transmission_pipe_192_710_miles,,,,,,,,,,,,,,,,,,,,,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles,partltroff192miles +offshore_transmission_pipe_class_3_or_4_only_miles,,,,,,,,,,,,,,,,,,,,,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34,partltroffclass34 +offshore_transmission_pipe_class_1_or_2_only_miles,,,,,,,,,,,,,,,,,,,,,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12,partltroffclass12 +transmission_pipe_class_1_miles,,,,,,,,,,,,,,,,,,,,,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot,partltc1tot +transmission_pipe_class_2_miles,,,,,,,,,,,,,,,,,,,,,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot,partltc2tot +transmission_pipe_class_3_miles,,,,,,,,,,,,,,,,,,,,,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot,partltc3tot +transmission_pipe_class_4_miles,,,,,,,,,,,,,,,,,,,,,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot,partltc4tot +transmission_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal,partlttotal +transmission_pipe_hca_miles,,,,,,,,,,,,,,,,,,,,,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal,partltrhcatotal +transmission_pipe_192_710_miles,,,,,,,,,,,,,,,,,,,,,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal,partltr192milestotal +transmission_pipe_class_3_or_4_only_miles,,,,,,,,,,,,,,,,,,,,,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total,partltrclass34total +transmission_pipe_class_1_or_2_only_miles,,,,,,,,,,,,,,,,,,,,,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total,partltrclass12total +onshore_gathering_pipe_class_1_miles,,,,,,,,,,,,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,b4gon_1,,,,,,,,,,,,,,nan +onshore_gathering_pipe_class_2_miles,,,,,,,,,,,,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,b4gon_2,,,,,,,,,,,,,,nan +onshore_gathering_pipe_class_3_miles,,,,,,,,,,,,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,b4gon_3,,,,,,,,,,,,,,nan +onshore_gathering_pipe_class_4_miles,,,,,,,,,,,,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,b4gon_4,,,,,,,,,,,,,,nan +onshore_gathering_pipe_class_total_miles,,,,,,,,,,,,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,b4gon_t,,,,,,,,,,,,,,nan +onshore_type_a_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,nan +onshore_type_a_gathering_pipe_class_2_miles,,,,,,,,,,,,,,,,,,,,,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2,partlgonac2 +onshore_type_a_gathering_pipe_class_3_miles,,,,,,,,,,,,,,,,,,,,,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3,partlgonac3 +onshore_type_a_gathering_pipe_class_4_miles,,,,,,,,,,,,,,,,,,,,,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4,partlgonac4 +onshore_type_a_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot,partlgonatot +onshore_type_b_gathering_pipe_class_2_miles,,,,,,,,,,,,,,,,,,,,,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2,partlgonbc2 +onshore_type_b_gathering_pipe_class_3_miles,,,,,,,,,,,,,,,,,,,,,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3,partlgonbc3 +onshore_type_b_gathering_pipe_class_4_miles,,,,,,,,,,,,,,,,,,,,,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4,partlgonbc4 +onshore_type_b_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot,partlgonbtot +onshore_type_c_gathering_pipe_class_1_miles,,,,,,,,,,,,,,,,,,,,,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1,partlgoncc1 +onshore_type_c_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot,partlgonctot +offshore_gathering_pipe_class_1_miles,,,,,,,,,,,,b4goff,b4goff,b4goff,b4goff,b4goff,b4goff,b4goff,b4goff,b4goff,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1,partlgoffc1 +offshore_gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot,partlgofftot +gathering_pipe_class_1_miles,,,,,,,,,,,,,,,,,,,,,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot,partlgc1tot +gathering_pipe_class_2_miles,,,,,,,,,,,,,,,,,,,,,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot,partlgc2tot +gathering_pipe_class_3_miles,,,,,,,,,,,,,,,,,,,,,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot,partlgc3tot +gathering_pipe_class_4_miles,,,,,,,,,,,,,,,,,,,,,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot,partlgc4tot +gathering_pipe_class_total_miles,,,,,,,,,,,,,,,,,,,,,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal,partlgtotal +total_pipe_class_1_miles,,,,,,,,,,,,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,b4total_1,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot,partlc1tot +total_pipe_class_2_miles,,,,,,,,,,,,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,b4total_2,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot,partlc2tot +total_pipe_class_3_miles,,,,,,,,,,,,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,b4total_3,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot,partlc3tot +total_pipe_class_4_miles,,,,,,,,,,,,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,b4total_4,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot,partlc4tot +total_pipe_class_total_miles,,,,,,,,,,,,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,b4total_t,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal,partltotal diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_decade_installed.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_decade_installed.csv index 19aa165034..c7bcec646a 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_decade_installed.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_decade_installed.csv @@ -1,128 +1,128 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,,,,,,,,,,,,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_number,,,,,,,,,,,,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,,,,,,,,,,,,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -report_state,,,,,,,,,,,,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -onshore_transmission_unknown_miles,,,,,,,,,,,,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn -onshore_transmission_pre_1940_miles,,,,,,,,,,,,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940 -onshore_transmission_1940_1949_miles,,,,,,,,,,,,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049 -onshore_transmission_1950_1959_miles,,,,,,,,,,,,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059 -onshore_transmission_1960_1969_miles,,,,,,,,,,,,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069 -onshore_transmission_1970_1979_miles,,,,,,,,,,,,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079 -onshore_transmission_1980_1989_miles,,,,,,,,,,,,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089 -onshore_transmission_1990_1999_miles,,,,,,,,,,,,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099 -onshore_transmission_2000_2009_miles,,,,,,,,,,,,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009 -onshore_transmission_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019 -onshore_transmission_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029 -onshore_total_transmission_miles,,,,,,,,,,,,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal -offshore_transmission_unknown_miles,,,,,,,,,,,,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn -offshore_transmission_pre_1940_miles,,,,,,,,,,,,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940 -offshore_transmission_1940_1949_miles,,,,,,,,,,,,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049 -offshore_transmission_1950_1959_miles,,,,,,,,,,,,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059 -offshore_transmission_1960_1969_miles,,,,,,,,,,,,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069 -offshore_transmission_1970_1979_miles,,,,,,,,,,,,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079 -offshore_transmission_1980_1989_miles,,,,,,,,,,,,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089 -offshore_transmission_1990_1999_miles,,,,,,,,,,,,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099 -offshore_transmission_2000_2009_miles,,,,,,,,,,,,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009 -offshore_transmission_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019 -offshore_transmission_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029 -offshore_total_transmission_miles,,,,,,,,,,,,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal -total_transmission_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot -total_transmission_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot -total_transmission_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot -total_transmission_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot -total_transmission_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot -total_transmission_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot -total_transmission_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot -total_transmission_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot -total_transmission_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot -total_transmission_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot -total_transmission_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot -total_total_transmission_miles,,,,,,,,,,,,,,,,,,,,,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal -onshore_gathering_unknown_miles,,,,,,,,,,,,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,,,,,,,,,,,,, -onshore_gathering_pre_1940_miles,,,,,,,,,,,,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,,,,,,,,,,,,, -onshore_gathering_1940_1949_miles,,,,,,,,,,,,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,,,,,,,,,,,,, -onshore_gathering_1950_1959_miles,,,,,,,,,,,,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,,,,,,,,,,,,, -onshore_gathering_1960_1969_miles,,,,,,,,,,,,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,,,,,,,,,,,,, -onshore_gathering_1970_1979_miles,,,,,,,,,,,,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,,,,,,,,,,,,, -onshore_gathering_1980_1989_miles,,,,,,,,,,,,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,,,,,,,,,,,,, -onshore_gathering_1990_1999_miles,,,,,,,,,,,,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,,,,,,,,,,,,, -onshore_gathering_2000_2009_miles,,,,,,,,,,,,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,,,,,,,,,,,,, -onshore_total_gathering_miles,,,,,,,,,,,,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,,,,,,,,,,,,, -onshore_type_a_gathering_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn -onshore_type_a_gathering_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940 -onshore_type_a_gathering_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049 -onshore_type_a_gathering_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059 -onshore_type_a_gathering_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069 -onshore_type_a_gathering_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079 -onshore_type_a_gathering_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089 -onshore_type_a_gathering_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099 -onshore_type_a_gathering_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009 -onshore_type_a_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019 -onshore_type_a_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029 -onshore_type_a_total_gathering_miles,,,,,,,,,,,,,,,,,,,,,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal -onshore_type_b_gathering_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn -onshore_type_b_gathering_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940 -onshore_type_b_gathering_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049 -onshore_type_b_gathering_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059 -onshore_type_b_gathering_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069 -onshore_type_b_gathering_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079 -onshore_type_b_gathering_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089 -onshore_type_b_gathering_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099 -onshore_type_b_gathering_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009 -onshore_type_b_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019 -onshore_type_b_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029 -onshore_type_b_total_gathering_miles,,,,,,,,,,,,,,,,,,,,,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal -onshore_type_c_gathering_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn -onshore_type_c_gathering_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940 -onshore_type_c_gathering_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049 -onshore_type_c_gathering_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059 -onshore_type_c_gathering_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069 -onshore_type_c_gathering_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079 -onshore_type_c_gathering_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089 -onshore_type_c_gathering_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099 -onshore_type_c_gathering_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009 -onshore_type_c_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019 -onshore_type_c_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029 -onshore_type_c_total_gathering_miles,,,,,,,,,,,,,,,,,,,,,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal -offshore_gathering_unknown_miles,,,,,,,,,,,,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn -offshore_gathering_pre_1940_miles,,,,,,,,,,,,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940 -offshore_gathering_1940_1949_miles,,,,,,,,,,,,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049 -offshore_gathering_1950_1959_miles,,,,,,,,,,,,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059 -offshore_gathering_1960_1969_miles,,,,,,,,,,,,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069 -offshore_gathering_1970_1979_miles,,,,,,,,,,,,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079 -offshore_gathering_1980_1989_miles,,,,,,,,,,,,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089 -offshore_gathering_1990_1999_miles,,,,,,,,,,,,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099 -offshore_gathering_2000_2009_miles,,,,,,,,,,,,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009 -offshore_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019 -offshore_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029 -offshore_gathering_total_miles,,,,,,,,,,,,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal -total_gathering_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot -total_gathering_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot -total_gathering_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot -total_gathering_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot -total_gathering_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot -total_gathering_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot -total_gathering_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot -total_gathering_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot -total_gathering_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot -total_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot -total_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot -total_gathering_total_miles,,,,,,,,,,,,,,,,,,,,,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal -total_total_unknown_miles,,,,,,,,,,,,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot -total_total_pre_1940_miles,,,,,,,,,,,,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot -total_total_1940_1949_miles,,,,,,,,,,,,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot -total_total_1950_1959_miles,,,,,,,,,,,,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot -total_total_1960_1969_miles,,,,,,,,,,,,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot -total_total_1970_1979_miles,,,,,,,,,,,,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot -total_total_1980_1989_miles,,,,,,,,,,,,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot -total_total_1990_1999_miles,,,,,,,,,,,,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot -total_total_2000_2009_miles,,,,,,,,,,,,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot -total_total_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot -total_total_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot -total_total_total_miles,,,,,,,,,,,,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,,,,,,,,,,,,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_number,,,,,,,,,,,,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,,,,,,,,,,,,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +report_state,,,,,,,,,,,,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +onshore_transmission_unknown_miles,,,,,,,,,,,,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,b3ton_1,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn,partjtonunkwn +onshore_transmission_pre_1940_miles,,,,,,,,,,,,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,b3ton_2,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940,partjtonpre1940 +onshore_transmission_1940_1949_miles,,,,,,,,,,,,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,b3ton_3,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049,partjton194049 +onshore_transmission_1950_1959_miles,,,,,,,,,,,,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,b3ton_4,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059,partjton195059 +onshore_transmission_1960_1969_miles,,,,,,,,,,,,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,b3ton_5,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069,partjton196069 +onshore_transmission_1970_1979_miles,,,,,,,,,,,,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,b3ton_6,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079,partjton197079 +onshore_transmission_1980_1989_miles,,,,,,,,,,,,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,b3ton_7,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089,partjton198089 +onshore_transmission_1990_1999_miles,,,,,,,,,,,,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,b3ton_8,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099,partjton199099 +onshore_transmission_2000_2009_miles,,,,,,,,,,,,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,b3ton_9,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009,partjton200009 +onshore_transmission_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019,partjton201019 +onshore_transmission_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029,partjton202029 +onshore_total_transmission_miles,,,,,,,,,,,,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,b3ton_t,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal,partjtontotal +offshore_transmission_unknown_miles,,,,,,,,,,,,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,b3toff_1,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn,partjtoffunkwn +offshore_transmission_pre_1940_miles,,,,,,,,,,,,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,b3toff_2,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940,partjtoffpre1940 +offshore_transmission_1940_1949_miles,,,,,,,,,,,,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,b3toff_3,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049,partjtoff194049 +offshore_transmission_1950_1959_miles,,,,,,,,,,,,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,b3toff_4,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059,partjtoff195059 +offshore_transmission_1960_1969_miles,,,,,,,,,,,,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,b3toff_5,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069,partjtoff196069 +offshore_transmission_1970_1979_miles,,,,,,,,,,,,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,b3toff_6,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079,partjtoff197079 +offshore_transmission_1980_1989_miles,,,,,,,,,,,,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,b3toff_7,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089,partjtoff198089 +offshore_transmission_1990_1999_miles,,,,,,,,,,,,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,b3toff_8,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099,partjtoff199099 +offshore_transmission_2000_2009_miles,,,,,,,,,,,,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,b3toff_9,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009,partjtoff200009 +offshore_transmission_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019,partjtoff201019 +offshore_transmission_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029,partjtoff202029 +offshore_total_transmission_miles,,,,,,,,,,,,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,b3toff_t,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal,partjtofftotal +total_transmission_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot,partjtunkwntot +total_transmission_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot,partjtpre1940tot +total_transmission_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot,partjt194049tot +total_transmission_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot,partjt195059tot +total_transmission_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot,partjt196069tot +total_transmission_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot,partjt197079tot +total_transmission_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot,partjt198089tot +total_transmission_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot,partjt199099tot +total_transmission_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot,partjt200009tot +total_transmission_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot,partjt201019tot +total_transmission_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot,partjt202029tot +total_total_transmission_miles,,,,,,,,,,,,,,,,,,,,,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal,partjttotal +onshore_gathering_unknown_miles,,,,,,,,,,,,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,b3gon_1,,,,,,,,,,,,,,nan +onshore_gathering_pre_1940_miles,,,,,,,,,,,,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,b3gon_2,,,,,,,,,,,,,,nan +onshore_gathering_1940_1949_miles,,,,,,,,,,,,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,b3gon_3,,,,,,,,,,,,,,nan +onshore_gathering_1950_1959_miles,,,,,,,,,,,,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,b3gon_4,,,,,,,,,,,,,,nan +onshore_gathering_1960_1969_miles,,,,,,,,,,,,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,b3gon_5,,,,,,,,,,,,,,nan +onshore_gathering_1970_1979_miles,,,,,,,,,,,,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,b3gon_6,,,,,,,,,,,,,,nan +onshore_gathering_1980_1989_miles,,,,,,,,,,,,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,b3gon_7,,,,,,,,,,,,,,nan +onshore_gathering_1990_1999_miles,,,,,,,,,,,,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,b3gon_8,,,,,,,,,,,,,,nan +onshore_gathering_2000_2009_miles,,,,,,,,,,,,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,b3gon_9,,,,,,,,,,,,,,nan +onshore_total_gathering_miles,,,,,,,,,,,,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,b3gon_t,,,,,,,,,,,,,,nan +onshore_type_a_gathering_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn,partjgonaunkwn +onshore_type_a_gathering_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940,partjgonapre1940 +onshore_type_a_gathering_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049,partjgona194049 +onshore_type_a_gathering_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059,partjgona195059 +onshore_type_a_gathering_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069,partjgona196069 +onshore_type_a_gathering_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079,partjgona197079 +onshore_type_a_gathering_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089,partjgona198089 +onshore_type_a_gathering_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099,partjgona199099 +onshore_type_a_gathering_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009,partjgona200009 +onshore_type_a_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019,partjgona201019 +onshore_type_a_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029,partjgona202029 +onshore_type_a_total_gathering_miles,,,,,,,,,,,,,,,,,,,,,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal,partjgonatotal +onshore_type_b_gathering_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn,partjgonbunkwn +onshore_type_b_gathering_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940,partjgonbpre1940 +onshore_type_b_gathering_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049,partjgonb194049 +onshore_type_b_gathering_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059,partjgonb195059 +onshore_type_b_gathering_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069,partjgonb196069 +onshore_type_b_gathering_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079,partjgonb197079 +onshore_type_b_gathering_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089,partjgonb198089 +onshore_type_b_gathering_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099,partjgonb199099 +onshore_type_b_gathering_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009,partjgonb200009 +onshore_type_b_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019,partjgonb201019 +onshore_type_b_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029,partjgonb202029 +onshore_type_b_total_gathering_miles,,,,,,,,,,,,,,,,,,,,,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal,partjgonbtotal +onshore_type_c_gathering_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn,partjgoncunkwn +onshore_type_c_gathering_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940,partjgoncpre1940 +onshore_type_c_gathering_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049,partjgonc194049 +onshore_type_c_gathering_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059,partjgonc195059 +onshore_type_c_gathering_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069,partjgonc196069 +onshore_type_c_gathering_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079,partjgonc197079 +onshore_type_c_gathering_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089,partjgonc198089 +onshore_type_c_gathering_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099,partjgonc199099 +onshore_type_c_gathering_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009,partjgonc200009 +onshore_type_c_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019,partjgonc201019 +onshore_type_c_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029,partjgonc202029 +onshore_type_c_total_gathering_miles,,,,,,,,,,,,,,,,,,,,,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal,partjgonctotal +offshore_gathering_unknown_miles,,,,,,,,,,,,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,b3goff_1,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn,partjgoffunkwn +offshore_gathering_pre_1940_miles,,,,,,,,,,,,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,b3goff_2,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940,partjgoffpre1940 +offshore_gathering_1940_1949_miles,,,,,,,,,,,,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,b3goff_3,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049,partjgoff194049 +offshore_gathering_1950_1959_miles,,,,,,,,,,,,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,b3goff_4,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059,partjgoff195059 +offshore_gathering_1960_1969_miles,,,,,,,,,,,,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,b3goff_5,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069,partjgoff196069 +offshore_gathering_1970_1979_miles,,,,,,,,,,,,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,b3goff_6,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079,partjgoff197079 +offshore_gathering_1980_1989_miles,,,,,,,,,,,,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,b3goff_7,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089,partjgoff198089 +offshore_gathering_1990_1999_miles,,,,,,,,,,,,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,b3goff_8,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099,partjgoff199099 +offshore_gathering_2000_2009_miles,,,,,,,,,,,,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,b3goff_9,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009,partjgoff200009 +offshore_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019,partjgoff201019 +offshore_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029,partjgoff202029 +offshore_gathering_total_miles,,,,,,,,,,,,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,b3goff_t,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal,partjgofftotal +total_gathering_unknown_miles,,,,,,,,,,,,,,,,,,,,,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot,partjgunkwntot +total_gathering_pre_1940_miles,,,,,,,,,,,,,,,,,,,,,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot,partjgpre1940tot +total_gathering_1940_1949_miles,,,,,,,,,,,,,,,,,,,,,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot,partjg194049tot +total_gathering_1950_1959_miles,,,,,,,,,,,,,,,,,,,,,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot,partjg195059tot +total_gathering_1960_1969_miles,,,,,,,,,,,,,,,,,,,,,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot,partjg196069tot +total_gathering_1970_1979_miles,,,,,,,,,,,,,,,,,,,,,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot,partjg197079tot +total_gathering_1980_1989_miles,,,,,,,,,,,,,,,,,,,,,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot,partjg198089tot +total_gathering_1990_1999_miles,,,,,,,,,,,,,,,,,,,,,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot,partjg199099tot +total_gathering_2000_2009_miles,,,,,,,,,,,,,,,,,,,,,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot,partjg200009tot +total_gathering_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot,partjg201019tot +total_gathering_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot,partjg202029tot +total_gathering_total_miles,,,,,,,,,,,,,,,,,,,,,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal,partjgtotal +total_total_unknown_miles,,,,,,,,,,,,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,b3total_1,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot,partjunkwntot +total_total_pre_1940_miles,,,,,,,,,,,,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,b3total_2,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot,partjpre1940tot +total_total_1940_1949_miles,,,,,,,,,,,,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,b3total_3,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot,partj194049tot +total_total_1950_1959_miles,,,,,,,,,,,,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,b3total_4,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot,partj195059tot +total_total_1960_1969_miles,,,,,,,,,,,,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,b3total_5,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot,partj196069tot +total_total_1970_1979_miles,,,,,,,,,,,,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,b3total_6,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot,partj197079tot +total_total_1980_1989_miles,,,,,,,,,,,,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,b3total_7,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot,partj198089tot +total_total_1990_1999_miles,,,,,,,,,,,,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,b3total_8,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot,partj199099tot +total_total_2000_2009_miles,,,,,,,,,,,,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,b3total_9,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot,partj200009tot +total_total_2010_2019_miles,,,,,,,,,,,,,,,,,,,,,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot,partj201019tot +total_total_2020_2029_miles,,,,,,,,,,,,,,,,,,,,,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot,partj202029tot +total_total_total_miles,,,,,,,,,,,,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,b3total_t,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal,partjtotal diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_material.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_material.csv index 73369c156c..9e47835bc4 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_material.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_pipe_miles_by_material.csv @@ -1,102 +1,102 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -report_number,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -report_year,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_state,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -supplemental_report_number,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -onshore_transmission_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb -onshore_transmission_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc -onshore_transmission_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub -onshore_transmission_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc -onshore_transmission_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci -onshore_transmission_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi -onshore_transmission_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp -onshore_transmission_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc -onshore_transmission_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono -onshore_transmission_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal -offshore_transmission_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb -offshore_transmission_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc -offshore_transmission_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub -offshore_transmission_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc -offshore_transmission_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci -offshore_transmission_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi -offshore_transmission_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp -offshore_transmission_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc -offshore_transmission_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo -offshore_transmission_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal -total_transmission_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal -total_transmission_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal -total_transmission_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal -total_transmission_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal -total_transmission_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal -total_transmission_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal -total_transmission_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal -total_transmission_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal -total_transmission_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal -total_transmission_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal -onshore_type_a_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb -onshore_type_a_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc -onshore_type_a_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub -onshore_type_a_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc -onshore_type_a_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci -onshore_type_a_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi -onshore_type_a_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap -onshore_type_a_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac -onshore_type_a_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao -onshore_type_a_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal -onshore_type_b_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb -onshore_type_b_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc -onshore_type_b_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub -onshore_type_b_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc -onshore_type_b_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci -onshore_type_b_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi -onshore_type_b_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp -onshore_type_b_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc -onshore_type_b_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo -onshore_type_b_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal -onshore_type_c_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb -onshore_type_c_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc -onshore_type_c_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub -onshore_type_c_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc -onshore_type_c_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci -onshore_type_c_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi -onshore_type_c_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp -onshore_type_c_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc -onshore_type_c_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco -onshore_type_c_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal -offshore_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb -offshore_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc -offshore_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub -offshore_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc -offshore_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci -offshore_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi -offshore_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp -offshore_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc -offshore_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo -offshore_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal -total_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal -total_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal -total_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal -total_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal -total_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal -total_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal -total_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal -total_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal -total_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal -total_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal -total_total_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal -total_total_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal -total_total_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal -total_total_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal -total_total_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal -total_total_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal -total_total_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal -total_total_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal -total_total_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal -total_total_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles -transmission_pipe_other_materials_description,,,,,,,,,,,,,,,,,,,,,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials -gathering_pipe_other_materials_description,,,,,,,,,,,,,,,,,,,,,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +report_number,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +report_year,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_state,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +supplemental_report_number,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +onshore_transmission_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb,partptoncpb +onshore_transmission_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc,partptoncpc +onshore_transmission_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub,partptoncub +onshore_transmission_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc,partptoncuc +onshore_transmission_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci,partptonci +onshore_transmission_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi,partptonwi +onshore_transmission_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp,partptonp +onshore_transmission_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc,partptonc +onshore_transmission_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono,partptono +onshore_transmission_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal,partptontotal +offshore_transmission_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb,partptoffcpb +offshore_transmission_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc,partptoffcpc +offshore_transmission_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub,partptoffcub +offshore_transmission_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc,partptoffcuc +offshore_transmission_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci,partptoffci +offshore_transmission_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi,partptoffwi +offshore_transmission_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp,partptoffp +offshore_transmission_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc,partptoffc +offshore_transmission_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo,partptoffo +offshore_transmission_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal,partptofftotal +total_transmission_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal,partptcpbtotal +total_transmission_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal,partptcpctotal +total_transmission_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal,partptcubtotal +total_transmission_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal,partptcuctotal +total_transmission_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal,partptcitotal +total_transmission_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal,partptwictotal +total_transmission_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal,partptptotal +total_transmission_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal,partptctotal +total_transmission_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal,partptototal +total_transmission_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal,partpttotal +onshore_type_a_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb,partpgontacpb +onshore_type_a_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc,partpgontacpc +onshore_type_a_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub,partpgontacub +onshore_type_a_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc,partpgontacuc +onshore_type_a_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci,partpgontaci +onshore_type_a_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi,partpgontawi +onshore_type_a_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap,partpgontap +onshore_type_a_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac,partpgontac +onshore_type_a_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao,partpgontao +onshore_type_a_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal,partpgonatotal +onshore_type_b_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb,partpgontbcpb +onshore_type_b_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc,partpgontbcpc +onshore_type_b_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub,partpgontbcub +onshore_type_b_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc,partpgontbcuc +onshore_type_b_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci,partpgontbci +onshore_type_b_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi,partpgontbwi +onshore_type_b_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp,partpgontbp +onshore_type_b_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc,partpgontbc +onshore_type_b_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo,partpgontbo +onshore_type_b_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal,partpgonbtotal +onshore_type_c_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb,partpgontccpb +onshore_type_c_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc,partpgontccpc +onshore_type_c_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub,partpgontccub +onshore_type_c_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc,partpgontccuc +onshore_type_c_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci,partpgontcci +onshore_type_c_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi,partpgontcwi +onshore_type_c_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp,partpgontcp +onshore_type_c_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc,partpgontcc +onshore_type_c_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco,partpgontco +onshore_type_c_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal,partpgonctotal +offshore_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb,partpgoffcpb +offshore_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc,partpgoffcpc +offshore_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub,partpgoffcub +offshore_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc,partpgoffcuc +offshore_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci,partpgoffci +offshore_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi,partpgoffwi +offshore_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp,partpgoffp +offshore_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc,partpgoffc +offshore_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo,partpgoffo +offshore_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal,partpgofftotal +total_gathering_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal,partpgcpbtotal +total_gathering_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal,partpgcpctotal +total_gathering_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal,partpgcubtotal +total_gathering_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal,partpgcuctotal +total_gathering_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal,partpgcitotal +total_gathering_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal,partpgwitotal +total_gathering_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal,partpgptotal +total_gathering_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal,partpgctotal +total_gathering_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal,partpgototal +total_gathering_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal,partpgtotal +total_total_pipe_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal,partpcpbtotal +total_total_pipe_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal,partpcpctotal +total_total_pipe_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal,partpcubtotal +total_total_pipe_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal,partpcuctotal +total_total_pipe_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal,partpcitotal +total_total_pipe_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal,partpwitotal +total_total_pipe_plastic_miles,,,,,,,,,,,,,,,,,,,,,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal,partpptotal +total_total_pipe_composite_miles,,,,,,,,,,,,,,,,,,,,,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal,partpctotal +total_total_pipe_other_miles,,,,,,,,,,,,,,,,,,,,,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal,partpototal +total_total_pipe_total_miles,,,,,,,,,,,,,,,,,,,,,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles,partptotalmiles +transmission_pipe_other_materials_description,,,,,,,,,,,,,,,,,,,,,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials,partpothermaterials +gathering_pipe_other_materials_description,,,,,,,,,,,,,,,,,,,,,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials,partpgothermaterials diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_preparer_certification.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_preparer_certification.csv index 7c26976146..51699f7777 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_preparer_certification.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_preparer_certification.csv @@ -1,4 +1,4 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022, +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_summary_by_commodity.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_summary_by_commodity.csv index 5d30da0ed4..039422f612 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_summary_by_commodity.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_gathering_summary_by_commodity.csv @@ -1,181 +1,181 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -operator_parent_name_phmsa,,,,,,,,,,,,,,,,,,,,,parta2nameofparent_com,parta2nameofparent_com,,,,,,,,,,, -operator_name_phmsa_alt,,,,,,,,,,,,,,,,,,,,,parta4nameofcomp,parta4nameofcomp,,,,,,,,,,, -office_address_street,ostreet,ostreet,ostreet,ostreet,ostreet,oaddr,oaddr,oaddr,oaddr,ostreet,ostreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,,,,,,,,,,,,, -office_address_city,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,,,,,,,,,,,,, -office_address_county,ocounty,ocounty,ocounty,ocounty,ocounty,ocnty,ocnty,ocnty,ocnty,ocounty,ocounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,,,,,,,,,,,,, -office_address_state,ostate,ostate,ostate,ostate,ostate,ost,ost,ost,ost,ostate,ostate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,,,,,,,,,,,,, -office_address_zip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,,,,,,,,,,,,, -headquarters_address_street,hstreet,hstreet,hstreet,hstreet,hstreet,haddr,haddr,haddr,haddr,hstreet,hstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street -headquarters_address_city,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city -headquarters_address_county,hcounty,hcounty,hcounty,hcounty,hcounty,hcnty,hcnty,hcnty,hcnty,hcounty,hcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,,,,,,,,,,,,, -headquarters_address_state,hstate,hstate,hstate,hstate,hstate,hst,hst,hst,hst,hstate,hstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state -headquarters_address_zip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip -commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -interstate_states,,,,,,,,,,,,,,,,,,,,,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter -intrastate_states,,,,,,,,,,,,,,,,,,,,,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra -system_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,,,,,,,,,,,,, -onshore_hca_miles,,,,,,,,,,,,,,,,,,,,,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore -offshore_hca_miles,,,,,,,,,,,,,,,,,,,,,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore -total_hca_miles,,,,,,,,,,,,,,,,,,,,,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal -onshore_192_710_miles,,,,,,,,,,,,,,,,,,,,,,,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson -offshore_192_710_miles,,,,,,,,,,,,,,,,,,,,,,,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff -total_192_710_miles,,,,,,,,,,,,,,,,,,,,,,,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal -onshore_class_3_4_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson -offshore_class_3_4_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff -total_class_3_4_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal -onshore_class_1_2_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson -offshore_class_1_2_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff -total_class_1_2_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal -hca_method_1_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1 -hca_method_1_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1 -hca_method_1_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1 -hca_method_1_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1 -hca_method_1_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1 -hca_method_1_other_miles,,,,,,,,,,,,,,,,,,,,,,,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1 -hca_method_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t -hca_method_2_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2 -hca_method_2_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2 -hca_method_2_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2 -hca_method_2_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2 -hca_method_2_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2 -hca_method_2_other_miles,,,,,,,,,,,,,,,,,,,,,,,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2 -hca_method_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t -hca_method_total_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet -hca_method_total_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt -hca_method_total_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant -hca_method_total_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt -hca_method_total_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt -hca_method_total_other_miles,,,,,,,,,,,,,,,,,,,,,,,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht -hca_method_total_miles,,,,,,,,,,,,,,,,,,,,,,,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt -gas_distribution_only,,,,,,,,,,,,,,,,,,,,,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck -onshore_natural_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng -offshore_natural_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng -onshore_propane_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg -offshore_propane_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg -onshore_synthetic_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg -offshore_synthetic_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg -onshore_hydrogen_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg -offshore_hydrogen_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg -onshore_landfill_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg -offshore_landfill_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg -onshore_other_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog -offshore_other_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog -other_gas_name,,,,,,,,,,,,,,,,,,,,,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname -onshore_transmission_steel_cathodically_protected_bare_miles,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb -offshore_transmission_steel_cathodically_protected_bare_miles,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb -total_transmission_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal -onshore_transmission_steel_cathodically_protected_coated_miles,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc -offshore_transmission_steel_cathodically_protected_coated_miles,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc -total_transmission_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal -onshore_transmission_steel_cathodically_unprotected_bare_miles,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub -offshore_transmission_steel_cathodically_unprotected_bare_miles,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub -total_transmission_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal -onshore_transmission_steel_cathodically_unprotected_coated_miles,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc -offshore_transmission_steel_cathodically_unprotected_coated_miles,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc -total_transmission_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal -onshore_transmission_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci -offshore_transmission_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci -total_transmission_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal -onshore_transmission_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi -offshore_transmission_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi -total_transmission_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal -onshore_transmission_cast_or_wrought_iron_miles,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,,,,,,,,,,,,, -offshore_transmission_cast_or_wrought_iron_miles,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,,,,,,,,,,,,, -onshore_transmission_plastic_miles,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp -offshore_transmission_plastic_miles,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp -total_transmission_plastic_miles,,,,,,,,,,,,,,,,,,,,,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal -onshore_transmission_composite_miles,,,,,,,,,,,,,,,,,,,,,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc -offshore_transmission_composite_miles,,,,,,,,,,,,,,,,,,,,,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc -total_transmission_composite_miles,,,,,,,,,,,,,,,,,,,,,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal -onshore_transmission_other_miles,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono -offshore_transmission_other_miles,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo -total_transmission_other_miles,,,,,,,,,,,,,,,,,,,,,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal -onshore_onshore_transmission_miles,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal -offshore_offshore_transmission_miles,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal -total_transmission_miles,,,,,,,,,,,,,,,,,,,,,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal -onshore_gathering_steel_cathodically_protected_bare_miles,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,,,,,,,,,,,,, -onshore_type_a_gathering_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb -onshore_type_b_gathering_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb -onshore_type_c_gathering_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb -offshore_gathering_steel_cathodically_protected_bare_miles,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb -total_gathering_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal -total_total_steel_cathodically_protected_bare_miles,,,,,,,,,,,,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal -onshore_gathering_steel_cathodically_protected_coated_miles,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,,,,,,,,,,,,, -onshore_type_a_gathering_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc -onshore_type_b_gathering_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc -onshore_type_c_gathering_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc -offshore_gathering_steel_cathodically_protected_coated_miles,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc -total_gathering_steel_cathodically_protected_miles,,,,,,,,,,,,,,,,,,,,,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal -total_total_steel_cathodically_protected_coated_miles,,,,,,,,,,,,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal -onshore_gathering_steel_cathodically_unprotected_bare_miles,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,,,,,,,,,,,,, -onshore_type_a_gathering_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub -onshore_type_b_gathering_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub -onshore_type_c_gathering_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub -offshore_gathering_steel_cathodically_unprotected_bare_miles,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub -total_gathering_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal -total_total_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal -onshore_gathering_steel_cathodically_unprotected_coated_miles,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,,,,,,,,,,,,, -onshore_type_a_gathering_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc -onshore_type_b_gathering_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc -onshore_type_c_gathering_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc -offshore_gathering_steel_cathodically_unprotected_coated_miles,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc -total_gathering_steel_cathodically_unprotected_miles,,,,,,,,,,,,,,,,,,,,,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal -total_total_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal -onshore_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -onshore_type_a_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci -onshore_type_b_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci -onshore_type_c_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci -offshore_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci -total_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal -total_total_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal -onshore_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -onshore_type_a_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi -onshore_type_b_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi -onshore_type_c_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi -offshore_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi -total_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal -total_total_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal -onshore_gathering_cast_or_wrought_iron_miles,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,,,,,,,,,,,,, -offshore_gathering_cast_or_wrought_iron_miles,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,,,,,,,,,,,,, -total_total_cast_or_wrought_iron_miles,,,,,,,,,,,,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,,,,,,,,,,,,, -onshore_gathering_plastic_miles,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,,,,,,,,,,,,, -onshore_type_a_gathering_plastic_miles,,,,,,,,,,,,,,,,,,,,,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap -onshore_type_b_gathering_plastic_miles,,,,,,,,,,,,,,,,,,,,,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp -onshore_type_c_gathering_plastic_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp -offshore_gathering_plastic_miles,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp -total_gathering_plastic_miles,,,,,,,,,,,,,,,,,,,,,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal -total_total_plastic_miles,,,,,,,,,,,,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal -onshore_type_a_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac -onshore_type_b_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc -onshore_type_c_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc -offshore_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc -total_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal -total_total_composite_miles,,,,,,,,,,,,,,,,,,,,,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal -onshore_gathering_other_miles,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,,,,,,,,,,,,, -onshore_type_a_gathering_other_miles,,,,,,,,,,,,,,,,,,,,,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao -onshore_type_b_gathering_other_miles,,,,,,,,,,,,,,,,,,,,,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo -onshore_type_c_gathering_other_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco -offshore_gathering_other_miles,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo -total_gathering_other_miles,,,,,,,,,,,,,,,,,,,,,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal -total_total_other_miles,,,,,,,,,,,,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal -onshore_gathering_miles,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,,,,,,,,,,,,, -onshore_type_a_gathering_miles,,,,,,,,,,,,,,,,,,,,,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal -onshore_type_b_gathering_miles,,,,,,,,,,,,,,,,,,,,,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal -onshore_type_c_gathering_miles,,,,,,,,,,,,,,,,,,,,,,,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal -offshore_gathering_miles,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal -total_gathering_miles,,,,,,,,,,,,,,,,,,,,,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal -total_total_miles,,,,,,,,,,,,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles -report_submission_type,,,,,,,,,,,,,,,,,,,,,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type -report_date,,,,,,,,,,,dor,dor,dor,dor,dor,dor,dor,dor,dor,dor,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date -filing_date,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date -correction_date,doc,doc,doc,doc,doc,doc,doc,doc,doc,doc,,,,,,,,,,,,,,,,,,,,,,, -form_revision,,,,,,,,,,,,,,,,,,,,,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev -original_report,,,,,,,,,,,,original,original,original,original,original,original,original,original,original,,,,,,,,,,,,, -supplementary_report,,,,,,,,,,,,supplement,supplement,supplement,supplement,supplement,supplement,supplement,supplement,supplement,,,,,,,,,,,,, +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +operator_parent_name_phmsa,,,,,,,,,,,,,,,,,,,,,parta2nameofparent_com,parta2nameofparent_com,,,,,,,,,,,,nan +operator_name_phmsa_alt,,,,,,,,,,,,,,,,,,,,,parta4nameofcomp,parta4nameofcomp,,,,,,,,,,,,nan +office_address_street,ostreet,ostreet,ostreet,ostreet,ostreet,oaddr,oaddr,oaddr,oaddr,ostreet,ostreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,ofstreet,,,,,,,,,,,,,,nan +office_address_city,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ocity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,ofcity,,,,,,,,,,,,,,nan +office_address_county,ocounty,ocounty,ocounty,ocounty,ocounty,ocnty,ocnty,ocnty,ocnty,ocounty,ocounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,ofcounty,,,,,,,,,,,,,,nan +office_address_state,ostate,ostate,ostate,ostate,ostate,ost,ost,ost,ost,ostate,ostate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,ofstate,,,,,,,,,,,,,,nan +office_address_zip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ozip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,ofzip,,,,,,,,,,,,,,nan +headquarters_address_street,hstreet,hstreet,hstreet,hstreet,hstreet,haddr,haddr,haddr,haddr,hstreet,hstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,hqstreet,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street,parta4street +headquarters_address_city,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,hqcity,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city,parta4city +headquarters_address_county,hcounty,hcounty,hcounty,hcounty,hcounty,hcnty,hcnty,hcnty,hcnty,hcounty,hcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,hqcounty,,,,,,,,,,,,,,nan +headquarters_address_state,hstate,hstate,hstate,hstate,hstate,hst,hst,hst,hst,hstate,hstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,hqstate,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state,parta4state +headquarters_address_zip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,hqzip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip,parta4zip +commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +interstate_states,,,,,,,,,,,,,,,,,,,,,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter,parta7inter +intrastate_states,,,,,,,,,,,,,,,,,,,,,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra,parta7intra +system_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,,,,,,,,,,,,,,nan +onshore_hca_miles,,,,,,,,,,,,,,,,,,,,,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore,partbhcaonshore +offshore_hca_miles,,,,,,,,,,,,,,,,,,,,,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore,partbhcaoffshore +total_hca_miles,,,,,,,,,,,,,,,,,,,,,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal,partbhcatotal +onshore_192_710_miles,,,,,,,,,,,,,,,,,,,,,,,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson,partb192mileson +offshore_192_710_miles,,,,,,,,,,,,,,,,,,,,,,,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff,partb192milesoff +total_192_710_miles,,,,,,,,,,,,,,,,,,,,,,,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal,partb192milestotal +onshore_class_3_4_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson,partbclass34mileson +offshore_class_3_4_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff,partbclass34milesoff +total_class_3_4_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal,partbclass34milestotal +onshore_class_1_2_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson,partbclass12mileson +offshore_class_1_2_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff,partbclass12milesoff +total_class_1_2_miles,,,,,,,,,,,,,,,,,,,,,,,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal,partbclass12milestotal +hca_method_1_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1,partb1smem1 +hca_method_1_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1,partb1rrm1 +hca_method_1_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1,partb1quanm1 +hca_method_1_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1,partb1probm1 +hca_method_1_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1,partb1sbm1 +hca_method_1_other_miles,,,,,,,,,,,,,,,,,,,,,,,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1,partb1othm1 +hca_method_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t,partb1m1t +hca_method_2_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2,partb1smem2 +hca_method_2_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2,partb1rrm2 +hca_method_2_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2,partb1quanm2 +hca_method_2_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2,partb1probm2 +hca_method_2_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2,partb1sbm2 +hca_method_2_other_miles,,,,,,,,,,,,,,,,,,,,,,,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2,partb1othm2 +hca_method_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t,partb1m2t +hca_method_total_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet,partb1smet +hca_method_total_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt,partb1rrt +hca_method_total_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant,partb1quant +hca_method_total_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt,partb1probt +hca_method_total_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt,partb1sbt +hca_method_total_other_miles,,,,,,,,,,,,,,,,,,,,,,,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht,partb1otht +hca_method_total_miles,,,,,,,,,,,,,,,,,,,,,,,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt,partb1mt +gas_distribution_only,,,,,,,,,,,,,,,,,,,,,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck,partccheck +onshore_natural_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng,partconng +offshore_natural_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng,partcoffng +onshore_propane_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg,partconpg +offshore_propane_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg,partcoffpg +onshore_synthetic_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg,partconsg +offshore_synthetic_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg,partcoffsg +onshore_hydrogen_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg,partconhg +offshore_hydrogen_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg,partcoffhg +onshore_landfill_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg,partconlfg +offshore_landfill_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg,partcofflfg +onshore_other_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog,partconog +offshore_other_gas_million_square_cubic_feet_per_year,,,,,,,,,,,,,,,,,,,,,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog,partcoffog +other_gas_name,,,,,,,,,,,,,,,,,,,,,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname,partcogname +onshore_transmission_steel_cathodically_protected_bare_miles,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,t1m1_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,b1ton_1,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb,partdtoncpb +offshore_transmission_steel_cathodically_protected_bare_miles,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,t1m2_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,b1toff_1,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb,partdtoffcpb +total_transmission_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal,partdtcpbtotal +onshore_transmission_steel_cathodically_protected_coated_miles,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,t1m1_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,b1ton_2,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc,partdtoncpc +offshore_transmission_steel_cathodically_protected_coated_miles,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,t1m2_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,b1toff_2,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc,partdtoffcpc +total_transmission_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal,partdtcpctotal +onshore_transmission_steel_cathodically_unprotected_bare_miles,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,t1m1_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,b1ton_3,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub,partdtoncub +offshore_transmission_steel_cathodically_unprotected_bare_miles,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,t1m2_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,b1toff_3,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub,partdtoffcub +total_transmission_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal,partdtcubtotal +onshore_transmission_steel_cathodically_unprotected_coated_miles,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,t1m1_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,b1ton_4,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc,partdtoncuc +offshore_transmission_steel_cathodically_unprotected_coated_miles,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,t1m2_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,b1toff_4,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc,partdtoffcuc +total_transmission_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal,partdtcuctotal +onshore_transmission_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci,partdtonci +offshore_transmission_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci,partdtoffci +total_transmission_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal,partdtcitotal +onshore_transmission_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi,partdtonwi +offshore_transmission_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi,partdtoffwi +total_transmission_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal,partdtwitotal +onshore_transmission_cast_or_wrought_iron_miles,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,t1m1_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,b1ton_5,,,,,,,,,,,,,,nan +offshore_transmission_cast_or_wrought_iron_miles,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,t1m2_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,b1toff_5,,,,,,,,,,,,,,nan +onshore_transmission_plastic_miles,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,t1m1_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,b1ton_6,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp,partdtonp +offshore_transmission_plastic_miles,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,t1m2_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,b1toff_6,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp,partdtoffp +total_transmission_plastic_miles,,,,,,,,,,,,,,,,,,,,,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal,partdtptotal +onshore_transmission_composite_miles,,,,,,,,,,,,,,,,,,,,,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc,partdtonc +offshore_transmission_composite_miles,,,,,,,,,,,,,,,,,,,,,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc,partdtoffc +total_transmission_composite_miles,,,,,,,,,,,,,,,,,,,,,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal,partdtctotal +onshore_transmission_other_miles,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,t1m1_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,b1ton_7,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono,partdtono +offshore_transmission_other_miles,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,t1m2_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,b1toff_7,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo,partdtoffo +total_transmission_other_miles,,,,,,,,,,,,,,,,,,,,,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal,partdtototal +onshore_onshore_transmission_miles,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,t1m1t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,b1ton_t,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal,partdtontotal +offshore_offshore_transmission_miles,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,t1m2t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,b1toff_t,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal,partdtofftotal +total_transmission_miles,,,,,,,,,,,,,,,,,,,,,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal,partdttotal +onshore_gathering_steel_cathodically_protected_bare_miles,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,g1m1_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,b1gon_1,,,,,,,,,,,,,,nan +onshore_type_a_gathering_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb,partdgontacpb +onshore_type_b_gathering_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb,partdgontbcpb +onshore_type_c_gathering_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb,partdgontccpb +offshore_gathering_steel_cathodically_protected_bare_miles,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,g1m2_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,b1goff_1,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb,partdgoffcpb +total_gathering_steel_cathodically_protected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal,partdgcpbtotal +total_total_steel_cathodically_protected_bare_miles,,,,,,,,,,,,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,b1total_1,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal,partdcpbtotal +onshore_gathering_steel_cathodically_protected_coated_miles,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,g1m1_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,b1gon_2,,,,,,,,,,,,,,nan +onshore_type_a_gathering_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc,partdgontacpc +onshore_type_b_gathering_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc,partdgontbcpc +onshore_type_c_gathering_steel_cathodically_protected_coated_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc,partdgontccpc +offshore_gathering_steel_cathodically_protected_coated_miles,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,g1m2_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,b1goff_2,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc,partdgoffcpc +total_gathering_steel_cathodically_protected_miles,,,,,,,,,,,,,,,,,,,,,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal,partdgcpctotal +total_total_steel_cathodically_protected_coated_miles,,,,,,,,,,,,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,b1total_2,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal,partdcpctotal +onshore_gathering_steel_cathodically_unprotected_bare_miles,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,g1m1_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,b1gon_3,,,,,,,,,,,,,,nan +onshore_type_a_gathering_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub,partdgontacub +onshore_type_b_gathering_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub,partdgontbcub +onshore_type_c_gathering_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub,partdgontccub +offshore_gathering_steel_cathodically_unprotected_bare_miles,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,g1m2_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,b1goff_3,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub,partdgoffcub +total_gathering_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,,,,,,,,,,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal,partdgcubtotal +total_total_steel_cathodically_unprotected_bare_miles,,,,,,,,,,,,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,b1total_3,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal,partdcubtotal +onshore_gathering_steel_cathodically_unprotected_coated_miles,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,g1m1_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,b1gon_4,,,,,,,,,,,,,,nan +onshore_type_a_gathering_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc,partdgontacuc +onshore_type_b_gathering_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc,partdgontbcuc +onshore_type_c_gathering_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc,partdgontccuc +offshore_gathering_steel_cathodically_unprotected_coated_miles,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,g1m2_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,b1goff_4,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc,partdgoffcuc +total_gathering_steel_cathodically_unprotected_miles,,,,,,,,,,,,,,,,,,,,,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal,partdgcuctotal +total_total_steel_cathodically_unprotected_coated_miles,,,,,,,,,,,,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,b1total_4,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal,partdcuctotal +onshore_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,nan +onshore_type_a_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci,partdgontaci +onshore_type_b_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci,partdgontbci +onshore_type_c_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci,partdgontcci +offshore_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci,partdgoffci +total_gathering_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal,partdgcitotal +total_total_cast_iron_miles,,,,,,,,,,,,,,,,,,,,,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal,partdcitotal +onshore_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,nan +onshore_type_a_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi,partdgontawi +onshore_type_b_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi,partdgontbwi +onshore_type_c_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi,partdgontcwi +offshore_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi,partdgoffwi +total_gathering_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal,partdgwitotal +total_total_wrought_iron_miles,,,,,,,,,,,,,,,,,,,,,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal,partdwitotal +onshore_gathering_cast_or_wrought_iron_miles,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,g1m1_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,b1gon_5,,,,,,,,,,,,,,nan +offshore_gathering_cast_or_wrought_iron_miles,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,g1m2_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,b1goff_5,,,,,,,,,,,,,,nan +total_total_cast_or_wrought_iron_miles,,,,,,,,,,,,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,b1total_5,,,,,,,,,,,,,,nan +onshore_gathering_plastic_miles,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,g1m1_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,b1gon_6,,,,,,,,,,,,,,nan +onshore_type_a_gathering_plastic_miles,,,,,,,,,,,,,,,,,,,,,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap,partdgontap +onshore_type_b_gathering_plastic_miles,,,,,,,,,,,,,,,,,,,,,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp,partdgontbp +onshore_type_c_gathering_plastic_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp,partdgontcp +offshore_gathering_plastic_miles,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,g1m2_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,b1goff_6,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp,partdgoffp +total_gathering_plastic_miles,,,,,,,,,,,,,,,,,,,,,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal,partdgptotal +total_total_plastic_miles,,,,,,,,,,,,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,b1total_6,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal,partdptotal +onshore_type_a_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac,partdgontac +onshore_type_b_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc,partdgontbc +onshore_type_c_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc,partdgontcc +offshore_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc,partdgoffc +total_gathering_composite_miles,,,,,,,,,,,,,,,,,,,,,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal,partdgctotal +total_total_composite_miles,,,,,,,,,,,,,,,,,,,,,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal,partdctotal +onshore_gathering_other_miles,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,g1m1_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,b1gon_7,,,,,,,,,,,,,,nan +onshore_type_a_gathering_other_miles,,,,,,,,,,,,,,,,,,,,,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao,partdgontao +onshore_type_b_gathering_other_miles,,,,,,,,,,,,,,,,,,,,,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo,partdgontbo +onshore_type_c_gathering_other_miles,,,,,,,,,,,,,,,,,,,,,,,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco,partdgontco +offshore_gathering_other_miles,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,g1m2_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,b1goff_7,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo,partdgoffo +total_gathering_other_miles,,,,,,,,,,,,,,,,,,,,,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal,partdgototal +total_total_other_miles,,,,,,,,,,,,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,b1total_7,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal,partdototal +onshore_gathering_miles,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,g1m1t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,b1gon_t,,,,,,,,,,,,,,nan +onshore_type_a_gathering_miles,,,,,,,,,,,,,,,,,,,,,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal,partdgonatotal +onshore_type_b_gathering_miles,,,,,,,,,,,,,,,,,,,,,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal,partdgonbtotal +onshore_type_c_gathering_miles,,,,,,,,,,,,,,,,,,,,,,,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal,partdgonctotal +offshore_gathering_miles,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,g1m2t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,b1goff_t,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal,partdgofftotal +total_gathering_miles,,,,,,,,,,,,,,,,,,,,,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal,partdgtotal +total_total_miles,,,,,,,,,,,,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,b1total_t,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles,partdtotalmiles +report_submission_type,,,,,,,,,,,,,,,,,,,,,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type +report_date,,,,,,,,,,,dor,dor,dor,dor,dor,dor,dor,dor,dor,dor,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date +filing_date,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date +correction_date,doc,doc,doc,doc,doc,doc,doc,doc,doc,doc,,,,,,,,,,,,,,,,,,,,,,,,nan +form_revision,,,,,,,,,,,,,,,,,,,,,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev,form_rev +original_report,,,,,,,,,,,,original,original,original,original,original,original,original,original,original,,,,,,,,,,,,,,nan +supplementary_report,,,,,,,,,,,,supplement,supplement,supplement,supplement,supplement,supplement,supplement,supplement,supplement,,,,,,,,,,,,,,nan diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_hca_miles_by_determination_method_and_risk_model.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_hca_miles_by_determination_method_and_risk_model.csv index dfb04a3c8f..df852f6f10 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_hca_miles_by_determination_method_and_risk_model.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_hca_miles_by_determination_method_and_risk_model.csv @@ -1,32 +1,32 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,datafile_as_of -report_year,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,report_year -report_number,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,report_number -supplemental_report_number,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,supplemental_number -operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,operator_id -operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parta5commodity -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,inter_intra -report_state,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,state_name -hca_method_1_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsmehcam1 -hca_method_2_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsmehcam2 -hca_method_total_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsmetot -hca_method_1_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttrrhcam1 -hca_method_2_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttrrhcam2 -hca_method_total_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttrrtot -hca_method_1_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttqhcam1 -hca_method_2_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttqhcam2 -hca_method_total_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttqtot -hca_method_1_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttphcam1 -hca_method_2_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttphcam2 -hca_method_total_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttptot -hca_method_1_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsbhcam1 -hca_method_2_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsbhcam2 -hca_method_total_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsbtot -hca_method_1_other_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttohcam1 -hca_method_2_other_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttohcam2 -hca_method_total_other_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttotot -hca_method_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partthcam1tot -hca_method_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partthcam2tot -hca_method_total_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttrmttot -other_risk_model_type_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttothdesc +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of +report_year,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,report_year,report_year +report_number,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,report_number,report_number +supplemental_report_number,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number +operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id +operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra +report_state,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,state_name,state_name +hca_method_1_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsmehcam1,parttsmehcam1 +hca_method_2_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsmehcam2,parttsmehcam2 +hca_method_total_subject_matter_expert_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsmetot,parttsmetot +hca_method_1_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttrrhcam1,parttrrhcam1 +hca_method_2_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttrrhcam2,parttrrhcam2 +hca_method_total_relative_risk_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttrrtot,parttrrtot +hca_method_1_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttqhcam1,parttqhcam1 +hca_method_2_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttqhcam2,parttqhcam2 +hca_method_total_quantitative_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttqtot,parttqtot +hca_method_1_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttphcam1,parttphcam1 +hca_method_2_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttphcam2,parttphcam2 +hca_method_total_probabilistic_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttptot,parttptot +hca_method_1_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsbhcam1,parttsbhcam1 +hca_method_2_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsbhcam2,parttsbhcam2 +hca_method_total_scenario_based_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttsbtot,parttsbtot +hca_method_1_other_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttohcam1,parttohcam1 +hca_method_2_other_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttohcam2,parttohcam2 +hca_method_total_other_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttotot,parttotot +hca_method_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partthcam1tot,partthcam1tot +hca_method_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partthcam2tot,partthcam2tot +hca_method_total_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttrmttot,parttrmttot +other_risk_model_type_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parttothdesc,parttothdesc diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_material_verification.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_material_verification.csv index 808093b215..e38edd09d1 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_material_verification.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_material_verification.csv @@ -1,34 +1,34 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of -report_year,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,report_year,report_year -report_number,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,report_number,report_number -supplemental_report_number,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number -operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id -operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra -report_state,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,state_name,state_name -hca_class_1_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac1miles,partshcac1miles -hca_class_1_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac1testloc,partshcac1testloc -hca_class_2_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac2miles,partshcac2miles -hca_class_2_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac2testloc,partshcac2testloc -hca_class_3_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac3miles,partshcac3miles -hca_class_3_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac3testloc,partshcac3testloc -hca_class_4_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac4miles,partshcac4miles -hca_class_4_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac4testloc,partshcac4testloc -mca_class_1_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac1miles,partsmcac1miles -mca_class_1_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac1testloc,partsmcac1testloc -mca_class_2_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac2miles,partsmcac2miles -mca_class_2_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac2testloc,partsmcac2testloc -mca_class_3_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac3miles,partsmcac3miles -mca_class_3_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac3testloc,partsmcac3testloc -mca_class_4_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac4miles,partsmcac4miles -mca_class_4_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac4testloc,partsmcac4testloc -other_class_1_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac1miles,partsnothcamcac1miles -other_class_1_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac1testloc,partsnothcamcac1testloc -other_class_2_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac2miles,partsnothcamcac2miles -other_class_2_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac2testloc,partsnothcamcac2testloc -other_class_3_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac3miles,partsnothcamcac3miles -other_class_3_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac3testloc,partsnothcamcac3testloc -other_class_4_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac4miles,partsnothcamcac4miles -other_class_4_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac4testloc,partsnothcamcac4testloc +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of +report_year,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year +report_number,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id +operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra +report_state,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name +hca_class_1_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac1miles,partshcac1miles,partshcac1miles +hca_class_1_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac1testloc,partshcac1testloc,partshcac1testloc +hca_class_2_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac2miles,partshcac2miles,partshcac2miles +hca_class_2_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac2testloc,partshcac2testloc,partshcac2testloc +hca_class_3_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac3miles,partshcac3miles,partshcac3miles +hca_class_3_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac3testloc,partshcac3testloc,partshcac3testloc +hca_class_4_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac4miles,partshcac4miles,partshcac4miles +hca_class_4_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partshcac4testloc,partshcac4testloc,partshcac4testloc +mca_class_1_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac1miles,partsmcac1miles,partsmcac1miles +mca_class_1_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac1testloc,partsmcac1testloc,partsmcac1testloc +mca_class_2_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac2miles,partsmcac2miles,partsmcac2miles +mca_class_2_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac2testloc,partsmcac2testloc,partsmcac2testloc +mca_class_3_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac3miles,partsmcac3miles,partsmcac3miles +mca_class_3_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac3testloc,partsmcac3testloc,partsmcac3testloc +mca_class_4_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac4miles,partsmcac4miles,partsmcac4miles +mca_class_4_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsmcac4testloc,partsmcac4testloc,partsmcac4testloc +other_class_1_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac1miles,partsnothcamcac1miles,partsnothcamcac1miles +other_class_1_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac1testloc,partsnothcamcac1testloc,partsnothcamcac1testloc +other_class_2_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac2miles,partsnothcamcac2miles,partsnothcamcac2miles +other_class_2_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac2testloc,partsnothcamcac2testloc,partsnothcamcac2testloc +other_class_3_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac3miles,partsnothcamcac3miles,partsnothcamcac3miles +other_class_3_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac3testloc,partsnothcamcac3testloc,partsnothcamcac3testloc +other_class_4_192_607_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac4miles,partsnothcamcac4miles,partsnothcamcac4miles +other_class_4_192_607_test_locations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partsnothcamcac4testloc,partsnothcamcac4testloc,partsnothcamcac4testloc diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_miles_by_maop.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_miles_by_maop.csv index 43a17e5f5c..deeb1986e0 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_miles_by_maop.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_miles_by_maop.csv @@ -1,275 +1,275 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,,,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_number,,,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -supplemental_report_number,,,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -report_state,,,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -192_619_class_1_hca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,qc1hcaa1,qc1hcaa1 -192_619_class_1_hca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,qc1hcaa1inc,qc1hcaa1inc -192_619_class_1_hca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,qc1hcaa2,qc1hcaa2 -192_619_class_1_hca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,qc1hcaa2inc,qc1hcaa2inc -192_619_class_1_hca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,qc1hcaa3,qc1hcaa3 -192_619_class_1_hca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,qc1hcaa3inc,qc1hcaa3inc -192_619_class_1_hca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,qc1hcaa4,qc1hcaa4 -192_619_class_1_hca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,qc1hcaa4inc,qc1hcaa4inc -192_619_class_1_hca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,qc1hcac,qc1hcac -192_619_class_1_hca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,qc1hcacinc,qc1hcacinc -192_619_class_1_hca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,qc1hcad,qc1hcad -192_619_class_1_hca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,qc1hcadinc,qc1hcadinc -192_619_class_1_hca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,qc1hcaoth,qc1hcaoth -192_619_class_1_hca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,qc1hcaothinc,qc1hcaothinc -192_619_class_1_mca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa1,qc1mcaa1 -192_619_class_1_mca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa1inc,qc1mcaa1inc -192_619_class_1_mca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa2,qc1mcaa2 -192_619_class_1_mca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa2inc,qc1mcaa2inc -192_619_class_1_mca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa3,qc1mcaa3 -192_619_class_1_mca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa3inc,qc1mcaa3inc -192_619_class_1_mca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa4,qc1mcaa4 -192_619_class_1_mca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa4inc,qc1mcaa4inc -192_619_class_1_mca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcac,qc1mcac -192_619_class_1_mca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcacinc,qc1mcacinc -192_619_class_1_mca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcad,qc1mcad -192_619_class_1_mca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcadinc,qc1mcadinc -192_619_class_1_mca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaoth,qc1mcaoth -192_619_class_1_mca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaothinc,qc1mcaothinc -192_619_class_1_other_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,qc1nothma1,qc1nothma1 -192_619_class_1_other_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,qc1nothma2,qc1nothma2 -192_619_class_1_other_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,qc1nothma3,qc1nothma3 -192_619_class_1_other_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,qc1nothma4,qc1nothma4 -192_619_class_1_other_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,qc1nothmc,qc1nothmc -192_619_class_1_other_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,qc1nothmd,qc1nothmd -192_619_class_1_other_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,qc1nothmoth,qc1nothmoth -192_619_class_2_hca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,qc2hcaa1,qc2hcaa1 -192_619_class_2_hca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,qc2hcaa1inc,qc2hcaa1inc -192_619_class_2_hca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,qc2hcaa2,qc2hcaa2 -192_619_class_2_hca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,qc2hcaa2inc,qc2hcaa2inc -192_619_class_2_hca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,qc2hcaa3,qc2hcaa3 -192_619_class_2_hca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,qc2hcaa3inc,qc2hcaa3inc -192_619_class_2_hca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,qc2hcaa4,qc2hcaa4 -192_619_class_2_hca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,qc2hcaa4inc,qc2hcaa4inc -192_619_class_2_hca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,qc2hcac,qc2hcac -192_619_class_2_hca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,qc2hcacinc,qc2hcacinc -192_619_class_2_hca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,qc2hcad,qc2hcad -192_619_class_2_hca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,qc2hcadinc,qc2hcadinc -192_619_class_2_hca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,qc2hcaoth,qc2hcaoth -192_619_class_2_hca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,qc2hcaothinc,qc2hcaothinc -192_619_class_2_mca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa1,qc2mcaa1 -192_619_class_2_mca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa1inc,qc2mcaa1inc -192_619_class_2_mca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa2,qc2mcaa2 -192_619_class_2_mca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa2inc,qc2mcaa2inc -192_619_class_2_mca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa3,qc2mcaa3 -192_619_class_2_mca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa3inc,qc2mcaa3inc -192_619_class_2_mca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa4,qc2mcaa4 -192_619_class_2_mca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa4inc,qc2mcaa4inc -192_619_class_2_mca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcac,qc2mcac -192_619_class_2_mca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcacinc,qc2mcacinc -192_619_class_2_mca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcad,qc2mcad -192_619_class_2_mca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcadinc,qc2mcadinc -192_619_class_2_mca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaoth,qc2mcaoth -192_619_class_2_mca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaothinc,qc2mcaothinc -192_619_class_2_other_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,qc2nothma1,qc2nothma1 -192_619_class_2_other_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,qc2nothma2,qc2nothma2 -192_619_class_2_other_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,qc2nothma3,qc2nothma3 -192_619_class_2_other_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,qc2nothma4,qc2nothma4 -192_619_class_2_other_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,qc2nothmc,qc2nothmc -192_619_class_2_other_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,qc2nothmd,qc2nothmd -192_619_class_2_other_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,qc2nothmoth,qc2nothmoth -192_619_class_3_hca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,qc3hcaa1,qc3hcaa1 -192_619_class_3_hca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,qc3hcaa1inc,qc3hcaa1inc -192_619_class_3_hca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,qc3hcaa2,qc3hcaa2 -192_619_class_3_hca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,qc3hcaa2inc,qc3hcaa2inc -192_619_class_3_hca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,qc3hcaa3,qc3hcaa3 -192_619_class_3_hca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,qc3hcaa3inc,qc3hcaa3inc -192_619_class_3_hca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,qc3hcaa4,qc3hcaa4 -192_619_class_3_hca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,qc3hcaa4inc,qc3hcaa4inc -192_619_class_3_hca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,qc3hcac,qc3hcac -192_619_class_3_hca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,qc3hcacinc,qc3hcacinc -192_619_class_3_hca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,qc3hcad,qc3hcad -192_619_class_3_hca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,qc3hcadinc,qc3hcadinc -192_619_class_3_hca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,qc3hcaoth,qc3hcaoth -192_619_class_3_hca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,qc3hcaothinc,qc3hcaothinc -192_619_class_3_mca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa1,qc3mcaa1 -192_619_class_3_mca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa1inc,qc3mcaa1inc -192_619_class_3_mca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa2,qc3mcaa2 -192_619_class_3_mca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa2inc,qc3mcaa2inc -192_619_class_3_mca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa3,qc3mcaa3 -192_619_class_3_mca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa3inc,qc3mcaa3inc -192_619_class_3_mca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa4,qc3mcaa4 -192_619_class_3_mca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa4inc,qc3mcaa4inc -192_619_class_3_mca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcac,qc3mcac -192_619_class_3_mca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcacinc,qc3mcacinc -192_619_class_3_mca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcad,qc3mcad -192_619_class_3_mca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcadinc,qc3mcadinc -192_619_class_3_mca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaoth,qc3mcaoth -192_619_class_3_mca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaothinc,qc3mcaothinc -192_619_class_3_other_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,qc3nothma1,qc3nothma1 -192_619_class_3_other_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,qc3nothma1inc,qc3nothma1inc -192_619_class_3_other_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,qc3nothma2,qc3nothma2 -192_619_class_3_other_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,qc3nothma2inc,qc3nothma2inc -192_619_class_3_other_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,qc3nothma3,qc3nothma3 -192_619_class_3_other_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,qc3nothma3inc,qc3nothma3inc -192_619_class_3_other_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,qc3nothma4,qc3nothma4 -192_619_class_3_other_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,qc3nothma4inc,qc3nothma4inc -192_619_class_3_other_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,qc3nothmc,qc3nothmc -192_619_class_3_other_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,qc3nothmcinc,qc3nothmcinc -192_619_class_3_other_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,qc3nothmd,qc3nothmd -192_619_class_3_other_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,qc3nothmdinc,qc3nothmdinc -192_619_class_3_other_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,qc3nothmoth,qc3nothmoth -192_619_class_3_other_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,qc3nothmothinc,qc3nothmothinc -192_619_class_4_hca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,qc4hcaa1,qc4hcaa1 -192_619_class_4_hca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,qc4hcaa1inc,qc4hcaa1inc -192_619_class_4_hca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,qc4hcaa2,qc4hcaa2 -192_619_class_4_hca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,qc4hcaa2inc,qc4hcaa2inc -192_619_class_4_hca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,qc4hcaa3,qc4hcaa3 -192_619_class_4_hca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,qc4hcaa3inc,qc4hcaa3inc -192_619_class_4_hca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,qc4hcaa4,qc4hcaa4 -192_619_class_4_hca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,qc4hcaa4inc,qc4hcaa4inc -192_619_class_4_hca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,qc4hcac,qc4hcac -192_619_class_4_hca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,qc4hcacinc,qc4hcacinc -192_619_class_4_hca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,qc4hcad,qc4hcad -192_619_class_4_hca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,qc4hcadinc,qc4hcadinc -192_619_class_4_hca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,qc4hcaoth,qc4hcaoth -192_619_class_4_hca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,qc4hcaothinc,qc4hcaothinc -192_619_class_4_mca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa1,qc4mcaa1 -192_619_class_4_mca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa1inc,qc4mcaa1inc -192_619_class_4_mca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa2,qc4mcaa2 -192_619_class_4_mca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa2inc,qc4mcaa2inc -192_619_class_4_mca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa3,qc4mcaa3 -192_619_class_4_mca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa3inc,qc4mcaa3inc -192_619_class_4_mca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa4,qc4mcaa4 -192_619_class_4_mca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa4inc,qc4mcaa4inc -192_619_class_4_mca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcac,qc4mcac -192_619_class_4_mca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcacinc,qc4mcacinc -192_619_class_4_mca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcad,qc4mcad -192_619_class_4_mca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcadinc,qc4mcadinc -192_619_class_4_mca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaoth,qc4mcaoth -192_619_class_4_mca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaothinc,qc4mcaothinc -192_619_class_4_other_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,qc4nothma1,qc4nothma1 -192_619_class_4_other_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,qc4nothma1inc,qc4nothma1inc -192_619_class_4_other_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,qc4nothma2,qc4nothma2 -192_619_class_4_other_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,qc4nothma2inc,qc4nothma2inc -192_619_class_4_other_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,qc4nothma3,qc4nothma3 -192_619_class_4_other_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,qc4nothma3inc,qc4nothma3inc -192_619_class_4_other_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,qc4nothma4,qc4nothma4 -192_619_class_4_other_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,qc4nothma4inc,qc4nothma4inc -192_619_class_4_other_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,qc4nothmc,qc4nothmc -192_619_class_4_other_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,qc4nothmcinc,qc4nothmcinc -192_619_class_4_other_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,qc4nothmd,qc4nothmd -192_619_class_4_other_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,qc4nothmdinc,qc4nothmdinc -192_619_class_4_other_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,qc4nothmoth,qc4nothmoth -192_619_class_4_other_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,qc4nothmothinc,qc4nothmothinc -192_619_total_total_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,qa1tot,qa1tot -192_619_total_total_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,qa1inctot,qa1inctot -192_619_total_total_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,qa2tot,qa2tot -192_619_total_total_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,qa2inctot,qa2inctot -192_619_total_total_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,qa3tot,qa3tot -192_619_total_total_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,qa3inctot,qa3inctot -192_619_total_total_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,qa4tot,qa4tot -192_619_total_total_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,qa4inctot,qa4inctot -192_619_total_total_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqctot,partqctot,partqctot,partqctot,partqctot,partqctot,partqctot,partqctot,partqctot,qctot,qctot -192_619_total_total_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,qcinctot,qcinctot -192_619_total_total_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,qdtot,qdtot -192_619_total_total_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,qdinctot,qdinctot -192_619_total_total_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,qothtot,qothtot -192_619_total_total_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,qothinctot,qothinctot -192_619_total_total_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,, -192_619_total_total_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,, -192_619_class_1_hca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,qothc1hca,qothc1hca -192_619_class_1_mca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qothc1mca,qothc1mca -192_619_class_1_other_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,qothc1nohca,qothc1nohca -192_619_class_2_hca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,qothc2hca,qothc2hca -192_619_class_2_mca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qothc2mca,qothc2mca -192_619_class_2_other_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,qothc2nohca,qothc2nohca -192_619_class_3_hca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,qothc3hca,qothc3hca -192_619_class_3_mca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qothc3mca,qothc3mca -192_619_class_3_other_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,qothc3nohca,qothc3nohca -192_619_class_4_hca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,qothc4hca,qothc4hca -192_619_class_4_mca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qothc4mca,qothc4mca -192_619_class_4_other_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,qothc4nohca,qothc4nohca -192_624_class_1_hca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac1,q21c1hcac1 -192_624_class_1_hca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac2,q21c1hcac2 -192_624_class_1_hca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac3,q21c1hcac3 -192_624_class_1_hca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac4,q21c1hcac4 -192_624_class_1_hca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac5,q21c1hcac5 -192_624_class_1_hca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac6,q21c1hcac6 -192_624_class_1_mca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac1,q21c1mcac1 -192_624_class_1_mca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac2,q21c1mcac2 -192_624_class_1_mca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac3,q21c1mcac3 -192_624_class_1_mca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac4,q21c1mcac4 -192_624_class_1_mca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac5,q21c1mcac5 -192_624_class_1_mca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac6,q21c1mcac6 -192_624_class_1_other_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc1,q21c1nothmc1 -192_624_class_1_other_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc2,q21c1nothmc2 -192_624_class_1_other_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc3,q21c1nothmc3 -192_624_class_1_other_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc4,q21c1nothmc4 -192_624_class_1_other_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc5,q21c1nothmc5 -192_624_class_1_other_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc6,q21c1nothmc6 -192_624_class_2_hca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac1,q21c2hcac1 -192_624_class_2_hca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac2,q21c2hcac2 -192_624_class_2_hca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac3,q21c2hcac3 -192_624_class_2_hca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac4,q21c2hcac4 -192_624_class_2_hca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac5,q21c2hcac5 -192_624_class_2_hca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac6,q21c2hcac6 -192_624_class_2_mca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac1,q21c2mcac1 -192_624_class_2_mca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac2,q21c2mcac2 -192_624_class_2_mca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac3,q21c2mcac3 -192_624_class_2_mca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac4,q21c2mcac4 -192_624_class_2_mca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac5,q21c2mcac5 -192_624_class_2_mca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac6,q21c2mcac6 -192_624_class_2_other_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc1,q21c2nothmc1 -192_624_class_2_other_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc2,q21c2nothmc2 -192_624_class_2_other_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc3,q21c2nothmc3 -192_624_class_2_other_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc4,q21c2nothmc4 -192_624_class_2_other_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc5,q21c2nothmc5 -192_624_class_2_other_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc6,q21c2nothmc6 -192_624_class_3_hca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac1,q21c3hcac1 -192_624_class_3_hca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac2,q21c3hcac2 -192_624_class_3_hca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac3,q21c3hcac3 -192_624_class_3_hca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac4,q21c3hcac4 -192_624_class_3_hca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac5,q21c3hcac5 -192_624_class_3_hca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac6,q21c3hcac6 -192_624_class_3_mca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac1,q21c3mcac1 -192_624_class_3_mca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac2,q21c3mcac2 -192_624_class_3_mca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac3,q21c3mcac3 -192_624_class_3_mca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac4,q21c3mcac4 -192_624_class_3_mca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac5,q21c3mcac5 -192_624_class_3_mca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac6,q21c3mcac6 -192_624_class_3_other_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc1,q21c3nothmc1 -192_624_class_3_other_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc2,q21c3nothmc2 -192_624_class_3_other_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc3,q21c3nothmc3 -192_624_class_3_other_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc4,q21c3nothmc4 -192_624_class_3_other_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc5,q21c3nothmc5 -192_624_class_3_other_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc6,q21c3nothmc6 -192_624_class_4_hca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac1,q21c4hcac1 -192_624_class_4_hca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac2,q21c4hcac2 -192_624_class_4_hca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac3,q21c4hcac3 -192_624_class_4_hca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac4,q21c4hcac4 -192_624_class_4_hca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac5,q21c4hcac5 -192_624_class_4_hca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac6,q21c4hcac6 -192_624_class_4_mca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac1,q21c4mcac1 -192_624_class_4_mca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac2,q21c4mcac2 -192_624_class_4_mca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac3,q21c4mcac3 -192_624_class_4_mca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac4,q21c4mcac4 -192_624_class_4_mca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac5,q21c4mcac5 -192_624_class_4_mca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac6,q21c4mcac6 -192_624_class_4_other_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc1,q21c4nothmc1 -192_624_class_4_other_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc2,q21c4nothmc2 -192_624_class_4_other_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc3,q21c4nothmc3 -192_624_class_4_other_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc4,q21c4nothmc4 -192_624_class_4_other_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc5,q21c4nothmc5 -192_624_class_4_other_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc6,q21c4nothmc6 -192_624_total_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1tot,q21c1tot -192_624_total_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2tot,q21c2tot -192_624_total_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3tot,q21c3tot -192_624_total_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4tot,q21c4tot -192_624_total_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c5tot,q21c5tot -192_624_total_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c6tot,q21c6tot -192_619_total_total_a_c_d_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qtotal192169,qtotal192169 -192_624_total_total_e_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qtotal192624,qtotal192624 -total_total_total_total_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qa1othtotal,qa1othtotal -total_total_total_total_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qa1othinctotal,qa1othinctotal -total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partqtotal,partqtotal +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,,,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_number,,,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +report_state,,,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +192_619_class_1_hca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,partqc1hcaa1,qc1hcaa1,qc1hcaa1,qc1hcaa1 +192_619_class_1_hca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,partqc1hcaa1inc,qc1hcaa1inc,qc1hcaa1inc,qc1hcaa1inc +192_619_class_1_hca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,partqc1hcaa2,qc1hcaa2,qc1hcaa2,qc1hcaa2 +192_619_class_1_hca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,partqc1hcaa2inc,qc1hcaa2inc,qc1hcaa2inc,qc1hcaa2inc +192_619_class_1_hca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,partqc1hcaa3,qc1hcaa3,qc1hcaa3,qc1hcaa3 +192_619_class_1_hca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,partqc1hcaa3inc,qc1hcaa3inc,qc1hcaa3inc,qc1hcaa3inc +192_619_class_1_hca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,partqc1hcaa4,qc1hcaa4,qc1hcaa4,qc1hcaa4 +192_619_class_1_hca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,partqc1hcaa4inc,qc1hcaa4inc,qc1hcaa4inc,qc1hcaa4inc +192_619_class_1_hca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,partqc1hcac,qc1hcac,qc1hcac,qc1hcac +192_619_class_1_hca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,partqc1hcacinc,qc1hcacinc,qc1hcacinc,qc1hcacinc +192_619_class_1_hca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,partqc1hcad,qc1hcad,qc1hcad,qc1hcad +192_619_class_1_hca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,partqc1hcadinc,qc1hcadinc,qc1hcadinc,qc1hcadinc +192_619_class_1_hca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,partqc1hcaoth,qc1hcaoth,qc1hcaoth,qc1hcaoth +192_619_class_1_hca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,partqc1hcaothinc,qc1hcaothinc,qc1hcaothinc,qc1hcaothinc +192_619_class_1_mca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa1,qc1mcaa1,qc1mcaa1 +192_619_class_1_mca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa1inc,qc1mcaa1inc,qc1mcaa1inc +192_619_class_1_mca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa2,qc1mcaa2,qc1mcaa2 +192_619_class_1_mca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa2inc,qc1mcaa2inc,qc1mcaa2inc +192_619_class_1_mca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa3,qc1mcaa3,qc1mcaa3 +192_619_class_1_mca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa3inc,qc1mcaa3inc,qc1mcaa3inc +192_619_class_1_mca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa4,qc1mcaa4,qc1mcaa4 +192_619_class_1_mca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaa4inc,qc1mcaa4inc,qc1mcaa4inc +192_619_class_1_mca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcac,qc1mcac,qc1mcac +192_619_class_1_mca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcacinc,qc1mcacinc,qc1mcacinc +192_619_class_1_mca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcad,qc1mcad,qc1mcad +192_619_class_1_mca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcadinc,qc1mcadinc,qc1mcadinc +192_619_class_1_mca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaoth,qc1mcaoth,qc1mcaoth +192_619_class_1_mca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc1mcaothinc,qc1mcaothinc,qc1mcaothinc +192_619_class_1_other_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,partqc1nhcaa1,qc1nothma1,qc1nothma1,qc1nothma1 +192_619_class_1_other_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,partqc1nhcaa2,qc1nothma2,qc1nothma2,qc1nothma2 +192_619_class_1_other_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,partqc1nhcaa3,qc1nothma3,qc1nothma3,qc1nothma3 +192_619_class_1_other_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,partqc1nhcaa4,qc1nothma4,qc1nothma4,qc1nothma4 +192_619_class_1_other_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,partqc1nhcac,qc1nothmc,qc1nothmc,qc1nothmc +192_619_class_1_other_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,partqc1nhcad,qc1nothmd,qc1nothmd,qc1nothmd +192_619_class_1_other_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,partqc1nhcaoth,qc1nothmoth,qc1nothmoth,qc1nothmoth +192_619_class_2_hca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,partqc2hcaa1,qc2hcaa1,qc2hcaa1,qc2hcaa1 +192_619_class_2_hca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,partqc2hcaa1inc,qc2hcaa1inc,qc2hcaa1inc,qc2hcaa1inc +192_619_class_2_hca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,partqc2hcaa2,qc2hcaa2,qc2hcaa2,qc2hcaa2 +192_619_class_2_hca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,partqc2hcaa2inc,qc2hcaa2inc,qc2hcaa2inc,qc2hcaa2inc +192_619_class_2_hca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,partqc2hcaa3,qc2hcaa3,qc2hcaa3,qc2hcaa3 +192_619_class_2_hca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,partqc2hcaa3inc,qc2hcaa3inc,qc2hcaa3inc,qc2hcaa3inc +192_619_class_2_hca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,partqc2hcaa4,qc2hcaa4,qc2hcaa4,qc2hcaa4 +192_619_class_2_hca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,partqc2hcaa4inc,qc2hcaa4inc,qc2hcaa4inc,qc2hcaa4inc +192_619_class_2_hca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,partqc2hcac,qc2hcac,qc2hcac,qc2hcac +192_619_class_2_hca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,partqc2hcacinc,qc2hcacinc,qc2hcacinc,qc2hcacinc +192_619_class_2_hca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,partqc2hcad,qc2hcad,qc2hcad,qc2hcad +192_619_class_2_hca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,partqc2hcadinc,qc2hcadinc,qc2hcadinc,qc2hcadinc +192_619_class_2_hca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,partqc2hcaoth,qc2hcaoth,qc2hcaoth,qc2hcaoth +192_619_class_2_hca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,partqc2hcaothinc,qc2hcaothinc,qc2hcaothinc,qc2hcaothinc +192_619_class_2_mca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa1,qc2mcaa1,qc2mcaa1 +192_619_class_2_mca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa1inc,qc2mcaa1inc,qc2mcaa1inc +192_619_class_2_mca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa2,qc2mcaa2,qc2mcaa2 +192_619_class_2_mca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa2inc,qc2mcaa2inc,qc2mcaa2inc +192_619_class_2_mca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa3,qc2mcaa3,qc2mcaa3 +192_619_class_2_mca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa3inc,qc2mcaa3inc,qc2mcaa3inc +192_619_class_2_mca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa4,qc2mcaa4,qc2mcaa4 +192_619_class_2_mca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaa4inc,qc2mcaa4inc,qc2mcaa4inc +192_619_class_2_mca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcac,qc2mcac,qc2mcac +192_619_class_2_mca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcacinc,qc2mcacinc,qc2mcacinc +192_619_class_2_mca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcad,qc2mcad,qc2mcad +192_619_class_2_mca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcadinc,qc2mcadinc,qc2mcadinc +192_619_class_2_mca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaoth,qc2mcaoth,qc2mcaoth +192_619_class_2_mca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc2mcaothinc,qc2mcaothinc,qc2mcaothinc +192_619_class_2_other_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,partqc2nhcaa1,qc2nothma1,qc2nothma1,qc2nothma1 +192_619_class_2_other_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,partqc2nhcaa2,qc2nothma2,qc2nothma2,qc2nothma2 +192_619_class_2_other_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,partqc2nhcaa3,qc2nothma3,qc2nothma3,qc2nothma3 +192_619_class_2_other_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,partqc2nhcaa4,qc2nothma4,qc2nothma4,qc2nothma4 +192_619_class_2_other_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,partqc2nhcac,qc2nothmc,qc2nothmc,qc2nothmc +192_619_class_2_other_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,partqc2nhcad,qc2nothmd,qc2nothmd,qc2nothmd +192_619_class_2_other_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,partqc2nhcaoth,qc2nothmoth,qc2nothmoth,qc2nothmoth +192_619_class_3_hca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,partqc3hcaa1,qc3hcaa1,qc3hcaa1,qc3hcaa1 +192_619_class_3_hca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,partqc3hcaa1inc,qc3hcaa1inc,qc3hcaa1inc,qc3hcaa1inc +192_619_class_3_hca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,partqc3hcaa2,qc3hcaa2,qc3hcaa2,qc3hcaa2 +192_619_class_3_hca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,partqc3hcaa2inc,qc3hcaa2inc,qc3hcaa2inc,qc3hcaa2inc +192_619_class_3_hca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,partqc3hcaa3,qc3hcaa3,qc3hcaa3,qc3hcaa3 +192_619_class_3_hca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,partqc3hcaa3inc,qc3hcaa3inc,qc3hcaa3inc,qc3hcaa3inc +192_619_class_3_hca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,partqc3hcaa4,qc3hcaa4,qc3hcaa4,qc3hcaa4 +192_619_class_3_hca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,partqc3hcaa4inc,qc3hcaa4inc,qc3hcaa4inc,qc3hcaa4inc +192_619_class_3_hca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,partqc3hcac,qc3hcac,qc3hcac,qc3hcac +192_619_class_3_hca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,partqc3hcacinc,qc3hcacinc,qc3hcacinc,qc3hcacinc +192_619_class_3_hca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,partqc3hcad,qc3hcad,qc3hcad,qc3hcad +192_619_class_3_hca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,partqc3hcadinc,qc3hcadinc,qc3hcadinc,qc3hcadinc +192_619_class_3_hca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,partqc3hcaoth,qc3hcaoth,qc3hcaoth,qc3hcaoth +192_619_class_3_hca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,partqc3hcaothinc,qc3hcaothinc,qc3hcaothinc,qc3hcaothinc +192_619_class_3_mca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa1,qc3mcaa1,qc3mcaa1 +192_619_class_3_mca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa1inc,qc3mcaa1inc,qc3mcaa1inc +192_619_class_3_mca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa2,qc3mcaa2,qc3mcaa2 +192_619_class_3_mca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa2inc,qc3mcaa2inc,qc3mcaa2inc +192_619_class_3_mca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa3,qc3mcaa3,qc3mcaa3 +192_619_class_3_mca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa3inc,qc3mcaa3inc,qc3mcaa3inc +192_619_class_3_mca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa4,qc3mcaa4,qc3mcaa4 +192_619_class_3_mca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaa4inc,qc3mcaa4inc,qc3mcaa4inc +192_619_class_3_mca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcac,qc3mcac,qc3mcac +192_619_class_3_mca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcacinc,qc3mcacinc,qc3mcacinc +192_619_class_3_mca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcad,qc3mcad,qc3mcad +192_619_class_3_mca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcadinc,qc3mcadinc,qc3mcadinc +192_619_class_3_mca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaoth,qc3mcaoth,qc3mcaoth +192_619_class_3_mca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc3mcaothinc,qc3mcaothinc,qc3mcaothinc +192_619_class_3_other_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,partqc3nhcaa1,qc3nothma1,qc3nothma1,qc3nothma1 +192_619_class_3_other_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,partqc3nhcaa1inc,qc3nothma1inc,qc3nothma1inc,qc3nothma1inc +192_619_class_3_other_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,partqc3nhcaa2,qc3nothma2,qc3nothma2,qc3nothma2 +192_619_class_3_other_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,partqc3nhcaa2inc,qc3nothma2inc,qc3nothma2inc,qc3nothma2inc +192_619_class_3_other_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,partqc3nhcaa3,qc3nothma3,qc3nothma3,qc3nothma3 +192_619_class_3_other_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,partqc3nhcaa3inc,qc3nothma3inc,qc3nothma3inc,qc3nothma3inc +192_619_class_3_other_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,partqc3nhcaa4,qc3nothma4,qc3nothma4,qc3nothma4 +192_619_class_3_other_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,partqc3nhcaa4inc,qc3nothma4inc,qc3nothma4inc,qc3nothma4inc +192_619_class_3_other_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,partqc3nhcac,qc3nothmc,qc3nothmc,qc3nothmc +192_619_class_3_other_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,partqc3nhcacinc,qc3nothmcinc,qc3nothmcinc,qc3nothmcinc +192_619_class_3_other_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,partqc3nhcad,qc3nothmd,qc3nothmd,qc3nothmd +192_619_class_3_other_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,partqc3nhcadinc,qc3nothmdinc,qc3nothmdinc,qc3nothmdinc +192_619_class_3_other_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,partqc3nhcaoth,qc3nothmoth,qc3nothmoth,qc3nothmoth +192_619_class_3_other_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,partqc3nhcaothinc,qc3nothmothinc,qc3nothmothinc,qc3nothmothinc +192_619_class_4_hca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,partqc4hcaa1,qc4hcaa1,qc4hcaa1,qc4hcaa1 +192_619_class_4_hca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,partqc4hcaa1inc,qc4hcaa1inc,qc4hcaa1inc,qc4hcaa1inc +192_619_class_4_hca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,partqc4hcaa2,qc4hcaa2,qc4hcaa2,qc4hcaa2 +192_619_class_4_hca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,partqc4hcaa2inc,qc4hcaa2inc,qc4hcaa2inc,qc4hcaa2inc +192_619_class_4_hca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,partqc4hcaa3,qc4hcaa3,qc4hcaa3,qc4hcaa3 +192_619_class_4_hca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,partqc4hcaa3inc,qc4hcaa3inc,qc4hcaa3inc,qc4hcaa3inc +192_619_class_4_hca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,partqc4hcaa4,qc4hcaa4,qc4hcaa4,qc4hcaa4 +192_619_class_4_hca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,partqc4hcaa4inc,qc4hcaa4inc,qc4hcaa4inc,qc4hcaa4inc +192_619_class_4_hca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,partqc4hcac,qc4hcac,qc4hcac,qc4hcac +192_619_class_4_hca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,partqc4hcacinc,qc4hcacinc,qc4hcacinc,qc4hcacinc +192_619_class_4_hca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,partqc4hcad,qc4hcad,qc4hcad,qc4hcad +192_619_class_4_hca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,partqc4hcadinc,qc4hcadinc,qc4hcadinc,qc4hcadinc +192_619_class_4_hca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,partqc4hcaoth,qc4hcaoth,qc4hcaoth,qc4hcaoth +192_619_class_4_hca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,partqc4hcaothinc,qc4hcaothinc,qc4hcaothinc,qc4hcaothinc +192_619_class_4_mca_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa1,qc4mcaa1,qc4mcaa1 +192_619_class_4_mca_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa1inc,qc4mcaa1inc,qc4mcaa1inc +192_619_class_4_mca_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa2,qc4mcaa2,qc4mcaa2 +192_619_class_4_mca_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa2inc,qc4mcaa2inc,qc4mcaa2inc +192_619_class_4_mca_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa3,qc4mcaa3,qc4mcaa3 +192_619_class_4_mca_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa3inc,qc4mcaa3inc,qc4mcaa3inc +192_619_class_4_mca_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa4,qc4mcaa4,qc4mcaa4 +192_619_class_4_mca_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaa4inc,qc4mcaa4inc,qc4mcaa4inc +192_619_class_4_mca_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcac,qc4mcac,qc4mcac +192_619_class_4_mca_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcacinc,qc4mcacinc,qc4mcacinc +192_619_class_4_mca_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcad,qc4mcad,qc4mcad +192_619_class_4_mca_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcadinc,qc4mcadinc,qc4mcadinc +192_619_class_4_mca_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaoth,qc4mcaoth,qc4mcaoth +192_619_class_4_mca_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qc4mcaothinc,qc4mcaothinc,qc4mcaothinc +192_619_class_4_other_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,partqc4nhcaa1,qc4nothma1,qc4nothma1,qc4nothma1 +192_619_class_4_other_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,partqc4nhcaa1inc,qc4nothma1inc,qc4nothma1inc,qc4nothma1inc +192_619_class_4_other_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,partqc4nhcaa2,qc4nothma2,qc4nothma2,qc4nothma2 +192_619_class_4_other_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,partqc4nhcaa2inc,qc4nothma2inc,qc4nothma2inc,qc4nothma2inc +192_619_class_4_other_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,partqc4nhcaa3,qc4nothma3,qc4nothma3,qc4nothma3 +192_619_class_4_other_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,partqc4nhcaa3inc,qc4nothma3inc,qc4nothma3inc,qc4nothma3inc +192_619_class_4_other_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,partqc4nhcaa4,qc4nothma4,qc4nothma4,qc4nothma4 +192_619_class_4_other_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,partqc4nhcaa4inc,qc4nothma4inc,qc4nothma4inc,qc4nothma4inc +192_619_class_4_other_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,partqc4nhcac,qc4nothmc,qc4nothmc,qc4nothmc +192_619_class_4_other_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,partqc4nhcacinc,qc4nothmcinc,qc4nothmcinc,qc4nothmcinc +192_619_class_4_other_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,partqc4nhcad,qc4nothmd,qc4nothmd,qc4nothmd +192_619_class_4_other_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,partqc4nhcadinc,qc4nothmdinc,qc4nothmdinc,qc4nothmdinc +192_619_class_4_other_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,partqc4nhcaoth,qc4nothmoth,qc4nothmoth,qc4nothmoth +192_619_class_4_other_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,partqc4nhcaothinc,qc4nothmothinc,qc4nothmothinc,qc4nothmothinc +192_619_total_total_a_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,partqa1tot,qa1tot,qa1tot,qa1tot +192_619_total_total_a_1_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,partqa1inctot,qa1inctot,qa1inctot,qa1inctot +192_619_total_total_a_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,partqa2tot,qa2tot,qa2tot,qa2tot +192_619_total_total_a_2_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,partqa2inctot,qa2inctot,qa2inctot,qa2inctot +192_619_total_total_a_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,partqa3tot,qa3tot,qa3tot,qa3tot +192_619_total_total_a_3_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,partqa3inctot,qa3inctot,qa3inctot,qa3inctot +192_619_total_total_a_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,partqa4tot,qa4tot,qa4tot,qa4tot +192_619_total_total_a_4_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,partqa4inctot,qa4inctot,qa4inctot,qa4inctot +192_619_total_total_c_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqctot,partqctot,partqctot,partqctot,partqctot,partqctot,partqctot,partqctot,partqctot,qctot,qctot,qctot +192_619_total_total_c_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,partqcinctot,qcinctot,qcinctot,qcinctot +192_619_total_total_d_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,partqdtot,qdtot,qdtot,qdtot +192_619_total_total_d_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,partqdinctot,qdinctot,qdinctot,qdinctot +192_619_total_total_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,partqothtot,qothtot,qothtot,qothtot +192_619_total_total_other_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,partqothinctot,qothinctot,qothinctot,qothinctot +192_619_total_total_total_miles,,,,,,,,,,,,,,,,,,,,,,,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,partqalltotal,,,nan +192_619_total_total_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,partqallinctotal,,,nan +192_619_class_1_hca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,partqothc1hca,qothc1hca,qothc1hca,qothc1hca +192_619_class_1_mca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qothc1mca,qothc1mca,qothc1mca +192_619_class_1_other_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,partqothc1nohca,qothc1nohca,qothc1nohca,qothc1nohca +192_619_class_2_hca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,partqothc2hca,qothc2hca,qothc2hca,qothc2hca +192_619_class_2_mca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qothc2mca,qothc2mca,qothc2mca +192_619_class_2_other_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,partqothc2nohca,qothc2nohca,qothc2nohca,qothc2nohca +192_619_class_3_hca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,partqothc3hca,qothc3hca,qothc3hca,qothc3hca +192_619_class_3_mca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qothc3mca,qothc3mca,qothc3mca +192_619_class_3_other_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,partqothc3nohca,qothc3nohca,qothc3nohca,qothc3nohca +192_619_class_4_hca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,partqothc4hca,qothc4hca,qothc4hca,qothc4hca +192_619_class_4_mca_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qothc4mca,qothc4mca,qothc4mca +192_619_class_4_other_other_materials_description,,,,,,,,,,,,,,,,,,,,,,,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,partqothc4nohca,qothc4nohca,qothc4nohca,qothc4nohca +192_624_class_1_hca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac1,q21c1hcac1,q21c1hcac1 +192_624_class_1_hca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac2,q21c1hcac2,q21c1hcac2 +192_624_class_1_hca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac3,q21c1hcac3,q21c1hcac3 +192_624_class_1_hca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac4,q21c1hcac4,q21c1hcac4 +192_624_class_1_hca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac5,q21c1hcac5,q21c1hcac5 +192_624_class_1_hca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1hcac6,q21c1hcac6,q21c1hcac6 +192_624_class_1_mca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac1,q21c1mcac1,q21c1mcac1 +192_624_class_1_mca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac2,q21c1mcac2,q21c1mcac2 +192_624_class_1_mca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac3,q21c1mcac3,q21c1mcac3 +192_624_class_1_mca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac4,q21c1mcac4,q21c1mcac4 +192_624_class_1_mca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac5,q21c1mcac5,q21c1mcac5 +192_624_class_1_mca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1mcac6,q21c1mcac6,q21c1mcac6 +192_624_class_1_other_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc1,q21c1nothmc1,q21c1nothmc1 +192_624_class_1_other_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc2,q21c1nothmc2,q21c1nothmc2 +192_624_class_1_other_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc3,q21c1nothmc3,q21c1nothmc3 +192_624_class_1_other_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc4,q21c1nothmc4,q21c1nothmc4 +192_624_class_1_other_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc5,q21c1nothmc5,q21c1nothmc5 +192_624_class_1_other_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1nothmc6,q21c1nothmc6,q21c1nothmc6 +192_624_class_2_hca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac1,q21c2hcac1,q21c2hcac1 +192_624_class_2_hca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac2,q21c2hcac2,q21c2hcac2 +192_624_class_2_hca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac3,q21c2hcac3,q21c2hcac3 +192_624_class_2_hca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac4,q21c2hcac4,q21c2hcac4 +192_624_class_2_hca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac5,q21c2hcac5,q21c2hcac5 +192_624_class_2_hca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2hcac6,q21c2hcac6,q21c2hcac6 +192_624_class_2_mca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac1,q21c2mcac1,q21c2mcac1 +192_624_class_2_mca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac2,q21c2mcac2,q21c2mcac2 +192_624_class_2_mca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac3,q21c2mcac3,q21c2mcac3 +192_624_class_2_mca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac4,q21c2mcac4,q21c2mcac4 +192_624_class_2_mca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac5,q21c2mcac5,q21c2mcac5 +192_624_class_2_mca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2mcac6,q21c2mcac6,q21c2mcac6 +192_624_class_2_other_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc1,q21c2nothmc1,q21c2nothmc1 +192_624_class_2_other_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc2,q21c2nothmc2,q21c2nothmc2 +192_624_class_2_other_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc3,q21c2nothmc3,q21c2nothmc3 +192_624_class_2_other_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc4,q21c2nothmc4,q21c2nothmc4 +192_624_class_2_other_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc5,q21c2nothmc5,q21c2nothmc5 +192_624_class_2_other_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2nothmc6,q21c2nothmc6,q21c2nothmc6 +192_624_class_3_hca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac1,q21c3hcac1,q21c3hcac1 +192_624_class_3_hca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac2,q21c3hcac2,q21c3hcac2 +192_624_class_3_hca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac3,q21c3hcac3,q21c3hcac3 +192_624_class_3_hca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac4,q21c3hcac4,q21c3hcac4 +192_624_class_3_hca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac5,q21c3hcac5,q21c3hcac5 +192_624_class_3_hca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3hcac6,q21c3hcac6,q21c3hcac6 +192_624_class_3_mca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac1,q21c3mcac1,q21c3mcac1 +192_624_class_3_mca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac2,q21c3mcac2,q21c3mcac2 +192_624_class_3_mca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac3,q21c3mcac3,q21c3mcac3 +192_624_class_3_mca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac4,q21c3mcac4,q21c3mcac4 +192_624_class_3_mca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac5,q21c3mcac5,q21c3mcac5 +192_624_class_3_mca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3mcac6,q21c3mcac6,q21c3mcac6 +192_624_class_3_other_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc1,q21c3nothmc1,q21c3nothmc1 +192_624_class_3_other_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc2,q21c3nothmc2,q21c3nothmc2 +192_624_class_3_other_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc3,q21c3nothmc3,q21c3nothmc3 +192_624_class_3_other_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc4,q21c3nothmc4,q21c3nothmc4 +192_624_class_3_other_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc5,q21c3nothmc5,q21c3nothmc5 +192_624_class_3_other_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3nothmc6,q21c3nothmc6,q21c3nothmc6 +192_624_class_4_hca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac1,q21c4hcac1,q21c4hcac1 +192_624_class_4_hca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac2,q21c4hcac2,q21c4hcac2 +192_624_class_4_hca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac3,q21c4hcac3,q21c4hcac3 +192_624_class_4_hca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac4,q21c4hcac4,q21c4hcac4 +192_624_class_4_hca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac5,q21c4hcac5,q21c4hcac5 +192_624_class_4_hca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4hcac6,q21c4hcac6,q21c4hcac6 +192_624_class_4_mca_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac1,q21c4mcac1,q21c4mcac1 +192_624_class_4_mca_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac2,q21c4mcac2,q21c4mcac2 +192_624_class_4_mca_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac3,q21c4mcac3,q21c4mcac3 +192_624_class_4_mca_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac4,q21c4mcac4,q21c4mcac4 +192_624_class_4_mca_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac5,q21c4mcac5,q21c4mcac5 +192_624_class_4_mca_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4mcac6,q21c4mcac6,q21c4mcac6 +192_624_class_4_other_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc1,q21c4nothmc1,q21c4nothmc1 +192_624_class_4_other_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc2,q21c4nothmc2,q21c4nothmc2 +192_624_class_4_other_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc3,q21c4nothmc3,q21c4nothmc3 +192_624_class_4_other_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc4,q21c4nothmc4,q21c4nothmc4 +192_624_class_4_other_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc5,q21c4nothmc5,q21c4nothmc5 +192_624_class_4_other_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4nothmc6,q21c4nothmc6,q21c4nothmc6 +192_624_total_c_1_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c1tot,q21c1tot,q21c1tot +192_624_total_c_2_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c2tot,q21c2tot,q21c2tot +192_624_total_c_3_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c3tot,q21c3tot,q21c3tot +192_624_total_c_4_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c4tot,q21c4tot,q21c4tot +192_624_total_c_5_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c5tot,q21c5tot,q21c5tot +192_624_total_c_6_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q21c6tot,q21c6tot,q21c6tot +192_619_total_total_a_c_d_other_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qtotal192169,qtotal192169,qtotal192169 +192_624_total_total_e_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qtotal192624,qtotal192624,qtotal192624 +total_total_total_total_total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qa1othtotal,qa1othtotal,qa1othtotal +total_total_total_total_incomplete_records_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,qa1othinctotal,qa1othinctotal,qa1othinctotal +total_miles,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,partqtotal,partqtotal,partqtotal diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_miles_by_pressure_test_range_and_internal_inspection.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_miles_by_pressure_test_range_and_internal_inspection.csv index 9cab8700e0..994601ea42 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_miles_by_pressure_test_range_and_internal_inspection.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_miles_by_pressure_test_range_and_internal_inspection.csv @@ -1,214 +1,214 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,,,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_number,,,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -supplemental_report_number,,,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -report_state,,,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -class_1_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_150_able,c1_hca_150_able -class_1_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_150_not_able,c1_hca_150_not_able -class_1_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,, -class_1_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,, -class_1_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_in150_139_able,c1_hca_in150_139_able -class_1_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_in150_139_not_able,c1_hca_in150_139_not_able -class_1_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_in139_125_able,c1_hca_in139_125_able -class_1_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_in139_125_not_able,c1_hca_in139_125_not_able -class_1_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,c1_hca_in125_11_able,c1_hca_in125_11_able -class_1_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,c1_hca_in125_11_not_able,c1_hca_in125_11_not_able -class_1_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,c1_hca_in11_0_able,c1_hca_in11_0_able -class_1_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,c1_hca_in11_0_not_able,c1_hca_in11_0_not_able -class_1_hca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_total,c1_hca_total -class_2_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_150_able,c2_hca_150_able -class_2_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_150_not_able,c2_hca_150_not_able -class_2_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,, -class_2_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,, -class_2_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_in150_139_able,c2_hca_in150_139_able -class_2_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_in150_139_not_able,c2_hca_in150_139_not_able -class_2_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_in139_125_able,c2_hca_in139_125_able -class_2_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_in139_125_not_able,c2_hca_in139_125_not_able -class_2_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,c2_hca_in125_11_able,c2_hca_in125_11_able -class_2_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,c2_hca_in125_11_not_able,c2_hca_in125_11_not_able -class_2_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,c2_hca_in11_0_able,c2_hca_in11_0_able -class_2_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,c2_hca_in11_0_not_able,c2_hca_in11_0_not_able -class_2_hca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_total,c2_hca_total -class_3_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_150_able,c3_hca_150_able -class_3_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_150_not_able,c3_hca_150_not_able -class_3_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,, -class_3_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,, -class_3_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_in150_139_able,c3_hca_in150_139_able -class_3_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_in150_139_not_able,c3_hca_in150_139_not_able -class_3_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_in139_125_able,c3_hca_in139_125_able -class_3_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_in139_125_not_able,c3_hca_in139_125_not_able -class_3_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,c3_hca_in125_11_able,c3_hca_in125_11_able -class_3_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,c3_hca_in125_11_not_able,c3_hca_in125_11_not_able -class_3_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,c3_hca_in11_0_able,c3_hca_in11_0_able -class_3_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,c3_hca_in11_0_not_able,c3_hca_in11_0_not_able -class_3_hca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_total,c3_hca_total -class_4_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_150_able,c4_hca_150_able -class_4_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_150_not_able,c4_hca_150_not_able -class_4_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,, -class_4_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,, -class_4_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_in150_139_able,c4_hca_in150_139_able -class_4_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_in150_139_not_able,c4_hca_in150_139_not_able -class_4_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_in139_125_able,c4_hca_in139_125_able -class_4_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_in139_125_not_able,c4_hca_in139_125_not_able -class_4_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,c4_hca_in125_11_able,c4_hca_in125_11_able -class_4_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,c4_hca_in125_11_not_able,c4_hca_in125_11_not_able -class_4_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,c4_hca_in11_0_able,c4_hca_in11_0_able -class_4_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,c4_hca_in11_0_not_able,c4_hca_in11_0_not_able -class_4_hca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_total,c4_hca_total -class_total_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_gt15_maop_able,hca_gt15_maop_able -class_total_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_gt15_maop_not_able,hca_gt15_maop_not_able -class_total_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,, -class_total_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,, -class_total_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_bt15and139_maop_able,hca_bt15and139_maop_able -class_total_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_bt15and139_maop_not_able,hca_bt15and139_maop_not_able -class_total_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_bt139and125_maop_able,hca_bt139and125_maop_able -class_total_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_bt139and125_maop_not_able,hca_bt139and125_maop_not_able -class_total_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,hca_bt125and11_maop_able,hca_bt125and11_maop_able -class_total_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,hca_bt125and11_maop_not_able,hca_bt125and11_maop_not_able -class_total_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,hca_lt_11_maop_able,hca_lt_11_maop_able -class_total_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,hca_lt_11_maop_not_able,hca_lt_11_maop_not_able -class_1_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_150_able,c1_mca_150_able -class_1_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_150_not_able,c1_mca_150_not_able -class_1_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in150_139_able,c1_mca_in150_139_able -class_1_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in150_139_not_able,c1_mca_in150_139_not_able -class_1_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in139_125_able,c1_mca_in139_125_able -class_1_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in139_125_not_able,c1_mca_in139_125_not_able -class_1_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in125_11_able,c1_mca_in125_11_able -class_1_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in125_11_not_able,c1_mca_in125_11_not_able -class_1_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in11_0_able,c1_mca_in11_0_able -class_1_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in11_0_not_able,c1_mca_in11_0_not_able -class_1_mca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_total,c1_mca_total -class_2_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_150_able,c2_mca_150_able -class_2_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_150_not_able,c2_mca_150_not_able -class_2_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in150_139_able,c2_mca_in150_139_able -class_2_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in150_139_not_able,c2_mca_in150_139_not_able -class_2_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in139_125_able,c2_mca_in139_125_able -class_2_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in139_125_not_able,c2_mca_in139_125_not_able -class_2_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in125_11_able,c2_mca_in125_11_able -class_2_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in125_11_not_able,c2_mca_in125_11_not_able -class_2_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in11_0_able,c2_mca_in11_0_able -class_2_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in11_0_not_able,c2_mca_in11_0_not_able -class_2_mca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_total,c2_mca_total -class_3_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_150_able,c3_mca_150_able -class_3_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_150_not_able,c3_mca_150_not_able -class_3_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in150_139_able,c3_mca_in150_139_able -class_3_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in150_139_not_able,c3_mca_in150_139_not_able -class_3_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in139_125_able,c3_mca_in139_125_able -class_3_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in139_125_not_able,c3_mca_in139_125_not_able -class_3_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in125_11_able,c3_mca_in125_11_able -class_3_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in125_11_not_able,c3_mca_in125_11_not_able -class_3_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in11_0_able,c3_mca_in11_0_able -class_3_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in11_0_not_able,c3_mca_in11_0_not_able -class_3_mca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_total,c3_mca_total -class_4_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_150_able,c4_mca_150_able -class_4_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_150_not_able,c4_mca_150_not_able -class_4_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in150_139_able,c4_mca_in150_139_able -class_4_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in150_139_not_able,c4_mca_in150_139_not_able -class_4_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in139_125_able,c4_mca_in139_125_able -class_4_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in139_125_not_able,c4_mca_in139_125_not_able -class_4_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in125_11_able,c4_mca_in125_11_able -class_4_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in125_11_not_able,c4_mca_in125_11_not_able -class_4_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in11_0_able,c4_mca_in11_0_able -class_4_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in11_0_not_able,c4_mca_in11_0_not_able -class_4_mca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_total,c4_mca_total -class_total_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_gt15_maop_able,mca_gt15_maop_able -class_total_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_gt15_maop_not_able,mca_gt15_maop_not_able -class_total_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt15and139_maop_able,mca_bt15and139_maop_able -class_total_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt15and139_maop_not_able,mca_bt15and139_maop_not_able -class_total_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt139and125_maop_able,mca_bt139and125_maop_able -class_total_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt139and125_maop_not_able,mca_bt139and125_maop_not_able -class_total_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt125and11_maop_able,mca_bt125and11_maop_able -class_total_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt125and11_maop_not_able,mca_bt125and11_maop_not_able -class_total_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_lt_11_maop_able,mca_lt_11_maop_able -class_total_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_lt_11_maop_not_able,mca_lt_11_maop_not_able -class_1_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_150_able,c1_not_hcaormca_150_able -class_1_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_150_not_able,c1_not_hcaormca_150_not_able -class_1_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,, -class_1_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,, -class_1_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_in150_139_able,c1_not_hcaormca_in150_139_able -class_1_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_in150_139_not_able,c1_not_hcaormca_in150_139_not_able -class_1_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_in139_125_able,c1_not_hcaormca_in139_125_able -class_1_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_in139_125_not_able,c1_not_hcaormca_in139_125_not_able -class_1_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,c1_not_hcaormca_in125_11_able,c1_not_hcaormca_in125_11_able -class_1_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,c1_not_hcaormca_in125_11_not_able,c1_not_hcaormca_in125_11_not_able -class_1_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,c1_not_hcaormca_in11_0_able,c1_not_hcaormca_in11_0_able -class_1_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,c1_not_hcaormca_in11_0_not_able,c1_not_hcaormca_in11_0_not_able -class_1_other_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_total,c1_not_hcaormca_total -class_2_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_150_able,c2_not_hcaormca_150_able -class_2_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_150_not_able,c2_not_hcaormca_150_not_able -class_2_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,, -class_2_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,, -class_2_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_in150_139_able,c2_not_hcaormca_in150_139_able -class_2_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_in150_139_not_able,c2_not_hcaormca_in150_139_not_able -class_2_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_in139_125_able,c2_not_hcaormca_in139_125_able -class_2_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_in139_125_not_able,c2_not_hcaormca_in139_125_not_able -class_2_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,c2_not_hcaormca_in125_11_able,c2_not_hcaormca_in125_11_able -class_2_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,c2_not_hcaormca_in125_11_not_able,c2_not_hcaormca_in125_11_not_able -class_2_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,c2_not_hcaormca_in11_0_able,c2_not_hcaormca_in11_0_able -class_2_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,c2_not_hcaormca_in11_0_not_able,c2_not_hcaormca_in11_0_not_able -class_2_other_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_total,c2_not_hcaormca_total -class_3_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_150_able,c3_not_hcaormca_150_able -class_3_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_150_not_able,c3_not_hcaormca_150_not_able -class_3_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,, -class_3_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,, -class_3_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_in150_139_able,c3_not_hcaormca_in150_139_able -class_3_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_in150_139_not_able,c3_not_hcaormca_in150_139_not_able -class_3_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_in139_125_able,c3_not_hcaormca_in139_125_able -class_3_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_in139_125_not_able,c3_not_hcaormca_in139_125_not_able -class_3_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,c3_not_hcaormca_in125_11_able,c3_not_hcaormca_in125_11_able -class_3_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,c3_not_hcaormca_in125_11_not_able,c3_not_hcaormca_in125_11_not_able -class_3_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,c3_not_hcaormca_in11_0_able,c3_not_hcaormca_in11_0_able -class_3_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,c3_not_hcaormca_in11_0_not_able,c3_not_hcaormca_in11_0_not_able -class_3_other_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_total,c3_not_hcaormca_total -class_4_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_150_able,c4_not_hcaormca_150_able -class_4_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_150_not_able,c4_not_hcaormca_150_not_able -class_4_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,, -class_4_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,, -class_4_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_in150_139_able,c4_not_hcaormca_in150_139_able -class_4_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_in150_139_not_able,c4_not_hcaormca_in150_139_not_able -class_4_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_in139_125_able,c4_not_hcaormca_in139_125_able -class_4_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_in139_125_not_able,c4_not_hcaormca_in139_125_not_able -class_4_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,c4_not_hcaormca_in125_11_able,c4_not_hcaormca_in125_11_able -class_4_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,c4_not_hcaormca_in125_11_not_able,c4_not_hcaormca_in125_11_not_able -class_4_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,c4_not_hcaormca_in11_0_able,c4_not_hcaormca_in11_0_able -class_4_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,c4_not_hcaormca_in11_0_not_able,c4_not_hcaormca_in11_0_not_able -class_4_other_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_total,c4_not_hcaormca_total -class_total_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_gt15_maop_able,not_hcamca_gt15_maop_able -class_total_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_gt15_maop_not_able,not_hcamca_gt15_maop_not_able -class_total_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,, -class_total_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,, -class_total_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_bt15139_maop_able,not_hcamca_bt15139_maop_able -class_total_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_bt15139_maop_nable,not_hcamca_bt15139_maop_nable -class_total_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_bt139125_maop_able,not_hcamca_bt139125_maop_able -class_total_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_bt139125_nable,not_hcamca_bt139125_nable -class_total_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,not_hcamca_bt12511_maop_able,not_hcamca_bt12511_maop_able -class_total_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,not_hcamca_bt12511_maop_nable,not_hcamca_bt12511_maop_nable -class_total_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,not_hcamca_lt_11_maop_able,not_hcamca_lt_11_maop_able -class_total_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,not_hcamca_lt_11_maop_nable,not_hcamca_lt_11_maop_nable -class_total_total_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,gt15_maop_able,gt15_maop_able -class_total_total_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,gt15_maop_not_able,gt15_maop_not_able -class_total_total_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,, -class_total_total_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,, -class_total_total_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt15and139_maop_able,bt15and139_maop_able -class_total_total_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt15and139_maop_not_able,bt15and139_maop_not_able -class_total_total_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt139and125_maop_able,bt139and125_maop_able -class_total_total_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt139and125_maop_not_able,bt139and125_maop_not_able -class_total_total_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,bt125and11_maop_able,bt125and11_maop_able -class_total_total_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,bt125and11_maop_not_able,bt125and11_maop_not_able -class_total_total_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,lt_11_maop_able,lt_11_maop_able -class_total_total_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,lt_11_maop_not_able,lt_11_maop_not_able -class_total_total_internal_inspection_total_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,gt15_maop,gt15_maop -class_total_total_internal_inspection_total_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,, -class_total_total_internal_inspection_total_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt15and139_maop,bt15and139_maop -class_total_total_internal_inspection_total_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt139and125_maop,bt139and125_maop -class_total_total_internal_inspection_total_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,bt125and11_maop,bt125and11_maop -class_total_total_internal_inspection_total_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,lt_11_maop,lt_11_maop -class_total_total_internal_inspection_able_pt_total,,,,,,,,,,,,,,,,,,,,,,,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,inspection_able,inspection_able -class_total_total_internal_inspection_not_able_pt_total,,,,,,,,,,,,,,,,,,,,,,,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,inspection_not_able,inspection_not_able -class_total_total_internal_inspection_total_pt_total,,,,,,,,,,,,,,,,,,,,,,,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partr_total,partr_total -class_total_total_internal_inspection_total_pt_total_second,,,,,,,,,,,,,,,,,,,,,,,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,, +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,,,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_number,,,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +report_state,,,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +class_1_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_150_able,c1_hca_150_able,c1_hca_150_able +class_1_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_150_not_able,c1_hca_150_not_able,c1_hca_150_not_able +class_1_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,partrc1hca125able,,,nan +class_1_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,partrc1hca125nable,,,nan +class_1_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_in150_139_able,c1_hca_in150_139_able,c1_hca_in150_139_able +class_1_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_in150_139_not_able,c1_hca_in150_139_not_able,c1_hca_in150_139_not_able +class_1_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_in139_125_able,c1_hca_in139_125_able,c1_hca_in139_125_able +class_1_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_in139_125_not_able,c1_hca_in139_125_not_able,c1_hca_in139_125_not_able +class_1_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,partrc1hca12511able,c1_hca_in125_11_able,c1_hca_in125_11_able,c1_hca_in125_11_able +class_1_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,partrc1hca12511nable,c1_hca_in125_11_not_able,c1_hca_in125_11_not_able,c1_hca_in125_11_not_able +class_1_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,partrc1hcaless11able,c1_hca_in11_0_able,c1_hca_in11_0_able,c1_hca_in11_0_able +class_1_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,partrc1hcaless11nable,c1_hca_in11_0_not_able,c1_hca_in11_0_not_able,c1_hca_in11_0_not_able +class_1_hca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_hca_total,c1_hca_total,c1_hca_total +class_2_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_150_able,c2_hca_150_able,c2_hca_150_able +class_2_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_150_not_able,c2_hca_150_not_able,c2_hca_150_not_able +class_2_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,partrc2hca125able,,,nan +class_2_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,partrc2hca125nable,,,nan +class_2_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_in150_139_able,c2_hca_in150_139_able,c2_hca_in150_139_able +class_2_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_in150_139_not_able,c2_hca_in150_139_not_able,c2_hca_in150_139_not_able +class_2_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_in139_125_able,c2_hca_in139_125_able,c2_hca_in139_125_able +class_2_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_in139_125_not_able,c2_hca_in139_125_not_able,c2_hca_in139_125_not_able +class_2_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,partrc2hca12511able,c2_hca_in125_11_able,c2_hca_in125_11_able,c2_hca_in125_11_able +class_2_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,partrc2hca12511nable,c2_hca_in125_11_not_able,c2_hca_in125_11_not_able,c2_hca_in125_11_not_able +class_2_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,partrc2hcaless11able,c2_hca_in11_0_able,c2_hca_in11_0_able,c2_hca_in11_0_able +class_2_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,partrc2hcaless11nable,c2_hca_in11_0_not_able,c2_hca_in11_0_not_able,c2_hca_in11_0_not_able +class_2_hca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_hca_total,c2_hca_total,c2_hca_total +class_3_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_150_able,c3_hca_150_able,c3_hca_150_able +class_3_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_150_not_able,c3_hca_150_not_able,c3_hca_150_not_able +class_3_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,partrc3hca125able,,,nan +class_3_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,partrc3hca125nable,,,nan +class_3_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_in150_139_able,c3_hca_in150_139_able,c3_hca_in150_139_able +class_3_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_in150_139_not_able,c3_hca_in150_139_not_able,c3_hca_in150_139_not_able +class_3_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_in139_125_able,c3_hca_in139_125_able,c3_hca_in139_125_able +class_3_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_in139_125_not_able,c3_hca_in139_125_not_able,c3_hca_in139_125_not_able +class_3_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,partrc3hca12511able,c3_hca_in125_11_able,c3_hca_in125_11_able,c3_hca_in125_11_able +class_3_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,partrc3hca12511nable,c3_hca_in125_11_not_able,c3_hca_in125_11_not_able,c3_hca_in125_11_not_able +class_3_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,partrc3hcaless11able,c3_hca_in11_0_able,c3_hca_in11_0_able,c3_hca_in11_0_able +class_3_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,partrc3hcaless11nable,c3_hca_in11_0_not_able,c3_hca_in11_0_not_able,c3_hca_in11_0_not_able +class_3_hca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_hca_total,c3_hca_total,c3_hca_total +class_4_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_150_able,c4_hca_150_able,c4_hca_150_able +class_4_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_150_not_able,c4_hca_150_not_able,c4_hca_150_not_able +class_4_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,partrc4hca125able,,,nan +class_4_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,partrc4hca125nable,,,nan +class_4_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_in150_139_able,c4_hca_in150_139_able,c4_hca_in150_139_able +class_4_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_in150_139_not_able,c4_hca_in150_139_not_able,c4_hca_in150_139_not_able +class_4_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_in139_125_able,c4_hca_in139_125_able,c4_hca_in139_125_able +class_4_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_in139_125_not_able,c4_hca_in139_125_not_able,c4_hca_in139_125_not_able +class_4_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,partrc4hca12511able,c4_hca_in125_11_able,c4_hca_in125_11_able,c4_hca_in125_11_able +class_4_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,partrc4hca12511nable,c4_hca_in125_11_not_able,c4_hca_in125_11_not_able,c4_hca_in125_11_not_able +class_4_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,partrc4hcaless11able,c4_hca_in11_0_able,c4_hca_in11_0_able,c4_hca_in11_0_able +class_4_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,partrc4hcaless11nable,c4_hca_in11_0_not_able,c4_hca_in11_0_not_able,c4_hca_in11_0_not_able +class_4_hca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_hca_total,c4_hca_total,c4_hca_total +class_total_hca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_gt15_maop_able,hca_gt15_maop_able,hca_gt15_maop_able +class_total_hca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_gt15_maop_not_able,hca_gt15_maop_not_able,hca_gt15_maop_not_able +class_total_hca_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,partrhca125abletot,,,nan +class_total_hca_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,partrhca125nabletot,,,nan +class_total_hca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_bt15and139_maop_able,hca_bt15and139_maop_able,hca_bt15and139_maop_able +class_total_hca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_bt15and139_maop_not_able,hca_bt15and139_maop_not_able,hca_bt15and139_maop_not_able +class_total_hca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_bt139and125_maop_able,hca_bt139and125_maop_able,hca_bt139and125_maop_able +class_total_hca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hca_bt139and125_maop_not_able,hca_bt139and125_maop_not_able,hca_bt139and125_maop_not_able +class_total_hca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,partrhca12511abletot,hca_bt125and11_maop_able,hca_bt125and11_maop_able,hca_bt125and11_maop_able +class_total_hca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,partrhca12511nabletot,hca_bt125and11_maop_not_able,hca_bt125and11_maop_not_able,hca_bt125and11_maop_not_able +class_total_hca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,partrhcaless11abletot,hca_lt_11_maop_able,hca_lt_11_maop_able,hca_lt_11_maop_able +class_total_hca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,partrhcaless11nabletot,hca_lt_11_maop_not_able,hca_lt_11_maop_not_able,hca_lt_11_maop_not_able +class_1_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_150_able,c1_mca_150_able,c1_mca_150_able +class_1_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_150_not_able,c1_mca_150_not_able,c1_mca_150_not_able +class_1_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in150_139_able,c1_mca_in150_139_able,c1_mca_in150_139_able +class_1_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in150_139_not_able,c1_mca_in150_139_not_able,c1_mca_in150_139_not_able +class_1_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in139_125_able,c1_mca_in139_125_able,c1_mca_in139_125_able +class_1_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in139_125_not_able,c1_mca_in139_125_not_able,c1_mca_in139_125_not_able +class_1_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in125_11_able,c1_mca_in125_11_able,c1_mca_in125_11_able +class_1_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in125_11_not_able,c1_mca_in125_11_not_able,c1_mca_in125_11_not_able +class_1_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in11_0_able,c1_mca_in11_0_able,c1_mca_in11_0_able +class_1_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_in11_0_not_able,c1_mca_in11_0_not_able,c1_mca_in11_0_not_able +class_1_mca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_mca_total,c1_mca_total,c1_mca_total +class_2_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_150_able,c2_mca_150_able,c2_mca_150_able +class_2_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_150_not_able,c2_mca_150_not_able,c2_mca_150_not_able +class_2_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in150_139_able,c2_mca_in150_139_able,c2_mca_in150_139_able +class_2_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in150_139_not_able,c2_mca_in150_139_not_able,c2_mca_in150_139_not_able +class_2_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in139_125_able,c2_mca_in139_125_able,c2_mca_in139_125_able +class_2_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in139_125_not_able,c2_mca_in139_125_not_able,c2_mca_in139_125_not_able +class_2_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in125_11_able,c2_mca_in125_11_able,c2_mca_in125_11_able +class_2_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in125_11_not_able,c2_mca_in125_11_not_able,c2_mca_in125_11_not_able +class_2_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in11_0_able,c2_mca_in11_0_able,c2_mca_in11_0_able +class_2_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_in11_0_not_able,c2_mca_in11_0_not_able,c2_mca_in11_0_not_able +class_2_mca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_mca_total,c2_mca_total,c2_mca_total +class_3_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_150_able,c3_mca_150_able,c3_mca_150_able +class_3_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_150_not_able,c3_mca_150_not_able,c3_mca_150_not_able +class_3_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in150_139_able,c3_mca_in150_139_able,c3_mca_in150_139_able +class_3_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in150_139_not_able,c3_mca_in150_139_not_able,c3_mca_in150_139_not_able +class_3_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in139_125_able,c3_mca_in139_125_able,c3_mca_in139_125_able +class_3_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in139_125_not_able,c3_mca_in139_125_not_able,c3_mca_in139_125_not_able +class_3_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in125_11_able,c3_mca_in125_11_able,c3_mca_in125_11_able +class_3_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in125_11_not_able,c3_mca_in125_11_not_able,c3_mca_in125_11_not_able +class_3_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in11_0_able,c3_mca_in11_0_able,c3_mca_in11_0_able +class_3_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_in11_0_not_able,c3_mca_in11_0_not_able,c3_mca_in11_0_not_able +class_3_mca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_mca_total,c3_mca_total,c3_mca_total +class_4_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_150_able,c4_mca_150_able,c4_mca_150_able +class_4_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_150_not_able,c4_mca_150_not_able,c4_mca_150_not_able +class_4_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in150_139_able,c4_mca_in150_139_able,c4_mca_in150_139_able +class_4_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in150_139_not_able,c4_mca_in150_139_not_able,c4_mca_in150_139_not_able +class_4_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in139_125_able,c4_mca_in139_125_able,c4_mca_in139_125_able +class_4_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in139_125_not_able,c4_mca_in139_125_not_able,c4_mca_in139_125_not_able +class_4_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in125_11_able,c4_mca_in125_11_able,c4_mca_in125_11_able +class_4_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in125_11_not_able,c4_mca_in125_11_not_able,c4_mca_in125_11_not_able +class_4_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in11_0_able,c4_mca_in11_0_able,c4_mca_in11_0_able +class_4_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_in11_0_not_able,c4_mca_in11_0_not_able,c4_mca_in11_0_not_able +class_4_mca_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_mca_total,c4_mca_total,c4_mca_total +class_total_mca_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_gt15_maop_able,mca_gt15_maop_able,mca_gt15_maop_able +class_total_mca_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_gt15_maop_not_able,mca_gt15_maop_not_able,mca_gt15_maop_not_able +class_total_mca_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt15and139_maop_able,mca_bt15and139_maop_able,mca_bt15and139_maop_able +class_total_mca_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt15and139_maop_not_able,mca_bt15and139_maop_not_able,mca_bt15and139_maop_not_able +class_total_mca_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt139and125_maop_able,mca_bt139and125_maop_able,mca_bt139and125_maop_able +class_total_mca_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt139and125_maop_not_able,mca_bt139and125_maop_not_able,mca_bt139and125_maop_not_able +class_total_mca_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt125and11_maop_able,mca_bt125and11_maop_able,mca_bt125and11_maop_able +class_total_mca_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_bt125and11_maop_not_able,mca_bt125and11_maop_not_able,mca_bt125and11_maop_not_able +class_total_mca_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_lt_11_maop_able,mca_lt_11_maop_able,mca_lt_11_maop_able +class_total_mca_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,mca_lt_11_maop_not_able,mca_lt_11_maop_not_able,mca_lt_11_maop_not_able +class_1_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_150_able,c1_not_hcaormca_150_able,c1_not_hcaormca_150_able +class_1_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_150_not_able,c1_not_hcaormca_150_not_able,c1_not_hcaormca_150_not_able +class_1_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,partrc1nhca125able,,,nan +class_1_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,partrc1nhca125nable,,,nan +class_1_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_in150_139_able,c1_not_hcaormca_in150_139_able,c1_not_hcaormca_in150_139_able +class_1_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_in150_139_not_able,c1_not_hcaormca_in150_139_not_able,c1_not_hcaormca_in150_139_not_able +class_1_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_in139_125_able,c1_not_hcaormca_in139_125_able,c1_not_hcaormca_in139_125_able +class_1_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_in139_125_not_able,c1_not_hcaormca_in139_125_not_able,c1_not_hcaormca_in139_125_not_able +class_1_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,partrc1nhca12511able,c1_not_hcaormca_in125_11_able,c1_not_hcaormca_in125_11_able,c1_not_hcaormca_in125_11_able +class_1_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,partrc1nhca12511nable,c1_not_hcaormca_in125_11_not_able,c1_not_hcaormca_in125_11_not_able,c1_not_hcaormca_in125_11_not_able +class_1_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,partrc1nhcaless11able,c1_not_hcaormca_in11_0_able,c1_not_hcaormca_in11_0_able,c1_not_hcaormca_in11_0_able +class_1_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,partrc1nhcaless11nable,c1_not_hcaormca_in11_0_not_able,c1_not_hcaormca_in11_0_not_able,c1_not_hcaormca_in11_0_not_able +class_1_other_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c1_not_hcaormca_total,c1_not_hcaormca_total,c1_not_hcaormca_total +class_2_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_150_able,c2_not_hcaormca_150_able,c2_not_hcaormca_150_able +class_2_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_150_not_able,c2_not_hcaormca_150_not_able,c2_not_hcaormca_150_not_able +class_2_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,partrc2nhca125able,,,nan +class_2_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,partrc2nhca125nable,,,nan +class_2_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_in150_139_able,c2_not_hcaormca_in150_139_able,c2_not_hcaormca_in150_139_able +class_2_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_in150_139_not_able,c2_not_hcaormca_in150_139_not_able,c2_not_hcaormca_in150_139_not_able +class_2_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_in139_125_able,c2_not_hcaormca_in139_125_able,c2_not_hcaormca_in139_125_able +class_2_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_in139_125_not_able,c2_not_hcaormca_in139_125_not_able,c2_not_hcaormca_in139_125_not_able +class_2_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,partrc2nhca12511able,c2_not_hcaormca_in125_11_able,c2_not_hcaormca_in125_11_able,c2_not_hcaormca_in125_11_able +class_2_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,partrc2nhca12511nable,c2_not_hcaormca_in125_11_not_able,c2_not_hcaormca_in125_11_not_able,c2_not_hcaormca_in125_11_not_able +class_2_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,partrc2nhcaless11able,c2_not_hcaormca_in11_0_able,c2_not_hcaormca_in11_0_able,c2_not_hcaormca_in11_0_able +class_2_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,partrc2nhcaless11nable,c2_not_hcaormca_in11_0_not_able,c2_not_hcaormca_in11_0_not_able,c2_not_hcaormca_in11_0_not_able +class_2_other_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c2_not_hcaormca_total,c2_not_hcaormca_total,c2_not_hcaormca_total +class_3_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_150_able,c3_not_hcaormca_150_able,c3_not_hcaormca_150_able +class_3_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_150_not_able,c3_not_hcaormca_150_not_able,c3_not_hcaormca_150_not_able +class_3_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,partrc3nhca125able,,,nan +class_3_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,partrc3nhca125nable,,,nan +class_3_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_in150_139_able,c3_not_hcaormca_in150_139_able,c3_not_hcaormca_in150_139_able +class_3_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_in150_139_not_able,c3_not_hcaormca_in150_139_not_able,c3_not_hcaormca_in150_139_not_able +class_3_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_in139_125_able,c3_not_hcaormca_in139_125_able,c3_not_hcaormca_in139_125_able +class_3_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_in139_125_not_able,c3_not_hcaormca_in139_125_not_able,c3_not_hcaormca_in139_125_not_able +class_3_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,partrc3nhca12511able,c3_not_hcaormca_in125_11_able,c3_not_hcaormca_in125_11_able,c3_not_hcaormca_in125_11_able +class_3_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,partrc3nhca12511nable,c3_not_hcaormca_in125_11_not_able,c3_not_hcaormca_in125_11_not_able,c3_not_hcaormca_in125_11_not_able +class_3_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,partrc3nhcaless11able,c3_not_hcaormca_in11_0_able,c3_not_hcaormca_in11_0_able,c3_not_hcaormca_in11_0_able +class_3_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,partrc3nhcaless11nable,c3_not_hcaormca_in11_0_not_able,c3_not_hcaormca_in11_0_not_able,c3_not_hcaormca_in11_0_not_able +class_3_other_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c3_not_hcaormca_total,c3_not_hcaormca_total,c3_not_hcaormca_total +class_4_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_150_able,c4_not_hcaormca_150_able,c4_not_hcaormca_150_able +class_4_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_150_not_able,c4_not_hcaormca_150_not_able,c4_not_hcaormca_150_not_able +class_4_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,partrc4nhca125able,,,nan +class_4_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,partrc4nhca125nable,,,nan +class_4_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_in150_139_able,c4_not_hcaormca_in150_139_able,c4_not_hcaormca_in150_139_able +class_4_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_in150_139_not_able,c4_not_hcaormca_in150_139_not_able,c4_not_hcaormca_in150_139_not_able +class_4_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_in139_125_able,c4_not_hcaormca_in139_125_able,c4_not_hcaormca_in139_125_able +class_4_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_in139_125_not_able,c4_not_hcaormca_in139_125_not_able,c4_not_hcaormca_in139_125_not_able +class_4_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,partrc4nhca12511able,c4_not_hcaormca_in125_11_able,c4_not_hcaormca_in125_11_able,c4_not_hcaormca_in125_11_able +class_4_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,partrc4nhca12511nable,c4_not_hcaormca_in125_11_not_able,c4_not_hcaormca_in125_11_not_able,c4_not_hcaormca_in125_11_not_able +class_4_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,partrc4nhcaless11able,c4_not_hcaormca_in11_0_able,c4_not_hcaormca_in11_0_able,c4_not_hcaormca_in11_0_able +class_4_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,partrc4nhcaless11nable,c4_not_hcaormca_in11_0_not_able,c4_not_hcaormca_in11_0_not_able,c4_not_hcaormca_in11_0_not_able +class_4_other_total,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c4_not_hcaormca_total,c4_not_hcaormca_total,c4_not_hcaormca_total +class_total_other_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_gt15_maop_able,not_hcamca_gt15_maop_able,not_hcamca_gt15_maop_able +class_total_other_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_gt15_maop_not_able,not_hcamca_gt15_maop_not_able,not_hcamca_gt15_maop_not_able +class_total_other_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,partrnhca125abletot,,,nan +class_total_other_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,partrnhca125nabletot,,,nan +class_total_other_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_bt15139_maop_able,not_hcamca_bt15139_maop_able,not_hcamca_bt15139_maop_able +class_total_other_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_bt15139_maop_nable,not_hcamca_bt15139_maop_nable,not_hcamca_bt15139_maop_nable +class_total_other_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_bt139125_maop_able,not_hcamca_bt139125_maop_able,not_hcamca_bt139125_maop_able +class_total_other_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,not_hcamca_bt139125_nable,not_hcamca_bt139125_nable,not_hcamca_bt139125_nable +class_total_other_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,partrnhca12511abletot,not_hcamca_bt12511_maop_able,not_hcamca_bt12511_maop_able,not_hcamca_bt12511_maop_able +class_total_other_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,partrnhca12511nabletot,not_hcamca_bt12511_maop_nable,not_hcamca_bt12511_maop_nable,not_hcamca_bt12511_maop_nable +class_total_other_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,partrnhcaless11abletot,not_hcamca_lt_11_maop_able,not_hcamca_lt_11_maop_able,not_hcamca_lt_11_maop_able +class_total_other_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,partrnhcaless11nabletot,not_hcamca_lt_11_maop_nable,not_hcamca_lt_11_maop_nable,not_hcamca_lt_11_maop_nable +class_total_total_internal_inspection_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,gt15_maop_able,gt15_maop_able,gt15_maop_able +class_total_total_internal_inspection_not_able_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,gt15_maop_not_able,gt15_maop_not_able,gt15_maop_not_able +class_total_total_internal_inspection_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,partr125abletot,,,nan +class_total_total_internal_inspection_not_able_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,partr125nabletot,,,nan +class_total_total_internal_inspection_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt15and139_maop_able,bt15and139_maop_able,bt15and139_maop_able +class_total_total_internal_inspection_not_able_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt15and139_maop_not_able,bt15and139_maop_not_able,bt15and139_maop_not_able +class_total_total_internal_inspection_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt139and125_maop_able,bt139and125_maop_able,bt139and125_maop_able +class_total_total_internal_inspection_not_able_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt139and125_maop_not_able,bt139and125_maop_not_able,bt139and125_maop_not_able +class_total_total_internal_inspection_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,partr12511abletot,bt125and11_maop_able,bt125and11_maop_able,bt125and11_maop_able +class_total_total_internal_inspection_not_able_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,partr12511nabletot,bt125and11_maop_not_able,bt125and11_maop_not_able,bt125and11_maop_not_able +class_total_total_internal_inspection_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,partrless11abletot,lt_11_maop_able,lt_11_maop_able,lt_11_maop_able +class_total_total_internal_inspection_not_able_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,partrless11nabletot,lt_11_maop_not_able,lt_11_maop_not_able,lt_11_maop_not_able +class_total_total_internal_inspection_total_pt_150_over,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,gt15_maop,gt15_maop,gt15_maop +class_total_total_internal_inspection_total_pt_125_over,,,,,,,,,,,,,,,,,,,,,,,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,partrpt125tot,,,nan +class_total_total_internal_inspection_total_pt_139_150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt15and139_maop,bt15and139_maop,bt15and139_maop +class_total_total_internal_inspection_total_pt_125_139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,bt139and125_maop,bt139and125_maop,bt139and125_maop +class_total_total_internal_inspection_total_pt_11_125,,,,,,,,,,,,,,,,,,,,,,,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,partrpt12511tot,bt125and11_maop,bt125and11_maop,bt125and11_maop +class_total_total_internal_inspection_total_pt_11_0,,,,,,,,,,,,,,,,,,,,,,,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,partrptless11tot,lt_11_maop,lt_11_maop,lt_11_maop +class_total_total_internal_inspection_able_pt_total,,,,,,,,,,,,,,,,,,,,,,,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,partrinspabletot,inspection_able,inspection_able,inspection_able +class_total_total_internal_inspection_not_able_pt_total,,,,,,,,,,,,,,,,,,,,,,,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,partrinspnabletot,inspection_not_able,inspection_not_able,inspection_not_able +class_total_total_internal_inspection_total_pt_total,,,,,,,,,,,,,,,,,,,,,,,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partrtotal,partr_total,partr_total,partr_total +class_total_total_internal_inspection_total_pt_total_second,,,,,,,,,,,,,,,,,,,,,,,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,partpartrinsptotal,,,nan diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_pipe_miles_by_nps.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_pipe_miles_by_nps.csv index cac067e55e..bc7a1550e9 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_pipe_miles_by_nps.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_pipe_miles_by_nps.csv @@ -1,78 +1,78 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -report_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -onshore_transmission_pipe_unknown_size_miles,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,,,,,,,,,,,,, -onshore_transmission_pipe_nps_4_or_less_miles,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less -onshore_transmission_pipe_nps_4_to_10_miles,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,,,,,,,,,,,,, -onshore_transmission_pipe_nps_10_to_20_miles,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,,,,,,,,,,,,, -onshore_transmission_pipe_nps_20_to_28_miles,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,,,,,,,,,,,,, -onshore_transmission_pipe_nps_28_and_over_miles,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,,,,,,,,,,,,, -onshore_transmission_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6 -onshore_transmission_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8 -onshore_transmission_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10 -onshore_transmission_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12 -onshore_transmission_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14 -onshore_transmission_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16 -onshore_transmission_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18 -onshore_transmission_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20 -onshore_transmission_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22 -onshore_transmission_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24 -onshore_transmission_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26 -onshore_transmission_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28 -onshore_transmission_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30 -onshore_transmission_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32 -onshore_transmission_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34 -onshore_transmission_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36 -onshore_transmission_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38 -onshore_transmission_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40 -onshore_transmission_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42 -onshore_transmission_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44 -onshore_transmission_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46 -onshore_transmission_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48 -onshore_transmission_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52 -onshore_transmission_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56 -onshore_transmission_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over -onshore_transmission_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total -onshore_transmission_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail -onshore_transmission_pipe_total_miles,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal -offshore_transmission_pipe_nps_4_or_less_miles,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less -offshore_transmission_pipe_nps_4_to_10_miles,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,,,,,,,,,,,,, -offshore_transmission_pipe_nps_10_to_20_miles,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,,,,,,,,,,,,, -offshore_transmission_pipe_nps_20_to_28_miles,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,,,,,,,,,,,,, -offshore_transmission_pipe_nps_28_and_over_miles,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,,,,,,,,,,,,, -offshore_transmission_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6 -offshore_transmission_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8 -offshore_transmission_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10 -offshore_transmission_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12 -offshore_transmission_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14 -offshore_transmission_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16 -offshore_transmission_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18 -offshore_transmission_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20 -offshore_transmission_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22 -offshore_transmission_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24 -offshore_transmission_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26 -offshore_transmission_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28 -offshore_transmission_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30 -offshore_transmission_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32 -offshore_transmission_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34 -offshore_transmission_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36 -offshore_transmission_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38 -offshore_transmission_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40 -offshore_transmission_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42 -offshore_transmission_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44 -offshore_transmission_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46 -offshore_transmission_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48 -offshore_transmission_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52 -offshore_transmission_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56 -offshore_transmission_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over -offshore_transmission_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total -offshore_transmission_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail -offshore_transmission_pipe_unknown_size_miles,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,,,,,,,,,,,,, -offshore_transmission_pipe_total_miles,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +report_year,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,yr,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_number,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,rptid,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +supplemental_report_number,,,,,,,,,,,,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,tr_sup_id,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_id_phmsa,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,opid,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +operator_name_phmsa,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,name,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +report_state,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,stop,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +onshore_transmission_pipe_unknown_size_miles,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,t2m1_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,b2ton_1,,,,,,,,,,,,,,nan +onshore_transmission_pipe_nps_4_or_less_miles,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,t2m1_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,b2ton_2,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less,parthon4less +onshore_transmission_pipe_nps_4_to_10_miles,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,t2m1_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,b2ton_3,,,,,,,,,,,,,,nan +onshore_transmission_pipe_nps_10_to_20_miles,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,t2m1_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,b2ton_4,,,,,,,,,,,,,,nan +onshore_transmission_pipe_nps_20_to_28_miles,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,t2m1_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,b2ton_5,,,,,,,,,,,,,,nan +onshore_transmission_pipe_nps_28_and_over_miles,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,t2m1_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,b2ton_6,,,,,,,,,,,,,,nan +onshore_transmission_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6,parthon6 +onshore_transmission_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8,parthon8 +onshore_transmission_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10,parthon10 +onshore_transmission_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12,parthon12 +onshore_transmission_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14,parthon14 +onshore_transmission_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16,parthon16 +onshore_transmission_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18,parthon18 +onshore_transmission_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20,parthon20 +onshore_transmission_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22,parthon22 +onshore_transmission_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24,parthon24 +onshore_transmission_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26,parthon26 +onshore_transmission_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28,parthon28 +onshore_transmission_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30,parthon30 +onshore_transmission_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32,parthon32 +onshore_transmission_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34,parthon34 +onshore_transmission_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36,parthon36 +onshore_transmission_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38,parthon38 +onshore_transmission_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40,parthon40 +onshore_transmission_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42,parthon42 +onshore_transmission_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44,parthon44 +onshore_transmission_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46,parthon46 +onshore_transmission_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48,parthon48 +onshore_transmission_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52,parthon52 +onshore_transmission_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56,parthon56 +onshore_transmission_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over,parthon58over +onshore_transmission_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total,parthon_other_pipe_mile_total +onshore_transmission_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail,parthon_other_pipe_detail +onshore_transmission_pipe_total_miles,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,t2m1t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,b2ton_t,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal,parthontotal +offshore_transmission_pipe_nps_4_or_less_miles,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,t2m2_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,b2toff_2,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less,parthoff4less +offshore_transmission_pipe_nps_4_to_10_miles,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,t2m2_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,b2toff_3,,,,,,,,,,,,,,nan +offshore_transmission_pipe_nps_10_to_20_miles,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,t2m2_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,b2toff_4,,,,,,,,,,,,,,nan +offshore_transmission_pipe_nps_20_to_28_miles,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,t2m2_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,b2toff_5,,,,,,,,,,,,,,nan +offshore_transmission_pipe_nps_28_and_over_miles,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,t2m2_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,b2toff_6,,,,,,,,,,,,,,nan +offshore_transmission_pipe_nps_6_miles,,,,,,,,,,,,,,,,,,,,,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6,parthoff6 +offshore_transmission_pipe_nps_8_miles,,,,,,,,,,,,,,,,,,,,,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8,parthoff8 +offshore_transmission_pipe_nps_10_miles,,,,,,,,,,,,,,,,,,,,,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10,parthoff10 +offshore_transmission_pipe_nps_12_miles,,,,,,,,,,,,,,,,,,,,,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12,parthoff12 +offshore_transmission_pipe_nps_14_miles,,,,,,,,,,,,,,,,,,,,,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14,parthoff14 +offshore_transmission_pipe_nps_16_miles,,,,,,,,,,,,,,,,,,,,,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16,parthoff16 +offshore_transmission_pipe_nps_18_miles,,,,,,,,,,,,,,,,,,,,,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18,parthoff18 +offshore_transmission_pipe_nps_20_miles,,,,,,,,,,,,,,,,,,,,,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20,parthoff20 +offshore_transmission_pipe_nps_22_miles,,,,,,,,,,,,,,,,,,,,,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22,parthoff22 +offshore_transmission_pipe_nps_24_miles,,,,,,,,,,,,,,,,,,,,,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24,parthoff24 +offshore_transmission_pipe_nps_26_miles,,,,,,,,,,,,,,,,,,,,,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26,parthoff26 +offshore_transmission_pipe_nps_28_miles,,,,,,,,,,,,,,,,,,,,,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28,parthoff28 +offshore_transmission_pipe_nps_30_miles,,,,,,,,,,,,,,,,,,,,,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30,parthoff30 +offshore_transmission_pipe_nps_32_miles,,,,,,,,,,,,,,,,,,,,,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32,parthoff32 +offshore_transmission_pipe_nps_34_miles,,,,,,,,,,,,,,,,,,,,,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34,parthoff34 +offshore_transmission_pipe_nps_36_miles,,,,,,,,,,,,,,,,,,,,,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36,parthoff36 +offshore_transmission_pipe_nps_38_miles,,,,,,,,,,,,,,,,,,,,,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38,parthoff38 +offshore_transmission_pipe_nps_40_miles,,,,,,,,,,,,,,,,,,,,,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40,parthoff40 +offshore_transmission_pipe_nps_42_miles,,,,,,,,,,,,,,,,,,,,,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42,parthoff42 +offshore_transmission_pipe_nps_44_miles,,,,,,,,,,,,,,,,,,,,,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44,parthoff44 +offshore_transmission_pipe_nps_46_miles,,,,,,,,,,,,,,,,,,,,,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46,parthoff46 +offshore_transmission_pipe_nps_48_miles,,,,,,,,,,,,,,,,,,,,,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48,parthoff48 +offshore_transmission_pipe_nps_52_miles,,,,,,,,,,,,,,,,,,,,,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52,parthoff52 +offshore_transmission_pipe_nps_56_miles,,,,,,,,,,,,,,,,,,,,,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56,parthoff56 +offshore_transmission_pipe_nps_58_and_over_miles,,,,,,,,,,,,,,,,,,,,,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over,parthoff58over +offshore_transmission_pipe_other_size_total_miles,,,,,,,,,,,,,,,,,,,,,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total,parthoff_other_pipe_mile_total +offshore_transmission_pipe_other_size_detail_miles,,,,,,,,,,,,,,,,,,,,,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail,parthoff_other_pipe_detail +offshore_transmission_pipe_unknown_size_miles,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,t2m2_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,b2toff_1,,,,,,,,,,,,,,nan +offshore_transmission_pipe_total_miles,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,t2m2t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,b2toff_t,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal,parthofftotal diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_pipe_miles_by_smys.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_pipe_miles_by_smys.csv index d180fc4274..cea2867ee4 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_pipe_miles_by_smys.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_transmission_pipe_miles_by_smys.csv @@ -1,76 +1,76 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of -interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra -operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id -report_number,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number -report_year,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year -report_state,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name -supplemental_report_number,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number -operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp -commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity -onshore_steel_pipe_smys_20_to_29_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1 -onshore_steel_pipe_smys_20_to_29_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2 -onshore_steel_pipe_smys_20_to_29_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3 -onshore_steel_pipe_smys_20_to_29_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4 -onshore_steel_pipe_smys_20_to_29_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot -onshore_steel_pipe_smys_0_to_19_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1 -onshore_steel_pipe_smys_0_to_19_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2 -onshore_steel_pipe_smys_0_to_19_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3 -onshore_steel_pipe_smys_0_to_19_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4 -onshore_steel_pipe_smys_0_to_19_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot -onshore_steel_pipe_smys_30_to_40_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1 -onshore_steel_pipe_smys_30_to_40_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2 -onshore_steel_pipe_smys_30_to_40_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3 -onshore_steel_pipe_smys_30_to_40_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4 -onshore_steel_pipe_smys_30_to_40_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot -onshore_steel_pipe_smys_41_to_50_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1 -onshore_steel_pipe_smys_41_to_50_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2 -onshore_steel_pipe_smys_41_to_50_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3 -onshore_steel_pipe_smys_41_to_50_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4 -onshore_steel_pipe_smys_41_to_50_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot -onshore_steel_pipe_smys_51_to_60_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1 -onshore_steel_pipe_smys_51_to_60_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2 -onshore_steel_pipe_smys_51_to_60_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3 -onshore_steel_pipe_smys_51_to_60_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4 -onshore_steel_pipe_smys_51_to_60_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot -onshore_steel_pipe_smys_61_to_72_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1 -onshore_steel_pipe_smys_61_to_72_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2 -onshore_steel_pipe_smys_61_to_72_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3 -onshore_steel_pipe_smys_61_to_72_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4 -onshore_steel_pipe_smys_61_to_72_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot -onshore_steel_pipe_smys_73_to_80_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1 -onshore_steel_pipe_smys_73_to_80_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2 -onshore_steel_pipe_smys_73_to_80_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3 -onshore_steel_pipe_smys_73_to_80_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4 -onshore_steel_pipe_smys_73_to_80_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot -onshore_steel_pipe_smys_81_to_100_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1 -onshore_steel_pipe_smys_81_to_100_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2 -onshore_steel_pipe_smys_81_to_100_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3 -onshore_steel_pipe_smys_81_to_100_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4 -onshore_steel_pipe_smys_81_to_100_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot -total_total_pipe_ smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot -total_total_pipe_smys_total_class_2_miles,,,,,,,,,,,,,,,,,,,,,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot -total_total_pipe_smys_total_class_3_miles,,,,,,,,,,,,,,,,,,,,,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot -total_total_pipe_smys_total_class_4_miles,,,,,,,,,,,,,,,,,,,,,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot -onshore_nonsteel_pipe_smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1 -onshore_nonsteel_pipe_smys_total_class_2_miles,,,,,,,,,,,,,,,,,,,,,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2 -onshore_nonsteel_pipe_smys_total_class_3_miles,,,,,,,,,,,,,,,,,,,,,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3 -onshore_nonsteel_pipe_smys_total_class_4_miles,,,,,,,,,,,,,,,,,,,,,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4 -onshore_nonsteel_pipe_smys_total_class_total_miles,,,,,,,,,,,,,,,,,,,,,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot -offshore_steel_pipe_smys_51_to_72_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172 -offshore_steel_pipe_smys_72_to_100_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more -offshore_steel_pipe_smys_0_to_49_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50 -offshore_nonsteel_pipe_smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel -offshore_total_pipe_smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal -offshore_steel_pipe_smys_unknown_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown -onshore_total_pipe_smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot -onshore_total_pipe_smys_total_class_2_miles,,,,,,,,,,,,,,,,,,,,,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot -onshore_total_pipe_smys_total_class_3_miles,,,,,,,,,,,,,,,,,,,,,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot -onshore_total_pipe_smys_total_class_4_miles,,,,,,,,,,,,,,,,,,,,,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot -onshore_total_pipe_smys_total_class_total_miles,,,,,,,,,,,,,,,,,,,,,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal -total_total_pipe_smys_total_class_total_miles,,,,,,,,,,,,,,,,,,,,,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal -onshore_steel_pipe_smys_unknown_class1_miles,,,,,,,,,,,,,,,,,,,,,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1 -onshore_steel_pipe_smys_unknown_class2_miles,,,,,,,,,,,,,,,,,,,,,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2 -onshore_steel_pipe_smys_unknown_class3_miles,,,,,,,,,,,,,,,,,,,,,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3 -onshore_steel_pipe_smys_unknown_class4_miles,,,,,,,,,,,,,,,,,,,,,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4 -onshore_steel_pipe_smys_unknown_class_total_miles,,,,,,,,,,,,,,,,,,,,,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +data_date,,,,,,,,,,,,,,,,,,,,,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of,datafile_as_of +interstate_or_intrastate,,,,,,,,,,,,,,,,,,,,,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra,inter_intra +operator_id_phmsa,,,,,,,,,,,,,,,,,,,,,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id,operator_id +report_number,,,,,,,,,,,,,,,,,,,,,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number,report_number +report_year,,,,,,,,,,,,,,,,,,,,,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year,report_year +report_state,,,,,,,,,,,,,,,,,,,,,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name,state_name +supplemental_report_number,,,,,,,,,,,,,,,,,,,,,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number,supplemental_number +operator_name_phmsa,,,,,,,,,,,,,,,,,,,,,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp,parta2nameofcomp +commodity_group,,,,,,,,,,,,,,,,,,,,,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity,parta5commodity +onshore_steel_pipe_smys_20_to_29_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1,partk2029c1 +onshore_steel_pipe_smys_20_to_29_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2,partk2029c2 +onshore_steel_pipe_smys_20_to_29_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3,partk2029c3 +onshore_steel_pipe_smys_20_to_29_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4,partk2029c4 +onshore_steel_pipe_smys_20_to_29_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot,partk2029tot +onshore_steel_pipe_smys_0_to_19_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1,partk20lessc1 +onshore_steel_pipe_smys_0_to_19_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2,partk20lessc2 +onshore_steel_pipe_smys_0_to_19_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3,partk20lessc3 +onshore_steel_pipe_smys_0_to_19_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4,partk20lessc4 +onshore_steel_pipe_smys_0_to_19_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot,partk20lesstot +onshore_steel_pipe_smys_30_to_40_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1,partk3040c1 +onshore_steel_pipe_smys_30_to_40_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2,partk3040c2 +onshore_steel_pipe_smys_30_to_40_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3,partk3040c3 +onshore_steel_pipe_smys_30_to_40_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4,partk3040c4 +onshore_steel_pipe_smys_30_to_40_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot,partk3040tot +onshore_steel_pipe_smys_41_to_50_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1,partk4150c1 +onshore_steel_pipe_smys_41_to_50_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2,partk4150c2 +onshore_steel_pipe_smys_41_to_50_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3,partk4150c3 +onshore_steel_pipe_smys_41_to_50_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4,partk4150c4 +onshore_steel_pipe_smys_41_to_50_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot,partk4150tot +onshore_steel_pipe_smys_51_to_60_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1,partk5160c1 +onshore_steel_pipe_smys_51_to_60_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2,partk5160c2 +onshore_steel_pipe_smys_51_to_60_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3,partk5160c3 +onshore_steel_pipe_smys_51_to_60_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4,partk5160c4 +onshore_steel_pipe_smys_51_to_60_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot,partk5160tot +onshore_steel_pipe_smys_61_to_72_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1,partk6172c1 +onshore_steel_pipe_smys_61_to_72_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2,partk6172c2 +onshore_steel_pipe_smys_61_to_72_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3,partk6172c3 +onshore_steel_pipe_smys_61_to_72_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4,partk6172c4 +onshore_steel_pipe_smys_61_to_72_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot,partk6172tot +onshore_steel_pipe_smys_73_to_80_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1,partk7380c1 +onshore_steel_pipe_smys_73_to_80_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2,partk7380c2 +onshore_steel_pipe_smys_73_to_80_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3,partk7380c3 +onshore_steel_pipe_smys_73_to_80_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4,partk7380c4 +onshore_steel_pipe_smys_73_to_80_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot,partk7380tot +onshore_steel_pipe_smys_81_to_100_class_1_miles,,,,,,,,,,,,,,,,,,,,,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1,partk80morec1 +onshore_steel_pipe_smys_81_to_100_class_2_miles,,,,,,,,,,,,,,,,,,,,,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2,partk80morec2 +onshore_steel_pipe_smys_81_to_100_class_3_miles,,,,,,,,,,,,,,,,,,,,,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3,partk80morec3 +onshore_steel_pipe_smys_81_to_100_class_4_miles,,,,,,,,,,,,,,,,,,,,,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4,partk80morec4 +onshore_steel_pipe_smys_81_to_100_class_total_miles,,,,,,,,,,,,,,,,,,,,,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot,partk80moretot +total_total_pipe_ smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot,partkc1tot +total_total_pipe_smys_total_class_2_miles,,,,,,,,,,,,,,,,,,,,,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot,partkc2tot +total_total_pipe_smys_total_class_3_miles,,,,,,,,,,,,,,,,,,,,,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot,partkc3tot +total_total_pipe_smys_total_class_4_miles,,,,,,,,,,,,,,,,,,,,,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot,partkc4tot +onshore_nonsteel_pipe_smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1,partknonsteelc1 +onshore_nonsteel_pipe_smys_total_class_2_miles,,,,,,,,,,,,,,,,,,,,,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2,partknonsteelc2 +onshore_nonsteel_pipe_smys_total_class_3_miles,,,,,,,,,,,,,,,,,,,,,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3,partknonsteelc3 +onshore_nonsteel_pipe_smys_total_class_4_miles,,,,,,,,,,,,,,,,,,,,,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4,partknonsteelc4 +onshore_nonsteel_pipe_smys_total_class_total_miles,,,,,,,,,,,,,,,,,,,,,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot,partknonsteeltot +offshore_steel_pipe_smys_51_to_72_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172,partkoff5172 +offshore_steel_pipe_smys_72_to_100_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more,partkoff72more +offshore_steel_pipe_smys_0_to_49_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50,partkoffless50 +offshore_nonsteel_pipe_smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel,partkoffnonsteel +offshore_total_pipe_smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal,partkofftotal +offshore_steel_pipe_smys_unknown_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown,partkoffunknown +onshore_total_pipe_smys_total_class_1_miles,,,,,,,,,,,,,,,,,,,,,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot,partkonc1tot +onshore_total_pipe_smys_total_class_2_miles,,,,,,,,,,,,,,,,,,,,,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot,partkonc2tot +onshore_total_pipe_smys_total_class_3_miles,,,,,,,,,,,,,,,,,,,,,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot,partkonc3tot +onshore_total_pipe_smys_total_class_4_miles,,,,,,,,,,,,,,,,,,,,,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot,partkonc4tot +onshore_total_pipe_smys_total_class_total_miles,,,,,,,,,,,,,,,,,,,,,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal,partkontotal +total_total_pipe_smys_total_class_total_miles,,,,,,,,,,,,,,,,,,,,,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal,partktotal +onshore_steel_pipe_smys_unknown_class1_miles,,,,,,,,,,,,,,,,,,,,,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1,partkunknownc1 +onshore_steel_pipe_smys_unknown_class2_miles,,,,,,,,,,,,,,,,,,,,,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2,partkunknownc2 +onshore_steel_pipe_smys_unknown_class3_miles,,,,,,,,,,,,,,,,,,,,,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3,partkunknownc3 +onshore_steel_pipe_smys_unknown_class4_miles,,,,,,,,,,,,,,,,,,,,,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4,partkunknownc4 +onshore_steel_pipe_smys_unknown_class_total_miles,,,,,,,,,,,,,,,,,,,,,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot,partkunknowntot diff --git a/src/pudl/package_data/phmsagas/csv-updater.py b/src/pudl/package_data/phmsagas/csv-updater.py new file mode 100644 index 0000000000..b07ac86562 --- /dev/null +++ b/src/pudl/package_data/phmsagas/csv-updater.py @@ -0,0 +1,31 @@ +import pandas as pd +import glob +import os + +# Path to your CSV files, assuming they are all in the same directory +csv_files = glob.glob('/Users/sam/Documents/pudl/src/pudl/package_data/phmsagas/column_maps/*.csv') + +for file in csv_files: + # Get the base name of the file (excluding the path) to compare with 'page_part.csv' + if os.path.basename(file) == 'page_part_map.csv': + print(f"Skipping {file}.") + continue # Skip this file + + # Load the CSV file into a dataframe + df = pd.read_csv(file) + + # Ensure the last column in the header is for 2022, before adding 2023 + if df.columns[-1] == '2022': + # Create a new "2023" column by copying the "2022" column + df['2023'] = df['2022'] + + # Replace occurrences of '2022' with '2023' and '22' with '23' in the new "2023" column + df['2023'] = df['2023'].astype(str).replace('2022', '2023', regex=True) + df['2023'] = df['2023'].astype(str).replace(r'\b22\b', '23', regex=True) + + # Save the modified dataframe back to the CSV file (overwrite) + df.to_csv(file, index=False) + + print(f"Updated {file} successfully.") + else: + print(f"Skipped {file}, as the last column is not 2022.") diff --git a/src/pudl/package_data/phmsagas/file_map.csv b/src/pudl/package_data/phmsagas/file_map.csv index 9b2d00370d..67f1b24dd9 100644 --- a/src/pudl/package_data/phmsagas/file_map.csv +++ b/src/pudl/package_data/phmsagas/file_map.csv @@ -1,16 +1,16 @@ -page,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -yearly_distribution,annual_gas_distribution_1990.xlsx,annual_gas_distribution_1991.xlsx,annual_gas_distribution_1992.xlsx,annual_gas_distribution_1993.xlsx,annual_gas_distribution_1994.xlsx,annual_gas_distribution_1995.xlsx,annual_gas_distribution_1996.xlsx,annual_gas_distribution_1997.xlsx,annual_gas_distribution_1998.xlsx,annual_gas_distribution_1999.xlsx,annual_gas_distribution_2000.xlsx,annual_gas_distribution_2001.xlsx,annual_gas_distribution_2002.xlsx,annual_gas_distribution_2003.xlsx,annual_gas_distribution_2004.xlsx,annual_gas_distribution_2005.xlsx,annual_gas_distribution_2006.xlsx,annual_gas_distribution_2007.xlsx,annual_gas_distribution_2008.xlsx,annual_gas_distribution_2009.xlsx,annual_gas_distribution_2010.xlsx,annual_gas_distribution_2011.xlsx,annual_gas_distribution_2012.xlsx,annual_gas_distribution_2013.xlsx,annual_gas_distribution_2014.xlsx,annual_gas_distribution_2015.xlsx,annual_gas_distribution_2016.xlsx,annual_gas_distribution_2017.xlsx,annual_gas_distribution_2018.xlsx,annual_gas_distribution_2019.xlsx,annual_gas_distribution_2020.xlsx,annual_gas_distribution_2021.xlsx,annual_gas_distribution_2022.xlsx -yearly_transmission_gathering_summary_by_commodity,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_pipe_miles_by_nps,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_gathering_pipe_miles_by_nps,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_gathering_inspections_assessments,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_gathering_pipe_miles_by_class_location,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_material_verification,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_hca_miles_by_determination_method_and_risk_model,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_miles_by_pressure_test_range_and_internal_inspection,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_gathering_preparer_certification,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_pipe_miles_by_smys,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_gathering_failures_leaks_repairs,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_miles_by_maop,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_gathering_pipe_miles_by_decade_installed,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx -yearly_transmission_gathering_pipe_miles_by_material,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx +page,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +yearly_distribution,annual_gas_distribution_1990.xlsx,annual_gas_distribution_1991.xlsx,annual_gas_distribution_1992.xlsx,annual_gas_distribution_1993.xlsx,annual_gas_distribution_1994.xlsx,annual_gas_distribution_1995.xlsx,annual_gas_distribution_1996.xlsx,annual_gas_distribution_1997.xlsx,annual_gas_distribution_1998.xlsx,annual_gas_distribution_1999.xlsx,annual_gas_distribution_2000.xlsx,annual_gas_distribution_2001.xlsx,annual_gas_distribution_2002.xlsx,annual_gas_distribution_2003.xlsx,annual_gas_distribution_2004.xlsx,annual_gas_distribution_2005.xlsx,annual_gas_distribution_2006.xlsx,annual_gas_distribution_2007.xlsx,annual_gas_distribution_2008.xlsx,annual_gas_distribution_2009.xlsx,annual_gas_distribution_2010.xlsx,annual_gas_distribution_2011.xlsx,annual_gas_distribution_2012.xlsx,annual_gas_distribution_2013.xlsx,annual_gas_distribution_2014.xlsx,annual_gas_distribution_2015.xlsx,annual_gas_distribution_2016.xlsx,annual_gas_distribution_2017.xlsx,annual_gas_distribution_2018.xlsx,annual_gas_distribution_2019.xlsx,annual_gas_distribution_2020.xlsx,annual_gas_distribution_2021.xlsx,annual_gas_distribution_2022.xlsx,annual_gas_distribution_2023.xlsx +yearly_transmission_gathering_summary_by_commodity,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_pipe_miles_by_nps,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_gathering_pipe_miles_by_nps,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_gathering_inspections_assessments,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_gathering_pipe_miles_by_class_location,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_material_verification,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_hca_miles_by_determination_method_and_risk_model,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_miles_by_pressure_test_range_and_internal_inspection,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_gathering_preparer_certification,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_pipe_miles_by_smys,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_gathering_failures_leaks_repairs,annual_gas_transmission_gathering_1990.xlsx,annual_gas_transmission_gathering_1991.xlsx,annual_gas_transmission_gathering_1992.xlsx,annual_gas_transmission_gathering_1993.xlsx,annual_gas_transmission_gathering_1994.xlsx,annual_gas_transmission_gathering_1995.xlsx,annual_gas_transmission_gathering_1996.xlsx,annual_gas_transmission_gathering_1997.xlsx,annual_gas_transmission_gathering_1998.xlsx,annual_gas_transmission_gathering_1999.xlsx,annual_gas_transmission_gathering_2000.xlsx,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_miles_by_maop,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_gathering_pipe_miles_by_decade_installed,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2001.xlsx,annual_gas_transmission_gathering_2002.xlsx,annual_gas_transmission_gathering_2003.xlsx,annual_gas_transmission_gathering_2004.xlsx,annual_gas_transmission_gathering_2005.xlsx,annual_gas_transmission_gathering_2006.xlsx,annual_gas_transmission_gathering_2007.xlsx,annual_gas_transmission_gathering_2008.xlsx,annual_gas_transmission_gathering_2009.xlsx,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx +yearly_transmission_gathering_pipe_miles_by_material,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,annual_gas_transmission_gathering_2010.xlsx,annual_gas_transmission_gathering_2011.xlsx,annual_gas_transmission_gathering_2012.xlsx,annual_gas_transmission_gathering_2013.xlsx,annual_gas_transmission_gathering_2014.xlsx,annual_gas_transmission_gathering_2015.xlsx,annual_gas_transmission_gathering_2016.xlsx,annual_gas_transmission_gathering_2017.xlsx,annual_gas_transmission_gathering_2018.xlsx,annual_gas_transmission_gathering_2019.xlsx,annual_gas_transmission_gathering_2020.xlsx,annual_gas_transmission_gathering_2021.xlsx,annual_gas_transmission_gathering_2022.xlsx,annual_gas_transmission_gathering_2023.xlsx diff --git a/src/pudl/package_data/phmsagas/page_map.csv b/src/pudl/package_data/phmsagas/page_map.csv index b58125d084..8e3f7a871d 100644 --- a/src/pudl/package_data/phmsagas/page_map.csv +++ b/src/pudl/package_data/phmsagas/page_map.csv @@ -1,16 +1,16 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -yearly_distribution,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_gathering_summary_by_commodity,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_gathering_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3 -yearly_transmission_gathering_inspections_assessments,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1 -yearly_transmission_gathering_pipe_miles_by_class_location,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,6,6,6,6,6,6,6,6,6,6,6,6,6 -yearly_transmission_material_verification,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,12,12 -yearly_transmission_hca_miles_by_determination_method_and_risk_model,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,13 -yearly_transmission_miles_by_pressure_test_range_and_internal_inspection,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,11,11,11,11,11,11,11,11,11,11 -yearly_transmission_gathering_preparer_certification,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,8,8,8,8,8,8 -yearly_transmission_pipe_miles_by_smys,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5,5,5,5,5,5,5,5,5,5,5,5,5 -yearly_transmission_gathering_failures_leaks_repairs,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7 -yearly_transmission_miles_by_maop,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,10,10,10,10,10,10,10,10,10,10,10 -yearly_transmission_gathering_pipe_miles_by_decade_installed,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4 -yearly_transmission_gathering_pipe_miles_by_material,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,9,9,9,9,9,9,9,9,9,9,9,9 +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +yearly_distribution,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_gathering_summary_by_commodity,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_gathering_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3 +yearly_transmission_gathering_inspections_assessments,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +yearly_transmission_gathering_pipe_miles_by_class_location,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6 +yearly_transmission_material_verification,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,12,12,12 +yearly_transmission_hca_miles_by_determination_method_and_risk_model,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,13,13 +yearly_transmission_miles_by_pressure_test_range_and_internal_inspection,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,11,11,11,11,11,11,11,11,11,11,11 +yearly_transmission_gathering_preparer_certification,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8 +yearly_transmission_pipe_miles_by_smys,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5,5,5,5,5,5,5,5,5,5,5,5,5,5 +yearly_transmission_gathering_failures_leaks_repairs,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7 +yearly_transmission_miles_by_maop,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,10,10,10,10,10,10,10,10,10,10,10,10 +yearly_transmission_gathering_pipe_miles_by_decade_installed,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4 +yearly_transmission_gathering_pipe_miles_by_material,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,9,9,9,9,9,9,9,9,9,9,9,9,9 diff --git a/src/pudl/package_data/phmsagas/skipfooter.csv b/src/pudl/package_data/phmsagas/skipfooter.csv index 07cc801880..b276cf54a7 100644 --- a/src/pudl/package_data/phmsagas/skipfooter.csv +++ b/src/pudl/package_data/phmsagas/skipfooter.csv @@ -1,16 +1,16 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -yearly_distribution,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_gathering_summary_by_commodity,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_gathering_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_gathering_inspections_assessments,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_gathering_pipe_miles_by_class_location,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_material_verification,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0 -yearly_transmission_hca_miles_by_determination_method_and_risk_model,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0 -yearly_transmission_miles_by_pressure_test_range_and_internal_inspection,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_gathering_preparer_certification,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_pipe_miles_by_smys,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_gathering_failures_leaks_repairs,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_miles_by_maop,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_gathering_pipe_miles_by_decade_installed,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -yearly_transmission_gathering_pipe_miles_by_material,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0 +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +yearly_distribution,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_gathering_summary_by_commodity,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_gathering_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_gathering_inspections_assessments,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_gathering_pipe_miles_by_class_location,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_material_verification,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0 +yearly_transmission_hca_miles_by_determination_method_and_risk_model,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0 +yearly_transmission_miles_by_pressure_test_range_and_internal_inspection,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_gathering_preparer_certification,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_pipe_miles_by_smys,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_gathering_failures_leaks_repairs,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_miles_by_maop,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_gathering_pipe_miles_by_decade_installed,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +yearly_transmission_gathering_pipe_miles_by_material,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/src/pudl/package_data/phmsagas/skiprows.csv b/src/pudl/package_data/phmsagas/skiprows.csv index 29388d9897..3f92e628ab 100644 --- a/src/pudl/package_data/phmsagas/skiprows.csv +++ b/src/pudl/package_data/phmsagas/skiprows.csv @@ -1,16 +1,16 @@ -year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022 -yearly_distribution,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_gathering_summary_by_commodity,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_gathering_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_gathering_inspections_assessments,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_gathering_pipe_miles_by_class_location,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_material_verification,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2 -yearly_transmission_hca_miles_by_determination_method_and_risk_model,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2 -yearly_transmission_miles_by_pressure_test_range_and_internal_inspection,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_gathering_preparer_certification,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_pipe_miles_by_smys,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_gathering_failures_leaks_repairs,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_miles_by_maop,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_gathering_pipe_miles_by_decade_installed,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2 -yearly_transmission_gathering_pipe_miles_by_material,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2,2,2 +year_index,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +yearly_distribution,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_gathering_summary_by_commodity,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_gathering_pipe_miles_by_nps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_gathering_inspections_assessments,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_gathering_pipe_miles_by_class_location,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_material_verification,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2 +yearly_transmission_hca_miles_by_determination_method_and_risk_model,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2 +yearly_transmission_miles_by_pressure_test_range_and_internal_inspection,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_gathering_preparer_certification,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_pipe_miles_by_smys,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_gathering_failures_leaks_repairs,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_miles_by_maop,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_gathering_pipe_miles_by_decade_installed,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +yearly_transmission_gathering_pipe_miles_by_material,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,2,2,2,2,2,2 diff --git a/src/pudl/package_data/settings/etl_fast.yml b/src/pudl/package_data/settings/etl_fast.yml index 75781c50ea..eb2308baf6 100644 --- a/src/pudl/package_data/settings/etl_fast.yml +++ b/src/pudl/package_data/settings/etl_fast.yml @@ -90,7 +90,7 @@ datasets: # also load the EIA 860 data for that year if possible year_quarters: ["2023q1"] phmsagas: - years: [1995, 1996, 1997] + years: [2022] nrelatb: years: [2024] gridpathratoolkit: From 9fc3f451085778f68f5c797e6461bd6b7e8493b3 Mon Sep 17 00:00:00 2001 From: sam Date: Tue, 1 Oct 2024 09:21:51 -0400 Subject: [PATCH 05/39] Added documentation --- docs/dev/naming_conventions.rst | 16 +- docs/dev/troubleshooting.rst | 18 + docs/images/asset_groups.png | Bin 0 -> 558937 bytes .../phmsagas_distribution.ipynb | 7192 ++++++++++------- 4 files changed, 4285 insertions(+), 2941 deletions(-) create mode 100644 docs/dev/troubleshooting.rst create mode 100644 docs/images/asset_groups.png diff --git a/docs/dev/naming_conventions.rst b/docs/dev/naming_conventions.rst index b52c4a0447..d40cd55db1 100644 --- a/docs/dev/naming_conventions.rst +++ b/docs/dev/naming_conventions.rst @@ -13,11 +13,17 @@ Asset Naming Conventions --------------------------------------------------- PUDL's data processing is divided into three layers of Dagster assets: Raw, Core -and Output. Dagster assets are the core unit of computation in PUDL. The outputs -of assets can be persisted to any type of storage though PUDL outputs are typically -tables in a SQLite database, parquet files or pickle files (read more about this here: -:doc:`../index`). The asset name is used for the table or parquet file name. Asset -names should generally follow this naming convention: +and Output. Dagster assets, which are the core unit of computation in PUDL, are +organized into groups. PUDL's asset groups look like this: + +.. image:: ../images/asset_groups.png + :width: 800 + :alt: Asset groups in Dagster UI + +The outputs of individual assets can be persisted to any type of storage though PUDL +outputs are typically tables in a SQLite database, parquet files or pickle files +(read more about this here: :doc:`../index`). The asset name is used for the table +or parquet file name. Asset names should generally follow this naming convention: .. code-block:: diff --git a/docs/dev/troubleshooting.rst b/docs/dev/troubleshooting.rst new file mode 100644 index 0000000000..553a307219 --- /dev/null +++ b/docs/dev/troubleshooting.rst @@ -0,0 +1,18 @@ +=============================================================================== +Development Troubleshooting +=============================================================================== + +Having trouble working on a ticket or with a new asset? Look below for +recommendations on how to handle specific issues that might pop up. (Note that +this list is evolving over time.) + +------------------------------------------------------------------------------- +"I'm only seeing one year of data from a raw asset" +------------------------------------------------------------------------------- + +Let's say you're working on transforming an asset that's currently only in its +raw, extracted form. You've materialized one of the "...__all_dfs" assets in +Dagster but you're still only seeing one or two years of data. + +In this case, you need to materialize the asset group and not just the +particular "...__all_dfs" asset that you're working with. \ No newline at end of file diff --git a/docs/images/asset_groups.png b/docs/images/asset_groups.png new file mode 100644 index 0000000000000000000000000000000000000000..8455271bb1e9667beb8c75cfa45b7cf14b28b167 GIT binary patch literal 558937 zcmeFZWmH_vwl)eONJ5YVOK=G;jk~+MySq0|0|^=+xO;GSCrE(c?(WjKH11z#%h~(h zJHC6)yMLb=V|7(mt*Tlj>zQ*tv${hSb20UwtFc((SA#CVdt5rIhq-1$=ZpX_%doV%1OL@GmtC*tSKj$nQE=I8NI< zEp~_RPMX2#FOM(Fe!IFb{Sf>ZD)>Z1Vzp#y)N{8&39-I$r*0THRalrs!Nl$nbf$oS zrx;2`n-_*tZ&+5d(`31s`&yVHi>2(w#al|_*ZL-L#BGDw$8)dfwQCog8 z)?ub@C~%@up~hM0ziCJ<+yuBr6b8GRe*MtGJ}cNN&J2Hxz3$!e z_89F6l-UwXIhm{%rS6>c@C|F6&WgdJ85t4f?{8i<-2X)31PZYDR3(TjDWv*t?-!9L z1co>+D~_xFy?Ux;kY;prvXliW$9Dw_8RG7ukY6Ohuw2`DWRtwM)G&7}97s)gP}|zcMhsGXM2< z9+q+)f%hu_>6H;NE*+e1G?H@6Xl*A=6(Qyq(khgr*E>JnPWy|jQ*olEc7AevuM5lZ z%WfQw@GCzflD` ziYYRwqN<6wjswQ6_DEe&4*UrPpT?0c5$@mR8h(%sVl#yEfF1slQbmN100_cZcj3et z4Qc#k=7<7%ZSN20;#enaLi2qSl?x+{ASPm!JFNH)6B#QoOsFUKcM)5Wuqt&4!ps+I zG1ng_KkgNCixe#BQvC~ZN5tXdeF}bx_Jo+2i5RD7 zt;Qj$87h*CI`Xp#;CrZun&5%?mbpB+f%VgNB& zu>yn2rXywxHM|S;HCQ!rH7hlh+eps$&a%yB&dtvG&Xn8s0}+E5+bG*w5d1qf2o|Jp z=X4;7RuPj9%O6u2i=7r`+w6*rY#S{xbQ4ptO~D1hjlq&8jlJX%N^+?MY38x!p}Slo@9D!5!xIHd zMGsqNky}1wNGW6|O)Tx3EFLWKFMc?-K9)azLm-mjn8BMNoD@l!uy4*Y!xQQg8bUBa3<4fXDoQX)0?I;gbMRGgR7Agch4{WWo49*K zb?>_^(=EQ~S=d=BxDD}_31+#| zoo=@+!O8m`%jW<}mO|6QZuxFx6dVZ7i2>(&+19XAh1&@*`{(bLBj7%8#%-r*wuv7& z<+{~O;D~38%MzC?kzBbdTRN*F|#kr|e`k-3wp(B{(mq4l7x zx7Dsq!^_~T^Y-@6_NKXS))2Vhdc*?aSmBu=n!#mn_mT1g8PNFf@A-%MY;ERq9djL} zJahtef5(1n`Gyul7}FEuqlBEJF0t}WJpx;_@%OqhsWIyB?|^IFR^a*ihb3}&8LuQ< zh7m01 zT!d_9Y=v)yV5DQXeg6Krg(8t6@~x)7bLZjbth|yuv;m<3#5hV7QWad4^Wy5_!l1A& zQzP$Gb8UI;q<&RZ;sY6X*|ijYifas_{x8gl=5?mZF`at_za=37c>+V^rKE=@Zlc$r z_(Awaqa#=pwCv>{2d@U7JjuPt-OZM0j@1q|t}4wdD)iyXLv^Ma)ZOi#7du^74^hi0 zD-`r!bTY;ComPLM#NcUPutDZ_&>q*HM0~#5er;M`6)%iX6Ugzye4K9{@R~Z2TYKvn zG#5@6CLP{xyKCS69JixjCLm`Yx;EK7V}H16H*eQv*S4hBNJOJfHA+u7|Gp}>I8a|% z6JigBWXwt1Nte34cb9UzO1Mj^Kbl=?v%5)x{Dx${y$S1;z8aKEAi6%gb~$xjT2jnc zQd7P1%rabivOYa1zzs;9)V8%#KfZW+|G?vG{;2CNcqKUTwGuH1@c}gm-@3B4vXrOH z*TaTS7f?*ZRkPiHoJ%O7gFB2{f@c*W*7u8Ppc<#+_w%Ip@~Owto8HjixO+-k1tobb zb|E?1)ZSE#vq1Y7G;30_pvS6 z(dmbs=TfeWQqoBS!1}cH$o=jBtCBW}JDC7n$!)*~964XyKm2|;!f|BJx>DEXdBCx> zChxlF%Dz(5G2^_n;bt?}RRLV7Siw2YFL{^6_fx5B5q=IwwTC=QrxSh`T6?t;aLZql{7fIu%@|*}?mYLS zXBAhfX3kRHSH>&>usc42sJ*zDw9g8=vJxu4>t{R;9apBAD47IQ_Eb`?+4`13uGe|e z-0ikHw-nY2+p}&JZj6ZEab|^yU+RCX@-WZL#J1ceGEDvDx0#aSt$hSzDL6c>`MU+?7n3LoIyo6P z+lQcL*!e~6lG@tS%XEHn&Fv_&tPxDtDd*X*e*MGmUi8*p>I_Q`T<+J7I$*x;AbqmH zbJ&9_uVH4IQs#1UFf`CK63lB@To`z03Kn|t!{Yr{S{#-N2JUb9uV7$8tYBXM;~sfv z{3k?1uRnGE9>c{3!yrPxeSlsbKVJRwZe;!+aQ{rhFG9;;gj7VNq@b~iiL;rRJaR; zF)^>RsX4c@sQ5psL%;EnTDrJ6asvSF?(PikEDR3L762wLE-nBgGk}?y9(o5o(9_<< z$b;Sl(YGntVGiV?DOsrg-ynn0k|0()cm;Y8(^Iuh& zIXV6xRsXH%|6NrLXyz>9U#aM{%>>f_lf>nE_9~(-|_c}F*FUgv;h+uvI7Gn2qPsbr0M~Cv;yye zseyyAjv*XKMZzg0uv3 z%58fzBKm6qu z{@F3{8{*sVl&}8d`qA6)=pcCr+ItG5|9CXeCjkHTIr!%Y{`U!96aViV{O=t6fsy~+ z2d_T}{TOy2FV?K?QvD&wKbS#_$i-=z?Xo`^8xg^ll9Cb|6B9E^CoCdDO-vlk%h$Gd zIOlNr{DkOret`1yaEj65ehRDC;iOae;^zb334XaJ`~HCVpFx`;`d3}9T9p6<*JAl{ zYt?*dF=h^q@Hx-h2gLEai=@5Vfm)ZnaVD>;d%M=itZ4+1Gp=Gj(wDDyrem1_&Zc8x z3$@_9@1Izd4yN5qZPHT9%F6oZ<}`F&*M%|(3AdkDo}-at-b6yLb7~>x%my zO-#s`*;q)!RjK<27d1_pRFqR$sj2n6Fb1P1SeKo~GJcAtH5}!+9ySL46liu3J>zN? z@Ru@to++KlQO+M!JU1rKUz(R67#T@m(B+k(R3OML)d0jKC0W>pbUFPe0}v!uf-fsC zw_N|SI$h|_A)UovKHAL3C%kt>>*sYdYJeGmqS`gWonc(nm2DYPRuE60#tS@xN#U`%qV)UIat`ZtR@@<(#TU=Cv^14C3cqn8`bEW< zuAUEe2&=35b-+1w?Plv@s>5gUiP3Njq5nk9_}c&aV6IYbiXtlCAO3=RJUFNE+G7Qc%lLpO8@*i1~!ZAv}`Pexz;wB)=T zRdaSzvy{XmWs8DKD`1RB;-fKF+^FZ3hU|#4VzIKis_eRxtu!PfxsA`bFWGw3qS zbSK=#m8(|M$fa_|;p5j(JP(j@=2lh$Mlx9v*zNQweTc=zQPN2MsyetXKw)TXENyOX zo)cS6{i#s)Q=vD`2YlJDU%z6aqZ4-(e09P->~LlT<=#kQ(`tWHr%RJ?MoNnEx>(Gr z(7*nyF}IF{==rqEz~}9mu@AFeUz}h5k<$@Al=xx?n|6em@va@n1BcXoQC+%SNQ@6itO!Q=DtiWL^_I!Suy0hd=- zzrh;T38#s-BCvylmtfD)cVn+>gvg~-F% z^K0_cLb&V(&v?-MeK_|LL|7Q9{WuJ7fK6m$Y!~7z){m~3)YNhiL%w~^l!~3P` zjrqbs^a;lU`4ATWu|bjRmo`SnUy28F?v6RcXB?<`(h2^;n!<&q>vx%>ezX9!S-c@CT)7(+V^A8WjI+}Kf6EJ#~{NJn5O@&G)Sz?<1mR7SZ zwq&xqZ8kfssIxfjWPFO9M1TU>WUkSV=63|lVP029NmLf#5Br~3KE{QHQk<3fP5%0& z=dpZi4)jU5)ye^(HCRFQvSNHC2*1wNtV~V{;lM&*^!TpE|eK@nB^! z)55XnMUxot$$&tXVhhoPOoeoP>8Q+%@5Zd%Ck)Aj*fSLyAI(1;430fN!>U$0>p?+^ zQMMzm2DTHN2a)_}Nf_{gFBI8^_<3+4A|jO8f|=x8?zIxTLM74m0qzI0j&I!Q+&<~} z4=$mW91S9WRcH!+cwbdrP0j+m_{^NvU-*9gR3S6dsPswPH{R%`i{tv4qau@(%klvd zBtXD-gl%5s6H+i`15Pt)pzJ~6s!c4QKoJj4(Qdo9+Dlqaom+<@?WIn0s?q)D1Qf`Y z(I3{JcxG0fM*L;LQ?*h(JQ1)}a}YYkY%VEPtQ=&p&(-?r_C9zLCu#l6P0VJg;W*9m zsHr1o1}EdM@(Y5*=kT_+Dsd?(1*!I%S$u95?~ss)6{1e7c{pRD{2h)u!DDGcJ_J9d z;6M+!qCee0x$A~2MaLCSas78&ZSz^bVI<5)biZq}5*7k?Ms6Gm?R^^tsi9jiia?BlkQ>~lJ?b#bBjM712RFyDPG_$XQAf(80;zOw0>~wL&0E26o z;~36|55iG|d?Z9f1~hstocXfFD3T#z;biG+h%tK~N_W9viHNk>g1JhA-UAQ(*MIq) zI0qP-naLH?(QW#zi{ej=%_X(AwS74MJ|Tbw%5}ifS19DcDK_i`O;#X-dH34mqU0Mf z3X>*tEht?Z$Qu*7?h`DX*6aqr+0KMCO#y%TvG=9(IUHYqx*q-lg*S7 zxLhPkW2qz}(lwH1n7iqe@|pPsBTFiRfIsI?YiXCa&~er))+}I2V3?4!xJSXw&&KB($+shuP{`4$#W^_QxP0qB z7VP`_!`-76GtccT8;Au$YQnvh60slo%_)VT{O6<|(JmvHm!l${Fkp%yM02F8Y zr?@T+gU{xNv$N`#yZIOki`M>kIvmZ>rKQ)^PnUOGc1t|M?{INzzsA`*kXf&|Aear_ zmNJWYKg3TL_;^{Zba%%&KPtz!wzeib1?vl*EsRGAl4kkM49cnIJ70TjjZcrg05^kC=2N!hO#XU44CNC93pt zgqeig;Lf*ynFjovDfq`YHMUOmpp*?{frm$!yg5Aybu1`SfL$w!AU$Lt=Hj~pw*bw2r4C=P<%K0_Kv^IzHgqe9!7uOI{ z0Re-6Q6>@}JKM5ivvBcvK5uqu6AKwPx8nSVgOlfsFT`hK{RMc^NT;lpp@YLEc8 zKmqgtl?@H4%5^S+UcuEh_t?NWN+OCAIj*kJ0Lq~wA#{Y zln^A)ujqannx=zyJxTp4D;Lq3Or4PU;%l&I$Cee9EK z`!w{IRj24*uf)a0O|#hPKYg-7wxl?t#&EqIA1B(rKgJ6R4yHKp+=(NPci5loDYgMO zOy?=_-KoZ`p71!vt5+_FHrn%uEdmO7FuEIog$;GqJs>MlwgO!~<$5u;)20WHoi{x{AE2V|zV6=OA z&T8r?V1=XMy<0NoWOuPUmeV7%+w1xfAMGy#H4}POT@5KR^3X^8_nsOuGRP%*wKQzD ziXk-WbRx6HpbGxS-EtN_&wGCcy%zC4g-mjytiU%V!5lmW21JnaYg7jfe}`~~HQ^x0 zRC0`;a>C$_3ENFAm|8 z$uBC9qugUbz12g>dNoHY&*XTyIxRi@L}HPWfhQdEHp5zVBDhjTEANLrAG5SbCPtLS z2)Eo8GpLmyd>z=TL~;BTd(=S4^^l!$@AFhX8wD-x$PBm7JxV?n?VQX-b)$mFLaiB@ zpP#^a_C+Mf=SkGl1;gv^k-=;*S?FMkgogiTPxU4X+V<|QwAmn5V()LXf9bJbw|$uk~*Gn)LX@c%Z|AN2)QA~-XOuFLMc4Rp;-t*xcE`cU()?R37SrQ zG&eU-4KE;Db@vj)T!&X?=pHXzEzOBm-s5Mr+cH_qezsoX-b6nEk1<@HPg#W00}H;# zGnw2Yy;<#}1IdD2S-L!ZShO$ES`LpB#_8Kyq zwQ8>QOsRA?0s{PG2wG}ajaH2*g$f3S)x-Xj#r{zWaMD@$k&&G}JCi`;P}QeGiI!~# zU`Ud|pwO;-d2qE9$m#mM7s`T(>kib`X6WIzI2~tqQaaemZb$b7LTMGTdJ8nKyU7$N zIiOUcnu-&|E98DtxqW<<5r#D+F*{5BJA^=LCbRhf2x9Hy*V~)k-#TZ)?EN>#k)-KY z`5CqsLw&zq@|dyjQ~wjfry6TrdQ3Nlvx43v__EGv#dy>DHwZj-*T$@;@o$0~WmYUOI-PsOj? z<0v{*TI#O3e>$wV#b1#|H#wxbM-QVQ+nJdH;)HyWLw)qkLkUgE8DR;S8 zl{e!f!PaiD77`1y3~S-{yY`>0T%*b;(79oVXR$!Fx;xRMTx_$6s!LZCkj8lkph>jJ zeRsNUC@z<3Lpatc(l_oOG?d^ItbIH7Ix7IK9e0p%`J#YT2Is_0#MbssLMN5mtbs(H zU^gA#7xm4XTCOe>YSFKj6(0!D(P^G=jQTzvar!m$$3K6`0%qN}R<+PzejrjTVlBF(+XERB#fqyVMvz~x(ELiD%lZsjYnUsItgcX(AR7mh~aH>Y20`D)+;@d%GN(OmUOb(E(4XO z+!FIkODbRng8tD_`9)u-c;WWiZmL^uk|KjDxp{R*y9eTjvv!zcfE5@|8X%BHsV30; zk>|#xH*!BL!W99E&&8ug1UweRcseHBzK^Uk4%6BeStROEW1jdb4-=%%=?6bkzC`@> z#0rAP&Pnx6I)Pe}pMQ100m78-M1zbhoxxr2F;z|OCm;a1ea_(Jum%5uUEGprP+8?|P9SkRT2{#IlOuCDJu9Wfp^HvZXULL)YEmkZ z3++H66kJ|$Erp_>(~}cS%=ojJe9!0e4I5J7{f8U-yv-igpdyduCHM5A!Y%as+jEx6 z-X=5Ge&JH};e65{WU4+$vRs;b4)J@`C>a?f1Ba*^Q+s=Hd3T?^O?WgjugbOMd>;u) z+QVwC{#bHkuIv3`{QK+5!$^w~mx|2O+JknHR%`$T(TdML`9H&_ne#3%SEnq9ZU#&qxQI_7Uh z+BHLCp@yn+Jc&sGqx*z`F1_>Vs9lTG6-_fJbR|SNSt#xff!4+bm&vWw835g2Vm})l zRA#Hut6@6&-hJZY-b6K4_|YVNGSwG#x!>)5PsOjg*6JH{=96c9-f?l`Rc|@b)!~Ye z$!SGVzV-#&j4I8n7kcFSk%oVIWo2bAEgaeB={}*|_f8mKz*{&zKK|LyfmXdj*o;

(S47p22N}u==d9%xKGBr#6=`y*thNRQp@%99n%f|A;w)4#g+e{?>zRX0pq&SPw zun8DIra-P8-rXUGDUvok5fm-E!aWy;6}G-d9Jmv+C-T z(*~^|xrghQ8wRh?{ll|>TX^@iOubFxz$U$wr17zkRM!LL8Cf^rZd)Bw31#3p|SrTP@i8vQ$#DZfpIn?e#w!#hQNXZ5s<`BJbleWQp9V{3G0qAnDG@LpC1q1#r7bxeJaWi=a&jH+2JZ*-Ijzh z_uDfc*RTQl@u`iL*gHmrqKK4oDe7a#zi;v<=yq%upz8gkCOU(B6A-Oe zfCg!DVHsT%?T(dpClL_w@%Y-KUwz~{@QCOn8G&JkrTJS)E#6#NBF)6$l4Ba-W9R04i^xzzd>zzW}f`|n-X{wx#? zfL@+S2pajq!5Eam&nUFU_4dZ)1?4ek=Z2t8?jVB`u6}FYwyEN#E|F<872?)G$O+nZ z2v7KJ|9jB@^ZFfabk}_H(eYHT)dyXpWLkdU#nn}=vYAcj@W9Q-h=n#Ao>X3?2luhJ zYPjR28V<&+;<7wHTYPhgNLoBwlOx}&z1*Jhd0FCN(P~R_&s^YC7P++vhzfOoVJuv2 zFe6thR+V3P-sq;he_kPzMQ?Hand$P}g_TbPNKQ+e*x&j|tx4wS&73K`|{67C+ z;3lB1+B)C^hne=tn!rR$xlh7XGDC7|@?@3>B8}L?^2+kwZaI%?Hi&DJv38k|A0+y4 zP4FF(Rz)wmb1Cp_Dc`X>Ku;vCzq;zOvx!BcQ}J#gEFGO=^?K~6850w;>@s{`7|b3H zrMf6~ssyz2^WS}vv-$^#XZG_CP_PGjk!Aw-qLrpgEjlbSCdO_MJw2^U_)5{LYB{it zv}3+JN7a+|ILBqJ`Q6Bl@gjaR3&T6ky&#u61e4VMz2i*QK3L_4Vmyef}6DXeuPHYjCqv+Zrb5plcsilht%NLcJm2Z;@O$>Lbg zR7k0ns4Al_H94{H`9QuahrQi{f4g1SdIuSgqg2@MdUyKR+L3N8f zj>@(1pYEg5S+V3YilgZZ`%p9Ka=nwxiYIEWLC+?CthpAvKV3ZkFk7}9^%keB;=4wD z3q2N%tyEuB7IwDlv1dGL=pXMfsWINBs_t=0DZfM^JVNlKdt;SGa-LjPta9GBQKW%V zg}4IOy@?LA*ttBiWV-+gxnf(-kq{pD^AA{=Np#7SE5YuPaoB!)fmuF2Aj{F=eN5uP z9ZJzHN4k(2mGBpTu|3GopFE!4p5(uaKbQ@_EIx%Ir~01VogC}bc|SBbhHUqBoc`#H zmwuhy3}rPY%dAws`Mr_a>%FMM*ii5#gv@>O0KE{Ft3aG|-={~hU^@ibZoek}MDB0*S!POgR8pU(EC5A@M#l*rN-LB+Kd0l_Y_Of!G_0YLTH!QZ zK(Xr9I&qKnIcS7LhGH;v!%{I=TWS}p%9`WHB7ApK3E0-+OsKqqDCob>$Rwau^MFs#Y=={T$bQ`t0k=>OLzAd9QIVHcQtt zH>+&WgH8s|!#l@7u{_g5`md5+$UW(h{E#Ual;G%Sk z!ioLK=G}*D8r3Jyo*QnzHsyk0t=|c~{F_Uxy4{-90tVkrY1%_Krb5s*X`Q>CpRp#= zZ;dH=&NZPSHYthneCEf54?#)aw$o%-pZ`-w7|mmh-kHhXIE$w0t9mwX9eS0X`1sY`MO_tjeYl2)v(4@29F_|xMtF+F=NO#x!GtS3iV+71 zR==`xEx{FViy6j$j_=e#rLh$rSZXl7GPl-1pUcgI2a8@=QG4a*3)0p8O;RguZ{zv? zp$j-iwfVk_3$5jJJ9l{J@=nd=WsMB_Dq%NiZWm2-yP|5A?PLuSwIKM=CzcX3?m0zY5Gbhih zD?c+p%&dL=hvIuAQfVVw(Sic;Q0$s#U=v%@5kg#BvKpU zVxxu@cwHlCP%TfouhvoUWz3mk8!^ zUVgm;(qPcbQ|XJMK73 ztTv0QQGg<54mlQswyO5d*=<>I92rXSKp**~oeNwNgcq099%?wK#%tt*4@#2&d9F`= zPpKX!8A#yfz6~pHZ}0u&KU!sht4;j*ZS$|OH})i(cZ{x&nu7*a#4|SIk|mln$LIo_ zt;1v4lrPp59jfsiso6R~YgYmQq_^7HJe&<8K)XwpnT{b}edUQYd4RjOl4k~fR z>@fu7m&GG8>EN^G%C*Yg=`;x2wYVNu)KqjBnwv{!@YLrUi6AOQ9xdLyJLxkTI_9~S zPRKRr@GSHzs?)DB^u^@@p+8OJR4ZF)pY-?1W-^DfJ1l%MI%83z0pju&p}C%}D!t_& z>Vq8Xo!3)d;4lNp{+qIsY>R2Zv)oA`rtePI?>IofD2$QlnB19S?!WCLfNsBo=9L zc6^xL@Lzzn@@dq14%?zfFTM+4+`0O0ENk7bm$gA+*0K=Mh>AgO?Y>vB>=iTZN&Ud} zCHzfbp^3&Z074l>gmns=l*e%J;JG_3)xxmanELJJP*^OC>cX&;3=wU-`$2w^=~4gL zySvxa&V;NSxITZkqO%BCjnnP0>R^yqEWVGS_eO=t{4%=;F?4F9(b9In1ztH0%6(Oigzk3Tt2n$6>q5DYI0f8$XG~l1(aRSW3RX`g z^L|uPlwpNLOenhQ#p)T>GgG?cy(*gR9wb~HKC~m^FHRkF{^t^6nu;ALxa_)~46UH& z^w|pC3YR-J1^t8Rwvd{3qbr&NVnR5s+tQ=k<|_9&)E1wu;8Al_vg=QblIODv#o8N# zJ2E(<3TLzzs)gUrNf9F{6>!V(lXw)~IAhFs3AFiWIX&N*FBf6mK3WF2vHxU@Xx@#9q$wfOMNoW*nRofpK`IV==IYz$ZUyLd1SH( zbepwSysi!bH0Bmb>`p~@ZA~6xPm3BiJIG46e8)W(76&7kE9(~yq_TP)O7n(oUW}-M zL|j!_6$WiNw)T^{pa-E8=1Fcuzq_Y}K1$o2!~2L-$qk2-eqaWlPl+;{zK_6I2ESOd zGnfLE>X3uqzB_eh()?K$>69D?(mW){!;md7?90iSYvC zom;EJ*N1E|CK)9&YT!GuPgd!8=CvVEoA7p0m!wsF#S3zRnJD+SibV4C!a|qj(v~e@PMB;F%ap(D9>CINK zQYB$Vo?PjyZ9(-`y%wEo2lOQL)DH6Ey4OXb-rnHMJl0~E!XL7ewANDmZ(eYlD&`$m z9fatg^EgSfMM`k@<==NbDWibrlV;q$mw~O)D=qHX>0Cgn!`8E7i}Sj=O}zY>W2pU6 z=kp+Mrn2JYT4dY<8RP~mH~Ge);*XDX{GqkOGRomx?SBgHTRCLKF4idkAa<~(EL zMmVTqr`CR@A*MHCj-DKFDkI;h3*W3fV?7uTrPm8pb5z-bYk$G6SH~67Y|siQZN!vr zIZst0wAgOE@;b$DNVR$C6rmOomy?VZ`2iHIH$!!IB9}(hE~X9ieYj6pZS^I8BJEc5 z+>uTKwb$lI@9tytc`8}o!)l_=7WZw+JD;VT_8}>iYoW3Vctb=3ht#bQl%MD{n~>`F z$CVbkHXON#3DnNG7;eCgH9JL0wY!6!IL|C0?V#tpGVt&fvg={_8~s5%4F)Ybf1Ao3 zHR&u8GL(&d3}x(vA11!qik|Hy*}X7g$ER7T&xn$XI5 z9^myWr`txOfR=bbWx*o1`|bUVnrd{pa2CH`%zdG}oy-{FS{|zv>sK*fhbEr~!VEsY zQ0JG}xP#eZDcun*`ziBbtkZ$TaJt(&$Ga{i8m*e-<)BP{Z<3%=t~xzEkZTxs9c-m-GV0e0Jld@=yUlF=N!F!3dFhP`1#Q zCQh^i8Ozrb57C~>gSN4FGY6eeX5|v_ya7%bN&;NY>>!^vemHw5=3PfTaivdlkbuA^l8hWcOP642AE<r z;ybRs+*EHpF4VfbT0Y}Pwx|j9cmj{#Wxb<}#80F#z3{+)2hhllbz#Ev zQ!l~OI80oEinP4235XYHC2`P1E-hqx=F>?p3qafBEVr)QuY341Z7_%30!>M7;LrxqwOI zM}Dje{+cM*5dlp|Nr#P<6MLT?7@W?Jr?as}k_!gH+dOICcB+-(l!i|KgEJu*%APM_ z!wt8U`faoka>Eej;61l3wfVs`N@0!I4~Lqp%4^3WMs9qUCaL0>&cD5-XWckJwN;eK zdbPE9G+U)`G~OBA6Y?lcz*Dbr?enlJ4L#(6k&vL5XZMNO^vCtF&Y^06eyb(5&;4Zz z9UYzMwHOCnv-ceTIsL(VzlWdBIaJugBX<4OL)`f|ICICdWV!KZOiXjFk?|R!t!G(p z_z@95AK{705+%i(?;Cqb`d=E<8`G*4E0Yh;uj%@WnaQn;sLxXOcPT&2?6-JtIgG5Z zeU{C)c$yd){@y>!0C}5z-}l?)=`7|cXRz2r7EQ+asd#W6FIfSamPx^aKf;>TB!5bC9-$(`b@zPu|)0?pJZ3Lf=? zy?%!{qS%k`0=7*~^%Lv_+)5|Bse%+CO}k_FX-$jd98WNG4qJm$77CepW2CIZMru${ zbWBWJ{L+`o+oBVAxKP> zIT24oaEGSodeRO-+jkx?ZAhkFKd(RYCK-J+0l#I(tg8-BK-k&ZG zDZQnYM*K#kdvzC3TicpyY9EdR5ay`NP~T-S-TRo@;n-Za3W=hqGn}>+W7|8>AYn2Fj?M)1 zkZ+N?+(;17W6SPco7a;%7b2k5b4L_ai&tKS|9FSoZV)2MWK+-c*6 zuPHR0U+i9n`fMIF)l71~Q0Zi|ue4y@7<@>8-Ks)gnajS%Oz3%#w^O@vt@ttqYi^%H zfZt#JB1q0SJa+0@szGyF3gWNmEkh+A!pZFiLov-0uOoQ2TwAD8-;zJe&0!QP=ts?Uq8v2<<$wqL!Ln zk-1jd$WS_ktQy!A5~Q`kXIvrUJH0nC0do*|oX6&R&^hV*liA?Ni|rAKa_K?CExtAON+)a1?p-uOIKwJMP)ChoN zGmDk&Hjv=wu{@lHWo9X|*ORcTwB<7s-KpQ^k&IlyGu}SDoAZCUrvHBr4ZHzFv+H^7 zoW@l1EgfK8?A>^=<#%WC`B6XXuWv`Ny!$HbR9~Ej1vg}#CwzCGEGJakcZc&cW9B$C3b2o&) z#U7?SPUZ3Y^u(tV$M&Yu!E|YJN@FyOLGM!Pal}Ap!nHF@-B>S9DcqJ}VxdnhrJ0+B zV}Gfc((3JNcFQxK1bPkePn%g>7h;j4a$4XZm;I@UUtbqD?V$v2UN{beluvI2o?JoB zH{!-ziO8v)A&tD9rsqFLWMKIkX}cYr^!nOU@?1s0ChtM&go(F$jF)h5sO=<*j6q#Z{k<9@9-ar}72RCf{n*Njm(<-07=CFCx}3BXf|fXb zaJZIvqkLYYb>kw{CB zkf7zuQsJ>QHWiSf4TGSfhX3x_Tv@Tow{G(Tb6Wo@e9bMxkBxDCk&|~UsnG?#Fo|$L z{OhaBGexv)x);b{<#c|?u1GS6^LluIf%BH(MgKWQLdp2e=?d1@r4h&pRlt~2n}83( zvs6m0Y0T)&(SV6kj90z$2|pZy6p4sgfaZEMNr=_XtkCO4$S#1m+!s4R8D}Je?3DSI zUcfib!Wzz*aI+b5-tC>?ncpBIlEQ4`UkHhGcUTMivc*ikJ-BrBHw5eOxR!mZGYH;U z!f$p~a(@qrOS^AQ($^(nGyKLr?kA@@%m10iwiGYq^^4_H)*p}&C$morv=)TT7R9vi!OZ|Z?kc|B>a(QZxTn8(^cq%{KXMk+~Og(QuZ z9EV;>t9A>lfJ$%B?4s*M@Zj+<9weg?3OBoq@9mx+bYby)BsE>*inCaI6J0Zk+#P&b zsNdEiiNoR%zU6)ONfwRBnueKYrJ2}wU<7c5_U>I?dIx4MfFbqfqh~af<`%`;#*E&6tD ziHD&Kd9bMdgdYLqA_neP3>)fJgY}&LevRLl{rmV1nsN@yNma_|Rvay>A9& zw_udlEP)+yev=5(P9*G+mlgFSCL%#_J!RyRVCkicEOEWUgKB~Sl{Z+BT{VVFT$wbS znQ-EEv4xhew%wN27qse9Azm=>cySOviR=!XWC_^j9HbUsI+6elPL>NRQsP)%E3-CM zq*prVlv!c8b@v*>jkN;l_WZjot#pg&k48%E`875!l4pk4rJNSmW5uEPZ?~jsi{ql$ zt9r|_3aS`Dd#MtU)8|PwCIbQJTY?XS{|AivfBqTD^5jxgl#j!n9aZeJFXMPKTWcKb zzPOBhe7}<_6!}s>gs)Gh=p)8AD%`_tYaA4B-1J5H3wq5;Rr! zjC{X2h2&Mue61vwr;bM3>|Ov0x!m1!5uSYPDA)UX5$9P|K&@id7=K>do{V7dH-2@Q z+b6ch=g2o!ohp`@DPUNv)5tYiq@gMv1{d#7uYaTOGzkN;h?*bu!H287rTWNs`eT=a z)8!mu-%IY*8i+U#q5{%n3W7<=DKX0q9FEd1i;s*%AsYHoXXLDeVVByz7sQ)(FaP+~ z*UoZUa`>|a6PC^V5uc?3t&7pGnx}y}o$WBOT=T2r?->7yJOv#mA1-8n}>E~xnyd%V9eyjkh> zX6I7d^TdeUIvU>TnnIS=s>J7OeHm{J7m^G%0OsZ*xb0?*&-uE1zEk@0S;**+b;t8k zH(ZD1T_NWd!%45AA~nuhKQE_;y4UU_Tv~1L%_pc=Hq!z~p zHa~pP{>dw<+7wJXSTZ2`QwPR7ok19z4;!_{QOhw zTry}MoRYpepY$)8{psx+FqpCD8zUXu9A`HNWp8-jeWv( z9Ru=oo~wu#_Za*(n#gFj5IAhv1?7*f+Q5#cYZqg8v9p7)(;j0!Xcp&ap)|xLTX?%} zxb+6ALd!bG0g>99N?ZC8eKqBhnoX>=!G2Lp%c0J8JiK? zo#qPMG=l3Pj@IhwEJkvy9y-JUgbjKRDt08VeY{2u+C%Df14&WsxMceN;oeb@G016q zC@*#=zTxe*IR{_Q3CK-2Kjq>{Lg=tH z*OG~-SCSfoSc%}bi?wZ-rEk$~LvPJle*Q!n$>zB?IW&{fr^c;PlVl2^iBQ{{Z01OTMf$#x zx}YEqabg7jWwHBv9K-v>I(X5Qsqc8E(dXM17AhVPDDF-solY@_bhGH^a=odL zX!MZ1H)n-=oO?5t*Fhis#ZDW+<1ty`NPeHTAi#k|g0CT9e%!YoaPGIt5=%$do7P14 z<=6hehtg!CLI*jDZvgEEI_0RSDAS#n$>t{qr%$<(zJ>jO7F}?{Bo86CC(ntporiv> zS0Axb`0flKsT=)q5#Zj;=&_R5Z)gP#zNV^uzGd(CeV}GWvyj5nad_e@6k%L12N1!8 z5T%-0;PgLSSXt~k7kl0FbaDNahj;3kI-Q_C%&fbc0YL1Y4Uc42Jv?rK&|EujH7HK% zihR3y{h~5*^xaKtQz56JF`$^DF*@VQpHQH?j&OcMyVvlKDUF! z#6){aJ6jFpv0*uZT|M70bBwOa3>{WlD;W7Um>55+RV{fWD4y#`(z2Z@`Dk}uCs1T(Kc z^pU^xC?Y$4_bM?g5&mKJ=2SRjEc~ua7VzU;0yG95gft=dH%Ixe`DqCXuCQF)IqSbi z@!E6vM)atu0aGxy7~Euc20D%KIn*e0nib++T(%dS-z91 zsSQctLkQq^+Od$HJkGFTfKRQj;_MF=hDyP=GS}MNmJ3kPTkX5@3qs%qp3*9`NHH4! zMpA(+(e0NZx|rMKQ0gK>8`3RfMhb1O>U+ls%O8gpR54}F3wjxP5$>vDC~#k?7qV{9 z|0mu$?}v)%e2r>5Pin4j>e5^Q2H9$d=}cpk|HF+KAYnL^q7j@ZRaUm6jXK!Xym&jA z^5*Wj*POG75v7fL?@yO~MyV3%`*Z`!bn9gu&gXMKRjbyf^0nyGge|K^E=S=a+Sy9M zHq3sD9b{aFzdnyZcFrx2P8?Lrdu+(}D$V@~UHIYraA^(2pEWj5&_!51h>5_mcy~E?dx4D z@FBvl{apEPL)!XM{-@848gtT>Kahnj1OZ{~`|HI-VRvA3hU-@Hd%D&E{KTb7>)K-} z_Dhl3yEI&C(=`lXKjSLBovE04^vTF%&U`N)m_#!vv9o+|u*{VC0@Y@$GBR&iUZs<1 zdOIaTg1Z8hLg!GI!no3PN+3kSlA?e?hmP`ET_{V75nCKV?8qFa2<~k`ZDMYQN z7ANx{$m!^~|y_(n!sfXBwqivs3QtiVPi#ZC9U@u^*Cts|ykc z>9q>$igE1_g*3^GlxbOSq@=U;3rpr?$zZ%>H_C9l z)~>;rLykZ^tpOrIUqq{TYS;LUW6@CKua5BvO8FK$UW6W>eP!*t_y;RBfbOh$Iyt6u zcn1L(E>LntwpPCldR>YOlzO2S;!h@on-!|BI;4yJLJ&w@KU)*c!N?^N- zV>~Ua2shC>XX@kySO{90RC&Q-r#o;yRf~P!>{lcvc*U7yfc(;R)TXSYCsKN8B8b~) zyvQg-^g$2r8~=9)Btqx@x*|B@`O(64-YjX|Mg#rTJBR)P6e1o^^roJGA3fJjneyCv zhEU3O5IZeFMJt8a@MJuqNy?D+dxxdX6w@g-mWBP~C3ozYKjcr<9BgtS=@6Aa-9-=H zmkK$*mG8U6G&GI4dNBJZ?|;zf{^QD3K#FELm+)69Xok>Z>TJb8#fHXWJ?a)ufB7CR zuyVADd_e2I6k1)i($4$zmhQZe^)KV(M*rOa0#V-Ygn4i>=>vBLrwj2|DEnJ-TV%L% zAz7(STUGgx=q?75H?&fiLY0@N*v{u4$pCz@?RXP&XhM6IA^guc%9>B@K2dnZM;~^ zT8U(S=(}?T(`$<#6}x~yU**wFMmRpC&la@mdE+=$LrK-YohVglO=P9ws;a8`5u5ue zRl;X&$LMT*XSV*puEe?bA2RRCsWvrdkwJ9C&}L7|>vJ&NQaNHSR}IGzO^cz$+oon_a-PR&u;{5$0h7hwf}~JZySvFM53*~8x^})Ej(?b~ zOM}xVM4ByhE{Rl`uZhD9kz`aIx@lW-t=42Vn2%@b>O>~FbYTS5 zLiM1j*Rx7qEUf9Z2bsAm$!bv=n5}!9--I&6d6XB@6vWapBR}~}H=aq<{c)#B{NCvx z>r?}{bcjQtFJoj@!(bneuPi*;C;C}JEbekdGbVZ}h+Kh7>tNmnb84;j46V}iLkH^; zx&P95M_@*z`J0PAmk&bRM*jg(n5A@=R(XruQ!9pSF(@Bd?qr@EikzI9#OmtPPe+Be zIdPnqL2XYR1vTVBWc#@FVRh|*zNd^{XRG%)UvZQ^i)9wLZHNsS#=&#now!`Oo!;7i zo25hf9k%EOc;{Z0W}fEf{49Eu#X8Qv9K%bm_wi##eS$$5S-s0P-2rZ2qlVTu5R#2w zKTkOoW{-r>_Qb-Av{yb}iURh%k*fCrFi<63BA-#v>88@rbh|pVST8)vU0M6xm@}HF z6PG6B_-3X1;$3Sv4aL(BZbZH+-(Gg?O404#Iwc>I`ZC9ie|%b8)~gFps2y@jxe9iA zETQHml+hp!lnx}Mk705>np(AGO~r@H2=>dnEI-zZvvwST$!Y7I3N?8#o8b7(@O$TG z%vxtQ1oindbZJJkMbhO+af3#SDV+b_eAw&^s_xep10kcS;*(&0mifI`A|4Y-*Eix@ zzX~yMjX4uQQ(pfxb=ApJ`R`0simY^H8er-50HpI9RDzfMmVU9uh+d0&EbE2hnm;gC$BOUjeK9vB{SOL4%-%Im+pR?OcpJ_^cudFr)1_6{A$-*!U~~x& zjL|w=%!&O!f28R#*LoJ{^7@wHjK%V>A|N3r{+qSRo?mms(r_qa$CUF zx4m!dpI(`IYrOvZT1d^~xjNqK9Y$N>%Jw6_t`d(8Y%`w%mIj&jC??&SYNz42J5*dn zC5J)b-MX>+irEjnSGT=(X7VNLPxf<0uw!spDsDUeTl0}3WthC{q-3_@EeD1FY*UL( z%}KFU+d_>kX0LT9Z3$Y)?oGxJLfv;pxsN}PP_R4{D^yHJn-mpc>4h^g*h|ZS`2_TQ zQSL7qGmV*8zHb#aQp$LFeShu&)v_K=)f#_pKjt7lEt+D~_>Pvar*T-l!kxTL3Ciw{ ze;x-P4wCDbGNP(jg^f}t`DV6I+@MF znT?^yO&}T$CUc*)<;nkb?5*%hiLJVPui}K=zPo)ZlAHad=az3*4Ng?YpLPJLT^Gpd zYo9}!A7n;#Ty6%94xGS=*42l2V?t{jr=Ih|;SO%1bq2dqN>^MC2_8qMgR;dYns|!g z-L`7aU2&vx&ibXf zy&r1#C!%2&>Z81lSXf$d5~z!`-P42Y`TIbq&5@GgS0F<0jJYnB_%13 zcN1OqS3Yc`$;%#)b|LT63urugI7mxry+&&N;eLS{wY^LdV;>2hvcAwLbR z3NRh+)>!?}w8)e*^;|WCQVh~SgO_8O=%)R(BUu-gQ(gDgpN!YdTW^-9Mdba7=hl1M zKRE{qcTVt!H2URcR3tZVz(lkzxVaolvw<8?8#A2R&xZM za1Bl1mUDubJ@~(~63|MA$*wBzCaZm_-B=Fj^>f+ICBKRJ$^dcm{imjnHuXZjdr_x9l zs!pIg5?foF-0&Xh`23o!rQD0i^uiEQm&et1k!eG9Pz2%;Us5o9=-qxWcW77B2O14u z$l#1v%UcT%K^o_=(H7D3tINB)3Ve&Isqj~B;f{N$aE?p1tcR}oL%A%Uj4IWP^2653 zn?u%z@NPq5BhoB)rQFcJ=9rm+`v5Leh zquCI|hegZ}1?SnC^n(5j8mkluk$#O>mbCEaD6mJq z3K>36Dqdcm$d%Zo-0oV`XqCxs%Jodd))4Bs{jo4&5;Ffuzs@1D>SDbK#Ab88yHvPX zts&GyoF6z^*O2Y#?lx%H^&7~AK!=Kl*An)<7e>SD7nRgVZKqqqb&K^?ds`{6YLF@$ zl>lF__*J{7JDb1XvThuu9%A`4SJu>bnYnlQ>phu&j5*eC90`mlsThZ}DktUKj7*P7 zMHXO%(Ga(Z6lsy=Hkyb8J~$r6JSV-oo4UNiR8uDuVu_cGgpZwlheUh=Ss;s>YZ|sY znut02`|>`uuG72yPZI>R*ljcWg=~ACub6$G!hs9BMq%6mg<&UeE@ooW!Sa`f*8KyW zxeCj(UAz#o4yZwc%YR8lSv%57r$P5nFJztkO(w$VA;K4umaZxN0&~DrasVsvX_h<& zNPd<&TQ#GBa5!@FVkyLHZ}&=Sg~d}K?z(>eyLt`ExmD>{Soo*EJli;guV0`|D{q;yKkU2N z_c)SH($KmemT14;n_eqEy-ej6yJ9o-U$Ft7_`dD!X|MIYCe}yKE5HlYe*!ljCVnBsSdJ6+lGVfvaYu$rUw!G~P>IdK)U4}d{;^fI$o)?R~8`NS+# z)eEfN#b(WJ8+^Z&WQz`)>zPqZxQu@Nf^p-sSz(CZ_tW`-sN!MFbL|^HmA=18gje{q zRY8h;4#$A1^uqSwF<=*b_UOk>QmSZ*gZzoB8RMHF_`Z8Mh4sXorYX5*CqZMx)Zq(Gk3`E@smqnlbGaR zt9Wt2P2eWq5jrht-Y^chFlNm=7)@6|tkMg`K4R)ygQJ75u^<&MoGFVp) zk)PeD$!+=j3EQ)06BE4{>3CQLF>01LNKeKn`lJ$-YDc#63egGhmiObOx+ZiY_D;Pf zx^bgamc6aQKMKbKBuyK9!?*?}N-$_ZUS*LFqZ0HIk?9;pXF1@M6L{D%>rQ?W03jjy z`q{C5KxH^vMWElR#{H?8_rrVC*z^ zFY)Dy`zSG`{}E$~R22jcs>V<3$7?n$H@95?)hm&|J;1CACyhF_3%lp*_-k}L(hK7w zJI5q7p+8>jC!H$f7dQwp@3?};gb09qrI|%EzBP*dc}IHlWG={OI1g9JTe{?T%=8?i z0=36^m>=#+!x48w%a-BH2ha8D>M~w?OgTXTdrjvKBYmldgy&WgT{XQvRL@tov3;`x z0XJvrN)@vYbl)887iZ_CFNcuf{J=PMX<98;FRyqWJ!VRy@&@nDIGt7xHx&ICB7PKm zIO)mx;b#oRy3jbIr0YlOo-9ieTO45`G0j|8BZ^pA!aSFf1Dlw>XlN%BCS{UjsiQ+7 zU)jvak&M!(8ZAxVQ-i*?#o>0t#xcI_1f6R{{*t?EeM!M*CkAH;JRtq7-GMe#iHyfcSRE!{I1cQ;;+N%>J?MnRS)^&UBSeKf@mc%4WPwx9Y?pc=~g<-{yxuEHrm)eCgg{1G-}ba@L{3QR=&E%%wk#eRn$9-K~1QSe%eCP`+QPUKCb^++F3B?v4@h zO*86@WleUNJB=Q#bsPa##lfh32la8dk;cHpQ8Js>W{WY*Wv&knJ5cgL~8M@YXC zg*LGXR9y19(?Ze8y9mIL5G&k|w)q;@vpIP6xzTM2)W zgW%MiS99unNV63#n7EanWXY`S>A+J~9;?~|bl+@H|B0XEsu+B7`o-2&#UqGnWag zqpK>rAKgu3l|BlS3;U#SKwGaVY_$WN`q2#1@pV+aU-nKFDlkm%RFuEG4VaGWaC!*a1DseMz5%N`th+XF04xQnaO zJ9-R_y!deQD7-ibez`JVdq3S`sf`yanKpjwdNL^6)GbxO4duQ|OZ*{syhYyGY3{cr z0e0tYjeR1JKYoQr&j>0K%Vki3VLMYK|T0@=h-tk zonmCf>AaTt3Hnl>BathymP`_|kVELk_)a$ZLHFfMmfF-6%QD1DwvFl&n(>{j13RJZ85xn_2eQ_`OcA=BkE;Nno1yWHW_ z&CY4~5!Abyv%C8qhxFZ8Bw0!)J@V;szB+KmlOi}>G~~47d^V*h`6%!D?{XUA{X2zf z@6i0_&XtX73OArQyqRvmm^3#*aAT?(j@|rp=W&y@U`)x$IJw!nv-OMQyqlKz`B?% zGhyyWomg@KWQHjv_N=_~UeTeH`HIc;9=y47^~T@)dg4Jc1B&W6z7#0jnOw@^wT{|4 zXg;aTQ(Q=Kh~oQEz|9Di^po1TdQ!f6u%b*^e8G%hO-|S&+O}RRJ~y$Fv6jFJ*(9zf zR9f}2oO!l>$yLu3XC1W{Q9F8^i97WeHR}#&?~@#=l2>7WG8p`DA|(#B)E1S13aBfV zv7k8E{!@937GW&GEx3A8P3Uy=E-smY2b1c9IuXW57K2(xT~p#z+@N%>&CG zG=6~@nwy0q%I?h8C9V%tA#cE8)9GLgkB}WGxkN7)jUxgUy_c(%wayO+?0!@Emt z_DSo``(tZ%XNI1giPOq$>KO$n)qo-&!Ydz-)cM2hy_7c&X^L&)#f4rfqFiGIuQvHI zYTw4P;ait-?tZJ}oL%@X#>S?BoFvjPt4 z7jJoelzGx}hK7x-reJte5Oac%bffz5dJ-tE@5D`VwbR|^1h?Qk{dE|SZrC=##MYTs z?@=l>k9@6ZdEMvLLKU+~N!t^F-N1h+C-WB0(HNC*wv(-I_+cP>59&W?^+#YP9Nuh;!?S7O%PQjfpE!Cc%M%=% zxVEHM-y^u4yG%P4w-2)C)2aH&g9k_XvIw#pGGZQ!AI<#K;I6kDSp~O-Q^jUpI%q?0 z8?SP0dd!{g=9#Zay+i*Icn%9X(uRvyRcpPz&*(iiTAaCpYQGSRu3YMzro&}G$qWboi%(7I3+G#H?NOf9Q*)T9?kqJUFveTQ_02S0QAyDx0Ohk*l zI0o5Rcp+H=;eX~C>HC7XeWx5D!0D!L@>LRfEa#=9i zhcMK*3#G))S#PrCM9=RQPgDB8!#IB-AW_9PGpx)wb&9dqs2&?nlDWoW$U0_s}!8u~j-DyY89E z@KTiH(&U(`%y5hcnS~-A?Uxz55#e@M8@hY-aS;WQp!Txx9YxOE6qft zWJ+>!?d!Q8f!d|Uvt=@6bGrqw8bW(PWE=DaXk*wD37xNGTATFjryX~WqNQNsW0m%n zo`V(mLi2z-1$^QwN%-itF%0>D<87#p7>#!%^Br?aPV2T6l6U*P8GpSe~79P z7JbX=Ie*~Pv=;RBj&eT=@lnvERK}OyjD*5N$TEOjIf>74yAV?=aXHB+&1+JY#by7z zdUHgeMhq|xl8%8;^hG}*v{WN~Ns{$OtsfhSGn0Y`?QM}c2oX)lyjYXwyRX4syWf4% zoOT+V^R<#wNZ(PW=af;F!sXMIo7?(32pF?A?8JhP&&tY9PJeduKu!0g+nQwJtG{#gbwf%p%tF9-$dK7R2SHdnr!EL+6$Y< zo>a-W8s+4&qW*KvgV8U=o`Lp_y`G#VsECHkoe!WvWKf!{@zMo$yQax{b{tBwix$z& zvYXUadc<$HU0AzeIbPOykS~q_R!{5_ek&eP6d(3aNQcx|kG6>f1uf_J{xP2e3o0@3 z+CEi~0X@Jwg)`OaN2ay)8}u0tHhCXDCjO29UtXe|GS@$S+G6vZ(1FN)zDV^wDzEdD zR@db-NfLrX)Lwkalu$ReovBKNJuv!B$fTAyE$KJE zzFii8$y>6lGEihEHQsfJr$x^12g1QGz5ai{NGDANMIe$BSw= z?hK$y4FD{^Xl$;znvyVIDHRR&me*bFFS}srHS3iOy*PV;U0%y9DmsXj30^$g; zOLW6U(*DRt%|B0uqcO2${MD5O5=H@=C+W__er&tbz4dX~Zz!qXA7}H=uCQKG_%T;X zALQ2NYlW=!lo7sd%O4PaQs`V7({XMaRK5d&gz(npT;0jWNlWd2mfDu;3%)&OB#dG) z%DK9`Oqy?~R+O;^xCC3*^V8erC)cND}K9g}>()7~L>!a6dsaT?!x3AmotYGD=IF1tHzN zax>#DzkmN8_ru;x`|*nf4T!#wiPZV}eS1=)CVV^9<}>HHltP=H$j$LfE=gaHSM_c1 zvc(d(Si3QuFj$WGo4Haa+WYdM&jOxI2jk$5J;-pFJFlPg=+tFo8XHX#gk!6(UQK1= z;n6NLsb^0f(RyEuQy%>?`gACy!ji`5y~s;0O&~y>BNL{Z$^OEwPp}wK<|+BUac5*s z9m2QV7q74*H>Uy0;x8bajWrk(D-$FY)H-ue1+tL)UoOP%=pe`!bKtTxyqb!DMUZbC zlyW@MDd>tlN_`gc85len17wettw2OWX-=PmWm_az^7;D&@q`k%2+i{t^-O-vYuBSY zZ+o0O;=bguQX4(3(=MjW;eHF1fV?%@v|SpdSW_Z5w+dK)iW7_hNnTlG(*^w|!hE@K zW2FYS)g-fjmR|UD<%7!v36=?PUBve?0yK`Ce4T5sP6mCEEN(QZPYRcn33`}ey>%au zc;cNJ2_NC@Q3N^SoO_uwRpOJ@0&5tPl9_4wjv%Yi1BTZ*3uPBJ>h?=8Hs9W7W22!SGu z8etb`UpbhetJ0~}hf8Tl=VGcRZb4}*19HBhyD{sfn1jD!zvfLhH#c{H%M4P1kcp_98(p)Vy)|n`a%0DZ(A|It)BAg3)f1NN~!63^yMD}*5$Zw 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 z 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ⅈ( zsjq*RNc{?E*FOoCcb&gjMVI2Dj05XHRx#d_Iq$g?hqZ#FsTd>d!*@B!v=QYLS3{+Q z-8)3pu*`n= zPLk4*lYLC&h6K11D)a$H@)ed(?Yo` zdOFu`0q4oLQK#_Q-XGq83B#kHq-YTJ@tX~(HGst>`gg^}mZ(9X4**qTd+G(Wdd1an zDy7x9D7s_)^t>G1@k|Fr3c5?2qb-F_2FdqJYbtx?*_ufoC80NqaZ(d^@GBNz@Y34@ zd=VX7HaS8EH2l`JoAC+t&X}P6MYOvd*2oCqjA3h7Yzx$nePl=#VMkKj^bWw4<{FrT9{#tx z|0`W2M#lbb=C2}t0ReJmA)bn%$L!kUgmgQMct2Y$B*_Nua=|xr_ zRR9!cEAlz-Ot?5ZT9%Z?VDe-S;$*ON37(8+v2ihjrBJeWYboy87N0r>7(;ZzhPXOQ(}6_8vF1~WnKF4%%xaH7lO;VdVAn5^Ip$<9Q5 zvGk7l==BTQ!)fO|Qim<3;bqsjcP$Ph#&Bqqe~4lFxa4Y3V2t)r(Iv_TMcjLu+PnYuG^o%2PjBfAfsXKv}u1tLuHw z%40$O91&yOKQVaTta9>oV@2hxW3lnNuM%c3V@9mzE*VaChNY|+K27z8Ic&UQ#GJh5 zb^e`oJTf*nj32KnYMd-Iw7PveLqBYVo1SUswwI#1@#zRQ;oaI%cwhE5!V2OVp=IZ_ zB0E~NxTD+!xBZa1J#aNJU7u?lvFlWBY`FI8^5Ub;sgtB68_Y@d8)EK|s-3hQ=ee;$ zgD3=l7h79TRvD%wt_?y{)9a0d>CR|nYGR6N%^L6|0{trB;*mqy46VkhlNM%X={4=C z3SX~R2=@j}b0*2{HLGu=10QjP#)2)cIN5=yaeq4c#l5L7uQ7>bK&_ZTOCTV|{l2mD zv|`%1dOx8UO_$hsxM;@Rbg8p>9dp5|QLpXI<#lMWp*%rlc}+@m{*pWa0U#EryqzC; zi_l*Z(R(%OJBpt-xWjbv3Ugy|*{P_g*TKQuLqj+*^9_RQcD8GHk^%JWs)ZU1!tlUH zyzORoSoIIKXBz{lGN@Lb5o==5&}7B1q@usies)q0;P0?|)M1=ERqK1T& zr5g58t!!^=Rfc#wZQ}`Ri46u}L-U~)+`!$qe)ibA+x_e=%A*QF=_4}t#9i-s`TV6* z5=bFi#qP@~gZAA5<>v&MaeL>I8%X`7+F&?Z$@!YCVT-_#DA{fXL<_VLB9HvnZuFBlpR6SN>RzP-ZT+btCDa3J)BN*z zaTmtUBc&G%#dyvBD!C(pe#lY_x@u}a+oJ7`uG>sy~rSjgF6WqreGKMNF@#kjWv zmMd7dIIIg9WkVjt3uw=~y3p`U_OiFvNCpJ4Y~t>Ca~&CT{4AqWoMli?IqIvFKq8R{^2)6>uocIuaXt)|Af@pDa+sX@xa`A7}T%hZ_ax^ zEhd!jX3_dDWkyl?`&h0IP&yn(wq>HT@++3h&9Lzfum0UP=;j+ARC`xcQERy6#ODyC z?lU_3&D_K!ZQL)ly*S(tc0}&(V}*mU93DlLY%NQ%W3_P948Pu$+wZrHi;Eka+Vh~h zf0OU6PJ6b~(d=~Md^mZ)s|w9fVDW=JL~D2&jL^|hpNK@LX=4jT;4$DAXrCoL-3?_C z5OmsuR`Xk^+ zJzlg_t`Kvg$~lvV@o)+Mqq-eKc+}!RSJC2B@KA$Qb*x3LuM~ zH%89O^YSA&f{Hn2-5Lm45O=d{yCqNHP(i*T{*keH>C;_) zKQPWrHwfqbba}S5Rq}YHeSaz9`#W4HeLZutOr6JVOM9j6SrAdv%snq9#J2ny4#v~J#cLleeTY@F)J z>Unl!hbUh(&W{_o)-HUw{b9n4@Ptm;8Xcb4)gHC+FYW_rw;bmKpH27YKbsExylvOF zl!*h!1vI1J?KK$JQ2MG;V*_E@;c5uZo5hdB`JkmQ+s^)0$4h9&8J=NxAC+L93=}DR z>p$-;$HP@0+Onc2&%x($6CGBR`1Hs193~9o2j;x@(o_kXMX<54D>h&wc!Y!uZ6F%q zC2uaZuro^G)roVW$4#HZL=7v)>*->swiBo4>4j>A*$VgJtTAzO#*MH)`>kn?E(LiN zG`!L0@^}}_6mGdJ32|$TLW1=|UbEFJv1pz~YxMP1&(c?0`okC{g*13r;a7VyiCiZd zn-k?Ijm(<{YsN*PTNUv_x98|}`mK&KXb@eG1J1=$OYzwwa_@lM#y#vr=I6T>=LXb; zI*l@X7H7L7(Yp!k(ad!wF^$=_VEgZsZAi6B6jFbWv@LsGTmRwqGik^m(5vo?i=6!b zv>5-$o&sooO0^#;93(6F)&HP2UTM5K{7B{`(2s>=>YN=A@J2sJQQW7`5!x;$@1X^4 zo~dOIKi$kLEX)CV1x~5tASRXepg*lR4K$9RIT3_vq&8Pw1)q>%m!-6(*<>Z;@K*Mx zop?wl2;U9^tR{FdpBpNYcEn%W96mINr~GlRHM+5Xj~g0+2&f)VFEsj@!&%rYUmmRbF-h0=frkqQ}gm| z;b#oqfGTvo*>q#Fj4i+N?8arL1@>kDp7AKKdBK!U9YG>_Hpef;Q%`QN@}ir{o8Zd6 z3{S|MC_;SWgMEG>xzrVcf!893_U^jw#&eyi|Z8#44gN>6D{(c@_S55rF2lm6!X1_#x)TI#zx~Y zT@`7|>6(O8mqYI%b??dF=F7YU@|c49$fU0A3&(9`u);$I{{DxMi=)%8Ezlt23_6Ww zt6F7?;dV2k>xACmlv0UQ52~AkwdafP#9CTfj!!kgPv7-@@Z;iHM5ymsLWVeE^8f$5 z46x{!^3#9^jL5=0{ky=zxfV+@gx4^Ww!Y85_RY7gm>|Q=B#ryt+d2f~#BS+3a za1EeT}oZRN8d|o}nUU^%2))G7Ua1Eo+Qa(Y%)5fAl&XZH(6^n>vT z+RErgb@bOhI`vCQzsoLY)cnmDGGC<%+pSpIn;Th*BgPawMDD9yqvTsUjy&!#-cw6e zsOH6R(%_<@31MMcTqc$m+*s_?C@r|LrA?;SVr<)(^X3Y&opFletrsU_JLh4=tq-zF zc4F$Qy>gnE+%VP=>+w1dCi61E=&Lz-P>&rGuPRrnHkoP=9zH8vK1B5V)DHk4I*x@Y z-y5}@IJVB5`-t3|thnl7X&&0gHtt&58oPb zd*#-dO|729?O%Mx6wWAJDvIi}o;?n=iP<(Le%N>cBD?g4@LZ=A&I|s!I#!E(x%Yqq zsK8hH*3j?G+dfGL>A1x~Xf%WoymNZQv9YnoTgAld)pKwPr%+2?y_3rFh*=HH|FrK{4SMgXX@p7jP7jS!K31ZE58 zH&^202fXW@hU++cwu>|t-kw`bJm6O?hVNibkUN>mykiYsi+UWV{@c>nAI8#n%s1oE zL;9z(s*z$*=sD`-UDFm7zO9K07d)k7-Pk4_*?D6dM8>-4a?pEJq)fDZ{v3dQJ&)=r zUi`o79{kM>np#Kzj+zZgBb;BbXFVDJt!CVY$<$D8GuoLW^px>I8Z{jR|#SoM8!4nCLC4 zc6K+z7ZD6W+HvrSCY>6cL}M%dw)WKhgpRoxcQVGfeEJxS z?(IyABoKj~C6^MR$;Sl0fi)jq9v&zQdy9jiVHo#F1q(xx+X)fl8IwOuW3s{alJRoR zo<*v93Cu?-B+jhN+#BSn#1>vh@C2(h^nxi#0<4iv%rN?S_>y!!hcb_u5WH2Nx2XKo z0=p-ELbtAfdZ9e4oR?q!h_hTePNoljd&Cdsk~3WBOj!Nt)vyMM&d5gRe7q4&BVhT> zV()JX0>E7cOwEUo$}ou{iv_q&dXiPs=gX5F>8YxMatnefiurQHefPqmL{Lbm zdq#YV-lyf|y?JscRtmYaR34Ae9L}9+b};o8IB|Ok|0v&A_l&g+jp;L2`G8Iy=&wdC zWrm76N91dPj!&;biOMV5GD6M-;+vGv{A5sAC5-tIh>N4|Ikcnm7>k%< z-T;{qLZbj&F$K5`OJvc1f~n_6Acm;-JcIIxEfMA)1Iq z&j7Wo8QMe6%Hs`ZwNNabDpdLWUS$=PSt{hrLlOvKQKd>2x8>we)VFDgRN?p!uqx7D;bOySE0{{*}4 z{w_<`(^^#xQEG*iizAkX)~X-bo|K|-Cw9%&jh0TKSW9^)XoGfA5jugtjzC{TN3fqb zE6b26kc>+!)u4!&%R&ieJzG||5-$!fN97EIiJfb}q9jDPA`%&eFuhgy^NoHv#9xt~IrjXrd!lt5DuBJ~&$?iFM87 z^Dzd$$+G^`Moi0#i?tEEUfY7L(VJ1b)d_>;+OPX~7nd8xx*C;J-t%&<$p#@IeHIJm zG}A?fWMt(YjprnAch4?<6+=tsn1iEDbfm-_0ut96&xA`EnXi7d4<>*Xx>{A=o}QtF8mA8_ z);=pzx4r-2roqC61&=!KeWs+UTLw57wp0Yskfz)^L$%L(+z0CSJT0nwT{ECvN9-Mq zHaFJZRZ1$#)%)d7=8}MmG+kpALJIFPFzA$tDwdjcDW(y4Q7As)eVIV`yP?0+xm}*x zP+PO=b|$wh`?nWUm+8$^j5@WDInQoOAg1-g?QT!EDYkG~MSJI&$va#aaX9!!l`7UlXwAz7e`Nk#DTAW&cyExIs@D+7Cai*k2$);(6F>hmnPYVQ;Br02rd>2>p)HJs;a(XSr*Efi<5|}gv+<}kw zpDC>9C@6*P74o-Xx{COq1qEwvy8kF@B9lYRSAVjg(eaV2#6l=}S`H>c!(kYP8$w?C zn7Y3v|6u`Kx6>bY8S8e@P25c!me9{V2W_S3DWLZX>L)jJ(g>5@W{NlvB47Jh+#v9M zK~~0!jMVv>D6h@R!2u5e8QvAV%3QJsj*1yD404*OoTxqDwueeO8)NwPa8`3Diikvp z1*K%hdtRZD+O{vKVDl|m_1^b;sX7X8JA@dz>V&+Y7L;bRY?dh8D`~^X+H1NE8h0H6 zTE04yenHHx7YQOTvY8)RJhbSMg#uhAAG|NG%bkCKDS%2}*}a!Xcu2ag$=bj;NfpG) zu+jZ4e((qgHB<6p4fo7c>}-Sx^)0a`JxVEgtp_# zN>u5z?S2k5)R>t|g(v=DOG$w*ROIbj)W@WJ-&C&8vjkSdme~3E$emk>DuCEQz4N1f z|7(+;xSjSD-WkxVU)1nmu06W_d&sh%{k|w13Vh#u4!>+G%+GYxG0PXdxn-Mm!UIP) z50H?A#D6Y4VuyqboqalpS+WNs0mm&{tgM`zhim7$hR}{SmK1(7#+&2e7aA|UnYG<_ z#PHw3W&`CaZTwf==lVgD7Y4~$w)t=wYv2<1>)rlS4+gu!LibRy$+0Ax$2MBE|n zOYajHxVa(BHS2aDO(d&&&TV2>AvT-@Vmx<4A$ak-{CFEqFaSE~R9l+0hlHiw?c(i_ z&-L)BkK8!MBoIU~{M7ycInnNBgkx{;YV!Bd33m^2#DT-Kt;Fyeq={O^6E)H`6^r5C zejav1U1uQqwk~Cc^nD&csL@yWX7daphA6w+KLxH=C`vetV~{}j#rz)q*NeP%j8E1Q zT|IMB)FNrruYUTp>}(^~CU@>FWm8guG9G!=ISLgVCcX&q172cyQa_4>soz?%7q)dW~g)8)1{A?V&}*ys-`sQC27u?a032RJxlkC#4qF1{U_Dhw%T`C;*jW-aXQJ_y$2rqwi z6_7hNU|Bu;ijnzL3}hmUA1_D4G=k&Q@f^E<;hF-0$|R#+aeIkj4;S{4AmYNMoa#{o z>Mt;+s~*Y>UZQ*XQm%_xH$`s|YL98E=e^+wHr{+d#-hoaUYxwa03h#w4ChJBR&fqunZ~V;M|52y2XrLk!Tw(6W4F)mUrgT?a?55( zkk_i_J}su0S45Z&HP+aJx;TTGI}+k`8GC9K{+1zwMzQe8vAw>2I~hIWs*7Sfa<)83 z0$A;B(!NRNU!TudG4A0Ud!GjMp19~PQXx_s5yIRcne$O5%5HOLKab}#RgsK05gCTU z*J6!sr)kYxH=@=3-=x9VIxpEFGP+S)=0Oxu%5`*X>}y(x9rM9f$@jp)0lnAj`7F)R zxK*j%yYEiQzd-bwuDohBw$ND^-pR>+A}TQ4ZH519@?kg&L~ z_GS`Q&-_@eo_=CG#9MJ&{rHf`ygj&W=X(vkj`Sa#9$T} z?YWI*Y_CzgkLg&F^K+}Jbl!|&*PphIQ9JdxAVi;x&=1RiV*3rk+GH~`Uht-7F5kKh z^yLmT-`CXbnY0n=uZ=fc5M`C@2R3cBe7V@@>L0cw#E(a_&(Yw0KQ#OvkAx)i5z)ow z#%bZx@(BP7!Vv#IrPt3w(c%lJKO-!dUV9ZuR^Nm|buggTcLh(V&d0VPL?sy>5D*8XZXwk`3U!KDG3b%LjI(2e^(F`GSpGy zyqDTaSzBK&p3<#KIUNULg6W0i(EWUPqA!m(cI3wS4u20G55w}4^WxbblY2d4g3oSm znrjAiG%}LRRI?f|!<+G(@%z-;5y58dXbk6WphQxEpQ4GgNw zs$!(~{cJ9s44C9k2*+~RmqvAnQw2I@CiwkJ^4_Cfx}R<{`@^cJ&Mz`^ zM&F3eP|V99AQOu!l+k2xU+2}9lExsIZ!GEA1A$2c%&ywFOo^5`na#^4C4g{tSsV!K~dW ztNpbP;t8&tq5QiI5FL*VPF~+Y+QDg$VLbUYN{6N6gw`+KNxkvW(X>ML0h1~QmGEQ5 z2%ONI*yH(W=z63CBol-ay}_joQ^e40JY1teFLqsg;*DXqIg?Mzr1mmiMsVd>e#7{I zHiAE_OWZWJVH>eZ*We1N+^uXv*u)JKqIbRxyUm<xP_-CS`t!{c@LcJ7~eYm_VTx( zWx{99N?u${r|0UtbbcqX6rK_}L8<<3n=u88+d5Q?o^W@3a_=C(Yc|&=qjCuOdB?ud*de- zy0EGl$6~wViOu~_)u}J-<^)OWSNs@nuUBAtJzw;5AHg#_`CdVNB4l47SKkOTH zWyf5qB2)-JdJyg1gJp)>oM*ResqiIh{@~ZV)_auzS+j`aHqK8IQCi|U5@J1>T%3!| z%nat+k&&aTTE>{aM@QwuledS5^XOPQa%)=EQf!W7K;>mQa~fgOxyzhVHKQe%cl7cu z_|BNz!JGfbyC~UGv_Gj1B@?ezuzNBDeGm(AyVBV?)qwKs5Iz`jTqMh zb&L!EP|imsC#Uv8MdxL)SPP8hn&k68df`6^2?0HP1jsby>DJLION`X_wUDe4{v;}D z>W$=b*$h`q*!T8!zkY%}wu_#2yA{TEJFWwZqna8u<8o?9IMA4mVhbfcxXXeVJt-J{ zbIo;a<63&WP+mX3UuHfgTic=MDA@iGE#z}W+k2k7NPGxNwZyr})BmP_`niU--P4~F zXHDVoBvkh8^gycaG40trlG-a@4TOU4!r=TCjh51srI5y{b=i)Wz)9W z-mI6M`AmT#ChSc^Ob`*WfaFi7bTQzTRt?h@n50+20N;9EnQ+sr4@NY@rnp=l5WbLR zifCi(qyA%}JN@PJItx^kS0E6z0dgO(QFYOP7VL2Bwk}`y4USNKKI{hy@-Y?Y!|N;$ zGXGbF3^wY%bFB0iX*MNysSeFk-*|%}!hTrtUnj;#R}HK3EB#Wedkl_cPk2OvQX5O{ zG?P9w*!ZLrs(UEw8m}%|7mez?3VQzP=N{UAccSZknoUpEKj!Wm=*{dN3kBbLH1grY zcJ_B$#?}(J)gEQ{Q2&U@k|}`IzYPxmgEXTJz%2V$on9dUto|zQ7qsI=$zSbO+{(MRot5xm-tLOlyt;=!zwxEi9}@N zf{HpreqPpax!p?vsxTb?bzZt3g|9TamN1JeTPNyX1wD<8VNBL)YZHytM(}VPY>|Ls zLP=SfnjQg2Qjy(RyoWU7jP9#-a6Lqks(bDlL<;$fR7;LFzG?gZ-2ni@fa01g`x-zz zWdE-7=e7Ta4}}W@0g$aIGnNesA_PtZ+wtGG`}YSvTL4qs^P>W|nf=fi5em&K)RF;O zNz@43B?Ee{=iMtI=zf~EmRkx3q-ak0`R2iM!^!Cx)LGHxLpG-B_m!2D80szi^J%Xg z+REU13*Te(CHIF@(-D}06iPXo-K37fGim0rLC-37M`{*S2SX%YS8)L5qeJ$&8zF9(2d%p9E~c13fTp73 zq=`Il)X~xq;Vg9A?{Zla|rwYmD!CnS1m!3h8<`Qzi=C;0b~8GRzg|IaU{8ZnQ% zune5}&8p*-TjChtts#jcE+Jl%Yov4!Aa116YATXl=tX1zzis2w$0U@izrXUI2`u>I zF73~BnwkFq^K`+=H?2K&2O&~)Mg#6otk=or5h6nQ-g!XCE#bOXRXrQX2o!|>T_{F=RWdT zf!BnU2sqS#zJP09d4%(LE|tWUO)2PhNKqOKJ|W?sL6H{x%21heWtFgp?;K_S-sM@Q zk57Ns=6QYhq21B5`^M96(E(Mhs!FD+YjHMim7umSU5G&N$bD8jH!DlLuCqL}tQOyS zWV_bwMY~_bWB7Er?*?Q%-Y=pQ0^4f^6uY{FZwhQuX?$9Tl>%6c>$LO${yL zjn@ReiaSrKR2TTXkDS3lsM=^F`|Jk*X5T>;koft>W`Y_mz`ZH=2iFGPjsrG=BvJSF zjMMRG&-?6${(A!9zyLp!JWPMEnkR976y;`3@*QDH1B3PNdI`6w_dNe{uKxYy&pRP8 zwu8Ka*c1IqhUz78e~J&{6wM`Kj;ebjg3<-dgr<&78Kh3`Mq@@YfQca5Kr(EFP4KQ< zZITTjqNN7y)38MA8SsPgk7}&ribi+yh)=+O?Hk%RoTU%Fi@q&CnJccZ)C~-x3k12I zhk)fTIDnIf4CJyObX9~7kaGtHuxgRS$7p<05hiqY1TR50bJ3mL4+fk+M>P_2h*le- z+x7=nGk?A1I7Rt)wFScLOtr5U$}B13iZbO}(t0!DQiA44!p04}W~wx8kbNhB^Xc{lK;NthFsE!OiS5mE01A zZ11Oqd5V7eygGS;p!8_b{$%!bJULO)R?Jap&1WyUVvlk{YIvw8A9<15TS=3&h;V_p zcl-d@x>qzm&sd#2RzYa&i&x?;2v%>-YFn}b8a zN+;59{jEUzq6vW@Hy1~OUMTrg$I~7=ekP`1(NCXeoUl)g(4pscp9;^ z%f}g1SnK-8YH3L+nsn}cxG@ioH)cCfYntn&`}$&7o=0(nT)oJ7vXD(mPPlU$AV-Zj zNc;MjVqz@`gsQns^Fs|p5iFc*A0I)mT5o+29GaUCE*bwUzBCpDrt;r)HuG*l-X8(9|OtGn&pYGG}4%R#x zRd-|LUJiYik!q(?2!iM6gAPVT+Ef6AhZcUqEGLEy79sT?nhxToOdY1%{!fa7kTe2V zDT}hR)Kc0e3UGT762begembM=+Z6=cARW%2`~CX&4gK{&9Wtm3>e~(9(0cm$s4SGP z*d0((w#39GW}X%R!b!L0O#HKFnA}*~!y86*Vh++P@jK6hD7L%5{!- zH1XgTtRNTAfhTJLMcnv7LPy=(BJ2<0;^Ky8deQV``Pg|JKsB*TGcZ0b##Z6^u7Xo>W7-l>|L=LcEygf zXeK2a&WLM;{+Ip>T10o7pt@3%7h^^KlQZ4P(G$zLsRLrN`z!!n0Q~l_c)p8R*ZhawH z;7JpfP^dgeq-b{h<97J7e^+4r!M9D6>k9418=orZG)-vJaMHBQZeT=gsO!M0h{95L zwkE1Zo32E+eHSG-1)H|*SB1atG;Sbp1Jk_*{U=>afGU9Gy!-iY=D=($l(8sDXz!#* zV0GY3Ut37G!fs51?Cj~ZxyvKRf0%EkrgI}@SVGQDepJG!H8MXzG_RAVCC+Xzqlb(v zClFThjsQr^XB;R96?nnc`r;Q*;()n!G&IV;+*CcEy@COLR@pEH%0z!6eu{Z{&>wKd zC|+soE_)`6ms`M5yiA1i^nI>q3?3GRRVr7Pylaw$lQURR55H*5{wievxNZxj?!$cS z9{0n#5pE7Soz#o7fNv(OgA}ukxQ{E!&OXlZR)t3)K-McYVOnIROFF}Y?me@vOiP^! zWx&EGzDG>)8>T;LHYW8D>%Q0+wGY|9dg_``pF^$hzXR9M{r#?Vx3-8)#%4**RKuQ% z{7gf>JlTEYOUlDfTw#v-Cr9HyAJ<2+;9krD2W7{ms_lMAhaG}2kdOpr*fbVf=g{+-lxmv_)U2LxX@p#k}$=8X5 zJ()S|zrb|KXwt;br+@zzYqlPLyRx#vVX>|!`U}gPTZJIdYPupp5;Tt2Ga}N0f^70V zK#oa;wRN1d}h)mDQ3egQ)RZ7Aq> zO-e>wRh_^9AoyQ9#`~=O_UfmCL;KQzGPmRu z21v7%5`)|bx}V8cxxmjhhC>w;qE67#KdW5mlsj%Yu_Z)-KBExnvK5@8`Rw*$O;-ax zMLsm+F<#O}&(1z$^}Vjn?b5a5#pKBxnX9nCf}ermBPaII&-~82Q4nzt@{>yBh4Lzf zRv6XAeHuX5qhkmO#_lh-?U&XV9A%UI{A%pE9K&wg{l!KoJr`FZpsLkzVI7l!L*M#u z@Hu0#FIYVP)O8wvh+hh{|0l=&Ns>=KNDtQW{A@ILlZGXz`u0x4`|BNctIP@Kz7m`< zuj>Osj+<3=B`pgA0dPAWY7dSdT#69<@k#TvO_sy#n8y*Gkh3<3LhdCg3~$hQH~=hD zi8`K!k#1hI2C~D~7qW_u(q9A!NJ*uEwM}Y?x$$k^aKd8(0bQFx{0cAys(cdaC+q>| z3<+ipO}{<2$0ZfMew4_!@|51^7R*@Ktd%}Ko3Vv5ISe0fjg*OtcQ~AIau3N07jy6* zg|MTLyaZ&REkk-q750!XQBewrL7qnaF87405OlEvbIv>E@@y~P$ng6p2>vz&7HS;y zeqP6|ILbq&@1HTAK0B)=BM{ehX>kR4xl(j&RG*rzc5(UOpL+a%WW-5T73hOJkNcrz*h4KtlPIp?8Y+^Tin<0KKtGAgr#~O&+@aN%X^E} zJ4{o0^!G6+_`6R(k$v{|ebB~!qTw2Wf?|g2b|!kYsZ;1^qQ|@Q1|UKO*}8@t`t3HX z*aktPMMQbm$?jz7_hlK=#nIP>{SM+UKW@)?Hfzm>cIwzsHXbhyGedu!-Mov={^kDN zkfwUZ?cNN#arVd>OxN2ot2AEcU445dKFz^e2eDLYj^dkeISlnij3*pQ--c+0yYY23 zNzeQNAh%N6KWgaV!hkLl0~)ZM;wh%rSU)hy$IAls7~eBF>gV(L1c@o56FUjo|EvFT zIDv;~%-z^F{7?Hs8BsN;$+za85B`(%f+%tS<8}V*E|Aefybn0Foh~?s1drm9aul?+ zNgFRWlZNgmh?fsrCo^8vnT89MhX<*cD+JJRFf{H!8B{dt_ zKR}N9y^NYQiP2&W6TMm@l`o{q8Xnlsd*$%dcJbi&VyM{k;t;>RKMmq}Smh9{0u+zC z(~a)jb(eVzVqqukRNH0?YK_N7XC~+S1|QM6WgzbuA2si{9{IVSp#9N~4$HSj~3+|!Gt9`n}ALKxCI3wSv6I4omXd|>v-}Q(d>Vxx>{<$lJ>aO zG^t}@d%eM9f=~guuXU}s={B{f<{D>1O%Q%yynHZaRqH!T=z8H+;*;#ZOnf{3woR5t zkNWYgOzs~k&=%cyaFLw)BdKaGzT#m~*b(o4(?2W`FnayfSg~cfJ7DQcg;Juz1JW zoO7}EY3v@8R2*~8YHLcZH6-Wz%62ci>|sK$O-)TJJUX88zWx~)x`u7N zG=G=Ml5F?cp5yh!pvbkb`>C$R^#WVoQ~Y-l7<+MNs;PoLC;=Z04F?0hXqs$R@cz!U zeT@o{77{&8h!nQQ4e^hk7A2r^b=yoWY!PzzQStRz!ui$Tm6e&vG2!cTNB8ig_T&*! z_>^V^2-HlY!W}>$sEAtELOit7_Wr4vv5_vxDi{@b9{vMcMBG~c^JViEDH|0qt1@v( zh3vw(3Us9-s@&C1ll&{-?mzC06xb4{@HENt5udo#3Ez~QNL)Hhpd33C@3N8d3y(E4 zM&eC&>Rd=PG0dx-lVB;mF1mF;eFC^n^!2~b>WPIYX867NOB5aXjO1J8QbWmiqf>-(Gky zV^Q_vQM&c_HL9d@>V5ZZXWk4D%f@+g10JyH4}b;s8_3vU&0zVX3X{@z0yS`*TrNaq9XuV#g~_Ha2fz&G6v6*oB6P zH8n20CT%d7EQaX(B^x{YietX^1I+#p#y9-_Z9LEmbi$3qCmt;=jOq`=Gb7{ip67fV)7#M^`06~6oC(OUpUW4g&a9Wq66UTjUYxV@+I$4o zoFSs?G@CB#Gc{F5VHP#1^J^%%_t4H_c{^;b#2h;uMuQP8&v1RErlZr;yF@J(?du8F`;sCfDcd6^qNvfC@b$R)Yn^bA%xU@|&2J%IRUvh##@j3^Ov?VS z92v5h@N7mZ>)$`_?#$JH=CU|XP4&E`QSj>zkxL=X&?UXa5oGlH#z>`voGnS}Qq6c* z(GSM>MEYGHMbqg=C7fdJ5P~nZOnrp+(DeLrV2iBqBX10d5>C$pCx{|lNOh|UjjASdSmUd zi*jebcC%c3k!OtZ<^0XWP${Th~o3K{QS9q%ryAA0>fyH68N#?Oorw=X!K zL*5*nlr($w)#0Ve&^|xr%LU)(qo_{x5QfPfXmlG?f(HUidX8dFcfzpS+g*2c}bzrv5*=t}-mDc3lgibV^EtbV+xEC`wB=QqtWFC=CMA z-O|m_oze{5-QAsMjr;q)v(LHqzAk?_pfI!6yWaPC?&l8J@xO;D|J34tpA^<`KX8O} zYh8k-9d8aBjxv4jyhi7UorKWB8q&)?qNnIFaO!CyVS*VoVByV{wZE_N3-*fMeoH_AwHItOjiC2~1t z(tD^Rr^Glg&Z8hUXd|^nVGZ>UN&);CglnO6CgJ^`?Xt{CW7#=5BS!(wN(=RlhI~$m z#@#!dx{O&g{K6U7>bnn3Hz7L*AI7rFhWq=$;~*y#Bi3K5*Y{KTOSJTCV)Z5f^&yn7 zM!se1WnsGsv+rCtMSsg9A7#IxE#H;(ZDr6qWXX@51+W&=Udulnu8i;&J@3#J3S*h9 zX3W3%L1y+N;}d1MOYrDY)XVmFc4P?%W-6GSERC;>#VNUjf=)|u5c4`ZzDoy*pfX8) zFew5gFM87>m+ij9B+yPv;nxfe6sE)KB|!LH-V zC>jU|$8mea`~uVq`!|moEg(TYhvQAbpQT>S=(NvSYvpl`a&xeGO+mHmO1E2S_Efvk zIB{dhOD#7-I!zkNZijV?(UhH#w9;F}#kEOKaO7;2C8had!_~7CAx{hBn<)&jV5K~wcA z%siC;G<=7m+9e413?9ZS28I)Eij~ectG!sOtWIByYR0Uz`TMV4Ixn#-@T&*9YhIX{ zwInTF1!8nO$Vj0*Fuw5W3)4hQV`pclE11^f{{hxO~DVd`#PUBDne}id3iwo zZ_A1NJ0-|y7^!m%h7gO|HKt5FPt3b8mjs}sNssLnlgE|gw(_XKR;zelDFxXI)Xo=H zua}p}ZPF_`R`2zCY?qv^vq!hQKXjjMa%T~IoTfZKs8{Z@YTP3qF1NR?FVrD6n=QhW zNxCFCcywj=Gvi6x>ofjwtUi_<-EZgY9HrEWw~nW1pjf~t)Vidq<)c$yFj^Oyk~Jff z>;ov0?c3E>z;?vtdpG4vS9w#%)3#CD9pSMfzBRw|&|3U~gxI-~KwFbfX%dNH$BAE2 zw2hq|oIWfyUuc?5?1B;w_N=*v6FK+ttd~+d(FTe3kp`^}?YBNfeAiyYrI9EG>X2M| zE9LEAn*?z2dpwn3AmCne> zPN|RcxF-lDVK4W6tC96Sgr$NfsjE*w#1Fo}hIZ&2D2?NR5?Q-oNGW${*b}`{nRu7; zRgvZuv1iQ<{OjSCQf%t8W+Q+R98ucxAxnq!-BI&dj8!qX7g$( zcL3qHq^Qx6la{3<5ovGpk#H$P0Ah+->)|-kOvJ=sdz9wmFrnM|@(;Mm3myS}bT1Pa zXdyJ@()_6#C+(~6aCs|gZTDiW4c*n| z7jln694^d~v0pE_ZV?x(v4`M$&6h`La9GoSOcmVnOcXGR#TH|JvS77bDi2BBJz>1q zS@4MkX}wW2&Nabh&iVCA+Lj~a7jHZ{*zigfR|#yIERHDzy4<1Iod6S-7g`q2hWeTI zCk>_YQp}fx_-eA7Fr^=HS!O7dqGpi@*5hwn4;<)}9gDvfG~;P{oRwE+38~I1n4m&O zM-Og3kDK?$djPU2D)PsoAo4$WAF3<9cc)KeRBPNB6E+$` z&GQZ@(R+=WyE!fHpLKO=Ws}xer^Az&W?(Zc71MbzE0lj@zz`xtDBw{CWZG0Tx&55Y zOMU?_WAOv^w7x>Cc|H1XmFJ&qONSz7#Je1~$&IZ<|7`<@PQgqBmPTm)>T%2HVLZ__ zR4n1>|68(B83VNc4JYB3l@l28K|(_Qg=}kOMPfO7{@iG5{r$JZRsUOv@K)YImi903 z##mE55Ru{SFmEU|9v;V--t6fnjqCOFfX<{|pN!NQecrE%jd=GG)lKK{%QsejVum&f z6I@*2%=6)Ma`{v{c{@x^?#4jd6Bm}osK`ZqDw(2164zfc&iISpVcYrkVVe~2ykXHe z9q~|4Uj5w9@a-E+`$YY#jm^zbRb6YcD|+SaDM8JAs|CK%mBf^inO^(rvbbMAZwpJO zLcTT$X1gT5aAA}+?4Bd!wi@=v^T%pPsR%ssdNQZ$0x@D3n(Sx`TT(+-cUp5H@ls_&72*sbrRcV3$ZGM&1>Sh3YhGwp|BmV~!R%WX@+7tpDFAJdfPO{Ukd;zM3_Z@uMEqT#QeDPSd2B+$ zvOlU0OMMiI$uuOE-ZBwhjX0zLQ!Pbr}Z-lUNlBE;{X$<4k6E7 zj1&P^jo>czqQ|YE2ddeO+7LOAb0goj_y=G-EY^Oq5oG2o;cOz z^9O@*cVlB}RAM22(Ct@lfH$vHWu`D*H}>lMvXfQObifa21af`1r!;{M+@%q^~&I$1Rvt}y06f3G(pp% zjP+~FpaC!Im&(Pj=>RJ#Iwg}a;H2NSbNGR+0$5jTzUJRlo_Q(z1&}n1os|<%-+JDj zFDd#CK7eXv%-u{z2}cKG#>f~yrZcXvH?Za+0EdAv1184u$7Uh!6kk_&AW2=jE|E5> z?3IJfPpgxBMgL3pcg9@VImSJMjPd9=V?#-=ep7w`A{= zuUR7tn09nm@E(xtNyDR)wBa#xGe%v&0CzrNRVc@4 zRVWK||BMk~#N9KlT2rnDfRRLlu~)SRYAAu=kI~K_&(4-~#f};UOCgwuLd|R@nU3>0``W%Cg@?u$7BVoFIT{HL=n);yGO+B(Y52HSAT*x zo=jLY{$?gP$%;(*#HMf)4F0!0nbrh02PrMaxLlrxmr4?8fL^tv$b$J|$e_-Fb;9xU zXNi2z94ozu#3T&4>$|%c`qh!{hLLa21Eeigxd7lmNm`-@_An%l`Bj6jSpbCxs9x0> z3R{kL@i7T%;~1LdZdEXA)k;kGg;XXb71s011!~UFDf3^$k32m#kZCE3OILm5KgjMM z!Nw$!Rc2g|@9w5nKsYg*td(h?FVc+n7Fw}4Rta-(%ORA+sYn-=4@^~$FCz9Rk?6** z!*F-`jM=^+a`48e1Z;C#VDqDyTx*QCy~7uwx6{5?4Y8(DBakDA(^ z?i3BbwE!K3fAUy);+7u2`lyqvpwC(w{z(ii(Os zDXTX^okKl3i#q4mU&6PUG^fJcH3dGI3?;|-@Q{FNt3I`t+;|M6nl8x(cT}AL+bJkd zMrxlE^Q*E5j#aArqG38lsIPIhZV?F5k`mTn9^@h7a$2+DCvSj-wqA07e zU|P?P+lkJSOCt4|na?e4o}KM$x=z*^#xhCKra4u<5UrhUR_l)=*GFP%!qNyk{7xQ4 z5}FRhfCFWS^p2%K;2Uys$-}&T#e{aT=e@<(T68I|HGv(pFXk%o%uvd zYtb>w16m%GQNwut6@#icsR&c9T$TH8>a_#BD60+#tH;v5;Kvt?z0BMEJ`z5-H4X{Tq9+ zlB2*mvQkkV!I+#4_MJ}bn3@WKz4r`d63gLMxgJP(7n&eK>eZ;l7Xx07CGM^{nwEri zfW&i?h3#HW>WA|i1i^s_S%3~@6lUcyIWdxYVagG>ee$A%bA$>RHnCor9a-4epWh&) zv06sT!nmpvKU&=;7O_JP8pGjk4X@|69dJ;8ZkTh-_?KECk$eZx@a(G^!i zK;pujZ}sCbWjV&x8WnOLFz;X^4ylS`)Ruj5^J0`Km7BigiYbvhdl7Q}b0<3P{2Zk~ zxdGEQjc2mx(Kpqj!lyzL$wMkUC9i}Wxwy`h`yK zSm~J2QBgAxU*+yPNU9)@fm6(3xK#Ot`8a%^ zKUUbGo4KD%L}wEg5)!xSipyc2sNHbc(?)AKEAW2F`c`_fdkec}WNgfbFOcij#eK|; zRa4~MyO)CJ@(i<;woG-kwZp*J0s;O)Eg=9fVS2f>T){(ftIKfV(vOPkwgQ79?jM#T zn`xQCFK8v750tUKK|pMcdYzNYv!L);^Je{QG8_PE$VM;~vX^-08-3&PC7(~>kJf+s zyLUB70DRslm=Q{yoLlvfNcn5MEq{iqB&}=*qW(U2{NF9 z@F-RmJzq+!RhgFrRL1>=Q{ zrD}ElIWlPSa#*QCalMIlPA z2x)cYgua0;(29n3U`uunUUT#(`Ex4DZ1x(v#iykwjZt6@PdU`}W>@$a2Y@PY2V)M^Cq&|lT4I&@>?$57SDHY4IumYk1RI92l3h*-?UlXpKZ!Au%>S`990hw zuY959aNHkKmx{kc^NA{}&_iV;z?OS~<5g+o9ApAv2EM+;2#p21m2h@?R+>Jg$W9HcWf z{%UJ%NT5x8yS#`$T^Lz1E3?qd`u*lQXN{HSmNP))vYQ(eJPez6ma=k}6ta?Dva}6X z+1+&391pjj(SS?^}q0Vj3mJ6~!P1LL@KI0c(vOJjyUNgR3D%q^C zU$>u(m+;Wx?~f9B%ut|*_LCOX3@ObI07n5)sHb@G;%|;Vf;jhU0{1oLgO1HmrEZ!M(n|t|%>C z;6O1se@NS(bE-d5k(88l{eyM?o-PC)IT{SMmws!Q;i13cs1RTtR5Wlmuw>FZ*5PxA zF*H)L>NbkAUvv*Z6||J>QHNGGaf=T1r?Ychz_=oDs*vuX+z9k#Z?g@{7LnZGOVHn5 z0KE?4JQ4QCyd6^|Oph=FZY~h}Q9}foYcovKAX3EzQg8I?s8M zKq@V;EY05s1|8H_PFbpR*K{S{4)&T`EmRL3^>{k3S0}m86W1O2S88ki38rO4f`T<3 z2V{R8MbF>{$kHFuU#x)7JYDsAcJzD1>zeHbdi#y|>_C+ZTvH)+TcMPsK+J6Qb)-^$ z(vqb@3p)|F(hRTN5^>$ZX6o6WHNYR1WO+EUX~)go!k!GSzP8|uYpAM zd&eieH+Qr@*Vg?Q{?->_L`o^6s;;YRJ#n!Rz2#E!;Y>%>X)yaLF=}eQ-ZEv0;MOX{ z{&zyS=J$Ag3e^FQwv3~MuGp36;N|oqxXb_g~=2S^-?6u~C4Qr$<+vN@m6WqF`lRr%Prb z;05r1`mx@B=qJP7vaLk~N;gLMm)9Roz^t5IG{5pPoAY|)SuH)jUP*}eef%((J}_XB zFuu@)pMrI8tY9prRKae#V~mY|LvpF z!upB*h)-kj?SHZAb<&VCoZzcBnrs7r(FXnfs;fqj2<^Okgt%lxv# z$B-g<9rz8N*#H9;o}Y=3(!+Ra8}Qmq;QqXR@m7q3iT!J%p%G&4cywkPdZW71eKI{! z2H4&%NITo{g)gK&Pmd5G8XX`_JK9e;lw6%VAR1{C90+QuW=XDL;$dix4@bd;S=u&E~~5zMe^f-7WVXxxu=)7dU7APUA2u;?3zAd3FMU+-Q(2N9er9?7Rq6cA z4*b_kr}y4o*DX#=PdOoAH4_sP@vKM;)X%tKUnP%Lr7Bk)abJ~16s^McZ=7)9@@$=) zk9M_LnLj=Xt?#X6TSSJH;IVWoW?<-10>7;7&AP{e9}#u7NRI^t3VLL6Av!;=P@8EMbif6XC{SL_ zh6vfF87yG<*c*9Nq^*sT?%f*ab)}eU8x2Fa;Y}h5?TSU0%`7NRitu8z>Ax5gu=7wr zExaH8rs%x66LudF`|Hk^*+VHh`;9ZEB>&~k3&1!j4fXa$ea{v<>1ZKeq3DER)Np#$ zP7N{%PyWj}Wix4=C0tdLuUS>7usr=*vTTo3LykE#tWoVuA z4g=vFKxLH1T83PYpJ%qA!GMH5Gtn0ren+ZylHnOSv)1X`Qn2|c>>A{b0Uhu>B6Mnf z`00gQS6?UpEB*xb@2wIj8`w9Fmw-?h@$3DfErHt?e^G2zD1o{G$A1gCuv|*=KVHru zIqw%80xtv`__t0!pSx9NFxnaGv+?JgR!|WsM)^Hs`-ni!TPX?I{AtqWRQ|1!w~MSa z1#@{#gG^%J=EV!UU0We%WZ%FaOE}#&_DKU2MtFF5CoL8Cx^)#H*xY!GWdP z1Ga}^KN_!gq(dx$Hy;Z~lqP363o+3J@_Hholi$tE)M1Ib&Oc{h(>y1JW0WDgm2M>Z z)#`O6;hQA9=a)Sfa0)#*S{32WcWlW#{NMH}ZsGU+)j54b`UtEu6~7nX!~UV+|1xiS?wIEa9(Q!S9s}ngQ6D5Nj6&)Ej(@b^n z4K<5ya9GR(d)+g`N&*<%w`Y~Bl23k0?7-~h3p+ng(#muZ9|yQh9YHVKCkC4pncLXO za??_5VE@y1V{tTtcgEEYuBxLd`K$C=sZATvhmY+k6QgY<1BgL%6>84m^w_vqrsedb zV_@3iY4zA6RmMQo@7gIol@gQtjjuha!Yb@Lz0m;zh)5mg@?N=yA^wevd#omLnEYF0 zzz%GnEsaxOUliB<(AM`cE0k>66pp#Ovlk{qK#yKas}y*oVK8h|fW10d{)GGWlQ!C) zk)hjAmhN9GM~@TQZP);5!EXObpZ@M^!xmg~3?zCP1tfqxS`hu6N(Av7B-lfeB39x z^=#(+9AJAe2B#{AD468)uJL9naAi1;UL;QGyPm9y;sIWp`d`UMCZ;w4ohnRmln-GXe_gC)Y-kO` zE4ej{_}9k&cm4U-O91rTkL))vc}(*ves7bdPSvpB7D#%2(~_IppxpT(v7|J{_qnyN zjeE8KbeK9eLK{sx9~@FCa?R$w*vhol8#9&8p;LVP!nZgED!3zcNUAofQ+?~3tI`4& zJZan;RHIdBRC`mAltf`le(Y=^0}13(-uN!d3@^!|osW52VU5sKx$%NgSTv(8Ox^A5 z&wQgC3O*f@AAYf77DHeeLN!0{9p;*~udnqrtdEUjNy2ALE^qR+A%c!IcwzV7K}ybv ztlHIuwYE)PCf&RJ@$G_7XeTZv4AdDW;@od+0<*hxUR>D)K%vkv)~DN?SJ< zJ=-|N1l60Iyu%5713ourR;H%>h~!A-iq~F;i5h8w>;1;8jW*A=Z0w!07}QK*^QDI~6Pd3Yy7O*q|x&g5d9NUr`f z2NnbWxc%+yX$P9y*Woh`qf95dn&PKzSlfLH+asyD(~%} zHZ>Et=W%y}0`DtHr$TXotI=uek6`={bYG)Y_iu@okDlurO9~(|j&F$oPwjIx3`sZ+ zc=z%ozJ>y5eYX!lyc%}dF6p@FxTxQbXPVLRHGoG|5BG0?m)X|f=EX$h-a@@YdQ3lF z+_XtgaNP}R{`0Ry;UbV+_+kIhrLn*jmXXFfCF0WOrmWCPZ2mjYITmXgc3Az#Rfmx$ z4+lVIzRSFEcAZ`ac@#tfO-%y5QV6M*#Q9$d0M`?yq!nNW>K9jS^=fwtIB&rPt#xYq z1MMb0nUOZ(jyRddbXLY0XM;xO4L=CSb!cQ9m|8??Z*mGVRSt8)!{cf%JuFApOjpwL zYQL$L;#xToUN^@jCsX(5QvkiA-x_XM8IZ~2p%~)$de;Y}I2YB|m z>J731En78;R5YNL29_j%Jz{53D7CbPh2SX#2fd|g;dQN(l^P1KPI4NWzO7xWU8z0c zHMLM%ZDidb=|8BHSkMY%+J&MU{fiNIhdq|vw&1}kD`sc=GyYTFy&lWbo^F|)1|}iR znEIOq+>5p3DpY6taCb>TE5-tS8db^nJw!3b$2NF}LnJj0hn2Yek0<+PT39%^*nQOg zelHcxG;*}6yQ+q8Gz*U^qBK~li!^nY&ivl1)brqlB)cyB)XUwZ7h~*gS9*j{n5eF- z7P0J?AKlItG%ZBTrlv$O9HCEfcJA(16XRfJE-?8_GL1MpA>P}VHWuN?v^)?Wue`!#tdcFj2S+8im( zWI#j2I*hP)t6;&O!sBqUin93HB4T#v0UmA4gkdr;AFHHb4n_O;@-l~JwkG=#BKQUT zbqB?gVKfHX;`RqHNJE=;QfMuJA(V94EljE)PGWIE?D_{gth)gqC!D$?9;@oQ$w9%b z==&Ux5BcjG&Qb&6_PE`l5bZA=f6yCa+5hl%Q9PYHA;v^C!Mxj31SQ-;&ZteBYTj|F z5mXXpViI{c`=5RbkGj{Yj?8AcPiX8{__3QSma`W&m=YqV6)V>qrY2o!wHqal{lPK0 zx59BK93DlZx)u;)~C_U>W^1@qP+_x_V9QTCycO2KfmhXy&` zKbJF`UnlC4KC?efii(?C>$y3oI{-!$%=Wm5_NClXL#34|N0J1qyrCWV+-_7YOowB@ zvf!QhPs<`SP5GKPA*+bMtgjHHe!`>!fVtd*{~ct^+V*4!5}pn2E@W#Deg&veeL3A8 z@4YiVm+BBV{0X$S(&iiP+X$hGedYBiSv=>U_|(cBGofkSEW7p_g`2Yh;2nh#Wr3fP zv$RfL>XQ=^ zs2-0$QRtGAA|cWxewUuXCBl9W0%hmU@p*1C0#u4bEXn2qWy+n$yQC174>E)qC0w1} zex03$w+F+R!C}o}69tkAz+8ilt-UP27CV)IAi-hIa$@`O?l8NxRntqKWK@l(e4qZCIor4IiKR5HIe&=O6L z0P4J}n8=yN63v&gqFsLx2-(`hIXf9AKqJ4^3xJy*>>JApzWz2;OX_@3#$fu#Y4(3R z2k+;YdMm`psqF0b(v^wYO6vRjOcD^rvhr@d5%!QYURXc9$?ooclBAtz%he-awfUlZ z6IBx#JiVqA+}9>TX$65x&esdtwR{ao+$O#cShb)Be;Zd>)lyEY`~Zv^_}jbKop#G& zk}d#~)3J&uv@w(@Q{PhhR!geGlp35mXIh68{1bu+I^rf*r8$ANpUt&^bi{vN0){Hs$&lO-*0xu8UiXlcAsS~QnOL$H4fUl^Cged;?Dub|Drl!62a=A^zoGYg_n_cdaTyN#M` z-y23YFRw?GrU#}81dBgaJ3GQQkaw6>ixd~rqPG^|v19NP6KK@aJrIu30|ctFSkWXm z#;~FR8=im1w3heb*uWJ*+FHoSA@eeIEdsPrDLsu{SA!)bm;7&)WC@6AK-?IyqA`9Q z=7uhBjVl}_|4rN&r&sp|VH{XsUhH+Nc3aUr?y&eGq79>%)LCiBoq!Gj4G zZynQ=y3xYF8dCzI@M3csKBmq|lgCG?g;F{|{|~`Hn<3sA&mS|JQtoOGMY9uP~evOX_H~);_OL|A}o%G_`!~F>T0G!avUs$S69+l=9281 zlarHgiH3@pv-Ta)dJUhlbCD4=iRPr)eDuu;AmEvDsE5uKD1|0Y>>RITt%hf7?KBh7 z&bCw7YPXvxxoS5!g_5}a0v83$b;4S1y6uh=oES+3TjZ3Mq95Ej5>B)fmNK|O97Y0&b zrjW!CiJ`6|r(J9-fuP_7AIa8yvGaj22%E2_vz|BUP2iocpkzfYx?#{AjFhP<*@-iK zj=!8F5eL@CGh~%90`2`?*Kw$>9;5( zir>6bFqRY0U0%YW2@6}FUilo)$fBVp0^N-~+8<7`(hCSJz!3@s=3GAx6z=yC+P9`_ zUCb`@+zr~8khRt4wE*&+>r7`C&2Vm7aZU}5OxzyhxKUdPR)g2fM`Aufrbmos>Xalr zueYiX;yfQ~1%fA9obz8;9=P(CLmGBu~0E#y2W76wI%iGAPh=S)*f3LuHTQ$KGsyHM>ku%N2+gKQqJR=_vD z{e;_e?ZXR1a+B`l4R&u%HNodel|Cv~4tm~NK7~uaI{veOHpGB_m|-9og10eB&VcK7 zD27sgozS7oLw8c?8y`F#4F61-R}d!kkWo`0j!u~N7P(v$7--2ZSvz3--|0!K8{G9# z==l%EK8z>M4sC=N556IVltCkrN~6Bhtg23wJkz=$xr`Yaz{1441>3K0u-o;PTK8#voNUKw4P$ja znvGELsD58v_0+0g30lLgYcv|0#X8_NG}_$v6AN^cr{?Tp)o2ItaKsZP6uQb5K`{ zTF#G`|6T5zRMi(>6F;fZKDInnF)AOGsdkS>hR5|E0IVZ>mr#!b8I5y5WK1*P{3Os^ zIv$tS7(Ql`EKshS6UE>Hg+RaAkpUY}AyI){0mV%~Sjb3ug`3d zqcq6q#Q0!{t@JY(8k*LtwI4q+MQN2gIbT^xHvNdolDrZDlswa)=>dAn zBmvpWx7P;Ge3Wmp*np3_hc%qtz0v{?^t`J+$;?0q_{+;TAV6dP7go>@KCgQ$9sVt& z$z=CiL+pC~a-`(EAFxxn>?}XO^kwCnb39%Ds&ToqHM-!^St#BaXzR6eN`#^Hv3c*+ zj-CFJ!ylKb+Pz@IW&FzRgvd}Mh(#ABWqj|=fuPtw=sFYkjYuBl3UR$7* z=8tWS@E;BRIxds1cUXZa>V}nvbe4aip%p&RKijYlj#{u2SS;-dPTf+Y*xYbNvfBY#Qzq?|2oD1_)Be| zj~T+~F^S^Dc7X$?=F8NJ?@HMB?rCe6z@?=?q5MfRy@5DYC%`&qToUh;WVJoi-BMcC z6HE-c5$5NoOilt;Nrm^dzm31@_gsT5x|suBKxRS9OQp@l`gV9~{fNol&X+d-`c96y zNMqtHzOdSHt2xqmQL}q zV%B(BeC*b}XNT{Yb_SN7hDWK8O_#l!E2g{Cwnh1!AH>#v|49F;M6+ES?6=5xJ&7xn z)Uj8y6eeHzgcDRl>XObYgD;$@Av7$O`@DA1Umu8QdWN7D2neH@kZ}&iyRjLpiJD&?2ls%^J0`?!Qj5>#FKN!#l-!wBV61`Jn?^SE+Cy-Zeh7@$@v+vpn22n zB;~}mk&v$#0{^3eHmWNDVFB(G8R?fh3v%AIFofe5%k;O2CTSeIxRN28`ibt|nQHJD zD=?-IDe^5$VkoD~pbXsSc+tQ4iL`X5sPDO0W~XyHLOcXj9^UQ{Xtc+%FKUT$9|c69TRb!2>FLQR4u=C^w2OeAwf!--Z(x;B zKE4(p3GG464~u-QYc`r zV0GSAknJ}1_2{j?N%xT4*d=kpc6Qst*AsYqLxqTmT?H{QEYDg~W>k{%MyHcqz6J#_ zLsj+hjFygh%YE!ibOO3?9M#`SnVc4CX#hp|2Y{&urkXy{N;vE)w88=?uq)Q^Rl0Jj zBcJ#Tl^;ZZH8qs9C3&Sb6a5kzw|*zUYzj~n|E&V$0aign#akX#o;&&#YB=Nl)BS^u zYvD>7q!kg_avx42j2KF-^P$!D#zv2w&4H4kn<*q|>S47ncqWgKupvgL62<{j44jZ> z4WL}a5%z{WhLw#CatTN?+S<#~onW&e5d^0QRi0z#vriyMFvC)AoChk zw+wCtfWpM=z~p7z7Zka!1=s6gQ4XN(tq6Nv^;%&drtti+J>k6XC*JwwT)hlDpUtuj z-3pk>CFNm@h)MVHh2>m%lxzy0xW|2To=!2nXPq&@g7Z>SA9W*iuqjf90WgFrHh*A2 z%S0Tc6>yA5)@uw50Nnlk_20WvDE5H{lPaAc2?++XK#F?4o9L2S7ii7!`WCaQzS^$0 zVJ>-d`w9nhm*au$qIPQw?|lY4zj(!Vg2~Tu97d1{@QNQioq#HhffFb4&fi8>uD=#h zWS&Irc;9ra6s(pY*-td@lq$9uT}woqYwSa-Dycu>*WNC+bL;VNi%JIy#3+Ga*lS?3 zBH6>j-rxUj`GSLu-M4rwI5=|HFKdH8`~stl_S-;_1#5i9b^-%WPnye50$|q$Xe2S- zLV{?(t;G_W%i2zm1Bv_fR|CRH!j7z6V8YC1`Dj&ab8gw4gc2M@Bc~K){1o+dERrR7 zN3+pk^9wl(vKue+y>oJba%f~faM#?=cjX9M=EPnty_ShuB%wJ|Uo$$9>NoA|;oezv zKg#gAbHZ27&Jfs}uoitv{c3RsyDxHsDG@1=iwL?QGxw*M-ABLH;Bu?GRqW&O?Sol{ZRH@o>2czZ1xIE(a@Q`f`K7K zFu{+)Y0}X{T^^WWy!Dapw>10s6pP^onX0eJ3QsEJ8_qOX8aeIb|hZkyo8p@zd( zSq5tp$lk=MoWyAp#MI2RVI$PWaWi}lyOR8%`ve`r6E;9js&1mdAp8`mL%=2di2z4T zDttdDJzZo)LgD>4@+w+>{s68LU6~X=a;{B z#vf0r&mVGFCK?lw=fj?cbg|J%MGbswTN*JquaYY6=d7jjCZ19;(Ah~G4%5D@hR6I= z?7|LY`TCm6N)j>X!})F*5G2}J&K628Fhh_C$YC#|XfBnS04IV)fUG_;FoT>2*q}I^ zA6un(>cd+&Ic?&z-ctcC9tB#Pc=j$$HOu1lZd9=vH6ZWQ{d-@HoQj{RspLaj?m%2; z!sbwd7^N<8=6*Z>pCdRKU_;?HbFiVX`a=9|#pp50pjMnrqL@biz6X1YbWzCD8c(f} zjsYCki7@`cFJCp>sIzlTdO^2$H$T(TYGzGLboFeFBc^W>;}O|gK0D8h%q?_i2Pdm< z4;ZMx0YvcS{K=cwibN}}q#=H;-o9CU?Po{&swLEYRuw)J{B*Ag6J>uS1Lmyq^_f6C z{U}hI^N)A`M$V{zn^OvCD=6B(``vkLXqreMVE}BdN_c%=UxaVJuC=6qcgn*BGuW12 zTS9!NmI=)ZuAxr<7~TO^6uq`ETCs0(bKD-ZrL^|!w1_t7t90csS){0Pa>o{G;djNA zN#IibG_m}_D^2KA1m=pFyX&_X%@;?_y1^l&Ui+A{6*mlyUP;v{euT%OW|KvT2TzWg z`E*ky+70hyjx5CiOelcQ*-VbGSvz}^Q{wu5Y-nM;Sv-R9G&QY8zCV^}{JyV!J>TB+ zG`4cJ);$<`H{c6kTT)Z1;b+p0du#bw`ihD0(m;0Ady;na!IW+;`Py z?;p78KK!Y(Q{~XpQ3+de1CQUjl5E=@Tb+pT^SPa0GZE)=&V?8OrxeCpKWGW2)R%AS zO6Jk*+IiEK49}*FiN+&y^wq;YfZ*d)7y7u@!v(jWFPxHuMEp=BAU)nbUiq?Gw*x!T zbcR-+`}ND|>G^m9l&IwE zWBgbJJEP(>y7G0z(>H#EfKsPc&_0c~-Ir$slh`a2*dUX{tPVN*Fg=+uzKb3#FFgYm zm!HCY$vt&?3fdk{(lg`~b?7ETrRLD*15fmzV+-u+!F7s;*c;?T*y4UsndK1_FT)IR z`HSop0m5vcEg-#?xQ!lnXlvNkI>(b;1GV2k)sZ6Y*i4e3O?G4@;{7&EU>kWv_!T6Y zw6n_lj z-2E4+Kr%G~y}Dkm863hK;=?=r!2RaUd*-8st0a#t$1a?B=vn`fN65t37!x`E>3U7B zz*f^yqsk6(!Rx8%G=$sfhFDl1iRs3ruIQ++Ds4n*fxq7f#Or#>A$b0thIK)OPjEhm z)3d^Xe4FL+lS({HlmyhV%g9UIXwERC@!xQ&~B!?|z0vR#dad@6@1L_5C ze6iJZLqoHUn(w~7YrM=^A7Jjb0up3E3Gt&{$<#TXL z1e6n!AWSF}29*}qc^tMNR~q)3aCogqv9W}d0`Qa8&-}(_^(*3w!@Eoi%_NclpB4SDV2xLE-O{Py2#wo77b7n}AZiH&zZg=-C zu-!MTSvhm%f;`pAtpSVHxvLY=J?QWI=TB=Y!uvSIR4#QM6T4bv+ia1Q`Q0J|J(3?p z#7b{$3`dNW$z>g?mxVU5LsDiI>dMl~KI7FLDemtN8JIYqG=Z`ezXHxr*suUKKbpRi zE3w@b7Xcn&1Pti^A_p>-SfsjpFVC97;U(}1PsA+ZXtLa|!e41;G{TLQz@OD#oxwstKM$YVo+T7AX`x>845N{URfYU%PWHg(3)j zwgUhXHx0)d`PV~$O{e4vm=}IH)-~ON}Pzsk-p8>e04#UCT^Ct31h=YQ`t zriiP8>Nl?iIs6ES@}IXTIJcIz&58hk?FyH3Es?0@Kb3#h2Ou6a zkuK?$PU-Ft7(lvFYLEs6B_yT0ySqye>F(}sloY=++rh;>_wZ<< z_na7THB!G3rl4hg->+Abfh~46JL2atTcwNhJfF808Y5sY(8zCINAHU_T2uHe6IGuL zHHQ1u=O*WoXx036Ydan1T03_2;|2mka!!_k#T1g(ld^ChT*jD}B6^IN&+_p*5To5a zdn7Wya=dY}xBtR8+g<9s=)FE#A!Vp_J;a&_2h2;$&o)`G%!fYp7}-OiP>PMTtxkhA z4v($F_H^af``gW0%`v^i{Q_PQ5(9{q2jK?2qkcc1fFQ&R)5i^HzV2_&IaeNoB@{(e<_tPuSU4 zVL1l1fwy~X6#P?{f9TG+Rz7t5yN8`YcyV^S1hof0=V8{Ll$n?wA64fSzo=$DOQ@b` zDktG$VTr7#y1|8IqZ9TQ{hWqPnej9Ewqg6|Bs!Nk!sLr+jV5Hl`R*9g3`p!acrd-> z=dN+N_}zL#AO>Cuk5c0d+|)Gt5*AkYI_h8=tv)JeA!6WD*|ct2t8oFfb@OwNgB1i4 zwY(af9IPqTxStA;%_CYgCwdewBdkPwd=<=fG12^}E)iP41+tR&FJo$#i zjGSv!y5Z2KX1_F8y>%kPFAbhs>K%PX-X5`25*KuO=G;|2DphsD| z4KD9M3`f{B-|1`ry#|9E&@x_javEd%W&}X~)SsFa>CtdORLJ8e9`a27=EkGjB(P~9 zzBvY${@m{sL6Im>Zm+bwLT7OCxUsqqY{vJ{a4nh=k1J%zu_$EK>B_nP-DRUV%(`Cqw#;*|1f|C()y<=LRdy`dd) zy)c8HX@&0qr2@{V{-@1HUymq;%x(Q8ckOaHI}3|HU&m`ON&H3BnJ0{MeZyO;(jw}7 zB?-CXs{J!IA4!hXmyfF(8~I5{*IySp0;9k8%mn6Xn*{hh;IECDjPc#h0uk%&6D#Nd!&=T`7^@I%~RrRi**8?6UG%PXXRLb5$L zgx)S{zkfNgnT>{yAoHN^_R8GcUYYIu_<`Jt3R!)63Z&MKRxh)AfO`|a&Q1g-2)fn|G(OEu;Ib3$+D>1b72vf@4Xq@X?+RN$ZH=(9eQ!57Vda@T8!p+ZzCE=>dG5FWZGlB2%J?B zzWx#yC0^~n@~T|iaZ8{O1fKAuS&<0NPm91XSyPH;i!=w|nsq(ZR<%fT{!;|(vMq14sCY)>`nRzQOrpb9KxylI-E_6U`V-r+kp-ReZ$^8dNF>H>xGjTPC45WM&? zP?JwsJrI+BX+!GlvQ6YQil zJsOKU2)yJi1IQ>qfei)s{*f0IoP>CSE-59K-P=nrMM|{!wOQmZBY1NJVC)ZXW}QRMZ8?LM4S#2fd63+W#H`ZLPWDK{K27N<_SZ_L|VFqREmaSC^j`(GCxi5Aqh?GfH$0rheef_4wst z@sp|fGD?@=l(y2sQ4rpWT&JU1Q{C~^VZB!ql8i&b;Ueg8?!>(qazFb>=#IbuokkJV z#FE5~5$iGRzedgo`BH{PCDGh8^($Wu6lEaXG@()5sPVpTYXe=Mu|3$f=_q5G6sWvi zv<4du4e|T+alZ8s1m5~X;oSl$ zSV~fq*Q7xYOK(nrKuH{9!prY3x{kwx?BP9e{Tt3vjyTb^lJ}(@v zE+Lg~Fs2zN7h$SYcH&3qvV}!QKXKeXf7+LH#DR>AY_Z=~b`JrTzRINd@DWkz+QEUT znO(*|IwRB)aO&bY>lpJSP<)CEr&0jY-Wv@HOikwmfHwWHOw&D?!<{kla_7xf2?2)E z>DP83+BSIkBi?-FBU6sf3nU!K&sX;pgVP5{nI1(soZg`GEHMnXKuq{F3| zmWM?pFEz0Sm@9y1MN%6gHrf|gor>ERKU|a;FO#96-i;}6MtuID5D3jZdUnd!7k5;& zt0yf@Tj^dAi0xl(l(Hm^#&b zxKW9^E)pwidFJNDw;%WxIP|cePtr_bADw*UBIo;a zjv6}CXFIUQwVml9prdv=p=W9al+*%=Uo?zTBnP}S+F*jxuay;03{ttN|2(;xD*rtk zw(vXj*Tw3WNNikO;onL8S+Sxzj56oFMSUTa2l8EAG}zCc2?ssnKwl%mO8;8!PndND z1TSR-;)49uX=-UP-NHXC;Olk+*nf?1xOhS_OJNC(8q8?0cNStj{domzPx+^Qy z7h1nN7RIg(Nwl{+Ui}Ruz8)w>-jv*l%q})9Wvk~U7ixhbf{uIT!va6^8a~{i6ZYjD z`;&S``<>FW>!UUn_TtH{I#3!-zlTWy>0E*?@fC=^G9#%CY=uB}(7$)%2G4Yf1<(8x z$m!q_Rg@7UeG3?s+$n(vD+CA#O*q?4I!eK8mnev`BubEEdmy}}N?ki^psuKRd%+}b z(Y}QcxFrXJE+@=xu}!$OMn=$itOXll=6&Ns=`#S>dBO?;Q>m&7Al{UYURBF)$|%^i zTH0PBZCX9a&evGU5P88XW^Z-lf&XLw1QD(;h|8oauB1k8{`+QObEjBcu{ir`jNo3Ay&ykL$ht;P4k>6Do`e&myyUn71)XGB-nDi|K%_Bq;kuxbeW;64J=XHvwI77>H30;;)EXJfYDk(R@Kz z)fp-NR|^1u6*TBfk$3P5gkK+hN>)BFt?QXmU1vJ?(|tM^eQm>n1v)jLeo~A%4bcd}p z!X`Cqcu-r}+WX^-N~{>Y=}A+hWCk*XgHD2x>k))ct$IJ3tyg^|I;MJ_*^O|2HY!h8 zQFRLP65bevIl-8fQhkFF6eOc;I_-NndwH#tZVfT(UvE9L5jcZ$xca495;m|mDBkOW zE)y;`1Z#e@f$cWW>poo8O#(t+$#_C=wXSrDN7+gIb;@vH z_t#^AEWmxDBXtV~OkKDH=l&e;2;6pdm=X`CMC)eu3&-^CoNUNtzx@wZ=+%eEAy|0PbRcxGqlGi zsMHc%?PW4nx?nt`$>C9WQGe1~7$fq1{NCp+jH&eR)bEK=BVS&)$Yh%uH+l-&PvdNiQQ!%N;~)3#rGf!U zxofJ4^q=}8q7S*r$v@=HjeCI^VOza=pNxAhI^+9wl2Y|NrX+x%r1*#XXBw`m>FOfg zxJ8592HTUrZ+?AnId#+ZllmRCQxCJr0)8jY{E_B6>(O_Yz_`KFT~G&_~$;q&>rt8x}f6yp^g*JZ7X%n z-~n>+rkBkDtOCGBvzyNiQRN|)LPzjadgL5=%S`XMaaG?J{f{O#KM%N_`N$qNMB+3ZZ?y!{%ezykiYZ;!ng z410or8WV%a>hM>%&h*rgCJJo47#An2V0lg&l+0ce%__fomnb>QL*DjK@T0l~SsnsH zAf}|Od^*9>^Z-I>v)E7?GkS>(;t>jsLCGrnRMqxa+g@3a8JOD!Xchtglq$h|>TLoM z?myOEQ6H{0l~*G4aJL3X==mNnrJ_DzlF|o-SMdFH>KsDZoA~wVk?-C6z6P{}6#$1l z%BBy_ah|C<$cR`~y<9m@c9_s{H1A%m&H*C*#?y>CSA%d7^uA}+LqL#u@Xxq|FM)4u zYhBjffHFbE)4shv8i7qj2QWY6S(&(Q#|Rp%B4e z1-SJNTMudr{K_smd!6mGhX2U5N4#J4zI&+zg*G@C2LmZ8popv3+|+2+C2>MSLlX-S z>@ux+Fji@7jl-HKqUY;Jw5VV6<)(s;o1-enu4VSF0U-(*go69wdf`?JmkgCw&dIXB zThlTt+&kqf2{L;@`WafB9O96414I}d1#x$yL0$BxtJNT!we_DD^&3Rt1sN3ouDrk! zZ5)jUIBBLg_0?qeQITIUw*Zd8OAv*qx3<3Du_ASVXZ<>{{!-<33NS}T7z~ih5RtkA zh4Rq(Os|t0Pwu=;o1Q`o<>v?W8Sxv$LVt3S^}O>U@!S4dteYGacbot1MZQ&k;CWi}n=-IDU5Q*G$6E0BF@7R!y0&8bV5~dH zID{XTX`18`W0Pq6xbe6fT6ex|zd3ELqBf0h(~!8|c%aX7QJFSbo z&~JNQad`Ep%_zjzMYGnZOS#T!+wt_*8LHIBm>H9JhAp3!kW`u{$veHaJ%vs~iB5eE zjP(P4hqbk~gg;JC2iZq#vNRR?lupRSu}3na69%qk0~nL+aHKTDiy9ijIbusbT-iXQ zh!dQt{NHIUw|+`W;T~ud?TPx88^y*typ@Gtl*%^1C&$o}jLKB^-ekaesCHL?e0c|_ z#}lR(w8l(vXUYC45w_}okEIkA5)!Rken*3rfr)}*8xbEbHuM%PYdwm?!puw^TE;p8 zWSuno?(c*^3L_U|JEXe3M+-?XB%V`J+TGtpN=`JMgL#XgAI1vZPY#ize=vr`7OvE8 zhc`RKAL%;)A!{__U}6fy#9DT58y=n(|M4T(GSEm;_H#C0(>|H7f>6`dDz9P_>e@9f zf=dSKrHCiCq5(BTRedb?3|%=2axJzQ0#14fC&HdR(*dSL#A_oIS7Pf5G*B6f|3?$* zaO>Zzz%1D^6BN}tH!V;v*tW4GtXW<3d3a=GRFL6~lhfmREwOxEuj#tfEY?#i@p0*VkSmc!#qAXBe_@AvqN55!K8vMy!9@^g zdnvTQElkkS?mHJf$SWq}VmsL1FMUQyH;m*hy5mc(1*KLf5es3Ia|7=|<)L@Z#D2avi|{l<_$eMwS=QnO>5VVLV+<8z3| z=@Is;OK9g$xJ;Pe2>i#nQhEiID^k z0c$DU>_4^$YzDKp7Z>OX(cqQAZB2rlp#y=Ka%!l38`|mN;ND*1==e}8VGwU(+sPx! zz!O-59V`m%`!F{?0%9r&iLj@$00|kMyHN?R8PDv?ACjYPmX^F@W1P7cySon3Qa}4p z>a(g|y8o;s%*xKDrn0ui8yUphTpc>kn|!1}#wZZ=;KW{78v$^2Us8~qu`FNG9xzdS z9FZdT8*3{9s}mMVfr|fFa^=ArO39#RLZVE&ZT@Et@#2KDXh2t=lX{xbpY@cWAiUw! z;xN}8jMJxFvL7UQ-ARH@28wf^ATI*`h$;LDqnJqsM@B@}a4P%bD5$8E0^EZ9}Wp z-ycQ#Frfu4)z2Gg^#rOtlf&__ljao`nYnAPLG^|z%w0T2LWoH``atADSJcak5F)wp za4Ul}EIj=C{&CGh`Bz&pe4&;nh+0(gTcVmE6Jh!udJmj}Hl*1fT+8PKI5^0ird+IA z=LOYqfQnO&TbkkOS7u1#CB!oUdLVO8CZ-f-v1^zwU@HZsaC=M`~lA2>0ofx{0I;;>D~4Xm+Y;e4{>mW&I!0Bh!~K)zf&yAg8?48Y<1A@VJGuV)vfrf@HEGk!^;`%1xpp2O9Bwn*> zs7kwb|E8+3_zl0*#)ipFcF6fT7iGYglaXl1eVB=-Zdv(oZd#f85@u@+{bQW{qO0(x z46cy0^z={Nc~zh8I_3J|?Setewt{bf%S+%VR3Kl&@1nygv-238OBj%m0rqEtGxtQZ z=zwgUxIYJz%VwQ`Gd&%~|S%(!Rt^YI7A+3`rVA(y5DtZb((qcw*2YE9M0 zr#pT0+S~dWZsg8EQPwaIy6U-ZM^2a7!daN!_I^<(Mk5mekeLI4zW~pzA-Z*DY_h=?*+|{J4X&_&k0BTQ8p4y96k@Tq$u8HBRGyf z3LV*nFG>IPJ=Z@U)vsNlvIFIYach z?(FA}(ywOhO3i(8c6MpoyVP!TZqgwWp)w>^vGMzcDB;`qxrT5Y?Q@ zr!G`HN@nIeCl2j!%K~{#;5WaF#j9x~Fzh&JHPXJV`$Ea-_r7ruffIMMZ#~DdsJ#5g zXT}COJAod&!P=W4@!u98uHgA6*n8*Ht2YTQJl4{U)nf5137)A_#uYe0HQ%~sej5Ec zlBv@$hq>G;Hy-|n*|n;sF2FX?P0VfDg0tel2H4#rq7q`TF zzTc2h7C-!2wS3^1S6h0WRvM#|ymp@lIA4+y5W)t@5{y%>`p)1W6b1m`J+vn#UI@Tc1yPANUr%QvFfd9^hGX51kiLHk3U&>77Z>gMbU{na1l%gct5 z-z5_gJB%M8AevxqZf&KCpHxrnM)6=`(b0Dldh=@o9;zC6%arw=la#k=dKKcYn=(QQ5 zr3{@~cJDb7u0Z(-%`NA2R~AHHQ~{n9KV0uj)?VD5$wKfxbSA+s_}3>sB|_M167KQ6 zLJevk92pL<$U7i5P*mhYR<)xb;;N1*KG#e_7j@}zn2VDE{LB%1S`^{vb%CRdSX z{}oK!@jfIcLDcP=W9JA)h9RR*K5~rEa(;JSceAv_#`@~~Tbm*S4`90_cJwb#=ly1& zoH48!se(v-!NiJ$DEEAzfy79q#7a0}Mw=F%d>9pLud>t4&Y+0ZWY>;pgb@Y?aJk{& zZ24A(Gm(-eNe~lhF*BHBv{I1_bkSb8st5~E`66?7Q;?ifrX!(49wOlR3J0apJRpW0 zJ&B$;=Zfh<`pEbb5pf(C)bvH&uUegtDnU8>FvN?BKUgw})J=Tg$?tyZ)xVO3=x;F( z9n#lk{bET`3YK)cj^Ez{q%U+RBDW?U{rm4IHl&k(5yL;uN9a35Rc%7W)HIrwNh>HL z0u>?p@u}D;{j#Y)A1=kWazlG<*K9kd{neq|S@JNQ#4le6-*0T1spF9fkvxQaH`PnZ zuH_BS&U#KaR1W!p@eQSbZbg6fYMjp038M=Qr_wPfZ^b7H&8Fa)|6%NQh!RYlhX+7+ zsW0W+NKynnM`}LEJa<|Y2H!@M2*Fc4(~nR3wkaeL^6sC4Re55+eFYG~yQL|~k}mFv z_e6BRs!+6b$CZfq8H~2Q5{&{Zn|BL(=##`QDSvpxuxx-E(`d-_AGjAFJ9iLGFmiIO zUz;w=tGR&@#&*|%h6qdsW{57)yQ8BNlrH1-Yu!ZcC@=gyWhl$P+Pm>3V1LRAz)mG2 z5svjVvvpEa2Jp-j-VML5G;LNR?(1mJr?o(guOR;;DgWt%NN5?txUa+_&li3Wg3~jEmQopc5LWsxQ z+}TMVF0&Y`6TNACuOwg%PJ@*i+w*A`OsHOLz%!VW1CbV+AJF*SjW+ zVLq|L;0tWQ#dwFPCE-uK&X>mJ`5m!alX~u}usH)O+X!`#P7TJASV~!5a9te%;tx02 zO?2>G2s*?GF>|&8lo6T3x0ct*r@1d-$W^!08Q!;=U0d0X)0-m!JmTwCEx|i`R-cRI*e9Cn+<7 z!aOj>g>-Oesspqsk9H5>kJksiz`=i#F5VqBWVaZ%hfJa#FD>NL-^XA*Iz7Fw9J0D9 zO6l^=dFMT43aU%$(svAGk$qPka~yxVYTT(Qyok0=6bxMu7mv1(qf38x%5jS(6Cz1K z*&LYi@!@)ZA)C2P3ujDYV-#FzhiJXkqXK_LM_( z&|4`L`v$0adFoV2DJd_o`TejOJSLqB)oW{azlQ{GJqs?0?LHH6HV)c`klV}yBZQ5Q zg~jnhL`+BsWX-7Unb3Z1l+UNB*&m$I{bUh`Y2?K-L%j~USqBg*o*|J1fu(|U#tk=x z6Pn?UJ*fM~s6zM<6gaiKnUG!o3kCiQCi$r%5`v4NGqPyq;o|auhnL5^rr%Fe35&13 zo;R>XPFo{1S?=h_wkWm~2~l52NOzG3X~0@OHD0~&1ukFUCU@L`vFITRaN^;gWvP^) z5i%?v{0x7PQ52fg^qWz%z0v9<^ndZ>$LG(gKWZN|Yo&>k2&oS2uQJS{h$A9OB*0IW za7uo@wxeID^Jgdtm`HyI5k>`qSuj|gOJL^Lti;uy^G33X)G%j;+_(s#7y9_d!p!cW z$W!k=i7zi--|UH=?CX$5i-*BUS3;B?Nd5PHe_jIpWOCGl)sRU zPl%wjHs})26}2o^?J;DG_;QKvq~|b48yGH86qsT%o)9LwHRKU?$^_>V=z$~;-&Z>sgD1`0;-E$>sgo`EjW>X=2->Qu)?$$YbNHx?$Q#Br;BZn%+-$5x7Id z4riyP_LLJdGLWQ=TkQ>m8+u&meLf0_7_zZ*@+PRCOi>Exqeq{QSHbe~E$wn&N!bd_ z*6R5AOuUCkR~}3x>^>YTrEakBn-=Bqj+?$`u_3R6X>Q&X5gUfPB{}E;PUZ6y;zyGE zSmms?)-C?PD!qP#IRB3{rqux(ap9jJ$r~O05SEVfK27QND*thg|E6eOK`5JZ;$pk> zX&aJGmsnI#N|*_0XgysK*NvZ|>Z~n@2B7_)<%uxs^77;hKUh|wKBJG36oQ(H9TuR> zROC^V3~CZwx91Y*6M1K4sb`~z=-S{?K6iPN!pUwwEuN@jL!VUYnD^G6N2Ipz*xtS+0DUVgBxF=W&pxh*Fal~6cA6o`_K?kDd~WVt2%jH%V^T2_nZX2E9C84qnDaDQ zmcC?4ad8MOtz~X?wZd4Dmrf&jqrK8oqAb6H@Yyp}^$8^>jSvgLeQmPi7eeVTTj;zw z_Ma-vEU=LA^ZT+6t2AbH+=H8)lDh~BE(EoD@8P2b_uhJ>Kl*DyY2n5wOC93-f67q4 ziW9Qb=B>ZxhEive;^E~+Bt;o)aa^c4+nVE+mir~Sy1MAVNYN(aCY_m|s55+-=jUY# zNz|TFdIF%N=YwB2O8pGuHBV)CI3pNslE}U(7!R@GN0Ybt2+{E(_Ed_H@zS{~zN~|U ziuz@UL80_GxT|J?F&}B*QL%*$3^J~A!4}g&XoybonggNngPWUhf}JZzy*xEB2Lgek)`DB1khA4H7edtrP{^O8I7hw#@&hx_uk&z#qbEI>f|89bj*T zmUYQV`-{nH0wXr}_SA~{$zZs+`(dF^2a57h=w0M9p5h8#JzL(Mn%jFTPfydIy=j&s z<8J)P;Ty{7k3uI%lIAHrW4V@}mmoX4lz);j5%7`IH7jD)*6DepioyA6>_0}QN|)jy zTN3GxYri0qHK6!ixfrV@=4I441io_TT3}e3;~DJ_K&o?f$q5*cx|k1r+HE}_U@e*m zAfnG0q4Ex_!#<)Juuyh!^jh$%0`V4|kT22k9fTj#7tcSZZWh95)0_V6EV>6ggS}jk z34a*0psJ@Z21m!>sT%8A0-MYHBG63pz2wPFEWd#oRyMF!8hFro&VT+FMX=PR zdprAfc9r0%jnCK0?tq29wkZhjzge_?q*EioY}>PN*&R8 z5Zg%~&i21Il{;lHmiEIhD!^iiYevhnoKWLAQ-j9jue<+Zdo|}i^(pcsegE6RBjs?c z+*oAV<)6C`$LF$3>&v-%za3xf(R?o94AXZvA+oZbu?Va`_-+ zcK2a5TYsrp#*O&#vo)I+&5=97RTHttzYHSkhpt<>OylFVb5l#j@;Fw{)S0_AkgpCq zLHg|?-pv_4VK!y5@ej(9-Z|H8eU`bu??NDVfC_hwJ*M}8@%-mtz4n4T2%mwlv$s%r zVm+Jg#zYhFaSSuN*XlO)e?b|OhIY2@IkQ_(X7Lu3DTJO$3Ygl?USAbF<2U`h4pi&b zZAXIZ|7OgB{hF>soM5tH0+rY)0r3;M?A!-*#7+v1Pb5r1SXysitcyLppo@X_yu7?z zHb0MWS;SMI*hNCY594a-lIzG})~z=$JT`U#tmtSBhkbNrhEwP}6XQPFyK&Ddein9R zPjcr>#--4Op5aAcVp|}nEv^;puVZxw?aW6&`#dv0r?O3W*V4yu=R+~ z5H5TYZzBJ^igTmhOZ?fsDmORsSv-kbl)XU-bKAV6ZtfTO(Wn`J__Ox7s_(n=ij1xk ze=r~2m;R$$rQyAVc9%aP)g1(46o8$Y^Y^;-1{?j^f`4!LKW|!!boxeTXV)q8CsO;2 zAx`iZgG>?@!iDQ%`Q9}4v1mm_m5RIjmuWR|7uwA1Y$Su~$@`FZ6eJrk8B2WL@32~{ z=o6kGjOlb&%0w@CTl2lF`v6Dg)ie|77>@ zc^k=lZu9BZf3Gwq;=E0Turk+!f0O+GH?}I_^X7oX7wkF3M|?9X$v5Mv51giK_m_Ys z&dl&eEIJF-r%7`2TJHDXt-^<<5_1r}=lH-JHb;(thfq{ln5cE3XPTX#B1p=TG^`vR znX+JLQt(h4ksqW(y1MDxK=M(NdkT+eXBt#jGL6R=XF#qKF*s*TiQ5(>M2`AB?sAUp zKJU2x%pKL zjp-u(z%3ET$6XrYJ|W)0=Ii`+PhnO?w^csr*V>aOYcwyznuucVBY2{G-vC;*g|p77 zpXR)OU=R~`GPZU_w7u8#VMp0S?pvNrjQ_G#O6p>2#^CLjvE~w7au4Am7<~d{#}6^# z*+7oceFE2ZJ@i9)As)Xj<^wy1FriMAgMt!}ihJcWrTS}WP2&VuH7&F>KJR}3j%q#D zVb(v>efK=})7}5>ssnsi-|I3z_p{zn zt1quVDSSao%M;MikFx6#F9{CX%Qx8&m7Z=w`GVzySI`LjQ&uIfUnqWDa_#*90^B*M zNU7ujFiYYYrlt?#8Gn$!TK4j4V^M{&nqF`|G?`z_)bxp(?R{K#KU7V!dUx^yk(8pQ zFfDCfRo{^j6>4(+F`h^XIR?3u+}g-z_}Z%Y86%%-_~G)WLM`|Rzsxwexo3w0JT*vf zf76e|w`H5L@)Tax`5&Lm2lvUZ|9^b4Ibsk9|3^o+%|x)nFuO}@`Ynb!nG!@B=H{2q ztDA}!SXCxML9$5+19DK*pKRV(9;8f9i>rNUCD3+M>!63cqa;DpkUK2k{%YaBc8ytD zE{pM#w4|ycK*wuhnHlzVgTbysj9Tr>pKm&?wPQ&LJjVqpw!fm~rw z8+X2|ZSqI2${8#-1QQeRLB+rRMNIF2LP6zY9#F6!*Dp4 zGtavbKqjn^&(P`m%ngcjn7xV%qQ6wVrnt{(|0C_pFtRn)&n@3OyF-0a#YR`aD@gfVb)%Bs3I zAWv(1e_Khdcc8}rfulWlzZ11538kbedG2&Na#0gY*n%cKJ$-aTogistaXVkXbgiNx zOf7WulX(~WzwwuUa)p*-q*F$nBl@>phS`jGS!@I%?a73RiPv^I zH;&vL)BBD%-Z3>nU4pjak3OMmY&&ME_2+%2?&8$(+beiz0xT+1{Z&A{J>6r{`H?;J zKFdg)C-xY;05(;&l6{x3p*6?+2+cb{dY`X#<0W?BoCNlUE4`@TY6Hbn`od1a*T$3R zn>*SHIFalW69^~{F(~mOhCKnB2lq#Y!)e&a`=a(l)4}#3$_UNNSSB7H^5eX!ngn1B zsIr0VXmy<{DHYDYvwxRVn)6qJ14y)71x1a2?G=_2Qv351{#oqbe}zT=m<58&Qc%m6 z`WTN|3i&9uI?HIVA%D={e}rNyUuw@)H!qFfjv*(!t??>!Wihy!WYOEpPy04?Z1NaN zkD>>qJJNS1L*>A*kbUyfg}$&8_3r$rp*B%|r)#N!8YSaILP@`SgYPqlJ163&)=CM5=4Zt4!&yxdQL%JdQp*0rCJf;a2W1wpaxtI zKsDeS3llgP;`kFxKyE9}q%;J+|C{213g>4p2=+F9TyA9cep*ea8X~f0oEId3{fU&h zq=PKBn1pZ0h&}Oy!Z!79zu#w13obqf2Pg+;T~8Q>FBM@ssp6$^v++l=p6jKgmFD__ zYV+7Wi7qO(+SQ%}Qhwax)USqUc@(?-3<|30;w7^%1*AO7XAvun6pZ?vrV4Fm#{tit zaJp?_D|Gg?O^F$Mu84h<69OswxD6oLZ9;+RyEZsl&4d)e9%T zm6C*~kMF&z@foyVput5+|L3L1IFN}mMgl$)kPkF>-CiljnATKOW=6_ySk$EAeKQXv z^sBeWM@^jJ<;ktio~V?wdYu%$`_>6J8|0=C@4Cz97S`4p%nwkf)L1yikw5!wPDHBL z7JT^HfQlx=D4FdCcVA~U=dWmc2TF~26}Ldmh1^rpRCnu_W}_!s6pp>sl-Q3z67 zv=BFHvg@VqK!;fEEDdVg#v#8}4j7^?L;?YTRr?XQv^d!cu_1n4^1U>Qz+I8Mh!Wxx zcR4OTqnht)pXg{@mcBTvoN{QnxjGNS()?@0U63lS9u%(EG!II?{vVk24&qOe60449 z+xxa$wEpfBtB$dd6Gl)6PD&0BZHm@x*n> z;s~{5CUbExVv$xa8Tt#475Y)n{DOl`oHpPXv*OaeL&@ymq-u)nJvasWtrH8m zMy9d?{zNrzJ~C;BeltQWPjU&)(&bJpD=#w}>(-MkdK3Vp$KZ3WKow!QF7kqxFZQQ$ zfAY2X@dJ0d4T-s~1Ja{jBU6(p@d0PL2}0}Q^3@IG&OTBt|B3?%sO90W=gGg8KE`eY z#Tuhh!He3K6;|aZxAl0z^KPB?nEdew89QlXDn;8MF>nTvJ_(7appK1lm@i5xD>S~-`RapsCCvP02?)0s+YaGi+MaD(kt!PZc=S>WKJ6_0>^l%==>~8~F^Q8B zN?o$2YpygFEf#D&QQc2z79@4kjpG4V!MfURE{Mnp)Xbyn>UV4_OvT`79(^*QX@+Tt z(n%+QBXytiPmB#0J&+flRT5;N5_n4xd&U8V9{bv=k&5wDSb{O*B;g56)o(W6n zvdJYs7i+@(+NkdD>Y%OtsXM7Jc`j-k#(psH!=T34(s4XXz5h*RU9}TeLZb2X#7s6J z;>HUO4sm}_LuPC3tDT6=@%(0CJu$J+?HCP{{Ll6+_tK&jVkSX7JEWjHC8?N4#M}b` z4@lj{-<`8Q>alr+U&^igYjz9CBoq(CZv zA)Wk+l`X)QsM^^vhI1k^(ZF|FtFzqg<65XJGqw=FXyvjwb`!22AXExhP*Oq{=s9wH zOuh^1{4TFmY4g0&wC*!4USM9U`e82{gE&d@(&lFx}L&S<>7*_q5&c zOoHf6#Z!2IgecT95~O|y7O3-oxK#x2%a6}#_lVmBq7!de*@oLv)N>F4$}Xg#!C6RC zs2bEGDU%vTiR{6tdf>AzSFnE8AI4Guad33{;-|2t$60S)CxKnR=s(EK&7veXS8a%g zbdQ`Q@%i>nylS{r(_=~f4L$eo-_ac%gZHK{8=$a{@}DPgSt^-Tkb4hKwY zRL~HSu1QGO4KhF3+&&-Pxkl$R%Km357J#S2b z!1GFBC=d6wqwXWOosv!=%uQp?jh{c!EDT9CO(mi`bpj7x(D--s`=ih^e!Zdz2`#ac zL|i6dVl2ee+$Bnm3ttV-uFVX3_AE|k+&_iI10rD?{qPk;8?uGd>;O8sV&+3BAHIgAG#8s8o_{oQr5X7Yvfn_0Z8u)f8xJh;wsKRrGOa4`;=HK8X>r{BZq>m^-cA z@R=sf-m5A%UyGg^TSK#xKB_}zolX9AoTnUMe?+n2d<#nl>I0?3`lvE=&wLqf&{1z;SS85V?IfSTOt8RamI zFpmVu?MCP!?nr~_OUlh=L}M8lPuomAxygvZsda?B8(wKSiVe}D_LTzD$-&9hJm;gd z>KI7!8Bi&1@J@2u=KgAW<%iKxv07dH=s;qobwbZmVngRGH^YTtY?ZW}*s0t8)R(Oy z-ZutR_Xi$VCMB?cvT4{t%gZaW?b3#-N;=JY+)X?^Sb>iBw4wfXj(nbMiy&vPv7H;O zCu*9+@7r``lPc}>+r4^7>`B5}Z@I}HPn^T$#p#&FZ~LMzc)2sV*$F~t3$FN-RP{e0 zPEwm2!WtS+5 zwQ(-EDQH05Ka>}0y{F#qcbn%n9sI0ayz+_f>A2L&dm0cn8Nmr5II$Fi7XQ0tCB$IM z_MBvg(he!nsh7%Y$^&Hbef*Ndu0NMBdiVF+SRA~CB)Ph{+IAj`f_Ej%9RA$Qgt*9Ap5$2=}}C-R1Wj&?z`9@ZxSUh9o#; zpyi00$pL89FO?Idy~Po9#S}>9xNvi^oOj*swaC+6yLgCiR5)~<1Y?lzc0F)?3g~o) z(asO8>$cuW%gHG*cDlQ}(*{D^^*kLpjE!n|xEoH7@g1gDPgEaMZyh!N7}pM8z1XW3 zqhK5?YpyL8l=wvG5-KwkCv+Z@{y1Ckl~tp|RC52G%aXl{3LCExv3TH<-%ADYki6(} z?J`IjC2Ue(`||pW(EgrZM~1lt4ez5^natC<)I7hf z*>LD%nVM_W^Pwb*K|KyrJ83zsyF#O*MYP{kQq~(4XGMDcD*RbGp<6#>N<5%)>x%Cn zhDpO|5*f!r_5Yilw#dWPr$&ZEwc8SfNPGsCFI9AvL>e1|osh+Rxpn1~+Y%)*#ub87 z8;UVnbFX*y?fg1sohke$HBpkVB3BZxVDukAc>Uc`iola{7@k6Zbwrv3zQe-W(V=3n zn~tV`#hz75yM1&SY4s`tP#qgBBeVRpi)((8!D+xQ8s{0SqTPM{hm`oka9i%BfoM5V zdKgRoQNodl@!^f%i7wsyNASQEW_th3Qge_wL%oUYzp!-I@)}*5dO!h zW0vEz2&I1U62a6;#F^cB7A}{uPc|>{ZB%-y7hwE4t^2)NZZ{o>Jg0}AM{h-Sx@#}O zKJAkho_ShY;wRd!`<{NAb&9}0$tG@;l`i+GY0Xt+CoBvm%^x zZrPYFf*0p^9d_Hv6I`J+ho+ZjU8ci%%@cz*^?Rav9vpf)cPP9$m&&=sL-6VueuoyP zVNiBRKWv(VY4e^m-hAWZxfm_S3EVIdTpyyG(M0IIeOy4r>ml*E>Q3P=xI%LWIA0jlh1?Z+ACA?sJkEYfVKmGMUhliKLFY)TqcV{2je^Rl% zfBA6NdQ{T7nZ>;0qC+9HW{#XSD!!3l~V4W4g2$iLWiQf*gP>^jLt#D)s;(Bh(b}-fx|9_Ny zbyQS;^sOKYh|+>ccXv0^jevkODk&Y(DIg6ZCEeZKAl(ezT>}yW44v-|>UaI#dhh-5 z)|v&Zg${S_{d~^noPGA*M_Tyq0%iX`!eiU_T+gXw8njmfZae8f6CQ=ThR8u$uM_N} zsL*3yG7Fp|Bwv&U4O`9)dV#$}q?80CczKy`?%3xXqHO1=z$Z2Q2O8~rMMd%jB{M6p z_vKf5!YvO7Dpt4n)<#i<0= zLz9}~pd~Ucrf)wmXBXq|ffC3~?i-L6VZ(p?1~9lX&yokNig~T9iq$4h`_mURov}xI zf53yujQ8G%=xlGkm+R~lR|RsLq^*5hQ{TB@phkD}3osDM`(AF39>@X@1T!6XhL>An z7X%-2A0?o`W61o9B9bZz02UjAdu%0ZQYR?k@bYISYBn!OC_{)LS3xLsDdAjCM2N=+ zT?pc}GJ4V#r$2r=UYfOA+SvZ78He%8H^ude7t{7AIs}wGIQV??I4Pc8QlV?e1=8$v z{_}j_1u|CNqom?;+HR;o!l1rWtww+OA%FL+dIh_!4i0#8J%T@242<`tOyto00**1xn1que%zCT#Pa8`M}#2;OW8X)h+h03*-Ro9 z3!S@O`5Lp<9awhGwUE)YGw@?+)tz4Rx4Vl^y!)M*Bb!?dEltq@mjiL7Z(XK~bfprl z_);Xp2-=2y8Q*DXmFOt-gcGh;Soc*rAE`Lz7iBFvE(Yn+g@p)b7o~dM#dOU>2}ns|K=N9Ea(G)@D}K=H?d`E=Zp#^89TXoP5kfaFX*(gv30Ol8MpEoXiAs{tEh=uc9N1b6EZ6zWH& zc>D*a;)k&^fEnj`0d_Q3GP(L9)-AUO-u5rr!En+|CEugCsJ$3CIXTDOp!(U5(PlvA zTIVm;P8h;LWI9$>?{`l>xEZN&#)LZ5kuqPeBff4tlKiZZAX1lA7pPu(HRN&r`7$u` zP65(<&zkJo-@5(X_x${)q&jf!zWWhyRoZgHpdheiQ@Z26NP;@E=GWYTIzMIdX`^7r*hffEW*?5b59M zS_O^T_+TkiAQF6vRTWvr>VH_`f8~q#BRDUA5E;7A&IY^LVgnm>wlCTh;!ynUD`BO1 zmf*!yhG3xsKN$*mePkEUdT>f(fk}Xw87lM%hOaT$DywE76*z)^oGpCfCJNhk`D_hI zYj1bgD!(xSpG62?CJpnsJyWYh_7x{U^KrY{$sO@HAGFEA8y>7(X3U~5ZPE)$sdf(_ zc4QgyJY$Um7XeH=ho#H7QS;K)Y)aL6Vy_cVzVIQklOq=4!lttZZRsSA>bmXrO0(|b zaZQezH`oWMdyx5Ep_>h@7{qaN{J3cg#1U+S0|OF z+tnH=AK*NX(>OWl++%NI)V>rv=Y^oKoj;uczD?)H@A=Zo`Lz z7#zRx43bk7ariuHP1qpaq*v=B>jZ%Y?D8cvC0?8!yOj7N5rm-FH%57^{qq8-mXNm; z7fEvKYSU;RuQ$ld$)JTJA%V3+7Us~Ap82-%8v zW)QH`ANo23sS1wnsMMpCNwf*;(9TS>%vq2?kzz`piH@}Wazg1A8003Sfa`wCxabL% z=kyvwM)gCKxH$cIIf&OG^6enAxgibp z`S*ayurGy+8UPLeBnxEU0ARN`5YGGC|K>#lOT)sDFUZ~Xsy}n?*WP1HjEqQ=Z4nB7 zrf5Dn-aT177pCj*o7Q(z#3%%~-q*M5NLr00(Zjsg4wR;z=gkqOL=m#JAR)IAZF~K9 z8Ai5W5>6)wV!+4w)5?m9T>Nv61}E^gN|2UGzuJA?l9Q>bZ6gw+ypjjJ4zj6rqrl?lQ4$kK#O6jmcYdb7RUZv zVvPA|er`%Hv*Ezb5p{|h6*@|bYij4M<{DVvGqd^Zj{4=xmw6t+BB${t_hND`RSo=* zx=1FTdj`umigpv*iXY0iimC1uu2ycKW;A77;ar{Db23?3S%;i1d1nmg1Ajo4v|p3X zSo#$6 z{SfYObH)9Z#y$ul{Zue0MoQIuwBM&`tE>5P=gDpPO|rV5BCauUMOrlTQ{7F00&gk@ z&?k&0hY1mHZ+^JIjm01X;E9pEMaWvW(X7w(tqlGCBW`z&l>Y6efiSR6NzfHx0y?&5 z5wD~~E-W$*c^AY%cI^Pp@+q9}-3vkLUByIqp=M5qU_7Nl9fPPThPd1y02=-{!ED*m z2)ezf{0-sc@Ej+6H@xh57tFQn{uSgFF9@dOgYJd6{Oq+TpwZppOl=aE9(vV>w%)LP zs$nudDn*zxhDwPZEB>h)uozPbEOWl8E7uzs;o7SPTiul1QCN;bfOy74lAl_q3Mua? z5j&t3W{x|kyL}pCRpz)T3}tPwx++#IujJvkuHW3MV&w1dl?(39q1xnlu?qd(8wo>9 zwqSfMQQizc-I1DdvG}H>Xxxt;A2YuKdlm@^4o{CW-k&6XC*L`U06k*{`5!JMLVa1BctfGfzE71PutVW`k=~f> z?6eFexeAlgy*|9Huev@!9Y?lYheISRmi*#ob+*o7yM{6M8T^hQF4d%MN6=|m6r5uJ zO-o->Qv!=?IcRNtEx*WtmOsCnXB>@_{Iu@gM{3g49#?M#onj!*hJUY$dB17=>|}=; z!sBH7JIj81i2GiSxas^Gly|eRv{?plJK{@rKR$A}u|y6$wO& zuBgmN0;h-%nNRaBq*WI_Z%YedtgoBO{ZsSLCqE{frTb#z%-~Hm#x| z+_i!5oV>n1{&ypDn!kYwEKiaXkyNDxk5WGkh$e`rD}UTI_dB1xnvGt9GG-*ZnDd7!9pD z)EC)L4gSu40Xb@?xE4HqVxBwpVp>1D81?FelnCc|Y#?V;&uw2a)kDDg{icigw1)m| z#GUPmGDUNo67MBKg54-@zpbS3U{)+{JNN^s)JNcm#>WJxyha^4PqSr?RVs2ySZS`i z6@j9e3!P>Vl)kVR`huS2VahaY&jBxh!{Fry3Lx?n@VMOMK3Te%o@D1QPW%122c;h< z5rV_QvSo5prL3D+BlMgPWcU)KR>wbHow7&IT-4xAk9XYwBsd^d1{n#{_88uB#V@-| z-G(dUBz!ASeC5XJalcR9!4^FN@wz;IS#{W>zulASNs7S?27||f zH--751O`F0r7c^MbDs-`VtlLX)FWn1tLz)O$iqQy5c@p4lGwBT+GV|d(>M2f%5uQW z6DlqP8r{Z;*?1*!5SeGo(YHdg- z#N?ID_g~6;7g$dZelv)UQsD4W2e04_=XI=wcCL!0g+7s7JI2St7XxIj!@)tXw8TfR zq*tJV#0Md+6g3HuH4JV#`rUVlS?p5EZ0$$1MMEzqz*9+v6RjJg`Y}Mh+Mo7c#ddZf+IU4|#Z3+~LG2K=j z+V>9+e+=-^>+dHNv$Wh75Z^#?xcGqRHb`$plY77H|L%Kg588Mf&$ubsa+qYqM!=;o z@AR&TRpYuRCO57v(IuoQ?ldt8suI!aoHw9D6t42kBpNMa^kOR!Vg|WIRlTOyt?ayn z|K-uT_LGrpbMFq9zG6|kk!cMVF+%Vz6w|Zx21*^l#A1@_7WDcnX1j^g7*Kel2Xeqj z*Xd2IWqi8@39dh2yT@k)orZR><1L_p3RC&7+P4t@MZ5|%PJ|Rme$(y&{ocS!t3^M8 zC<))o3g2H)0;5AdAk_aegK*foPnJbn@CuM~RJdqzJpG6XSM9d(GE^PVy^Sb z-TY23`Q46L)btm!;grjj^@5Tg(hCJ$BBK5J)yEnpLafSl*C_$peVQN@3IBCo=uG*i z?J8BJcL&o~Ch5@S+wWElmx`2Qv4k62TO$|&#GcvhSg~47H~shy zTbj6lc_JM0xS5#PVuaU16%|GMkH8-nrqAzow2@c;?$(LZQoi(KZddQYq65+(Py2t1bJVSU1krH-0 zeKMa&M0kmp*DyMw6RdA~{2VhJM7npx+zv*@>aIMz{81*TZxwILyyyYx7{2n)Jk%um zw#>FpEs15PfcdHc|Y=7NyP5cH0$Gz~I(al!j zIbxv8CfwB-|ACyGOP-`l@7)$Yh#%^Tg~X3_IM|cwt{6bz+N5>5X##b5)t`KtIC(Qv zyQILqY!`P`4jqWlAHmVK;365a(Fpv>4-`kj4m&y8RxMNOyl0oVDBEdb;c8;Gf*epq zK8Q{aOWe}jmkCzts3!M|9#1#u_XO+bd1L*pcR7ORLVkc)BIaj9xz(vR$NN8kgea`q z&8k|I=5M^{xjc?BpJ3V`P2(BOIXvgr3&cwgZX#Kc6%jIFyD=6-c|@@R<@~T9(jz#n z^Zq|=A+Ui*uz>T}ea|*`43XGV*1G9VppRXaQRwmn#SytE$K!l9DmVmXX93Ej){USf zaQ7(L{l|KJMpm=M@9L9{sLGu?H|xyG;e;$Bjq!9pP{PlvbN$wI)=#0!*SA;mWOJWD zzGefA+?i$?`jT#Y<%MhsGz@coKV}WzFuPCD(J>QuPF_}mT2%J0p`aLtUB>BAN(3d7X~=qpTdi5YcVa8pAj8@^=m&!LhpI706p4 z0{#L3&qkH-QDAeZWUPfVGc6%pfpek|iRjpP8Q5K08*%b1!r&D#i2Qk39l+oa1;~X# zTH5n3Lr+ey`=ynhyn@w_NHlORVAWY>cSQw-kC}-l-Ur0|FcFH64NO!2c-0=sA5^=1 z=`HoxvBpQwq_w>Ci;5?&)h_dH3j@e@s3JscBvQ7^cPzcOXfpSUsHu>yJLc)q7*K`BIjq z#eGM#THzUVs-zI0X&yA+W1M;)7lOd->&fpHH?q6Xgm1)ql36tOmDHbIPZoOOlZa~I z9U?wdMGq8peLA&^>tCuwS#lRqKr5b>J^Ipo7hgtCR(8WMd%dTg%tx36odAA~V{Bo~ zMhIUp<1KG0-enWO1z>z0a03VjIM`@q<;M+xqHk0+4XkKJS4j>N>K%blwAa5Lq;0pL{EA_7AULh-sm-8{B)Pi#rXbEn9G|d+|K!3 zBXD1ws8XHx@=u2DTXJicT_YW5T@b7960KW4iG2%VvTWKtKy*os7@HViR#6=J@fM*J z0N%0z_z>3#V0$JzGxFMRs&S9aLzVj1a%F2yh?d9C05F^c`EaA&T#yPXx zeWOvlC4}~2gj@Et28QeVlS<~v*S5SgOmtalUZu8Fi&l-rJDKNTRKCG%_9GT!Sf8@t zw8l*h_0mVsbplCCL#rey%_#f1Ag$%R>n>xG+v!w^(SXKCNh5JDst+Swap13>(Ahwo zy9;(s4vu4#K!k+TPI*4xfQ4u-IhVEPj8>cvdHX^2$NEsE$t_2%+ONGs8 z2Ig0Q5a9j%QfC|@t{R;x#=BQ`Fn}gwUCsJK;|ve=a>#ka#BsjEr;&xlw>f6sYO?`f z5d7eO0C@N(?MDAGj7WO1bshqkD_vbZ#q>F5BI_=|%f{{cXokvAV&*=fOlkO&la;0COG$0tc zSYiqZLoa!|yP-rYjCRulCzZDY)L>Hldv%P>=Lb^1H47RmtJud$*zaAAIQhT}a;8xV z-T4g~>guERpjLT*|H~=>%;nqMz}i0QInZ!(-kQbTUZd5ZeN$DXog&q8-$q@Pl*+ke zbF1diH4&o5*H=3&6p$B(jYw2R91&fI>~Y@_ak3e=OoIwt^6b+j2X+??124Jc>t)Z{ z?~c3NQ?Cjz?w+NdqJ{t!Sij3mGXwcFA3$OuTKxe`XVeW!jOmS+z+!uM_Ps5kcstM3 zu~%J6__}E<@I;4?%&kRm0go zes4|j8!$#m&2Ctu@Bm`Zh#SO9{`l~nC=rE4c^5*%?_k=KQmk<0U4dH{7*cihqIR^j zmC0_F;Ujq7ME;y+>68lHarVvqR~{vO+sV_DHMvr#?{`!aObkU3#d@Ld z>`qI9QADoWG6gHR=vuvKR;#4UxZPo20>`T@eXDoP9S>WQ^z#^WE-GVn6o9G6P7R;B zPpjA)YXr_N*d4|ho#-^IF@y$CUOy=G#9zbQoFcnF)a^4C8m!v;u6O+k%y2(=hb6qA zOCksWauEm#3EKGu%eO_}{XqcxT=GBY82I5r5~u(w_gwZHR2sfZeYoE8TFy7|v$ZXE zH~`xEVca_FYjq5YBVc_SUXQ!3>Cf0L0z@(gG+eQD;1cck;#h@rv>!+I7Q!Z)u2W%s z=QWAth9bQRLt0&~Q@*RaYyW;3O@v8m0l|ks|2+AoCn&RD*Ln2iNe}VB1XOpn zG<3{q{e_0=n>Q_$p8<1ZW%15IgLV_^M|?As%>Y%vGS&oT?FMUSbh=j0Ll2-8v+)`m;omQe2l!!;SEd6@N*9diTeIg&4lSekoN1>gil4a?Ah7J zC#1FK*mBM&NT#Qr;SIfIDswYX8m(4u{|d|shFwbWG=`n=@p03|<<|T!J~ygBql#XmD5KfS|IP4mSc{Z8JyM{SY61gdJl*1#(MJ%aO3-}CLT3UJEx|Z?7h&bP~ zS%jd&-yx+I&IVOyE(dW^Q| zgAO4`X5ylyH8g6IEp*(_VU@yRh3!^LC z&CB(|euA;~YlHH5_%T4s6O~BI^yT+BOI!$?udMr@%q`gP2A5uYFCjGF3yA745!>Qh zWJRGJ9@o9q#sFEI^7+TK?&0qPO&@&le~QCQ|70f1<;wwI(XF@X8C)cffQfskWC?%Z zBjBsSYq-pIlW{sB@iypIvm8)9kC+!gLBdfrv#xTb^W|^|U*8zi0r<4R%hh;4BqtP$ zi{aedxFmLOd)7Lx2TW>|@dulP?^Ik_==a;z}9vfSRz_gLC zo-em7Wz&-R7bk4M_{bO?Av8o7E-*Wcy!^gVI5JAgpo+>HZt@TTSD1s!FB{}4`+$vv z*F8>3R4A$AB<@5^qFJz6!z3^e#(@K?@(EI^`oEG?K~>g0^|s^qX9a1Wt~@Iwj{w=wJjY)@1bht_at zf!37OR8o@JEsJ(1Ja}g2eefr4Fi%Q%_fhmRb!Si43wtSPU^;sm2D)-)AU@^s@yt-Q z7Xl(ibMS>4@nzHExHQrg$In_cpZ)@^J0iQL<*+Jc#65fLTkD{vdE5so0|6nS#FIfezn*QQZzv@$r&o`F&y=zl>oeTA9#4iha%9Y#7epAnn};)5OH<6qhj* zwS!*-nBHEUo-8_{%qG*N)GS*izQF&+N`3vl$$2M@S2FB%n;270J_pbrwrL@71i`3% z@0exq5*ivBraUU`d0AO~y2IvY>O9pSMlgD3b{yJ(o%QLxxo2YtF0`z&+S=aA+BEBr9pP6ZQ#w4nH(h zOcB0cB=Un~wt1ab%aN;b zfSP|{lb+5TF?37oUFSI_tBrg073+ER9n4Q>80<6UlkMFau}12C{xUUtyc)`Wn~?By z@*7O?V6YhEhA1n?jUEH+JtR5!F|)>+68(!o@}(>-ht9+@zYtkKtm4P`uqnBsO@Q_> zz{#kgW~BQk6jg@_MIY>CQ3?G(_$+PTF%P#7OymR`*L6R|W_NrF?}=q<6sfG++AA$w(*5K_hfrYX$1`_gv*WZ#40P<>%_z}Zt=r#fF|fq#kA_;WQfca z|EKap-X}m{jzFdZqBOeuU+0gX*f*7El>fH%5VCXQXoXAV3vLjA!2aem&-V?m#l*12 znUF6#9pArM+Le{!!@){3HViOaCixMrauXZ8PJOpde>qfuO&yZ%X}IASNy+1eZBGxLQ zwb8>$5rmNb>o1Rum{pj+r;rs{T?d z#u(@@R6$Fw$6??sbMr-2kNc8(Fp1&)!D6&Gw&5#>{tbp6cKgO@!zaQ3AvDwKeG+ zKx{bCDYhVISWd$i;Qs=KW3Qm2BUV=QzpjQ_5H-}-u_z72sg>1z@9Is+%u#n06>Y+N z#rI_J_M7EKx?I{?Iq&?2t zp$0wIB`EadooDy9^KflVm5Q$R2`4~N7HJKbDn)h(SxI)`$tIq_|q?P}-SUSIkBk77jUR0){GB zntzfCei82Y*fC4ncBm?GdsWJKbb&i17sj=z2OO`%hXr;&Uabv0p+MEeBpddO_n-Wv znHPpc;DaV~6AGg+%$W|F&V9ubwpk7()z1OUKY8wEu>SRCy-$&QL)yE$jVUuuvN;9! zuIBm)St!@u53;!$Ml#Pn7{a2#$4q{iSXdrS^OFE+GI++Kui9HHr4qY6x4^MACX(+g z3X129v^S9JSppu}AXyr2O@AIb8=s#;-g^zLO%=+WJ(6%BttTgeAo1}Ng2XE;XMLg+ z_|bvvpO9wLGrKldgY&KABL(RhgYJ(Y^-MM3L9dF6@EK1}^YiI#Y#6?^!(7@-)t#n3fc{1}bW&J@dgBc);E@L8tIMwDLTc)2qX0NBqo6R< zZ|NMT>zKvJwJcvxp4_(f5re1o>`L3=3J-Tgk>5&+I`xKGtHu3^Api9f0LRQ&_PYJX z#x|z*q{p&?5CBwE)ViKs-36p>1IT!GloDS`$xqjEI~knXjZ$3qw4{&#t4Q)LfOVAN zi<*+>mq(q#6UjwXi817IK&e%;r_}JfpO)jcfnH72HveuTiaDtfpm3OdUedi_D4A@m zaCZ4asTj@~{llrS^^EoC6Kd|tj~Y&Qfi7kGFMCO@_e6Z5a{HYRmiAjE+tveA0#}!D z%h8pm!e{fqBqFD8A?!8mSfD`F6Q)K&k$b)mWP+T#Z*Hj?ocq;I1}m9I%6o`pDpJve zuR@nR-GqXCPrbm+Yd>&Mx{&}JOrXKAzrJdRYJCUBeSUIUi)ypv$P5Rx!N_23us_*A zpdq{vF%8rH(e_cLw>xv_q zJIno<08qP$A~EH?jL;ocubTz7AXQx#jcw`vBj-q1*C&WQ}qly2I{6dWX?wRUde4 zp&l}#ZG9JjI^(4ub5^&mlnF#;KOE+(*d=#ptHa`nwi!s!Df4{UBiV7mMfhsBRPCMe z8Fg1>S=%%Z>bt4iz_z2 z)7z*3TE{r!w`c;g{Cj1LD5)Tod2#XP4#n%SVSY=cRL|pZIakXMM{C&(KZU#%`A@|+ zwTg@5^0$l`q5KDB$##8rkQ+2uM&Y>ZftzqXB}bH;r6hD};d;J^ww+7dn#GDA7Q08M zrLDaKu!Qo{f0+o`1pNL$Tf)7T$7r=c#-JoxYX2gRRuw5#p)FkWKN@@cPZ0%O^6FY% zog_guc23S96;*=Fj6fO{z^8!64MT_&hz(zr3{C92qH8utSrc#qkQBhd5)cn3DyHyn%cpu*g$+L10MRM!|Hj8#b zQdd{4xzAASE;P+7C`bbXYku>;0U+-}P-CviEe71|WuGY1 zz(OB_k9Q*xH8Zzd*slk1^&6f=z!UxN0%!PB4V~>@Ac|hx4349XBli%mSBqdA-yL>< zPS%xLzt>6JAMZj=RtEWHlF})G0RY^Kw&2II&lyVw$vlCUP3Q z#8>B-LAN2vac+~?p}&uMIlu9}F;M~E<_GYGTlC%27#L`l}*3bC(tudK_?jgx>SW*$_-LxBt zQADxfDSjXav-~45__vEMEdKAi7$&4(Zea-t7dRe)qmY#wh><&n0w{2?rDeY*4?DYW z{{VfASQU?iToZKpd}o>ZmUz))dg!E=TuIqh2Ezk72l{F0>7&$( z9g4;wWyt}1M9rhI9G+3-9hg?jcDuR`U|sf|;{m3uM5`vrR=EbC^K`M?Oe8T1^l)a+ zm#)!=yw1fi1EK(bbWTfC(=1}IizKc^ho*tMvK3*#hR)d2#e5>3kw z@(0}}mqRaV-;&)^iNbPt@5P5X1C{v#QV-6Xjj7kBfCdcs4X|62|H%A3#E9fqp{g|`)0eYycNwPgFVOzVQ zX3PE3{B}_#)#X&$-8&c)2b1RhZkLy-CTXnG}JYBT{Sg@#=R!;#@THCT40QDCn!#y zH^QoUlMn0~KWh&08e60E8kysin{hGsjjFcTU0ZGGv2JL_dwgtpQ5s6NG1sXjzQ$ncpyJef^lQAwsAPOscHDCV%Z`inUgbKy5E z#=Q%jWyoAga*QG^txQK>col3nu~@(#>$a9u$!>;xdSgzCqIF6xZOSjNppe4=Oz#k9 zg0qFgg{u;`Ql!GS`xP{fYT~Q&I16eB49y5HCPbx~djyX|^@q?aP5pM~dGJFx1q_9< zdLpmcky3$)64&(+XF!<@d#WNM4|Z6PCY0mKTRLr`G@1XJyS|j}R#sLy7@0L`85!_e z4I7ANv6ve~wi7`oUAX$=0AD(-5|mOjHIO>`sV0NV(H|#nqgDMzw1-eQ=<1jA%y9p_GdqGcO%Z z_ad_UbzkX3WTS|!PvE5k;haW`&Y=k=`Av*buE7xaLLz&H-f?f{2}5AU*C%l0^kmP} zEwJB|kp@af+BKi+-9f2pKQPBFY*xr{CEhH7?c;_Hh6fWNgH%zA%T483g#`r}6DN;% zM#Ru^QZ>9j&6ZlYpPo87+&zf{Cc@~5lny6TI@xD|#nAAXh$Q1iuf8mgzCk3+OA6Nr zLvY-m69e`G@??m#Z-jhvA`_w8n>gM%Od<37rRpprlV;Lp_SEvFHU8_>(EFudi<*Go znj7ej@A1zK)tjr)b2pFU*MnZqIu-99pnP%KXe=+!4>~>$#>4gZ3p5Q|<4&AvuwIUr z=*r$y3`ug9ao{o$SJ4`?i!qpM1>~pivD*v-;=cxdD)Ff^oe1#c1>HNQk5M zbXnu?67fW|=g+cE-bE!zcVQJw;9z0Vs()n<(MvvB)@>>D*t5_E9iK8J#+%aWC#wtc z_KYH}{60ypj%fbmnloK#p;414Skr%JN6J=Y8d6qJRoFVA`ytJ9vhu(+cIf#DgFdK2 zSIxyB89BT%9$kRkO4c zrsG6@T~fUWe3x>som!{yK_Yz^H%$2IZ&>s8ehNSJm=PFk*yyqndgwBRVsAQqAgJIj*o&*VJcolk7J`TQg%HX1{U&lv6iINp_V zQyqT@oG*;VjRiwIvu@9KB@*wh;t%R};S%`I74Y^MxlQOL{G6EW-Z?rlB|9I_c9u## zClnQncqOmTaR2RWZz!YQJ|)*SPLF0_GjDL&{knN!%d517Pv43@!y?@IbZ-O1 zJ+0?NPiP||oWOC!)(-;srPj?-`T2cSE>K~I*}4$ZVS08Wt5?dKO!pHisD`5=l!^3@oVCM%MYo-u)c+DW2oS;ZGTMN8i6QDvEy!#Zktqo)Tnk{mIiFXxE`@ycFiu z50Nn$GnW})dd=I+?@@}S{5m99cBq&J9>ad#524oUXAx{&dz3Ho%&^~obLgCyHg80{ zLzU!H&2`EWIOPTQgOH>m+Vat2Ned3aqN7Bs?MCBbtZ)fUBD9(*m0SqwH_ zg~lmI;5*@wZhc&L(#(Y(A(>FE&v)@dw0|)8BZMRh1M{>^Lv_!XLA+I{40Wm)!(6qI zm$jZ$v#W8xSnGXxWJ%o`-<9>W)!HU?1h4U{AvX^$!MjfOle_DXomlOXY+y#AY6}19 zYVP(d*m&F@H#CPE+)VMLQA6(w`-@jLk1Q{YQdwrzg{=H^cX1F$36rQ zisI@zr-YUjWx4Df;c<9;y;zqVY2wz) zn3;Js;L_9aj zpZm6iuBW{x1&@{t-pjuZO?|$k*U#@&aOk!ky1ygdN|+M*%1hLO&fgdow&luedbHh` zl2$XAS>?C^B>>($>= z{t=QxgmkWSsOd zT1HvfTa(Jj9iEK75?!~vT=cX;>zav>Kr=1(i4AN_IY4}yN&Y991ioJI!x1Ur;>5^2 z$B6t8{fc;3ox&aJF+bdF#rQbBG3Ale&IaZ0S$GMDZUoXCH6^w$9zl0epGpVcJsUrq zpTwbUAy(C2rkST>?4p?KpVFLpprMzL{yJw%OdO0#U}OK0pHsY>r`jw`(PwA`$m0F z*WJZ^okcZ~%=eZ7nSxM=aE+gH_}tE&=UT~?vv$h?`ge_B(*z^30;lYD_!qb&y=TaiC+Vf6Ma#q=sXah1(uDVy$d0{>jK+o>_X!K3 z3=h!d$X9%9W8IM(}BUGLVP z7_~vnZ|6Mi1**vHBVGZ4X!#)9r=^jQMi9I>4q1f+Ql#t0uWsb^*Fwq@=m;Wd?C_UQ zC;`P4jS>JKX8ri_Y`~3@5Q2u<{sa09&C7EW*-4NI{wT#c?uRtoHvTuWHlVYy)`z;_X(5xt^9%)rGxXjDKxckA zAs=33=5#Z-Z!HT8)Z_n)09p|pZO?e}p1_PWuU(g=ZvS2NK0*xlK_@g z3UnJ}pf#oY6(jz?PyZ@f#7vV?O>I&dLaN1LO5QNLej~b?sy3q7GSw z(@VHhUoWI7U5S^MusccimWE1sGN|vJg^bLR%Ebbic;wBm^0bn33pXue(`kd)p|1k=wWb?Bp-F;M^WFE|*lF&AquON+z{?1SbW1N;I@d|7lTHLJ*FRL-NbZ zWh7_il-Ol_elSmAeX$FF6cIBpP-wW8mL{@BlM>jwO&}+z0$?F3W@i2jd|X_?A2Y~L zZ5|r|y{`*6xKnYIa2EAa{{De^ZAal$ zT`qi>d03H)C_sK!Lj)(dF~h<`BP|v2mIIb(?vej0)I187u)q_&2wg6@o-qJsi~!GY zW^Da%0|4FA`<=vZ0`W1nb)Q+d8T5xQQB`A$TMvyRidykj@n0xk-^Q$A~Kp! zVyc4R##H44Ro3=jJiY(>kRKuFNT$6(N`d+x#xnvt>wO-=V>o}2PpViiv7=SwLR|3d z!?${rZws=(qR#|Mrs8?TeE3UVxqO-h$YbjM>q|z?y>X8bO!Hu!g#t=db z%-&+}`~hV_e~U%KK$qRn@U%XJTEpKDp%CrUJPLB&{PU=SrZS%uOr#55pLVixc!^}d zM+U3JnE?I)(bcCmkOQ__rRf(23CON4@#$Zj7w#OZjB~`!E5DmLy(lBN!tR-&gmb(w zj&KL?aTdf3l+=mJw*!hHo_H!J>nT6J)BnrZA0av80?dThboA^fQEO`%w0v~!jRbz& z4VZ63W=KM(t7$o24%5qWqQE(L2loGr3^y%IFdzeX9NxO{*&hXzDZ5`# z9+$M0P=3M7Mi%}d2-s;wSthH`1m!2k~UlzMrnf&XD*0Z zy4@26P-4Cv&RQm;;{7`kThYsiOg~5<_h`3d6eOG(Zt|x*G68lKkAgRG!O204<)EpkN6clqR)xAyg3+!VTxP%9)I)r}l)_e=Bp`MVJ(ivs& zL7Zfz&id+lw2!6B*xw^}(kCD&!r~W+!6hL*mEP$fz`A)#wg+f54&T6^{h4b444WfV z`={CfVU}?N)GXX?#;~}QVJx(y7`*=OVq^hCI0)shQJJwHSfs9JOH^M?{`*W;ByTmQ zMVg*7;G@XDHwCr>RT@rdIZcZH=fD=zg_co3M|?>pN{)Yjwu%(S@^DKz;aUPT)zxV$ zU!b6n5}D+Mom0lIO*WRjfd3%^^VJB-16h!!i;|#ud^KEExc}Yt{%fWn{kIqqY)og^ zI4dsro5ldIdz-BB!B9hMd$c=PbobUqdcSLX;e<;jgfamHz1X{N^8b$KQl$52RV*zw zC6~OSs=6M6L6i3ezz1L=Lq{JG3r;2%ry%>URtAD1zR&TqataTB7n!S0@$z?^-Qsss zPb{Wt%kyQBv}N-p7)*v^(TT+(BUiaVU5e}IGxIeG?`)*evx8+)|9(QB&$f_?tSV9C zfzf15hb%7fK(+B-HJm;fYit;lO?n54Y+cH))D0^ovv%FSTpLiL>n6hc1MAA+jW_k! zq2FuIv#3baReRhz8^AE`mlP5ZM5~@DBa;bzlFW{9uzmOV?@@h14kRbpsoXRV;_m-q zB7(aJ(xb0Kre{c0pvkC_8YBphUMPsaKc01Z{gM+7j+q>= z(UR(-+#D-RTM_yE*}@7;N;X{E;lr(t@cFaEJuTOHYM^vE-x~pS>N3%+`T5_kS@Y97 z1@cM1Yrtb%Vcb}a6!X4i0pK=V1UqPOUVeT&eCKW0bKBI%56AZ1zf&&tHvK*`{O{^n zQHS9Ylpk4{V|GJn2P*lZ^yIY8Cbh@7LwdEqV8u#K;E>~B^g@yutsSj!h`}z4n*aX;yW+p~ra+g|Tj+>2Z`X;5Wv85)n zTC;ewP7}?Y`OD2(^W-iL@DmSk}}C{9>UV z)wS$TIWK&!S(PX>-5?BHU-SCoiK{C~)?rRzh9GR^Q_MZ_N%rH@&xXsVzbgg)7hPW& z7G>CVtAun6jdV9CsC0;gbV`TPjdYiSG$@V4AT8ZpA{~yPNP~2D_qhl4eZTXa>s;3; z^JiwB=ecX|wbxqvU1_QP@A=1)J;Uu_dK6C`0{i3!%~0l<9P!HmU{E3lnS14^d!+<_ z{1rHGyyIbsilKCrU1R3#>fU5|3BP z9H!Ps`qrMOQ81b9XVZ^056S3!MISP8xQxd9(ik7F4|2pD9!IiwnQUnAcA3$)1rwLU zRsXC|1Wc@}`fUr|*(+bQ?LF4f&zUEZ9p)0=8s|s`|0!|;D8n8=8LrQNAqNma%CW#A zddY~3OD*2f_CFW70Io8I-28$uGb?w~SN^d%LnPKhtNbF{9BSX^12{5e5%oKV0q@>P zg;Uc=q4pXDWnkW}#uECB>(n)x?e5(IJgWs5#r0)CfWI(;0|wW?37Zb^CaYe`U4)=tCW$7 zj`+y;lHabvO|vUM32>+WbIh@)e<}Q3)hx*)t5oVF)Lv?PBE|a9s?87gHEDovGf!xi zAUrJk&uao6i)A%5c-Dg|?}s;U-%LRL-Fzkev(6kAq02R^se5}yqzBKt6CR$hDc>vI zoGJ3we!IJ?%+1h6+Vtc#Xp7S}i3%)5RSbN~$2ro2XADl{9UO)TD1vr~?5%n25Ay1= zQ?0DlvvtvoM!xohM6nULr@&g)l|ER6Pt??e5X92scbLfhiQEMPiZ&5gjxo^CTs?zO z>`Un`Z$mumf2XL;wB|0bm;Q7487WAcSXB+lSc-1%@6d_}qN3-WA>WnoJ`OjNV)*YE zQ@>}(q;{Z}qU18oW)l2>7;}mjpbA;5mzD4~!vIHP6ei+HM2a06GB?GVpyVBf!6+Pr^0-IcamT!O->9@M{C5!e$JmzE}z zS@$btB(|}LA>Oa3zY_+?mZM81Yel{RJG^*=!UK)1uw=IA1Fe8=Oq(w>Pq~d)r7;6< zA%|Lg5xNw>7??I540k(ECngYc^xb@xQdHOd1|!`+=Z8E-*I z;|b^y4W@}O8aysL;1Y`fDd4+ZZJ2Lp#lOIe34XT3JZ#wwb(LiJU!xNtlaXDOT2Q!= zeGqbPHSokaXq1D4Lv?KU=NNlsIDUVUv@xlZX2#Kk(E0{heny%4c`)ingGu?4auv!{-pq+QB3c18|61|&_+l{|4MoZfs z5(K*q-X5UeP3Mb^)n%UUG*42|!SV$Wecc;)@&oVLU7zVkgY$Rt?}F8TPsbMv8P3)H z!|C|hw}1&W2F_2*i*X?R&MzeQ zA^f{9zvt+X;t+SvCXwEFG2`@e=J#*vC0v828EOF26ClZR4(l^TvEEn*r40Gy?x6{_ zKt-g{qW)c4I`I2AxL~}9+E-|`0kA`PCyEw4(582PFI>b+fhmaY@9cT04!>}zVw}tW zu&w@GI30dZAJGtrt}e?1=J&&D3Q{HL-fl5>FlG-h5!q`H^YyZju35>EpHD34HrNK?dKsjvX3u1A(Wd7haa z)0oh$hPf2|%NwVfu_WfO&`@V{haNKcYSmNp@1_;Oi{U6xu71iWx*EeV7J zQ3Md;s)Gs#Thw!{>yc}ZGqAUg(X*wcCrAX)-eM9#@|r2d=+a` zK>$<{Ktrcd3icmVvHF&#sr}-ascAg7!}I55dV~mt?R?#MpTYGX(zUfZxwE$u5fVP# za~L}3e;adq{cn*r;kL-{9`wGQ#+CdBf!N)$e<;MvDR!+{uN2Gahd#^5S9z%JL5s;)j7uFuYPN5{b0Q5_scaFTcM%l z1Q5#Q3Gw&0tw`Pd{q@H4#fog`F;4`A?vP7@=jx6H(qY9I7K4&w6u1z|;D^i{>fZ-W z67PQ`h5>;_PQ>iqj^=+CblWP}s0u$fHOXqw(a^l3rE8BgU^tysKscL!`al%dY=L3G zgT*Q72A7$wG`p|wzV;j+fGA#7U;izGVASr^@G$M{$$)(MX7@c* zKG}?>%rI8gf~B?caurbQU9(V4U7@}kbvOWlj+fzuy#4FM5xwxb`C(vE(tNwa$Lz7|9CB)1ZqS|qFiqPj<=NWK8`n%tm^^CGbVd{F6hu`c*^BCnDLW#Jvf7wBK?1}vNpl}(Jc?|8pt`8(pU2ZC6SiPeUgaJ~!@9_ig1%T)3F@deGH^d_{92(lEYe!B%=uV|s~uIrAzdCB^i~ zp7`#4hQQLA0S!;xmGQ|uhGvk~MSu9=)qVnEKvs6vScPtUs-IVK@HjtnI<*y+6Hfui z0x+%ODgAf@pDV}osE>k^&2`y&NKxEMWii(w!COX=rs$}c84*?V^|zmMoCEv-Sc~}z zfevjj6JwXEgnQDaT-5cC*tB$0!QqvWSi&MYE3d{K{pwbto9b+rKtbV&0J-KctezKwoac(D;*R1Y}lR*3-0*HC+c~N40>LF_CXOU zb2*9o{K#*v@zHWqrNy^?ST);2L8ioan2#~e{q%2yj|K)T+@^GA+0UFw^_`||jS}3s zZ7+@EYa7s7#oE5Z!#iA&jRWP*4^JJ;DHLFbfS4eEOH8Q#HQm#awau`Fggfw6g~zdx zY~0O`isSnBE{oS9HycGq;bZUq9eP2&-m=pu%+@G2bBcY-m%z_j`x)Wg49FaI1RU3s zvbq|a2@gvjl^T)UClc?aJr5VIjGvjQuQ|4sDP`ceFj_oJ-)#m60ss=3$m@{CW|RhMXze)4a<`4XO%EHo50pA@SOS-1f~r-ukVqRD@BI( z)&s}s>ho{2x|dg-M3j`WxgC6L0%@%yIxX;2*s*vjxuqc&gi5URLL0rx+nl;Y6P==N zzna4{r~8@+YsiqrgGd(WwbpeX~E^Zxe07S%qj>92DZC9ivLwRxgdXJfU^WitVhN`ZDmj#cT zzaq~`BtqOhzL7ciFM2Tp#n--5O#{0j2dTc#mWij+wcw-cu=2w$Yc8waf=NsJx-~`5 zqiW@sFzlZ*)Bg+VqtNHA_4Q_7jJ33w8Il{A?myIWnJWpqBYpObivZzE z4PjEGr|Lk4z8M!r4Vd4Fzg!4hW{Cxm({;+{D3qLuSU=`Il5qNsBdaTK|E)8%rN7ZoWVYlk5AOo2z(EKuXG~Q5(L;dhw7bD7++BrgWi~=!6##sXVWWf!z87&$Q zpKOK^MS%xP5+qiAI;czQdr`4xZ*cAX=PVP&1%<|dUG1tSrXZM-f?xV}nq#5n39sa- zkl7*gM^XEl&e6xBrFkB-2=6pf+`^@ExQA;8@9B&1dFL#xv3A zYv~Ad4+~u*d1}@#dNZ7>pqu|ZyT9jo)~l~k1iT{hR=iUcX(@?H0}O0z!Fc%it7TuY zKOy3*npd*tU_YIgc7_dLrmXBLmURE}tL<+%+!#&47ID9mlha_HET-GO(sYS%J{SA~ zwDOZc!Q%6OhfQHKI$E?zUhk|D!=l2z0~wzax*nUX_9~r%en_7vY1Q*vpg5e^z_8rx zG`1LOuiqNp9_-7V@flp&9y=!68Z9($T)31<Tp z=301d4Dxl0bM|Zouv;qFO5(Sw-A-~9!$*hBYj;kgpV&$a~=%L%&>xJ|ps> zBHUxhh+rc)5$11E?(6s;<)}aL4Inf`#dL#O1U-!iIzBCZ(hmOb*~KGUxv$+FA*i7b zL*B1m6wi2IjX;sLCR&^{_&`?vT^PaY%Lf5dEq7)HhOWaIePGhHO{ zhr*qv1+#|rkG)lP)Au}VmYtM_2YC%_Wh%|>i6Wuyh{bwmm8MkoW%h}Nu8=|RW0|m! z*H;zzSXfxjUlrVd6^=K3U~A-7pUB*)vE_DZ^3S{z->qY|qY1y(^s1}b*$IjTUh7|% z;%?JCBdVH9Na?2DSJknrq1{v&s}`do^2!)cs&r2refK>HmPL)e?-B=0nX1nj1|KN@-aBqU_NR-vV3+Shj>WLH}bYN~SHA;UYw zJL@}JVzW)hl>R^!y(cyXZ<69G8Sd_5gqnLgEgI6GYyAJ(Y@5;)g%IOQE=rQ1TF`ul*OQPLxG^LkZc*9i_p#8hatUy(o~9m>OG=$=(gJ zv9K^%2#ptk?MzeWJQ+s84dGCXwq9QsXcMZnN9u4^QWdH>BVo_sX=v6v6moI0BgbFw zaTxu(Q;$#e=p<7wDyb+*l}oqXoG20Mx_p*^BE@b%;k-&iD|>7=QSOvDFh6D-ox9Vj zUtqElqbYgnJ=J3@q3vaHlHRP^;oAXumM>q$FP*-eOy+a3sU%u@{Si;1!?t>j!8`rQ zf`{ktFHG5N?5I%3QIl%jkG1?C_Z^th8O*#iW#%s10#HJ=z2^=`b6Y=WXR9y!eRa_s z#;DA#W-DZyt4t8l)z^QO4AJ_;d{mG#Ew{ISb3+Jx98Q!&$;5AzqnbcgL? zVr+M}4X0pZG4e*pu@8z~&NKfYau6m8DSu^b94n8Yl99Feni5PI6;yR~4K)vscxU2S zh?M2yQ#5c~p(FhABsZ82f9p`;{+)}XHKQ*6M#xh9&eVO1*4Cw+UP~Tf?WSj@EZ60w zVfrH1p5d^*mhC1h1$%uBI|E;9sP8i!#Aouw(iA?9g}C^-ijWWHx={CZevgP~nENtv z|HGNn>)`m}IhD2j)9gY!E5dg9{=I^N^_^jGS3;Qki}Ro!pM-Y4e~q%dT8M6)pzym$!_lQP=3d;p*!C-$epqZz z>2qnBY%i_~{S_@@Fu^HUBG-zDo!Bi+?j}`;`&2iI?Pz_{F9d98A*(~hq{27}md6{y z`A4IMHx`N8U!z5AvCx!0bk`e{R27!gOD^}@_W1pPrUTD!4Lg=MJ}TaVXFm^gk{c(^ zsrb}$b<1}3kL>zua5r@JiQnk=`_9xIpHD89JAh^YcA~9wExD&v)@~OyE7uw1jb42} zu`R2&d%pGBF1h~Z?$UcLY5nx+2L?F@y4E9LK2;HSv!uz!-tE4S<|Z1`&FzI{QwyE7 zSgQo=fnxJC9*yO+gohbN-Bg;o`{rF#T-QY}Bz`4y1D<6063G+Ld<4#6TN)wW2od;; z!Tdvt{QYb3$717|wr3Zsmlp{=8w+<~$VecuF!gdu!MIz6;V41WBA)Sdifh^Ti=VjI zGTVr_Fg&*L7b|wB%<^v8?CqpCjS?L;m>Z)}mCMtUsS8x$gDD%*CAaR@*3b|vimb<| z581DF7g*P4OL1(+o4&<#-n@f~i$9WMN^>XoIqH;7xLS|Ql1`NpXO?GzIt%&KUq0)n zVc-T@$*R|!k+yLW>@lTrz|MTWMmw*5Lg{yk^VF91HaH(A zrbnvTPmLDU69YENX2C+G_1hYFZwx&mU=Hyt5Ga3ZVM$Z!a?_<=aFJ%HNaxWj-Q)2K z=ZViuI^Txy_Rbo}?D9ru-Q{YyYAYv>|E4@8AmyQpG8yRF^1TjP_ze887!}B+OTT#- zY`ZOq(%9rCR~meJizD#fSG!SsV0XLDCKPx2M=hIg#?VSs%+R;^eg3|)rG-+^$ctd2 z(JQt>x5a9$5;*N}z&_@s-vob)RA-7N~at=22 z^{K6HH00U46H!rtVIt1%H0$I09OP6lp<)2_3SqW42#D28%Bb0)kw~nCVM;eB`D<2L zSXjgrCc%-s*UHK#JbRS{18l8j5(cpV^^c=XA3{P#J|{(12UD(X6fG{)0v1oZ&ZFz- zh!FG+>B2K!MHHSSyoX0sr!zPJF(zOH!3>?x{@Oma{%}eMENu6z$qAN?Y~MofLpTJr z>>cJ3INch+)uQ{79jyEWx z4x-+))5^kxo>NZN9BHmM`*EeLxR^7AH)(IC#iWA6>`BVk`pF(KiBGv4H*{| zB=$r_tVb0@B0Qz-nMSN^99aQ~gV#Fd{C-~==`(rc9&UGuYG_lro;TBaZ$~^fFA4cc z<+thEu(GYov1ADm2@ioCb~QfG}C0h{=u+Nl4&5!W4UrX%MmQmVcuZWe)J>=rgL5t!mSuB^5kt4 znFnU^saa@_(2`x1Y}UMIDBftN#r;PX8Rrjbp0=686V@~NC1uEev$j8Q{DV6I z4W15Mh2PmF!otEbPV1shwlS5l>Q<@mLOP=*BqTgsB_x2(ze6AiFYgQ^U^5i~4}(fI z16LIAW6$KORg}Ot^5T~=*u^9S)M9e#?U0EefkGud7`%YSy8r7;mWjoK$#l=zXo7wi1Xx zxOmi%+DX?et1eoB-{+BNlyASvYp&K!BY~@`*diR=nc3Gr(mGT=in{M8uq0HIzjk~} z_tJ@e^V2hwA6vCEFL@J*4Lu`&mFO$+8u$?c42;DiU6spvuCiGE_!q#-0Y`^cL3ah37Axnbl+5b3 zvSI^lFp=t~li`80@JW+HmCf0xs`IybClb_Cp1Zn;9Dd6I4gU|~l82`LVl>R_5n+WE zk#OZH>2eB^*6u*N`IDB>{tqSMZy;zxytsKI+er z(eO|W(`Dg;5E!mb0re|2p1Z!BNr{H+8Xs*xi9xFQ6eN6>AL0x=39y0$0^Z-HAoZh1 z604%~w$PAfcoP2dHDC;?%Eu>>f4w(X`GpLB8(gAu_#d|42KnB2N~W+=v?{GgG^udd zGAxBda6AyC1VEX-cwCXQ(>MB}aCBJhhk5UoSKgE?UDO$Liqa*DKWw+0?j730MU#5_ zi3sf~#}S?S;uoiv(YVu;+&$!-e*~Z$#-0i6+iw>htaYXAWd4jZAtkJ@d^F@B zY>G7NM${}ttk0*Dz8)f$g#3d&)%9o6v~jc*afE^A_{iax;2OH^iT$P3tmy1`(WIbg4bCmGluepzSVDhZ?2RIh=-htIJmjr^vSvE?%Xba5$m6pRVI71jc3encCN3^ zzb6cCu&;Ok0rr9$^haHPDMXHOxyKO)WbVbf2UtPD!P;Ql-!;q%eq2fH7tIEK3B<_tVDfR9x z1hp>0U!cIeY1L3=)$qx9#d9IUqVwUO7U`RTvv;37e8mKoXEZJ|B(}M*GuysK{UHk@ z3BJEiwy6phuwW^HQ{(^_-O&ihl?BkD%?gJDY0n`dP`B;ms^5c&Caqxq!m2V^BL=Kk z&Pv>m$U`>Xlu+2Rg{Maa{>}Adb?|LaH+6a;YgGO@>j~Iiokt$mzVD3_^BC9NVqBnl zu2L@i`O~KWk@J@#ks@w!LbYrG51>CAcU}T%qXIko_H1eCGUHsY5)pVZAcn_#Q{w)x%^uk!9Z*>XViF2 z^`7THwn1w@&ptHTuzeKQ4IbOBgZ5S?6Vcz-8A(KQ2aiXmWe;Y&Q@RX<-Vt%67Mida z*4x%cjt{G^6I%UG(WKZD74+@CwMcdpvP1L&)bHE^tmiu zj^Z_Ye0wZsd{>^`7u~zJb}%!Y;-1)9bvQ0^_3nFmvv$QdJ-6Exz7deXq#3tszMU`l zzas!<0DL}>Mlh38AjG-z7Wb~!s|C5zCBhd*kK3%YbAG?4mW7<0K<*AD>WsO#s7OCs zxOnvG)0dKda()n~o^k|COnA@ZEBl6 z_l?!n`GB9pmPs+P+wr-FxDgSS&iinqWeP5*+Pj~_?23t38pKH z!@kWZz0Vq5uVs=+*Bl#p0?J}w$ixa63{cK2l%3YtT#-kT<6Fn0@Lk%j@k&JCcr0t} z!amWpP{`{@r+(jDU@y)oG%H{4$u{jr?}KXRBwQgBBqXhU&EW>Q(}8&->rW*)ugkwc zn)qW*>f`|We3{4*OfYvarD--CAIn*}srjVt=C!DiZmTOY7O9b)z3)!`ZZb@GK7{6Q zFfn{>!@eaioGZDbarKANOso;|--%pr~?Y+xQj;&g)G{W2WJG zC6PQq`_^9C?41N-K2jv_5IA!L=LO^iaD)F>A^-EHl<~cxGA#n>BUvgQo*0^UN9(^F zzwr~@Aq)YGLeOyiwhUL>ase^Lu@9%)79xkK7U{n!b zP19HO7}Dg1eD|nBBvxyPUWolC;rO{c<&n`Q%=lSNTiYF3Ma2y2qTSy-Tj60~&vypo zEraKBk5!bFUv|fq-9j(k@BOPOnR*GLLtsP3+qG4OgFkgG6 zz`9oDkplXlG6~JWg-z9GJzG^H|4twl@XN}QPMVz6o;v{e1=@$Ryb61V zmMQbP9eM_a;holN`UD~wjWDO)4NG%9F}9YA59yx!G{Eva#dcX6gfk2|rr-n4cAWzF zBGzk_AkURN5#6mLh~kmft?}vhdvv;M9D1eA=ZEb;U=KC{+Pm;gpqsd*2jAr%r~2Q_ z0kzzoUJinj8y#k`5K8Xhn1&Sc6*7PSa~dv;bnO9j#JgUAYr7$Fhp>|G;jK*LWSXlw z@!kb|C1d72TF3(flc)z#A&k9o53)B7s>3Llt4b$|^&|BfhhhcY z>Fx>XzOFSn^!5ZIqWi1Po|~cO5|5%^Pc)eNps3iWso_(2_dHh~{IW=n|_9ZhiL^AytkLsYkRXxuyvv{<@KU?>(2C|g1*-`fhKT0P|9 zifi;e_a()m@{Kz$oAN!}%Uc`jHhcc%fU5QSIeW&475lQH{I*cgcXgwoJ4!gG>7 zW?3}$m9)5WH}l_6BvVKq88j@WVI%AT=tI_+t64R@az2H@8K7kBorbQR)rSBo&*^bJ zTcOfAW+STwu0(^rXD(;IbWV%ng#T39^cX_Dr@>j)e1V-XN#sXB@Z&2FmZEF(110oDy7Ny>`EDxl{_407R`nMy}=1GdJcdiQ}WBN`&>$}X8aOEsHo*GTL1j@C=o3~2w zDAyk=I-`Anx_V22-iB@E{?rdWCa0BgpyppR^Z>_M?C!)*D`1NO~%tM8Z8*vSak4(U5sl<46Ibv12)-< z7mv&R&!R=IGePAwyOwC+6Q~+x`1{{6+FSF%5t4FRZei*7x|#NHzD}xKdU7*aWr;!I zHm|L2VDJ=}EVDNsud~miezTdZ*@;u}8ZFW1>dYzhJ&!p*9yg?1@C$RVstkd7r{kUR z^7l#rWa1;-!HNHO&tQL^lBm97Y|v@~Kh)`%wCXe~D7Ay3OZ*kl);$!IABZQjEOgYt z!NHINqlcRS>z4$8vMTfSjwo43boqGUXq*>iuDN*&Jr#A)<*VeE-q}J>bNSaDix`|A zsSg&?27FKa$OJ>an<6k>v&rzapBFIVV)v}4W zZp1f#60bSS?&G(U#yfEoaE39Hlb0(j?R9J>_o=RW_YCwv$s&a{iAj?`l#p;Xu$t>Q zD-42>Bd1(ICw$K>vC_OJJcd`yp&qG>v);w$Wx2N7m2^sc;ZN*m#NVP&$(F*>7!3J; zwAR|>@H@?9C$2Qn^p|m76qdGTshAtG(*@X1o)?lJ<<%TW%0Zg}*0>t!5l){s&LyM( ztZPFSrn>8uX50_-9WUN(lw=c|DOhWA&iMOtL4cMA_!?d?7Sq{o_q6>o5CH^%^gmpA z3Vf{8`tel^pI^zI8$Qhz9J9m|k)(V-TyI4MCo3Z1u1?!JBNOITxzdfKmD6?82m9fj zKIx1z1SibmomN^7j*}n!r0jrE!#CT7{2Oo47)jActmP+Bp`ipgUSuW*0z90nisKcy zWH;nT(^9Iz8@6m5J3mx`y@T+YS8SbVa*8hfLslrpttQ@nTc`goiM}>P)y@7g0=VSB zX;ZG{X`iz=t=8NC5&jvRv|}6HStt>=H(bNKFl2P}hOayZgP?yMD{)SGQ`lTj9ch7@T8c#i6@%*rE)+-)_ZqtFNkTG$!FnHIIv#HRrr$ zwtdYgr%~ZY?PQ?JtM%&yutCks*0C zONeim!64WAzJ#^ilt{di`lIca6s{pq>1C-k#`EmggfA_doJ5pIm&TC2hjfa>^CRrZ za_Z{Y?x$(=nOkNMY42qVs%Q~MsKO`yaDVAE;RL=09JxDyb*}i}-QW6DJd_Qc}_hQe(Cgl!kIdd%6a_z3}e<%V!ct*96W*SeftL8>$ zJGl*(xE*(_#k~dB3Q|n3^(dv^iCot~5}MMcl>=dJGrssfXGiEPS}RRS#+Ia9y6Q}o zW)Ax}Y$6-Dl1ZJz&!PnauFp5@J!arW0wA2Ol0*%3yRJX~I@ruKHrp|$f z!gq0xTmR+Dj0pN-iKcDY(}B?K`V)xfa{ajKWuxm6?=9Hcq_-E{zv2r+aD5VWP7a|| z^cH4*VmZ(E@uE-O1B?0M^y6y%4NXP#LG_pU)Aca+etw;E_Lae*FWP#8T^>%Y{oi`4 ztA5n4q_T9bdE0&wYtuvnMBO-2vlbo0pFr06k5KXF4N%VM`@F5&QDM~&i;BX1^WMVV z5vRq1zU{+f{&q%PxH2ll>)bmU;~qj98o1^bD+!8cr{h=qnc(B+^V z)X|mljKRb+X{OqF3JNv8%gJnvXVs`5xG<&w^G!7N$Xv}ZxUT^FdH~S{P;Pgr5H5up zT5JjLL4B-bI$idwc)9j6v_0?&*M{6a89ao_r2h%VokTBO@8c3lwZ} zF}3ZF^2CPD=~Lz#v-?~vpHT8dWc;q{KTp3R5)?h^c>AQY@ffLni`&BM>xaCZkNddI zz+8c7kBQ1C;20Et72IYVDhY}wWD8wp5A)22!ns;lX{VFy*ByN?5tBUReJs$AHmr&A z*p{3%N=InloKU!lJ|}wun(A-@WeU0Ck97BtC;=!_{ zWK1K{a`+@ zJse5PzXJiarmoH+EGlfb)9Tzb?Y;!Pebj2+)Qy6C2w?!*0NeN(1Fm|5E>eXPddIqV zF#!p|^R>^pb~&BBx1d$Hn94(xm4{ppOGVO?KTK^Who6(wz$Z=A>A(l*_@z%#|0tDV zu+8PwH~e|>PBpOEdFxnN`t12>Co;j-H915bXpT?4jW&(;fZ=Kii74^c8`_ewWtp8cx? zV3=$-gn&mHwRNNN%oq_%*t?8?Snwm@NzYVU*EW$3HJ?z1@G%NyyNF39$$;JTBezs!yotI8F}N2pS6a5Mrwhuohk|1r==qeKg^5!jqW}=Y0Lz^rfZ%VNiOL&KIk)V{eg6p(t>8b(n(<& z2(QUMD|lpV>2U&wcj^qrHr^KZ2%^=M4=;bp1DPj$1mW}_FQlK400p4=CtjdRvd3lS zWXbz@|6tvo-Q8>s&|1kE-ZRmfJVDo~&zB&|z;!vofGd(%_yu8!$-ue4Px4I0MWtiwJA`1>N^%^NX4=D%C`V09Gf zzxvF!NWeJ@;;Wfpk6K!4ef#$9l-B)ZwP*s|J`jejPr;L(tWeszN3^s=%;(&4 zo{b8zJSkGi8;;1M%tV6tkeH>2d3Xfzp9gMzr8wS4OdT6b!oFyJB@GI$Aswod9GY?Y zbJMaW8L|B6ZXO<{wL(#mkwiG_ZyMw8F@Z<4`V1s2K_RfH+Gn=jbK;!*R+#c2QK$sj?+zw2@+$$qlV*hBfPCa05pNJ(mg&=f2)RU7%Z z;ASxgDJErFMoD#J)xeb!mKk+uys2gGcg8E! zMle+96Mf!Vl$@p8RpO_;+-Y(`1Ca_e46(kdJU7f4Y3M5*M$jVmetM)|4$6 zuFDsLfr-@cEJN>*&eVk^>Rw0e(_7V1Mv$1RV!#q*cnl5->pUUTOX}Z>2*t(4v|`C2 zhvSUy3-J%cJ4t#Ci^}rli{@YYM&VLWJawRTC%9$xT}Fy2+R;4bt?jXTcDiX_9DV-A z-|yD=Wbfgvo5o3ez{KAIg+I8(`xf=ox=>hVMZr5)^QB(Tcfmn@Jw}jPD2vQM2Ke_eeMLGpTk6Mq`z&ymnY5h_XTiTZ*EB+{fE zt+D|P*jodasft2D{kfV+3?G9zqmAx|$f6O1`03=C*z>hE;Y zkkid(4rCa(AUy>!AL#po4tEfYUgEmA7(V;w^YYv6pLxhnlzj}j{IWXv^b}S* z4Jk<}zBp_qfWkUM?{Mwu4Ij6O(mn3Ar;Koh5~%*C&Px(0rsl-6v`i#Zd*v{0pH-bm zcU?et4lsK)aqkGa-q+Zu&eUy%vjoJ6{a1gK3gdI+o41&vG*D~kfI7{90#M%qY}d-oa|we$~GP)9GxpQ2v{GVK}ZkuY=x|EbeSBWN3u53_dB zkxQ`hAhLO#8&ip;J#91mLwdq|71L^fpU?Xjkp}exuxIt7?+!({^RLHLplde{RMD3& z+T=(7A{arqdxf^U{|#9(XBZOo#zHn^WR}JKf1KT%)XIjl)R~AW-TYd|6UbsN-!cmt z-pR@hLOc->5KWL2qBcTe<9z|ULr_11EfU9PQ#l0U?9=ETU(0F6-ebLF3rT$F;H|&XW^(X#& z^4vivVN%vtlVf05MvHeas^76F-{c)gLi#9qxb01&YP+1{74%6say)8g@$t!La*4o` zT*d${YS6!A-J)?l?4=9BV=SA-lsn<++Lr@ev0qgse*(7fT6nHOeZWQ{yGA4?7TR%V zL8jvEK8zdCJboroEOA%-6z-?-Y~VE>DAU;Emi<~t>M*GTAi=E@>FnxUK2Xx#G6q(k z|5Y_TD~5j}34Ee15cn!_ehHEPySM=P0560Xvbf_;Y$E7XeQ4Y-+i7L0u0 z5dIqsAO*w>JCb#KWJuPPIy^(s-*iRO+0*ZZ#*OaNiHS$7!qtR%OBXggK(SXjYyWKN4<@B-zn; zZ%xNcsshG&v=zCjzlJY;Xl)U$N5VmC-bLe>%eHs!VsM6>Y5zDW%jkGOe$SdHUkLpA z6CgYjx6v^oN-1yx#KX*_)#pc?HgElP(NH5%;00l|EdKkBMn>$Cfx-3F@=9g~TrIU2 z9VfL$GDa^F9~7-;{%!*#UVkW_g{5WAX6lnUCuQoKypNZ0NChAa`yKr+{u!q#Mfv&9 zLqbm$9=hiQoxU`~71^;?PybK{h_C1n$RMy!9BV;Tv|CzU{&9}gs$yzNh$VdaKw!7+ z+7+34!}lz{#%7$Ab^-Z^iZrF-)x}A*w$;<8G{vXe()R&N@zLwwcT!ef=AGaH9}=(0 zd+G2w^M@e=gmY{kQ$C^%=~V;C{p08tz``gSQV~7_<5rtkTP)Jg1tucoO1?48B4uy4(P|$z zY3Xn@hw`Bo)yF??4Kz|2zfTQ|^YaIB3*Xo&zTF+SOn8n8&U_&_&oAn9>KQu<0z6LY z+8EpgJ{-4)T2llV^l&=PGXBO6a%nopCqQqam&^3y*(rO9_H`kCzd%aNg|d{?ecS1Z zSF?ASYI0#olF`B&n}^=2rn->bcMPCfDo&6j%x|c>i*22ELG0z*&J3I^;Pz zO;*Q)C_MI8Yy`aphXjGU1B|73sydg~5efin*a(w(;@K0p$73#ITI09rwRtrZqn=U4p{`a-SsGgNaF6Ls}ft?aM0 zt#pe8|Aea4v=2YNx*1<@^Ex)Nj7IP*yk_8Nz5lSeaAJ@?^I~O@=;6J+WYElvB}&rU z^~Kq@GH{v8*>IE0>V#ro`Y{SrOxCt;;4fsh_=rzPYSAkU-auzy6#F(nf)BA6BB#N}IL`V-Z==1V)cS+`va%$N(#t-)5s!((m9;&l z^xS7S!byx#RMMg)de5M~4G~7h#ul&=1%eO@ZKB-tsr=&N9NU}ijHkgA^U9!!PHlIG zXl7cyN_RcqK4O!P<<{&P+#Kb|?9b>GZ`s|BVpWQ<@%S-xd)W=(j#=m5-i%Mxp!h)` zui}z$tqUy$rpy1djDgZEuUhCtJU7!H zoh!AxT7jQSx*V4LPPf&KNYf(#pw_0ef17NX9Osgjhl}#Yc^QOfcX|lf49fR9-m9Z9 zH8QUqy#(GX12X@CFmFNH(TQ#Fm##&3!$IqG;2wNcSJ3@|1mHW6{{h^wAr&?xswzO| zJ=1JnsL(UUTKVI=+DZEVZ{6Sj|8z#`!TaDxd2%dl8bW zUz-k}%@P z=9nk8GvZJ#pXhs(Q{`M*UN7ZNZG5n2{w4_Ur#6K8bCg&4>8sDqf&v1n>~ASdt5{E~ zTSp$d0JStH>F$19ugu;SK$RYotIwDsS#<~p&Ko(2hKEPyuCAgcE=5Lw6?YjfCS%DD z%nM!et9l8ffoT@Su`vp2T?#ORij6pz??aChMK<$Ukdua7oAAr(taD9;{?)RK8*9K6X!WnvkNw8 z)!%zdK*Q#{x498Yi*Vos6M7|6Dq&u;X)&2!&{H!bX+3J2(YWLLJS;u_t$CzCcTKDHcj{;1lvEetW=tmq@Bi>m6CXhmKV=hl+{$TGylJ_QZ_4 zf&-BRtHUCP)-nCydETuu5LoVIfPcf1yFh64H;!b753BjXexCC;RA?f*He&)KYlbvs znj#@#d|Yy};?2b@gm!-G>Aut|Jq@Q>z(Ft-$EVO(yKK5>67hvDefgW~#gnk-?vDB-(tMJr5?5p`?bTJh}4lybR4-TO*AgJ{r}R zf%;rC=+gv#r}8cHmxA&t?q6Lu!s6%m)@cx0i*DlIQHp5Q@F*eu_Wiasn*8*1ij;!< zKcd11tO5IBtb2`ZO-;O+9QO+e`}^2Bhc_P&Tl!k`52f?31JF)SAp_8_9UTW_bH09k z)*JVKxcbVdD%UPrK@<>aBqXJg66pr%?(XjH4nZ2EySqiYr3HjdcXw~P7KW61UP zRnuMx_0G+9hP<d3~`x4tne@9y&o@t_c7k)I0h`UI+?F(}MRn_&TY#WmkJ%~%;(EZ=aycYbLlQ|O zusx2}FYZ7Y=zkP>qr3?<*`9HS7>9g&bugDVCsAX!Zk%#+Kgi^`qbq@7f+>g0ed@}w z_q%Ji`CVo$XJ!;4q1|2^EW;Y5h|$*0pHRg2p5aCFbT|>l*P~ClKxb+U=wL)cpTxx( zMsLf{RjSA|otC8TJ|JU`bB1Z>$`N;-%XLZTM3V%K*H91^bmuL}^JTQUgvHQmwHy=x3Ts=)*Pir8=sVUWq+WM<;r#;{MP zub`fYzEkATeC(9;Kc3}%zerR|gJ!TcSI1!ISfjc~G^JXKTSU5kkQiJZyeV;RH7%6J)qYkv(h@r!X?g5{o&&90=L?@F8r2vP<^NoAxVU zcPk?-C_jIUk(a+4w0AySFcphJ1Orw%)mL?hT>ra%wt!+Z=US17CC;vxR)znnrc-+( z&l2_PG;C_};{f)USHnPy?~iRFG5ETMwll@3HlcJ8#H)nvVsqJQ?KcufaaT^r|`AU^5I1h&cAoo^_fH$ z6v}GJ0H`ZFkgholvsb_TdT^kLLv~YMzm&U|^8V)d107ugpu24pU>b=rbUC}NGe(xE zEhYnUjnj7DbrJ`O<}zDMjlzOKg<*6VeCw4B0oo}Kl0o;J^U-l*DqP)_g?Xg&$O@U6 zHyD7PWB=4t^6?EMO)taR8nJ1AqKdU++B!(n42_D)eR58^I`QlJ7M`Wmd^xh!J|%B# z+>{?|5Xl|!c<+Gza568xH(iOGZ-Rs(;jc2r>r-jtlF_*y7b}w`1JK~MjoSo~rMzMY z+-={qGT403@}BKE|MlQ9T4%*+3M6Dqp4U%1`}9~E10CN?;9Aa4aUJ_-81!fRTt`7V z+0+z~xk)p_J%DegM}d{>n}3Vs>uUl}sV}TO#mU&!G8SgS&1beqCi_oiMvYI`S2F`^ zE#XMM`(}|0Xk+BmurT#2B^;}bYPqukLT7v*zQ-%@mDA#5$xCB&Zo|Q4zLRvF4Dof> zSCf<^?dcWV-3VFlvGof|ZrqVzSOJKTTa>e#;(wiAE)fW-|BejL04%+F)&npnKcns@k-XP&?Jxxfw|QHS z*EAtsIdkxt)j#b`e|3nAB{7(cuk~b(-n-EQsq7MQF4@^#GKfb^MTdK->P>Ar^JxQP zKHp6x@3bs<>5e^ZD&zPD@{%T@7LEeMU%{(I2Ts86^%Iq=loY2gF);~E=eAU8-N=ts zit#M|mu5pHmGkj;I|k!sz2o%1cZUB2fY#5RmRcg+FaFe|4MOjqpjQ?$g4l#Y+j(^^ z-$k?<#&BgMB@w|)@;+s@I`~`Ryv zRH)pS{BpVl&LMhOee0XKFVIGT4x8XmobUK*skNbP&rrfzj;IRdI||IXc##91w&i<%7N;vHjS$QTN3X7BIXK=`*RfO`0`?Ik>E* zq@)>p(4q?)Tr>Dk*^yQz#4=;)%q@8Hw%;TqnTGpktBC%-e@0?##7s`>KGR|skLd;y z1C1b!F&6NKByJCnZ3aX)Xo44NVF40G5{uItNpi*}omm~iOs-v28tphJGjQ*Ru3B67 z!GcL_<~?h#wA2E!PZq;mo@YZ>*9YS+@wyvh$PGK!3pHn5OaI%%dzqDm#y164?O!z`}i8nJ} z?PTQiv?P3?MtZ#EbiXqmVh@s;~c zwbIkCze06c6O;swjs>x4go)lx>s(StTh`dCaYlF-3rrxl=a(!627?9hx%WXSn~eEfRRY+Z6EXIKQXy#)e5^$YIw-fYL!8eAesPre&; zVz)E&us&S@@UeFHndoo`77>5|fx$!5yWeT;*lKEoA84)6w*GhvCwiG3LATTyzUmDp z2tnLm7M!{xTpjJp=u}d<=$3&UMu=T>-urO&JK9pxha4Xk={}EerJ&%l=fOZ&&wS3% zBqIDzpsUmB=j}TLfUjanJ-{y{^vZZBBdB(tW!DRpoR|9$KCj?XU~XcY$V-f!iawHn zG1CWCqu!W5;8hG@aS{mR!uk*M)M@(0{fX}Af@lM7V$DWg*us$9L@A2G}+!=r~H{0>imcI#2C87kY&9^p;U<` zmt>A67nD_(liMvDzC)pSa|Dy*JBHq6Nargk9F0+y<7puWZ&|nZN(=-1>N-d73fTCe zZ@!Ba0ieLiP7}IEYnJg|zZf9K2K!QQBjIQ6ULWL2gb)1znB~j%2BS&|*?^xJb9` zsCqF9{!U9wjEak^cq#?vxFdrR7D^0T`Xcc~LhKzepgODEl02`@2OHlqBm#@Ju0zv#tICyXVJqh1^Wq>hgx$f|o9kgxqJZ}rZ09s<( zXbe2GqbK|eR+;g|G$m2_1fzQhG;tVw(%(qCM=o0eEE{vD$=7V! zaE5SqB~}Ik;Mkjr!O%^tJBCM$UNu18u7#KihYW;&Ulb&G6c4PVhRP zkY$by8m*((u#WGsFa~3Kv}o&Ni(SM|7Wj!+zU0tILl&$(bqvZWbb>G--kL%qiQo)l zs9vL|**mLy=p`#&H-)M-w7X`*NxH3={ z1bzkXttmN-_#qORC*4#oGxi+SDkGK_b8PYYCox|bPoV!nu+978#fzsWYayn_{{*oQ z(qWU(m9V}c&wGHIiQq)5^}wwvf(M9Yx?Pd2Sihj_bcBTX4swF^!9<}sGcWjMVd}1y z5}(pi)Ad+V4~!XiZ-&nfj6WxHUM;zh_YeJXX&<+thJB?6bZ?8aP4Wt1^uVJ={|dJk zP%3C6z3=9D7}`ce&+k=b6@}j^F`MVM9J~d9)t$x{+JG>yZ3>^16?c4`Qpu?rPH|j9 z%nm>~{htxZ3m8v7K0Q13+SxYW`Wpez)s8g3d7lr{7WMA+U!~t5_=!nYd82$I8vo@f zB!e!9<|Wh@fKC&eks$eSdy(r6;10cfynMrqj?c{{px*M2f#~U_DsLUU>RCe@grPMV zNTs5N1;uUxt?7Y!1dc;8=(+%q@e;XYa&>Ug_7uE0|dU@ zs=c@Q`OvoH(i+Qxc@Ibj;WHkxDojZ(u02%?@i4O8p0Fn+#%3qnoq{y1rssBsZd=vr z&zB`1j0aN6=jS(HW`l?CkDRcs=9(bZ^zn<-XMpF6Ri_Dq!*^V;dXk<^LD>Wtv^nZL z{oox3&nrZ>SyS7!=93r`!&k*HI!85kIQrH@WN^Tvpk_So11VELUtm850p`}E!_;V< z%gd?8&dkBw!wQe~Sx(-Aa@MXTNj0-5`naonu(L znZ7084#mZ@xK_8Y?jvor*-%l+L4UFX+$w;`a;<$}HJb@i^RaH8y|N%WUrcP9k3edY zyZ4%!m?>*_Dx=U%hOFzXL+||NLnF9t=29GUZ@NlXhxqenfWD$2V|mXw?kzGf@DKwq zH_Xkfm1-#{`V=%R!_}ShS|Z5zOaH{NDk#5Sf$Yn@_4Kl!m#S@#+q%T^q1R4R@l`W* zgP4W^yF-L$odoHR9roxRP-MV=3#w;O;LT_>G?(+DbaMTARRa*&C@CuLCw>za7M8t{=elf8q>kn@AyF%BYHqEL-^}4dwBJGLlb?Pu~*m`uIav#U#LIQP0vTCq=+(% z%H2B1&|y;`2|D18HPFI6MMDjQ$B~?Qaz57JX`um4x%tj9SUHqh?&T<}0Jtj}kw{No2 z&P}<^oz6rn48Z?k_FQ5qxy{KT7KI_sh$MeJqTK}RhJ62yLV!gc8;<;JLjD5Ui$r#? zy}Fdc$Asdfd(AaNHyncO`{_c^(`RGqj#C0Y-v8KbR*+`cg0i0PK|}OnJB#HXl~(vz zT$qE~w;e{lc$$t~g%CT~Xtpv72K^nrm{fbT&CN;DN?d_4o!-8l&cH>uSA+jn@dY%G z(61dw3=o}&*nxAvF(S0EU098%;4U$W03`Iro#cUfUk}=3rX4UnN@46Bl4pAZJH|^) zgkHgvXkxMIz?-oU3rpd~%aPJCu9$pGg6>mu+}j{|l+MIjUqUYW8l@k`|8JXOhZAZY z#=tYG}eqs2PPjs5m&d+n6w;CQJ^WThrNxK$gBjrUZ7l0WlrV?usox61c zY*GIA*4dz~0`id`&OSfnQ=6K6NBtCf2~gc;FJ>K*bz$_=rRp(}cU~1+BzYTw7Pi&nzgPG?=%7;@lw!4AP){dh<%~oNSH$ z`S1e*y+wIx>KbzsTfj@#cyJvK<`OZ}=afPFUKVC#q~so-VeiG#BsJ(E&>Q%fNAPcN zj!onjTQV@A>8Ee-32K2oh7w>A17sDzS-_sVL8sl@*7F-lE^o%LDdT_5JWNQ_z8A}j zmj}o(NGq)DKTIW@SuS4%qX7r;3!gPjx1dPXxHdGI{d-rDoYvNK!1En&DG^%M>;_fY z%1^lILj4Z`Z-xnFH*%IR891=an0eQmY=E*vHZn3J2pn>E5-zfmQEGs_e*PsZlEO{- z6pRNC_sZQbFcG*sO{jol0ZB3w9cs^TtyIL2R$c$_)`=)(FNs#xN(cyLXYUrTqXIPl zv!k&zS~&5Xbod1tD4FlsV*Ca4F#4xAnF1XE?>={lJONgFXe z%Lf5L!7~aHe8IICw9iAPeel@yd1A#(&O%||s8iNoR6UDBK$g;X9uDKjby2H=XTZd% zb=Sdhq|sVhum%&qDjtGHjM@rtb99JDeiI9!dW(^g^~$w;MHlcYMm9wNe)I~^Fi(&d z@dz^aHB9*=jhPs)mRxLGeX+F4Kh%n1YHpn^Pf%*MdIWE-Z!15ayefw`me2Dy;`y>e z_kyM-6ft?KR}rBh3+o>U%$!Ch?Ltf;9DcOGj{HB|FaX}KSHdLa#H{}j8ClLhrs0SV zqbb9uiJVJ3ROnf`jdA)eOMKShwGTm z&z^vu<+wrai+qvjcqwG5_t|9x=mWwfhUT4L!Qj1 z72v|lG9rjY0Aib+`&|*GKi)zj7n?TvNn5jKW(0b~moHyjHIu@{pm?0fvlxI=^(dZI z(v(0E&s4P4mDj5iMLY+gRM9*KowC>}a>$Fx=^>qs_useWqkv2YFKh@Ukq}947LWo9 z^NSrC{y-b>q1x8eD+Ns2Jo(Fq?fJ`rBOce!dL}sXFS0$yHyadFllmTLXRWy44R|%; z0zTI$VD5%QNqK4q(YF3;mNqITUse=McXZ45#WgZOl9ZB+y(-G%*B0cc z4Ud%8w%7aQ7UEdd=c9^3^N%+6iAr_p{q4FZ+Cs;u8JlHb%6OU!bYdR<0C1Gc!de^`Y}K@-Td;&w7o$zbinJ~HP zB{%dtF17LuigK|A1L*8grT6QO%bbstz1cxp3t^&gX1_lq=Ij0Gzo6Pqw-fw;raCFRj#6utg zTnYgKWW26ifGYd!ZrhAt4WQir3l^TTic;ovVsL0EX+O^g^zH~h_%-48s+UI4@ifvE z2GKtQN;NZ6Z@A?KX4mShH)nI=EAptSBLYwMife*541n7Yx@&TsSx* zy|Hq_q3G_P3kXmZmkge-gGvA#xZp9W28}Eva8Yq%uRufRqslpIz+c%W3^cm~#Z@P$ zP`jqT0J6qTeuY!Yo>=Cj$2hs+fjsA7cs)7UdRx%YQ?6^5jbhM>eTU*Mt2>rdp zYHI%?e+Aip$NYRE95qi?wU{7ho0wBm(dOdXG==fp99U$~8s0>YC8jw1tls%4L7!zoA#)(X zU(_X_^GqISA5$kdaq;A$!cuhj<5 zGo1aytFYNypq@VOz&!w}s>g*(T^2R~lBE z7e^g>8q!%oxHeO?Z#CuGD?RJOnsb69NCAf?$LPX_zSth7L?A9xk+Jhz8596TzxXCF zDQb1Kux*Kpiwg&ibRKlc@gxM;S?6wCR-QKJ>vnp=?w^GO14^&_a-Uk<7JwqXe!23$ z`iub1>na}XEW(>xbNJ^6P~N)^2b`KX85FKN=y(q{lz5v&rnBy|{6wg$gLPPbxJm1> z+jpa}Ebl|@Gr{rs0%_~DxSV7Atj3=YclO*mm|!irSs>xtU3Uy)iZs3;9qBEORj$;Q z&^Sdfoz`;E7s)8&0mz*#{!``izo>e|&6=SeAhHjh3{<_V55WSf-+Wlcz9Bx9gw1`0 zwUPPy8cCM$8xj}>_gRG%@qcCb9A8o8=d-WfK*{gRI_ObteGW`m-@1<$epS%h!iw7g z&pWmiqrSt*=5;abz#6`3yVTfEqz8bJHOV_*{l`q6cf)egc<|0){%a$c&3f2NI+@$# zPePyFS=4%6VBd$B6iynhxSx#U8$U|Ha3*cIwLedHqBgm`hNpfo>N0b}n6H+J3RBw@ z0Dy=1!x9a6sOf7f_$H9X^9aMu=-BY$H&1Z2?ZPp8v6u73=4k461na)@q)9}jC+jo> z2QrG_IEN3hQyjn1nu*d{Hd;RfmqJbMr$ccmDPMYCS!gw#^$>cCn`C-~pp6ekk`NP9 ze)teMFhDaL`qMho>oPA8VT-z|m8(AT6}YAH^23@D?b@0?FcbJ0L2U}(YeMgQsk!n; zm_t%s$Rnln_;!X5PHU@fbQ>KHPo!b1TrjuUTHty2pJH2|DJngn!pWkCl=injk^e^2 zM?pU0QOsZs^}=d7oy9TD$?2RJ`xxA3(Buj=cpW#hQEhkNq2H@k7xerdVM8S!=Qa9b zD-3Wdzt>=w$Vv}n$j^_Tn42qbhO!H*CY2kWhuNF0t<4#)Wlru1vy*01aBoH~f|#+L z!GsSt2(MNf@}Nv>z}v{Yx#D^^fei-}p7RJd?7vckYf5VZRlMiOlX&H4_!Yrn#El81 zAshMm-$jJZ2Og`5iJX$*p?+Ne6tH1>>GT{`R3P4%zfO{o166fM>QH@c-EhNn)ou^Y zDtGePD`SHFGChpH4K}s9N$?=f>banGoO<6K0)%`|-ov_iI`b_x0RfWM+qrqi^*GMr zy1K|n&P!4Cn&U}pr>C3k_j6BK2646=oYb+#!>++dJf=S4Vq!V*)INnbl`Ud2JP$1& zU7oz^M~7Io#;pirD;hGoC)L+F;kSP@pE)s^uDmdEYd4?Naok=+9?iMpm9Jd3n@4n< zPFI-t{0K=>{{QPhO0@fFb1O4|6%Pv`bf73_AjW)(@FshRXhjBQgZy#j(0+wXqLMvXNi2-2;QPu^B6D2aR88zR015iwD@fKL^}Sg2wmUE8>gbVcaQ3eh+UNr4Mhy z!&k-qCdYryQgF4CSfApXJn?7ms@$q=1at4Cj8gV|IJ3uKM zK#Ch5$lmZ>|LFt8c5Vk14CQGQIAR&!j+y1bXZA(1X8=t@ahtiHV4s{>nn+qo%86uPPqHMdcO*ZQ(o7&?HWiZGxo#$1RI zo->wnL6fwbqJA6@JDeBAd*gq*y*Xx**(M?IS_7{?!WD_v{;k*9p-WtBy3kXZ&TP-c z4IpQn#eK!D8IoqxdZXTSm7x(KH2KpLMceg6>HPGbRq>(p@j9apccgvZ`7f5tjS6@< z@0oeDJTnsg`1pF|V$8J($bNoS;NF7M7-YqJnwQTrkks$+&nrfPhaa7W+_+zE(5G$I z*4CT-h_w?_OWDq(W;PC=$J3Un#GlVE0vz_@ro4ixA?nNMK!hKc4G1_cN>wWoVUC#G z8aiF$+Ca5?&EaS496_(=mk6V|?)6}r?M1Z032{_%gO-gomlYR>R#H?Y*BgY9L-i96 z2n>>E@usK3yx!J<5uBi3^M*$~Gx=$z+3sDZCAg{14{rh$O+$kQl)`aw*p&$<$j>S8 zuU43iGZkEybI_opjnT}rg55PXfIg&obMYOfMQt06Xk$6XyiaQR793YNg$pU%|wa%91I(1~fYw=|8`x_%+_9ktowGA>)W0As|G z6UBRGb2cGC!I?#E5B}G$mTB+&055_v?_XB!56(5qZ5~ysB%1Sig9ch!-0=zV3Z9yH z`T1&TowZKIRQ++^M;?L}Q`)DZ8!!{?8W$EU=S(uW)hxk}xIKYFJ*1j-mQ-02fQ+wE zBEH!Sl0ehBh)2!^zdUNluNiGo-l+k+FTzcxP05exi@Sc_yh-p!E7@~Q9Uc%poQ&wjwUniRgMo(XUm=No z%fV4654U`c$6j`4IKj6=aSN%^d0{@X&kJa!_qeIb+l4g~cY47HlBy4|s?=)0+0Hr> zS{%$W!pzOh6@O>!6BRt^?mwS6GRDs^gExnaPXT4oCQug5l%-f=@Ckxx+Tjkr+3Tds2@kvP54|I-L!p|G5Pr8LiHd?(#>@Wp-Qao$bX<|@uN z{YC7)O+z|?&nf%Qz7BVfznC)#gcG~IuL|++^W!5MSsLXJ z3^Z!O7Pda^AL4Q8TYj=6M_m(rOOO-|`N!Nz zbR}ssJ8>ug<25DJ8|yf`5YM`Egk2FgcAVD3HqPpW&87@bUiDP5Nmi!a z?Y7_}!SnF_mppE4qm;n+enBStC)uLgPREhMtr6P+W=BuB9(Ya;{?3rjB6OOt3%7mr zt|Rm0@wwluu^koJngwIKu;E;jrz`A!2A|FN`k6(KR{Lq5onH?PM-QeW zzo68k>7sOes^cQr_AqLP)fE?wx`rvLb=(8#(p@9m>x?Ju-*XsxXr$^r(|2bemcvF4 z24xTc%tXltY*ahZxPr$V*fsacj#`YdvrAB**`rO<#aVA{mnP#iU0q}PG;>$`( z&ot*;UKeo9;RiIDR+VU;Up5nX49rA14GT`ZNG{*S9cvr{0^wa6>yvI6R%Ay+B^Y+U zA&t;?Q0$qj!|yjJUN#{^BcY8f*b14(#bJQ1$SoB6f#$E1j@-h=YTFKxq~%sMOgQ@6 zb-?YI%1)zTUAgTwg&N=7JnhwrhkfAXEK-i%b0FP@2@Rc1Z;uCu=>Ck)Bot$U*ZN32SKd(XMdU!AOi73#;Ca zg)=83a6guAie5~vMPWFwqe$yu%vO(cI2)JY$yu%`ue8ZRpl^%8Y&mN~Tl2n|^{DA1 z$gRz3;!}m0iaELpNgm%B5kOW%>X;L@y6*ya$ASt#JWrv*k=VlYAg=`HStF4{Bf!P0 zKE6R&UPr3Y?x(%Plnzs)?efd05$-E#g)d+=&~TnYUq%twt|v6!af%&lyd9TywC(Ol zY}vb3)upGJ!V|M^hySY!*=l-XYHs&Rt_Zj+(Zi#Im}9#|;$4`VL&ok_3~hK6$EBir z(>d(G@IW4}bwlXoq6f0Lq<9{!#_7AT#O?Ot?o~ztFJE$P7Ji#bnl#r_we!)w%<+e- zMd83#J?DQMs^eXo2ZiqiZ*K+$tD71<2Hk9D^DHK}_8-+phj!=Od6&JL!;v^o4Qt&` z?rcUzMevPV;WM7QtXe?jU;Y+3lKz0@4L#(=0D8pO<3d3J!LCG7gp5t4@PLC?7|kUD z^ddap^+G!Q6!3>!qke69V$#@i-26C}9T=88(-wek*(%vnFDbW@ZH-HX+cgujJx4e; zAdp-fqz5dRP_0i$#q)xZ3P_^b{DFbKH`fjVFqxnAh%+cWRg@-6(tCP(Y*|V$&8^H7 zKs{b^ZLFw}rc!q+&;n8q-mf+k`Tj{dI4m-f6g7qDZ(7SGk@YTMGBv)@}JBrymYr-)dyy) z)vrC7BS}@;9~0N#@p=n&Ib-Lv=JAGhRl!xq#>N)an5J6PwE3YU0Di1-3G9N6s-WZt zrgV?t-Nj4dqoE)?@0>Z~%}^WD!gS#hs~T@LP9A#qCzAJ^N1nAq{`Fg9{S^4qR+($x zX{7s4Q!EXryZzMDimU?hGKIjc#^YLUg<6*?bfDs5DnQvVyL-puu#xkyYi$>>Z@x9| z|9lHb5lvXj@LGkVCF73MNu~3|TDPx5y+KAUY}y+V*R?7|oa3Ii|C}O?Py;Fg<=P1P&yyi=D9}JZZenC6&pr0fk%;{nC>>Br;M~<;CK`zchFY}T zRsf_FXkrDU^7HE@oAW6u2G|o_YFj|pZ#4m&mIDk&F?xjARScz_oOhIX%MhCloLVSaSGA2A2;2nUGwLY?*E zn?4g6j?Z&wJcD`{WGB_+o;;fy>!wE%GNsi=_a}+tokE1koG&>gfbkd4>u7_WRGao( zV5%hKsO3R8_3-u##C+Zvb{5y*dOC^DexaCS? z)>t{(lc-(3Q10{ORD3bW1m2uB8=!S@xXnGat~8^*T=ucSoPDaq4GP$Rni$a)OK$5L z={RRVn1nrFPUzL-`BlJs3bW{Z_h7EF1{7{m)27X2Qbg^GzJS;sSm*rW64TIU)Q+7? z)iO7kksybfzI|q?K=rw|zX-vXoaW)EAvc)F7hW`!S*(^E6|)y9TgQx^bdC-gncmex;rSYAb0IUlU3NgIpSoGQJ83$%yt zzx!%-nOR#a(Simfjn>}=*WVw1%ISyDFzmsi0U+Q7ppLC%LNz7!5vi-G`KcyT?arOb zs2dpgt;7f*k@=7kO<#pde2g2>nIj}5%mvD@Z7P}o%oE<{qzVF%yivVgpzAbgdx}}# zx}(nk*zm3o=5I$*G^T>+xX3(n(X_mL(GrrF9GHY z;mf6UJ&Y6)?5RBWJB%FHSr5BmAk00hk+j-PwrNG{y~)Nd)$Ic;0Lue$DlB7RLiRq3 z72;0T8sD)GNefU+VFZIo{YgUr_r1^%=j8|#xXe56%ilJ|n}aH{f`%}MEbfVI;9n(z zfHvAg%^Fr4l(I-OxDEjkmu2Dz=FcYYqol=DnbItvd*i_RegGZUN(lZ5^KNa>#&kQ~ zd80qE%gV~%Nt*~Dh+<{siUZd>6=rY7t0G2ghg8s%lr9Wz8Wkm5!ptqcDf**Fgt45& z`!Ed@$oCq!=9(4^T~o*DSvPoYpU;r!rrQyRr(2V8`U|3&w8VgAhCX1$QXR;3yZaE! z_C#*g)?x;k?Df$uo11Zyci)W532FdQ20EJ0TaU`A#>KVUl^o?JTL$>WAEka}5EK$F z-yh&r+`7Qt&AB56*9U^yHZE!20>%3bLtixlSmDk7H9}>c3nrcNU>H_w0YReo)k|)s zL%Ukf!8nVZ7tV+AY>%X2VaI;32VFaCG?DvP3O$v6Y=8ViTkV{gxTK;-UDk7tgzW(E@lk#GS*pJ+SHLGTK9;EbA$edNjNrQ2HXuJ-d=T<}O=rYAqO%44rJ zHYP(@RpiVJc1gvxj1HOpmXsPbdpBLW=`&S%u!gy41e-3C zKzkRB#BuI=aqw`Zoof)q-Z^Eg`rL+Ofj3=$b0{PeNngWp^4v&WA|L54){+>cp$lL0 zk4uhTt0M;{XkBWg4px#9s<=0|jK}Agsc+j}3WS*5te+3>ojb#sM6c9HeV&{x*fSCmcT~<-EVUZR1tbt3j(WUc2uQh zKsiqOMW;y=iAW%@-_C$9>GWQtLyWV=m<@@h0G~DLZ#HR%4#X(9-17;;_%GAU%)0c? z@R2KYAh~?ENeCDZs|E(fGv1e>D?XgNTT|@rt=QH9`l&}<-4t;^!ak8bHw+Z?qhwZk ze^NZ-R(ZC);ZZ-&MIU+I*kFsk&X+mEQc4Sch)2-3uKQY<44zb_Z&) zl@GeyBmT$iu94jCz?}O?Jm9U^*tAPwv044;^B6blJ@70HEJmByGhTj6J<8h1BW>Cr zri#RK!LQ8S6m-8NAp|1G{s#kwpd^8|K#eE5N$ z?le_Qy0&kUnJSf^zj?kGBjc#DU7SX{^$1H)kna3m44sZm#3;cH+}d-nmCTpQ^4OnK zDw}H6Ar3+T1brCOQ98Y}1prQLH zK4wm}DMt>qPz?)D&G08DXj%ZvIL3zRw$Zej~}6X(e#b(xujS|o9XP_E(Z)ALk3P8|M44%|2kbH0@O}Q z_XO5}+)g7K_{{u>WcIEippSXGH*mL|X<<6ONV}$DM}b*YQU05rGVk!UT6Z<>(@n&w zy~BhtH+(?tLpY}w7wrb_xyyp{S1Ja-I$jaNOwU`lrpqRc-Cr-S@+*0CHcT06(_6i1 z)lRwbfd^raco-1Sm5!}!3U}7)sAj7%%Z{(byASE43P8(1fKrx=*2y&1JB! ze`q?j4{Mm4;xSyLtzVKr=Dj7|G&HGdSVQ(m)#HX-&i}8jCzl2JC%?fQ78Mi{`f1wB zZT-nO0E7t0>_1%bel*cX-4LD=v!W$lgglFyo-_blyG^&QyQ||R@X~5Ft+ID8=49iC z0P@B%c9o*0<`*TU$++*|`DSO6e-;xkGuNI!AoGr9`Mop^!vD6jpRV;Cx1v<}K}e{l zrv}X9QF0q`2k1cL`}-4n#n&)K&b$8pkZ@A}==AljSZm_b7oi(kH2Lf7c{8KT|I zWVN>lc$y}_hwi(z=ibyONP6Cbmw6{>_T$?hrGxO?p%Jmai|{@klL?7vXtKB8Y;gkf z*32AxMFP8j7^U-lSRX~2?Pi06MPtf%%*={wENATr)}xflQ`ikYYI%;jeZ$lrrSS{o z`rt9*{L(a0%f-=D1z>Fjz~cgSo~th~dw^40tDd%P|8x8kL$A;up)w@}g-S3jgqp}+ z{T>YHlIE;Y!`t`6U$Le*i zRl>WD3OE-=#xW|NGjlIosSQrs=EoZEMfzL!_0F#fCL`%C+@gJWUTj`JcAVBFZhzLS zXZk#?$MI3c#l;mZ1>c5A)6r;Lk^tVMC+0pksmk;3Y=RByg5wlazoTGc7MNF0SC*2? zWSeB9mj^84K0fwr4dqEtXbS-Fl+d9<_lCNr-DJf1LK!<#mJh*0wRe8q+}65DrjJk` zfsLK9cGbPaoYQprgtI|kx=h&8Q;`b8)wxJUmWEBUOl@VED|b(yjYN5QI(4paM3#=v zV=vvlaGNc&VbCI*lLD0%+bUkl#ern1RSzUlL-_%jXYS!(dN=%d9H(fHHVk3W@11X- znl?LZhu24OMry3!*LQxwBs)n`A!dvnZ~5lp;>F^zpz?Hq>~#Fd9)^lYkW{$0cbFL* zP}y`#4uN#onk7o-Gy?|c+l~$EmtV(R2&RPy-P3$ncfL9N5ZSBld9umsc$#E2tC8WU z&(Yet!hL%=ZzTTKYp#Lee9Te;6JIRCqvJZH=DJH}5{x!0qOFZY>$-2Wc%eF9nH!bq zbHW?~*H}{{`3@c#IT!xm*Zm9$@=o)}Lh{ACbOa~no2k-?jj=HL#+0@j=i*@#KneQ% zwv>KsrQ_@QA-K)tBX=kI>p~t!R;}6OWFd5(sQ1ii-l~_4bC)Um*4bFvNg`+4Lpclv zk%dyJ^|Hia9X&m>*g(z#mG07Evs1 zDnjTbeTrLB(dM^xe8X%qF9%<)g^W~&t& zY}f|(wq$$jgExal`z$D>lbE0$XDlf!ODKRg^4lyhSOHL6{&8^pMqK)@i_)(c806vx zBFiITfGv7(Mm%39fZHyk_pBeZDI5?VGz{tPW;3cA2O7uHgpIRwSN9(|gmUIKJ}@2t zQyRiI5Zcfk@Q~mX)s)F=O@H~JA1Tq*s4bBL+l&6CU9|_eYYLK zxLsNUdgnCg-6GdsI#;nc{+%Y(YqYTupxQu&QmVHjc?bmNaY@x`)kf*rw!LKL2taa;+DoS7nK&{9Bb+FXv zEo6wwYmOEc(K2sFf7*@-i5>+%=6&NUr%m*Z9;-?JHqf$sx@)7#5pdLNa7G09*OCLcLX&{$-1MDZY?Th2dADY8ZR;3_k8Fn8Ln-p6GuK_ zHGtKo{kDP7=m+6|y;`kyc|G}fZ_t}LPY1UCe+fa0vo5)e;cWOJ>(Ne0M%#e4Q-TIK zn<6tMe<76uxQn$G)8ha_@l!#8#OtQ#t_Jo=_`9oR@3{Hr++c6|W=H7B>FM#@DDEEV z;M(&`4Ts&}E@ZiRt6BM9>zguh^W$-;;DXgImlfQsA*LyPg1 zLoTLQi_ZCsAUp}6P^l0cE9SyEEv4s?B{r?i{`%y7_aMWuw^Oyp8hBuH$Nw@u>{R^` zpK-IG-?8tIwV3;%%ixl}?OJ$wzjk`LB*6+kvvMmWs#+&Srtq{uB8vzOF z?(XjH?(TPO&N;vTJ01t09I*FVcU(E=yjE;>eqK)FF<#ZHz@(?*&HQ>wx%k&qHsUn( z4JX_4jys}K2TQ4gVxh6PHO#(gJWw7vZd0Vh-dr`CyH{SB<{g3N(F{T`-BG>1eI1-+ zd|*-m_+J(F0P=3c64|#IXul{ap<1Lx(=F|@11PMg=>zF6hHtIYIG2mG6l=3Q^lq&Z zieRD%ghAZYX`K-Db#p9Ak-SR=|(q+TaE-w1@<02MHb3 z2{?}~xT8HgjJR&`x-Axl;vH32nrxPDZ5M17A8qMEH>NLaDyBC~(S?BSLdNMGNpt4G zK$eL!df(vYoUQIx$*s~U#AoCc&(v-`C-SC>?`4f2-ygQrxX{u5QC!z|W&to-_7z(3 z2_7}tgp;-!j3l5hbGq#x!bg5os6h?3Jm0^!zVy~#4l!uqZBMGL{(zv#de8-FDJO(7Q#K)V!a7%lo*BPGpqb#h{Fub}dBA;RqR z`t6kY`AC}3=amdw;cJqTF`N|K`vO252pDgu76b_w60E^>N+M?*Rs3CGuhVc3=#yz+ zIo{vNx-Bx)S+Mw3WG^4pED6o%*w&$;!x!srJCg$H_tcrU^(|_<1$jqTvYmJl z<-4LqYYA>mzi>_p<|zb!c;4?};X2+sRS9ZPL;AlwKj~m)&Rihel5{wzWSQF7H9V9g zo3%rm9Ap_&SGWvm0x}{!yH}jcQNQi3;u6LUBdlzH$Ji$+>fD22Y(K`W10vh`Z)>hsUG_SP9=B+C%ehBy5>yp za$EniT0UP6%g2}s-_KT)fhd|#V>_v?@AxlTdL|K57oSOEd!3i`1XbkapaCfxov-9Z%)|Ya@sZBqS8^W)O~p(-V)PqT7i(H{!MEsxZY29 zJg9ltc<@XH+5~pV*y0&5(m@8CX}ZLn8}RFEjw&Vw|_3ue{XQpj_5w% z%fBb6B$9JKwUUt|%E8aN;4B?;2$2NnKeTSwA~8w;1x4r$S|lAp?pM`9lc*@SmpOt4mebP^Np&&!0(uz6a~y)7p~&cD5uDfAnZ}AF9DLiN@@~?o^1HVK;`ok4iI+L z9F~~O*q1j5xYcalnVuidOOuWNgVcPT8K%^U%0sgJ<#;2mJ4+dbNjM{`JgEvo?i=#? z6IB)u4r_d@RWcPNB)Sc*I5j<>&+MycW%Lc|=Vx=?W z@ZT)T@y|TZp~IM$nn$eH(>=VL|FNE;sl$l@LzS!+b1X%`4L#rbXqJUI60_eYo~KGx zvZ$oioWv3Dh5Y(qHPwPw)$b{?-qIglnbX6gUC*6J6&6#xD>LZs9az>QXxkQP6oI-q?0g++ZTo$TgM)}~Q8_)x9i626&71F1!lZT%O1VM0L z#PI1EtY01<(yI&53KPEbSliUaOGyR(MxL9}LN`9Zb71IoFzinILxgN*^3te1WsK@$ zZnKSJ2yFQQhiT~sDi~Yj0s`t6Yg?-s}Vu^7v+_bl9KTAccJUe zVk*zuQ#xY8NvF<0Dfx1tKi37vQdm1?g!@E!-sFUT7iyR$yQ_t-+ui1Rz>bAiOx8c9 z**EZ~dg*hBRnr#F^AlP&mit*(!kuG}=j8^n-fnpReMqCe!mY((UVgr>$K#&K{Z_(C zY^^5LRLgU@uRp?^uH`iV4H>KAOJt>|kCWf*OIg2tTnk7aSD;m+sR0I8C1yfxQk%V< zLM+ECX_1lho!sY&SV~!Ozj?bQ19TH8& z<#NMb9!oy-WMhHb6VSW)fRug)p0_5U)+hUL`hTF~nF}1B*RUa&F{lj2Dk$coW4EF+ zJEqX5@XZmcAt6T4QB3s7!`oBw4{ehXvAY__*0P_} zrcU{F2KY4`wKpy})l3;*Z`Mz*P|kCBx^@#cOxF#V40+%?t{+gPjMF?QQfW|jVs?9xhdB1Vs#4G`jTDCk*Pwjo|97g8<9>B27 zj#*8K!eNz7A98USrb3o`v5*4U`$Jev7v1|>Rb5-;$AunL>v5nNvY@=|~O2H9_Ll+%?6t?NDkU4DCWNh^7d5ZaQw0ZQFj@zyU*$gj8^?=| ziXQk^LPR?f#1#_oC#$sGq^}pm&=*6YD~7DlGGoOm@Vp6+>o|YM7T)vQ*7&7#z=8Lu zoG9q?UHVmv@;imy2@!OGfs@Fs70=A#X(FNxo88pM1ySEAmcDVGYNAR4_vbm+=|8S+ zX=&V_!)zwF2SST~0d=D|gYNsPG~W?gkLNf-_e*KbL69-G6;KY?SL)sne7R&tJQ&=q z7}$MlN~*B0ebs{;n~;#LUiRWG`DaBvNs5Qky7tHLv-y>RPW8lMMFiivqRUO{UCvqE zML0DbRQm758taxLiTj5WL^hY3pQbHO*W0l1C%aerZ5LoMem>htpkzLp>NRG`OhOWm zhE7bgFW*Wai^ zO?YBH!fM@VCrC+4XMDz+si{2rr+QDk>H>M>*3_Jl@#zS=-DKvXix6n4xTS;Z*!byN zx@=%V-;K+)F8iHv(!)94w}!XZD_Z>VajH~nWqdfpoUL73vR|m-zmjj(6(yi}ms>Cn zH)?UzFBixzdU6)MBxq`CfpY`Z^)ISrZ(ln7oJo1J`k;q}>9}UCggoENa5o3ll9!t7 zY^+BsI6lf;HzRhyP2Q>aVjbL~gmh z0l>n@^PPUNoGzykTidDXTB(uRtWg_yCh(6!)bw`G^M@1z5QO-KTpPFJpL$)#8a zawtkC4e)}B?b@j8R`ZR165;b&PYj>0c98EKzJA?eGd*PhAo1fv?zNn26%=^_2ZJ`3 zk3~IK?nxS4yQ>?!32`lBL@o3xEr$3@3H)mnIS+(97M$dE%^}del7#m8Uzn~ZFLozJ znkW56fH_|N747($EWLDE_ht#-PPY0YCx|>m>Uaml6z1fs^_sqMzhL%H)ad-xN7Z36 zKqGKGjJn*$v)u(_CxF4Y`MOxm0Qy%qsI%&bB2+K{DA3gF62cFo=NFV@o?+=oSLiwU zs7%FASk|m4ST_qS99wf0Q^2INqd9@2777Sy5=Qg|at>MQJu*hk@Rh%PEFvA-pk=4vEj5xqi;saJ$!}yStN}nDIQ?*K+K)Gak9r`= zOks!kN33BL2eP|}9oyQ;pZgW=N&nyMjKzb*`rD3?-6C7YBm0JB4z8U;o6A8JZD_FF!=FHs3|;%Y{>06(wcurh&iM%R;;|K(A;K8Q6TP^DZ^uciM(Y|$%@{l8n4qjP7x;pU`^4XLJi>(Ka$53q5$d)fETW+ zLUhTjWFt&23xa@z@`>`Qt*EZ9E+{dnFf_+DiGHQVd(lHeyXj;%sbJ8gV~LAzxnOE0 za*?zId}Z;2!pF8m?c~v;P*l_HN(`Zof#2d$=7~T)l6yzPuqFLwC|>%_HPm?XqI%`4 z*z04W*GI*u0}xtS*;s7!qI-0(;0>}RSkb_H`L)J;rqNvtCWnAe53^0}#yQ`;XqEF=rr{W zo&&9}Lu0?Oel5Z69jtK!$rP#c+MeTVvm1Vg+z6-kLM}DIo5PPhJBJgWq9O#IQv@C! zX`60~G;Al&a}&bVBYr5Yjs=`h_MNhP>v8`SpZ2GuF*HI6rs-^(7XzI@uI2gq{cD?d zm-Ob(A)`qOw>PHeZNZPP0*9k-KTsAJh8QIq^lY!FF>E2w2YqVSuy&aL>e+Py^jVZ~ zv;=Nf4Toi7N_}_I-RmO(W<#NaX^%wbnn@aSd_3J#+H|p&0%f`zU(@+HT@~VUU3jZ` zDdVbz*juxcCI?5;-~a1p)F!rWKYjtpI#{APirSEm&g9$Z2e6a+o;BhOd> z;uk*QLed)K?3`8k9wz5T!7v~5VCrq(5WItsgtefi$}A>`7nZV;e;1NcvqX86o>1UB zqIFJx0LlhY{j_c+6>24d!PZF;y-i9DOe1YSQed!HKN(Vfex8KfkPd?adsLy;Cx99| zKeFFcJp8lV;1q|1gNKK~sP7ymz_($C`G{8km31dqh}* zpWG!qm-xBqp0WPee_^kONIk!@q2aKcG}U9Cn(b~s=>9lo*ldCxY4~2I!v`ka{7+3j zduj7EhmPZu{0G zNMIouXV~M6T4#`sH;yAs&;#x1YKBKOp!>&giis&ew4CBOS^*%T*#PmVjoK$9ZuP!5 z8!4O8SYGwZH%mM|mjD3tw!9Xu39N86Y9z*@CfuC|pEpf}xFk#u>?9|fvbcDdu2AAtrRH()>Jse+oY#ZJ(^qMS-u^R11p3daX}Al>})dsaL~8VZavF(kK37R%9Or z(5teCJSU)9@zc!7Av?eQdn0YrjR5*GO8$z=?|EwtY-PyjzDPKZIP1Jl zuJ5e5zje83-KMXp<@*c_GGi0xD!vy2nb`tvaY|%WxiL{!95*d%Me?7N?=l|=^&M|O z7MPBv2c{MlS^fPqTSk^ontJJuc6OuPVafTPFMQE>pEUv9n8+MHcK=Gp4u8*raDuV` zZ1i$P{*U4UkLn%~qw}OFk?VMWxT*v0rn?ZOplZ%p8n+mM4m1HO!IH@HW z?OYMf&Bb)AI}K#&2bdbUP`cAFy=3HxzIozbzTlI0F1#>IR|E7NC?1IH?*kuN6d+Tv z?%#v87(7UKuwo032R8p47O~Onx-lTt)y?hgv(HIXBf=x+S`6Fy0m2*<#OvIBZlhz% znMpV!h8<*tq&#Q@haLQ z*8L6JO%);yNgF`O+5tvQI6Ldum8(#iac|r3&e|1YY$AX?}aiZKPRC46VJ_B zZM6z}yS25jm=(p{)`P^7^cKK*MM5QM+-hgRrxT?AMT=w_r3U<22HC$dN7BM~{zAXO zHVAyy;=oajw#NHwKwSnvO34dZ6|n*IcPn3C-~7wc_4>n)P+6yQI7n1)A=ALPE=sCw zB;eE1V6am)9@eF1CIsF-v1fnQzQ_IWL3+;&CG`EhjpPeHrQ*t{*oP08V`?HIbmSCV z+je_Sh_gT@PmBU^y*`j1h<*E!m1ZmuT0!>JM6+B`YTwzW^@I9uV@evUEHot6Wt%7L zr%!4s?(Q-BUfMC}W96(f+cbZ^<(HHw9Z`ZA`Xs@Q~3_WjUw;+ zT_mEUz`JRG{Ku3cbn3Vj8aV#D;V5q4xAlpDa(SJWb`2Z&Cp5=!V%#A3mYbeE3Peg; z|KXeY21c0y$9q?z2XzM5!$bSm1?tnO~(DkYg8kX_vpH`>I#dhEvYC>TJo zUS<+)^Yf@X%C1O8kl)+f)OLv4Oh@6Ll)%@&gOp3*&#Yv16(RFXr#K^nr5|cED(fHo zYxERj-jVdv>ZS2x2jO2B$Y#-uf9TTmi0c*>{RMN~?A(%?i_6Pxkd1I?>UOY!r}&xv zmam)V4B5TH7!+g^i$ZkpIIQ?Oa}Ypi0=XIsWWT#Hcn0uw#{`ZXm>~oHSpgTJ`de?a zM&3(}Glj$?KRTW0+q`P9utSN=SyJ)P1V^K7P)A$$JM(UK2QHFXSl29KM_td>E6((q zvC`6-Qzv%GMLSIJ5W7`V`0Nm`3V`oG1pPIzpsUyrL*h!+!%_;>+-Ch{{Ls&8ajI2^ z%`+K}lZlsGE(UZ!H55Iv@7MVp$ooe64UwrGBGgATQ+>zVb9qOnyQ08|kg+AquV^)) zvSdKf4P+Lym||!DR+qm`5akpV@(M95WiLa*I*gVA-C>RrzF;dYkWt%pk~at%{CY6N zkUx;Cifmcpiyx>VCROdA!6)1T?Z07c$&?6c|3I~XDkzscc)ZscKh#Zp*CCQpKZDgj zVo;G7MbYt73nW=4b=3LXg0imd+~P&G7@eJB1=~TVbw!KOEt`vz(i%q;+b7V%z2ZP6B=(SZ4I-&o?!&4IW3$CCh6T{71o zBV2#L=a{Sr*pBi1a}-d(QYdffxdeDUMrHbGq@Teu9BCwx$*J;vhtG%bN=h1{z?4dz zBs5&y{$nPCN5eQNZG_6*nbLHb;x&%H?b>5>{YT&UoImLh|K`l`My(H5kcDwZ9gxi8Q#)5?VoR48$Mh25)$vU zt&6$W>uzAAwyTtzuS*hEt=d>e1Ok^rGx6}o{gsdpJWdTbSP#-y0L3uc@uGJDvPr*Kw}5uJ48KORAGFHB=SC`$ ztS&YO(vYwqH4se|+6%DWAJHRkH0W3I{}feoVFXFp+(sTvdJHwL0DsqCbzXKT_PNV) zLV(lt;BO$>xN^*1`b%}>r5uQoHcTghPJXN@t_KX$btfHdvmSoo_@K<&0FnvC<&eVS z36af$K@-&o#O@9^9#cZa`0$~iQ?y&N^2RkI!aUSH{wwR#_04~hg%{oG56k1@g)QkW zKfcCY^ImWpf@L!S?SqARyZ3@-3V>W_h&+Ds?)IM^o%=DZjHBhcZQ`CT1VFQ4XxdVz zIpc4v7|Ql;4xHY%hRfVigI9eB-X@LZWc%!sVZD{fS?7laeioLL(gHRqTdDDWK)NnC z824)NmquoA*VvCEaS%OwkQfs^py6pV%+n+1zaRaGk z&Gbg#Mn$MOiJSka#xn0K2mIA4qJyJ=B(IS~BJXho$#;&|N#QRVrmH5)yKiGZXI`nN-x~iMO`C=t#AoU^3P8(*%fk zbOs;Ts>;z%*iRXEob>)8Y_RCwW+>(cJQ}3UxKi#qi5qt!=11dJ^m^k z_IYnlW7^c>fux1DY=1EZ6#CQ~2^ct&B^D zZgy;k>3D%<0V6dclBXT5J!=Lw&FNL*0z*3~n#;#o$`-j8n0Z8HyZ!2i57mY%iFW9k zS2iC{%x8J5H*Xp#786$XKuA%NS_Xd_i;padW6CZ0P)oBr*59F%LzU4ba!-y;w2@pT~yvS{%O-YHHYiF`4@}9jh1p(KeF;cWO6VG35g6waqik=bx`mo9_8MG6);`s zcVTz*54DANV7|>U3CeKz@B;E+?)MJ4@uVb|EjEzVC_O#>y_|e8^m=DnEWSeKW10kD z{=B>ZYMuxv$973V$(MY6b!Krft5ocp4FNPDrAPuuH>gfd8rifB4oR!Gh~m=(h5-h{ z$KPv=o|BzjsjgF9RRfr@hyZVYg;-ClnUeXnodc|eDO3XVAqzjAqLP$rtJ|vgvNuML z%h>ZP>_^^sHDdi|*hq+D3Tb#xe)l&K^znIvm&IHEAJiwH=h=2CAf)$SxJM5TfEJZC z-W+`zUse4Ce5dmq4w)6otM@}e8B>(j$enivq>3gQiQVGa#@A;}F?OYXW@Uq>{CMsV zP{u063=Ppkoav6kK}i@Ul)$d(krAVlv;XcwNCQN((UoK5jXq9|m(!a|=&3B- zua`+A3$;!_g{CvkX%rm#;B46U%~HC${SM>hE1TVGp|y^-~UU8l{-qtsNCyg;Okbsf%!$LpEBw*qJF_w z_8$1u7cfElZI6jS_!sxE{~fD05UfxZh?RqfjGy~OZt>|Pai1=sA(t@)2Es&aWX8vJ z;m}c8D9JjNpc?qJ0w~wJOAZ!AU_RMkCTXS-(|8AcaDNjZCrlg&o(38dA0{*2zn%(h`G|tZRP+mwCaa$oa|0BO~O}4`v!6w2HS7M%uKrf zWA`GV5-vD$dJF-wRV3dLHv}MxEJepD{?9k+k?EUfY=sj>>E+=EP+cZaR7j1L+}=ku8e9Y+he0=z8z}C!Ivp7C4lL zD6=VgB9->Ee!l)xH_p7t&|Tkbrb`P;RKrKc4Gg0D+Y6~2w!z`WWvZ7F-=%Z5b6>Q3wztttCW>g(?u=MfLvr8BE0HGrp1gb}D z`9#IG@-ZT6Gd5xDk8W;yR@i0aG`_crSpW25A9$zuY*a)j;)s7*5ffQn0_DM0Oo*eK z`0J#+o1>nes~K!v<6fr3Y)s(t_P)g`_`R?Et4{w`EH)*2|6pjpbb}}9l4;XT0ts_x;KPpu1bsi(UvmuYG9ML4BEaM^` z1|f}3J0BC_>G8f2Lq0@9a^OiRP{mwJAdXEgl3Yd2jXN zDi+<3ChjM>6c&^%ZpMCDPXY9&rJ_*R+-KoAfIVYEW0D_bgToG6&<8FjaV>2A0X*Gi zY~&#NI)yEJwc_xYbS*hPofVE4YX!xXq+M|)-NK%s-D4RQ%w;Jh(VW@JZiL86d1-(z}+# z$0y8fElEHBBF!?fadR-4EJ%(7BJ>#MYl2y*tn4gp9`3eZ`)a*+A~eo-DYMF-vl{Z= zU89Ph2(`LGku`|Eq#zKQ_;XLeIG3uGdx?U8=0da_TtVtL-vs!osu~qlRr)?77J9MX z=oIV|Hg!uuCn#@y%F)Trb~=aLSRvzJeL=iYPZS`?wdknc#5!OE^h7p`I2I@zg8x+1 z&dF3>+}HzjOwIT{>2)N)+$f+i@p$)hQ_ZYwj%gWKL{vf?=PdJ}4`Rn$xw12w??cLp>o;>&h5p&U%z7_w`(|2TDH;7VA-hjx0Dkyj zGCZ`zzIhY-qMLS?>fwehm@>-z-G@>lGsd zDm3DJt>Edq5WRL`fjEJ96%(9I8O44_06gvjS5WOOz(Uc-YItR#Ea>iTjQc=`0J0k~ zRP5}23@P6kasl;&NA=|#u#}idDtCBV`c-Xn&wosmdHaOa-J%M4a#TIRheZo{@z3%r z^mk&8_Gvtp6iY9y9hDREqyR*0XOvSme$4fRKCiPAYQFMJ!2$Xz%{6cthwf6QHKyIf z#wot?GD%7j-+1#&N{zKuZ&zD%d9bdA!CSBiJ#Sw0;N9^J90tM*A)CJH5ojB4IXO8y zWA(fNsrr2y2k9sjVdHNJfYEpt`;p}2hc8HZ4lQ0?*Che?0h9{t*yL&G&k5Fi}~I~nd70I zKS*n*$j*{CCjxSN6Tm=I@k5 zy35A@)z}qUf$h!N1?2fvnOIrlI!)ib*3#O<{;Q+^+;jJ8{x|9O(gN4f>vGHA%onh> z?*RCuyu5CT<_swj}=Nfs|0MO`U#1{=kty$^y;k74omiw@_G$J z1aiL3FHbc=U%nXTd+Iu#sRK>5xY$@_P0d0yw3`o2+TV4n_8FU{l|MclS5WFLh8>lM z%+G5An)%~1PfgE6!5fxH+?#LQQ?Eok03uNNIVUcQ6G|91^Wgp0`pxma%lQNAiOK@U zi4O^SS-N^74+KpQ!m%kSVlPh*0bk0_XIAziMHMn2-kt+g(dNy`6s2zq*3Ea}0ADIB zoM&H==OR>PZzb$y%u1UB1d3JzsEA+60JaCu{;#rc4~eXK<6T&(lH(=7Y;D}ZqkFS1 znR$;Z!xQxSID zznqA5z~Xna6Fd4F2Q5WG7^mbn$wKyb&6i@XnzLpaDXUddUr~)dhHgDbYV8E|sG7g1 z8u|lLI=Hifcq~+#Z}&=8wm-H^-34AZNIv5X;JxJsU|xx0Mo|tx5g7n zmJq#8h4W19GX%nd_u;HvtVyPb4R}6koP=;;uedC@A1Z6-O+Vca zpy9F@xmLY`Y_zQDbN2Ufue5zzD$-n2!T}krtH#<|-*?Ca#VKJ4o-clyCXbFYfOZ-H z#})^JnsvTEYjh{L=sZ7$l*Ykmm?td4B(@?AM)03|>8jb9Osm^5OipcTm1Ysemu4he z)vE-hRbeS`J)0(7jI$mp;}jHU0op+_5q$S#a_+lU_2TMjQSGXb;W3%91-N?zsHm{@~Fi{O$vh zM;1Uc6=NLsNCYI(_9{j&$EgiRRM*eI^EXY>8y75Jy6gWQa(M&lals|E`x3alkQYjH zUg>wUZ<_#3JaV^^f`Z@s@|3E>OgWuzQTDhzEC4}opoy?y;tPY_#V$84;YtHwNz9h~ zhYER6zibqQa<)NBc z9-oMgeOt*TEW2s++rH0-VuqXDMC&ef10KCqRrHLJ7`C#eMuj>(9gvW_U=|RN2*YtN zt6(W8t)5<2rZJqqyfg~l?1TEZ?$862x2FM3O7YuJ8~=^PzhJ27Dhe?D)B7|rg3 znw_6^3PbICsk^6B?==n$As&nY5k)}^qS8@}`jUAAk~$GDP|lG>N5ROs(N&f@fh9kE z8EG6KbWLd3{6X%Rkle>u(_pRl2@RNflNtBrLL@w@IYt<#~Ip9X`wrQ$j{%I>GDN?)5q zTkhqH{-CEzSJgW#8Gqjy)*)lP@%z#h-2Uy;SBfo@!jS#g(0#WC8`-n7Oc?WL*tI*yFYiRRAQI-y4$~G(xZvufD*GHj{h`2%d@u!)J zr_b|~fM2TTp&y}??{cNhhf2#C)m7KqQ6it)Mw65D(WV8-)sqv--WfX!e`GwEv;@vBH)FA>=5HGnGSymQ7t&Y`nrq4DRgods`qAkPPXvK!$q3q67wp3Y+}I zYDcBz>K%ci{~j0mhE%^82Bj`gO2P=Ez#lX%MqHPeB^@=!E_&Q~#|3v{%OahhgES<+ z3Q6(I1OX{_N<4lsF=%S;?5ijUVv)$dapVG<5Py07f`iVY#*h1y#R)7eD{ zI@3VK2@V>$yP~?N1^%Cy7pn5i=JQ$Nhx7_wYbPSoRv0Eo;0an`cD=l+gW{3IEqOu& zI!$2zrgzJE7ffu6qzmvX9yvtE7HP}>;?l`Si)sHMd+sWM`UuJ z=i0q-wjM(&kWKJx!sMFe6>^%j{~(TCFd-hSih=A#wA?~R9<yBqH9lUmv>X8|xJ`A0fi)-K1zh zQFc}r;c4&v*ZwAwz}lJ8G=FkgHHfJCo(Q}!qorqMET_aCm|sb^kLO#mnQml$GjxZ( zjL=ONoWj%*$RwOSFq?Q#fo}NJw$Z(^%5TuqFNVxI-RPR8 z&-Tekq&8TMF9v-&9UsSFWGY}o&E;FviNsisZ0P6W1U6<97s4g&;&RVcsYEK!vt+>b zb$44}dQ+px*q2TNP1h#Hv(;LR#kz>gSYrZZa)w3xZXNkv(g?N*G%WCkV_0{>(WqA% z`TOha>#=^H^u93lLnemE8W6WZaR3KJ9|{{{2_;hR;U}cKA4;qhIXBkpsknO!VJ{FK zQ4_GL%5;_p9H9+_9i@K{3lpTVn2>u`7b>|OFLpPv0HYoUFiF$mcU2ppi^b)BkN@a+ z%@?V8c?X}Mf1E-sf|CRnmBd_ti;m;+p^ysTu@l{{PC*m$*Frvf=Vprd{rJ8WU(*7Fd5If*_fZ<T3nS?E zQe5ul_{o+6fsEWtxmCBpinK_#4nK%$S$CX{A>|VZ;ZF%8~HmI zaY^-6VLG#e&EX2`qURPCg3Kj!5xjy%oV{6U+F%+*T2a<3v>J2p6a?ip;G1PX(rduuyqD$y)kQMX=sbp`DSTs5rfg zXEk#}Q#c|W*-$nyAXZ zY2dC1{iex|!~}6~71%b>lM<(!K)t^^XML+Bfa7!+>J#!h%w@9BhU{+surlVf9=EMcaER8MT_jz!9zLLoaSytoAuuEHP$fLnQc!Hwp^K zwT_Ze61;_KrN}oYg1)o~@~~ZB3&LCwmw&=zF?8Hj^kmrWMWbLS6G~(D2?Y<5kO(Vt zkP{9iarm#)l=vl9YhfO)vmpepUw z?6O4!1BakUB7nZus1?!t(M>JO;uem8my^?vCfJR?A&DI|9TBWQjb=c}yr*jF0OCiF zV&;uW7-2}ScJHPt9bu2ZHw>*VAhfNt9&+cza5X0c#+2$T*pO1-|7+IFsLy!o_@-%>pJ{;GN4A=m85 zS;C)KS=!)RE+1jO%TDmVV_n%|b+K*@d%{k0vWbB7P9(`Jp7Qi)HG5oyf|Q6!k=;Bw zepz`#L|J8Xi2TlaN8~e}a(un%@cFhyat|Tpu%f6(IwG}f7@o2K=?1i-9W9GOqn=IM zL!6`mmtfmYGc+8gm;NWMSS@WgH2(~BZ3WY3Wt7xkmuA2yv5s&&0(AH9zkm4aTT5x^ zEaaJ3Um}EudXzr8@yB)6G@9zM6|IqSS`M^OZVIh#Y(NC<8VSYgMI^uLjg_uzlh=@{ z{vzcp+OLc?sIi=4c`;l3P?H*-UZrc!a?0I4@Nw#Kl~}OxxkaL5tZ(oxmDywgDxBo# z_4S5ymXms{fW^J6)w-Cq-)rC@3dlMfb&C!f`RJB+f`s>f{tw&B>s~A*Xr!K>kBR*3 zE_=91AB%<{Cd;M=$uiUJj)m!FN1Vy{5bDFat*I$jEa0&!tygdXWh_|QgcrzkcLAw< z@`>vr9Q3t{5rMv`xv|qDOrH$5z4jHwEHUQPfp4S&dbLhC`%|9CG^&MfR@`|J_NV@Y z1!Je7pnS%JK05NbK)( zj=HDmnFp)z^RpqKr1)rKUAD5Y01rDw=?AKgEd^q%(~HFd;5dSQanhbt?ZOZ_S|MLW zIxW}BVR8L+gvX#pOR?O@0|~@{3_jU4mRnkGihuPV{Gem?Won?eCQNA=ADP<>p?jBi zDqG=YXpSR7=LPHS-BqoUsV>}vlth1?u(yCl?0Oi#1BC#5t?g6PuU}9zB}*t#guULu zVW^`YAl!pSE_LFXU+Vo&@*eLWImSQdRG(+Lu@o*%G#+ljLq`SA{|>l>hR5_3`cyq! zy!Ca3{c0%XD7nJ2y*=_8k=opJVVl9)%rGIQcQ;ofQv?YrN}{5&+5FImBgp@91+X>b zw(*=M3w#bwC*EX-=j%0z^U9n+;|q#Zx=rK9V3w4+_qTA3AAY+&QlWV(4(|6OJ4GHN zyt~**=)5X5a;Py=R?cpJ4*Z?9fhf<`dxeM*w+lbGj! zS6^~F0GH?9Lh8Xkmc7!_Hlb#_Ov`o!k^gv_&q3$DWVk02=8){~t9hMp3jR(N?k%i#gNLXE5l<~T5Gnbylrqo)aXL~wod&dC1U6Z0biv?8kJ4zf zD5o3M5pqk3-n;N{4ZS?zh(-{y5*m+ayn**fq{c`nXx`{i5V^o4@apYFKGw-1%Usp2 zbRz#W;s)`ODggO)ARcp%ZLjoN;%%+%4k6$}6(buZ!w4xca$0aX-grD3GXBn-#=3_oI-Sp*0%k-ZozHcO+)ZI`d!O#v_G0{86}qt-aDDzD;+AD6X9K9Io0vF18DXUpA7l{Xyc z)z18$q{NQ6c~SdlW<$}a&cX8G%*yEgUO#q&uV|MNcG62x$&$>SHkk@}uw z0(cG3B@wUZV?aU(k0=0ay{Zpc6I^@#^T>eu_dJEB+NgbngA&pDMM@p~+VjrSs4omZi>ivcXF7(if zIq1CFYyldHkO!_Sp3@1pH06ziur?+7*9Fj%^mJ9Ta$@#$S` zQ0Eku&~4i0gn>EzNvmEWT2qp$zviQnRg`0Qw7w2`!e&JrI5zo?S_@tJzP)ZkipDk| zKi@Q8yNb|%^<$SCVy1Q-%V`gh>za}&wy!T#oA=W~hE$-4u+!f76qC`c)OQC5iFOrN zF8`c^WKL_+V|s(7q^_)`@KgZ^Tx4pg_t5XW0@Rsv&o8Sj8!`YF&a~gK#&o`r2@>?g z4sR`9a9o=dG|Av4^wb%g?KA;R#=I}d8U12y^8Wc*w+>*xj;CEvGuiGM`@|n^VU%wD_q2eTKsvYM0sm@#rM6hAZd8Yt{%%Y3|V)3oQ<;EK4 zqvPh5`wAm3AMSH%F=VKMgJR7DsTM5ca<38?B!|-E*kj7E8QKayfT3?lP*8E;aS{tF z#n^JG*w;|UAn_$7U5Wje>-q?&Q&LmCKwrw3frBbEY&%viW$wYn=}@^|SLQ2;3m4hh zO#>2A(##YIUp>fnDq-AOBmc+ywbDXuB58<=Jn9{-vcDQ23n(D;M-o2*F+iiIPg#Am z+;m$t0767?o(MdK7b>b^x@m#nEyov?yFwcGz!AA5k2hcjrUZVVomQn(;H=~EqxkMv zHqm0k%Nr@bT-~PmzixYc*n$Q;7PEgpyhFU#MzNv3xDov5gTuNb47gZ>uJgOU1{-R( zl_Nq_dd+kxcQ+rHH4L*g(MoljkUIP${5@az--?wNYF44y?av~;L*D;Q$87cZ=@*NA z_zx|2KZ=9CpiEHZcJGOY54o&*kUfY3ncy6HS_9`D;`6(F`hLl~g5uH^0(kQoD=$ig zv|yUOu0bv9Dc`MuZR)xZ@PjpQO(ACA_V2U0k&(uGi*;t^+!w3&Nf`VOte+Za#C7j6Ppo~!z4;4-lqLJ5bG079%9mmhK?S> z=)6JvfmB{`xjPIu(42ZmD{ZZcow$`~aY;1@ZL`zvZ2Uw1nS`nx+u4A!i4`#IJn8o= zFIOPX(Wtk$6~+}1(w>3tsjv40u8YNj))ni{56&%U4zL(?g+DaHDP>;3{P6B(t#OG%}%cqnZ}ydqIlhl zbRxH?2pz5ZH7@cLj#OU_YWGGFu0Ur0JcniE-$P0~Bx%Y|HTs@3g9PW^2Eh^}Jpmz| zl=emEJ`$a~udS~qSvm!cqj3`1+eE4{LJYFm$ZmM7E76Kg=DO={$m}h{k=E@kkHc;Z!OGMpa~iOi{kX{pep4mLzfi={wNZy z+ggzjM@J?n|G7=*j~20P^MQtHlad)QyIb#q|9(SP$c~4atbo6e@YRzCtuAmB0|O)S ztDY5lU@t!E8Md@!*Qa1KoW3!ot4z+To8eT~NT1+gvDIPus{6AIs!RzvC`@JhY2%zz z*Sm9eD%EMJwak-cs4)?b|_b#SC%{qu3yL#{@(_P~{L^4^pHp^Tm&Bog^YslDj1 zV#?g3rSH|Gq`39o$?Q|2Ce>JIB7Tirq|?xJ;Q_|k{QiF1%Z#w_piHJB7KGSR>=pcB zKz435fQYi=5=W4>hSQKgyC+nghjb{F6`HF5EzZ!_dBn^`~A9 zmES{tdlNgLH9nnB(orDe;a_ib1dfT>Aw>N>;AInvm8@iGsih6Z3xCwPb!q-$HcShw z77h~2dcIE1ycHBn3{Wq^^S0wt=ds&Iv~JOPUv2SExci|$q0dI~9wmK?Ow43QBtL#P z&5$=f-usx-^q9OrP4>xFoLmFMZ*H3ud43iRwvk8>^^QmpiYPch5(c%bJMB2s$6HxT zF40dv)S%lN=e+0Pe{4RB4dIR&`68f1aQPtC zqH;HchOW}tsDX<$l)%pf`S#x^-irn@N~uiBZP;rDuJIj-us=K~e|lK!)oOhffZTV( z{{ffd$o|pIc)emPy=hVO-{OZvYdhGUm91A;y{BUg9I3w|+tC)&-GAv~D#i)HL{y@Y zG9T*X#fD%7>C>&-^3jy#WPn19?ykB**aW~;J)vb{V$V70C|s)8O6re9>#W>_Ro|9i z<)3Wd%~zR2%O$g+b#4zO*M#)G2P#SLD1VFi>@MzQr-935PA$$VrW1L&#Iz$XU#V~J z?poJ=dcG02B!0NL)ZlVFhQt?eLwKI8QsAO?c5%r#w{<6T=M|~Q3(J&=3yzG9MUYFX z^2Xz|68;l^BAi`w&@rszDqiQ0c+ehh*#Z}BWA#_F?i)V>HkXK)_wLw+A+gB8K6?wS z{mzh7Ufx+00l?uX(NPiet99GLrPFGD7ue~3H!fYKcVGLmN-|kA1=HBbm$|aj)YZ`~ z4tO)CTf^BFM_Lr=(0U}0n7Xin_NtQL+F#jmKTDAN=!&d zo}wn5NC|m^@2U5@`DWatF$ z{T)1ni#H)I5J`!nP6yr=?Wb({4r>&mYHsc~UL!dvY?vguCO!JGMM$7So?k>|hN#<5!1xF$a#=oJrq;L^6?Nq+Il|P1OMNt7T)(#gQ3eoU=w|4a z?uMbeMOr|*8|iN8l5Ug+X#tT&7-^9%>F)G>#&gbZ{ohZl#g~D(WAA;{jW!7NbyzHI zfQaVZ-ihO5pWPbsNiD-rzM)Vw242{vGtB#cQo(6)*=*a!ykO?jsc<2K)Srsc1Jh-B zv*Yqp!}cq@&^-Xs7}X&AENzdS`3`7)nC_wwI{mgBwx=7IJ0@ESem1-9*bs8s(fIP% zA>3bolS{qtFx3ZbOZmpfM@0Zt5;Y%*qq4*BYcM`0G2?7mNr{xrFPsx9ja?^+_Tb>+ zwVqxKRBYf3;75tS@@mWo`MK)J%icXebvKyv2AMFZLt4DLNwI57!plB^S#a_T+G4|? zvQc;qy^Fb*NHa(nO`Cs1O@M%aUU*hZ{<5_SMtnMQgjn81YB)w5PkfaK9&Z#FLO>8l zkcUcW0k;TtP~;%tpw}Z3nhE#(iuiJeUDiDCIfyddR9I?T>j`UIUqVdRxN!1V*N`_= z{s&gh#KLELykIw>EG6F=4EnJ?5aAO^7!NNmqTClbP95XKgcW#0M2L>)QVBsp z=kzg=?kx(wW?#-I#XRwz*wAA)U30s3*kHf^qcE4VVIGDg%E*(PwKrj5Yclx5vA}UT zm)-Ri*`o6S<%Pr@W;;6Gwlaw><^X`_DNj3TJ801S`l}hP4 z_0*z@-sSOU0Gu`VXYAWoDOuCm!-pSrQu?pzd^=OZ(s?7r9im`R$cq3{)}CQ~sYtIZ z68X@r^q-!sV9Mx}n^-@xt!qXzcHrtEaPtYZ*vQL`LAf; zV+{VB9{MgWu!!3xPP(TeNI;$0DKSLD2IFun2v;SmGw?V%(%c9LZoK>M6$pGz!W9TA z(-(y`G3Bz_6V^RHvRIz;BjQ>qdZf6c!+%lZI{)JC^&OYZIe!M1C*}7{k*A^ui^`d7 z!uK30tj14<(^xSqVWirnlhIJ$Lx7UV5Vg-97X1Y&vDV1GJU#th_)Pgu?C_paiBK$D z$Gv{ia!g{~^EDz^VR4biOmTS9-~Zz<#~e6sa$?f-WG%JUWR(+y9@9<0{0!NJW}G^$r)fLw_qkXNvbwNvIP@kT;4gZJm(5kN$KUCBY{TQzyiQ zK{6N0m~FD*1Ew8f5I`tEES(v#!&qZ82L}JP`=p4*xT z*ji7FF%6s5OmK_iu>;CQ!xl^6xLNfb(cMFWAm3#or(1XbG~Jq|K$$pwB%Hhp0fjWZ z-^YpTl6by*zqQ%@dz5OMn?vMr27dpX1J=nb@th?wD(>L{R@WeC4zci|62>7?=u=A^ zYpun3B;efTQ7pk&f-@?~l#s4VwO&-A_Fy{O80NRYulB^ns}J}0_mOcg6vzwuCnxa? zve7Mxo{Q}H2HC`#0|QvY{uVMY;3Fyd=s=QB)}BJ4y$q%M1krd>akDLv0VQo zh0PdWC6^xp%9|P!Qhp6*oqJ9#&hj+}Je=11SWwajUl%A8K8JcRgC1pCsP>SnV?Doi$s1_^qrxxTv8G9MENlDeOm~cjPaP1yKQH z15cVxB?}dYe)NajW!mmW$pvLCDD{iwcOwLz#Dz|~9Rnw(V*Y^!5_yM6*oK#Mfxdjj zw=wdrJAUIjIg!CKG?+3lAiVq-tSgE4+@25zoTLPO@1ys z0G8MJ%i_#~ic3q(aMAj>aCLPpkHy2ba64q92HxRux}ecV(7VULtv5a<#{@e6$vh2 zI=82Wvo_JNeOjye<>%xg|C^4G|4v70?w!?Cl#EX$Ief{85_6;Ozr$OYQi&DQZ8NVl z`58t%7D6;LLJv-~NreqdWu5$PTPm&gPcdAbl~RmS|1gH92#8c7qW+}l#ph6&Vo5f( z^^T1x;KqH}x!6gs^*-|`*ZIuJZTE@*jv+yxRU6#6^Pg|2&<@>v0vDN%7viZEND6oz zEqbo}`b<*m_=hsl@y}A#w)h%Tf1~Y{|Ml4lm>;N&0IHZPcemf5+FL&|KvtkLy89-F zR1+|ylSO72G|GV*?QY2L?~Ve3ttzWoSkbnRCEV3>a79}zVm#|qU)Gv!84V74y`Yaj z(8R8gAG$gGa#turycdO2*6Xv}DbiQ3w3GCsYq{)4%^$T_013!#KLN_(b3_6LMnf!iC7|g~FlTN)kku7ODYePDe-24&7mew~dEjmm}baLV!|Q zgHBFfy|Sx8$dIJ-=1p{Y^i*FqXWpm5J)jFCc(Iv+kGmZLZg?eO6pvYBDIF*e)8i<> z_0f@svCuYz-aV;c`*$;tf_}7XVOQ6Aim!2XDe??ZuJ8h%(ES}`wZ8tB!+k5t)9U^2 z)h*L~3kJH}`p3jfe`G!fF|Cgy*f*IVWRJ?Uw>~SaPd`Yk%$;pXe%Y6QE9c=8WnBL% z!R3Azz`;%vdNM;oM3@8wIWuLWaBJXGx)D`=_3=hrv`rWf!^h1gRiI>7U@-By{gi|B zxF{)AS~d0Ejhf7Sm&YO{E#H4u!4V*ID*N;H?gfpb>}p3TJD?RH`3?Jkh=}Mv>??N9 zPgDxK)@x-o)@yX)bvu|)&rAU>bK@7Jhyjn@$Wi$6SlHOeRr+5r%?4uCuq#qC-3=&d zcPb{gx;IB=k%K-lN1e-k)k-ZNE7XDlU0`4PD zO45*4mtWM&{k^w`8s=n_@8HH-V2egn!7;&w&->4vKNB8HWq24U&X{!Tb6Mi`52|s4 z6C`VzNLY{4+kox!w&$N|qlz+rY=F{I3%l3^-t5{Rw0Eyt{8yA?NESV6lk9JK#=*64|t zn5t7PAIo`1C!htv(Fo{#cO`n+M=v{Z0KWz>M7z9Bl29oWpmvVZx@%m1 zeAHau^Z<4mp;I*1`x$;>)sO^>$O9u&9&^g?X%c#ASq)FRGIsd?Fc<(zn3MuID?-BL zkEhEgn_v#4TZlN*F|>`Q$QyN36&ss_RWGr0R9?|&3{ze{ep_p-A7mv79GEP%p)45~ z^7dSyd2y$TiURyP?gms_NE1iTqGpbTtn`I$g^hsEfWY-J8Q0%?X&%G>H$TJ%27#QN!m2^fM*h{szbK0x5ig2t`Oth>V5Gj1fTv z*`Yk6YHJM=AsnWwd$W!`m2+KI_663HGVpf2>dqU5+Jp(&jaGD^k6yyYrfoaCtc*mB zhES78fE}c5Nh4fl20BP5WYS4yEHvQ}vsIk&?r3;GaRZ1#-{~kpwr0!r+Zf~3Rl-MFalFGjv zGFD0!q@|_)UW&(k$iN`Gd-9vpmSM$TTmu*nFhFu$WcTf+7_u>U@Mf@7Ts-H!)KT=d z0NY>qE&42O?{6W3>qzX-;Ie>K4_{8@ z7-SYd=Bw)23}$csWfu#G3t`@77z1%V_qZ<5R7u~U8i#P-Wq@ves0}^6H85i>Ihw-s zyLCiu*_-#2s{4mWi*sH8zGK%XoEp_veOvrc;U9fdbt5&smWH(}!m)t@SUi5NR{mB0N?cnV)J z%f&#}i0ksj2h6Oy7X3BnB3mdh++Ih&m8Gfe1^Ds3Yg0LZ4jkDs$mW;)}v5yFoWy~oGc5;wZ$*7a-P?AET(=!Rg{5gk*yLb8?*KH$OHsWP{aEln| zY;)%Hn{yGzp6h<4_kP=@AyqY4=5(3Va70r;`R&-L_c*V#Rn%DQnD}~`6^qd}J8&8Q zk8`lE?H!pe2T^-HsR7LuFI0R}P%}aBUAn>{6l}?R0hGf3`i%rJEC5ym zh`25i6G0NU%%3(ww$I_*Zg?8Npw6HEylKhYYIoQcpiiCMlE~3YOPhI>3)2&Ia69}x z^WA$%Z64}VO5o0B)S>0ENJdt?V33nKf13L9C-nGIhk@tgRZbMlrPwP6%r1h|20)R~ z(YM&4Ry5~+Wy`-~W1pW;Wo6TC=NUck8uTjgu9a)_=qV?JojhH$y`D&#BDvtWuvK>0 zV=snp(!3di+`F-}tOftsdZ8_fFlnUxJUlQ_)Q|F^%A4#FhyASnkGXIEGQabu&dL1_ z)pv(#G@^glxR{`FwPIs92yfotgi_;Ourh##er#J+J8W1<-wZ~wC>QT65a%`ATwN)X z>|~CCZAA~gr?1NRE#LPDbeU_UJd^sxS6skW8W*WUDXe(?7cY&C2#j$xWx(E` z_rK$rwu!ZkgZg^7xFAzFVk(bXDRar(X|;-;ak@4s`|%e0NevVKYHA$;Bo0+|M{LK7 zDAMUss&e7I#kjthr&J?%Sc3GYzqbARmzIq9<;Tx7RWWtJ?oyL}SQn#M`|gaNfMU{T z>61GGU*%7}d_I@t2>Q(j8uF8tW_zWnKN^STZ*ey{Z*UQPPTVebF+dpT5jN9I>re6m z4c>F}^1c9+rcczz$JHvWzzmwDxIP#7W9}jb|47Ts;KN6f@b}ooc-CnGa-xt`YS*Js z3q`_{S42VkSjT-4#-x`VLZN@Ph_7&v&THAwrgJuSp_k>iN(I~2jLm?&!0UFO=wnq2 zQdoB?2~OUo)v+L466HcAO26(ahDfoSocODrLbP^fdXO?$ZWQ~go`j3c)8g;jLcewy z12GTK*JFAl!;UFZb9N8~{;7ASa%etLDmre;Ak<4Uad;=)503OAr9Kof`WDGWDQ8X< z^A7?R<=&=Zl_fP8mHDz9L4E@PxM#5j z@$_-9fp$xc-nS_$y)^2*RH49Mn0nZo@KrHYap6_o`}YJXY`QWQc`r!@RPU+lFAnFP zzJ+DyD}u+&-Xf>57-D?uA`hVq5?)=(Ig>dWoogU4**;bmA31lECSjfAo4ccM4E zRl;TaP;Yw;aI)-PKjrv6_KOvGsYEb|rZ79nIrwFf&f)x-1@lZ#mNxq87tdw&iU_{H zLnb>eqB0Jv)L!GoDby~h=hwU-zOcWHI0Z7=%1CSQ(}r-v>9UtEzx@RaXd&X5H;j!{ zxHFo&IA8+w^^vDkoY*&kk+Ab039&tvx3@l$K}tNl0Do2vZ1+JDWB}6AEcZeqVk7d? z-MM3_=;(r`O5ZMx07O)$+DCpI33c5D&srSJ^_`%OC*g$_e_>s5vY>&)y0u%$ov-B^ zOrvB|XD7VCE9-o&#lj+aPXEC$a)o(04d1b%^V-iNC*FMoa~=C*U037ORFd-3AMN;tuOMusjq zGY}phY_C6qR{y26zu9h)aTgNC2CwbvPqmyIWUQg)OOJPg&!x*hp3`oYZMKh!g-S*I z30`il44SFR8u2_4{Ck5xqt3T4v~cP(2$Dh0z^Ve{t2C-3b2C1lW55-*gEt#sWO!FQ z$fx|R6_@?tNEQ=XsI1BTz9k6R-xonYv;62&epLWHh-J=AWLcUQwB@M%M#mLbp1i{hdMK zIM>b`_ZGt9{G=lv>kxxaY;&0qb|_j#sRZ+6~xi~GcRdnpbs)X)*Q%4n%Xicq#Ay*^{FeAP;BFz#wT9;_!r za#r+%ox!l_8J20Q!y=#Q@5YnkeiH4l*D|kP3s(Md=Zd|4%R*CRDHn6~;cLA8UPGfF zz%`c7*0w@aP@Y|X+t*88IS9Y_;X38 zz^MrmmI=h&mXFH)K081?01ES75OIhH7XB0qvDL5Oekk)2uUi0_QP8GA z)~ie6g%Nib==t$@THK^P0wSHrhf7E@nkfrYm4d?l#{G8OFzkF0$jCoECtBzvU@~!f zX#hfcxOr{9w}t$E*$vQ7cgh!hwqp#NZ068UfhlKm?2<9IG;jdl&IP4-BB29h=Z5i7 zMUy+6)9Z_qJENW7ldt5HuFLwKIP0)%GkoT}&_@pPvtMZl`|o4-*B{Q-d{0qT9~_2|_3pY@Bq`{dmWcX>;MvlDCPRNL+DRIkzI7vYqp-L2Qd#mTw-1-jwcOfB1Mq=TSvDu`3V$z88rh1JJ z)v!?G4SmZ2tyo)DT>R!|_N((2r?2TH(Im)>qw^y;0EN)d=zVaj44GadWFa6W1p(K7&j2+}xxcU%uqqOe?5W+wHJC6d_wbcT=YguH!9o23TAD*b=uL?Bmz-0va z3-rdQQk;*UZTYZtjmy;vDo?M~znq{(4OhbQm~p=VGN{l{U3hC1`FDD*L#>Vm7U6F< z@%IM=2NCUr5GNVoe8rfP3O}J@BB2?@~y>Btp=WKAI!~#pBg@^>?#QQm^bC zAmTQubGCV6k3Ey)EOk0IKmV?NQzHi{fEJ`hzOz!UWY%HX#u*S-vD$!2gj!L(R(tjC zHMU;XUkDBbF^hnPt~ByRd#k{cFx$UP#5^=mYvhd?-cg!?TF~gE)X5q z4(9RI4B88@QOR8jpiMY=RJVP*ln59U^TfFMf$QcGYtj!nF>e!Gu#k9fXEQA^`CjP{ zKJZ_Qc^D*tf1m_)(290teb}DV{o5A(mROmXo|mKvmV@Dqq;sp%D^2aD?s-1F$;>U% z@;BsS8z)q@U0eSloDc=8M>*<85NsEWyuQD?T$J-Ax2pr7*xs#G;{eQ<^y)DOE5QSF zRMg;41ghI9y6H;vD)&zwy6(}csdls-pgxDQ&Gbq+r$rhMx}AA51Z;Xw;gH&wCNnLM zM4RIc`DI(0xoX2^u+QZqwy4DB?y4~cv}En;F-*)7dZWih-_y+|ra5zQtj^#&v4;+C z5;@~^${iQm-GlYG=p7jO)fR~x2OC4fVkFkiBi%<|>k5G=>a`cfj1fA?$aF_z$tf#Gv|Q7So4ug0mqv+i z9|mP0AfnA@CnT`gqzOq1OK!<$>GSjdwEUDyjE94%$~A5IM4c!r;7Zvkfu(V{n8vM8 zUW0#JjbJl+75~?!?=)*$m#X5sLQ>$3Z0e6jMVpxo1VYkn6x!&gnHwvA;o-UG zy_SMKX$t-`01G;PhW@k3>^(n6^4j6%EizAIN9i+p`Bu}SG@zSx_>o+NkOC)r6<9E@@l8 zrUEtF&MPoHH|}y)Y&BN#RZ&oo3ENL|+8pMwSdLWl!u)s5 zdlATE%NNNMgU57968`bc0y$!S8>bUq+j5xXVEax!VS)gGI%tK!3@jd#XG*Z z2xm%VE>O690-4~{3wh?ga-1jB+jehu*wM$n|4IE#Y}p?Hqj#tQ8TEc_ z)V0u`5!U^6xjQ&)qySd7Xu8VA6%>Ed=Keu#@vcd2*5POV%O*nt0QY3V8}bJ%mU;m&`S>xxlO1&fd zvE;)gr6o@o<^J{_&RF7|HIS<|6FCc)EWWaFPko8-G;kpo>V%ufP^!GtkOhameS(6B zVbT7v01cz8Ab-M}#xFl#2HwHRK!_t4QpT7im4F8aRJU8c!uLQ^6oBn^(Ob$yoQQw6 z)OD*b_Lj1Gm4ZM+|I}FEW&#EqDPGOBKLhFgF5eu;@fqypJ|m@HZAplXN6&Qi@Oiru zvZ!7Nxy)y@6|F%IPrU5}{hasfA?nX|<^b$^6zW@Q_BLw6(iS2r79Shz zbMfI@NW^>Opp3y$Y02QeSqLW+aT=>JI<%bj1Gh6vthoEzp?Fe}7p$-Skc(rLhDXl= za;vqlRg{%Omi(S|r&S3(1z-ILI#6qP>t4YihippqYEp5kwV_OWy&oeG^erjzqtYI) z;YxR2#Oejwrpf5XFtyJ%wAMiQy*tLyz0_Nf~4C_7|^J zyX#s%TZ=f$vFwod?UzCCt|%mP1V69Td}~i(%PV%S08FqPZO{rEajytu6jV;Hi(T!M zO7WHUp06XK_XyT z9Ei7mONw*GudNqZ220BW(n!7{WdgcWBH@$@zyp9()l55MFPY zq%4`Bme_?mb4!X^Nn=9*Uyn7NeIh}G&HRYMrsfp5iyQo0fB@Fy<71`jo?KXbJHLj)fQ%_sQgVaZJmqd5kDD;NPjJ9Z6-N zA9WCvXBu*;-)AC&m3-6UeIE_OBgDd6TD&;A^YanF67$(baZpitx5hUwt12kM5)gFT z+=f`%H8eEToQ}Y_%=p1CsH^oZKhYbsx)}0Pr!we056DCRbi_N~G!zB%GAvpq=Je)9 zYrx1Lfs^$);1>5SN~p|0keG|?aLR=8l;+kjD@#$uz(=?xZcCVk&TnE*@!IdsAypGL zF$iz|{N~eYU2cTOXLG-xbkEqg_uf{Mb$vWHPLCVX-0J3_=}OuuBCJ~KZ>A0i-Qn7b zLS4xDVCjsVGF?=$(|!;rH)i34L6YVgy& zX(}s2fr|N;5LbQAA5eJn2K)Lt9UtdQ>c|#cabG_rxjPz{)rjvsmLq_c%G~wxRBl~^ zUi9c^D+(Yfr98EpYef6y`-4g`2fAj|`6lP5tT#6iqgpcdXS$;G2D7`GHU5gD8iUWd zYTlQZm%%@O@=M4BH0WTI$8GGKpS$t<>^t%YJSH*BRG8^YaMFKvu$YWqYQuw z%N~c-Y--f~e--=hu0<#|0o`7I$2t#)!Fjdc%YDhHE;BM^BxGz;AJ#~%j&z$cB8dEiMK=1w` z^I8dIBI)mT|994L&b`>ad1^ObN8h}a-G2|bf%*QOM*HJ$i2LKo3+i%4(rcpR=@Vm6 zFn3YN%Q=lBP#utcH1{cidJ3?~h`o_Wm27Y{%MrS0xT&EFsBKNz~ z@6hEhyUf3S9c^GJHXSsrueVV6YDDvqfEByYF65<&W*IC@y=WkYTO<7Oa*uNOVV4=&yp~yqD>MN<0=y)+W)JxlE%kAuWWc#t`jSF(JCM5x{OZS?8(yX?HtiAY%9B@u{(*CA|u;8ODQ z$J8@iAG2n^t3$tXjjCM84z?a&OuWWep2H{mwnbC()iTx|Zc!Iqla_SdVep5k+*XxKRdkHBi; z@x+W4KhS~%$1qGKI2s6Hlqld6%+UlpIjKQ}Tdsy$58Uag%)S@mj)e31TPKnKaK$1#uEYpOS#A|H5%q{YzeTS26;wciUs=TT?K2D zD6B{?Vn}}LSzQi*^=vRUtjrv=i+>yoAe$@E8ca+6_N7C3^|Y_+qW6d@aumy4uz zb$0IQ_$5D~L1grr0I8UYB@Z1R%E@|yary}--<>R{@(b-iA5<%#H1cKA_|?xR+L~v3 zesKl8TX&e`g_38=<=PE`*VkT(wNbQ-m|*qkx&&%mwo8SD1Hit~D*%o*eNDMQKtS-m z#|o|F9%vmwMqleo#F(RCyPMj?L#83Q;|ntWUorM&tvAS1fN_UGFy8#OQJEAJovXYB z{cMxk09sjWbC>1sTIzJg6y04wSD*?oPmaAN#l{W|^_eU`R`@w_Z8K#<6MnP2L;Xgc zBI_63%Tf7_&;$fyJq+-0l-xbd18S1B*;mw}iZAM4J~|E4zTqQV$EJ-&AE5YX%-M5K zx29I&B0XN3Qf)7<0)@M*+(aMze7ov_7B*+~*i<{o%_AB%m4{y?*i&alFHKfZuxg^P z<|-+PbiRE<`#o0x{N9zr{+p&e-{-XkUx(EoSFASUH*n~0M0RCnQ5Gu-h807A5t;xA z7&)p1`w$Y7qh3+S=gjoQiPvv z_UW&dKd{+s>DZq9Jh~8k7B}(Pt_&(c{VHSd(0d36xg?=40cdZS?n*G=uCHUb$WJK<9+|@UYfbR~ zPJFer$hj*bR&I?{+0=0#b#=6)MgSYQ_IhVEGQ6V`DX!tdlq7@~T{PwQ4n=6SGT9il zQO7Hi+aohFx%fUiDXDbfXvGTi@Y;_q$-$osa3?|!4}R?6w1g}ma0=G!QE!EWE*Kc% zy`U)eINa1EWzzL01LU0fq1DEJ3dFNRzC}D@h3?F`;&*RzM3;{aE7hld)Mow~Wp-!I z*j6Qqh7qDdaS^JRUd@D#i;5aP`a#DGdGC~pwb>q%h!>le5*7^I8)PWFUXylR0c4te zynfd=>HT-&(#19wg?1KC-b~f^wb$dWS6%*jLs+TTE@2yX+7xAXFAwvt1!RKxa#H5d z*rj^wIBW_9YROZvKaaAXdH_x6ljS(#GMZ0$V(*?Sq`zdm%#rq&ORx3|1Pvs8xjGc8 zwb?{+J05?0$A8*RVM-o-YQI=7BmLd!?Dv6quWh|yIqt*JPQx6NDBG)+=Q6$`_(hqX z;PDrroeDLE*4Mw&2a)ej{iMBz+_CYC~Xc?s=BQLMIiOiVpM#tZ=JMDdU zA9Hiy?|5ydG{m-u+NVV)6D`&q+zw`0Kn%fQgH<)4ndZXIV~smkqR$5092Xa$SJPaH>5LNc%VZuTk&7_YMAM2+q6Er zOxOGKPX;(aVj3&1>Mf7h`bLo}G-p5Q3Jv(kiFltDA4zxa_wz8Hl|re6lIvYd6l#k2 z-qM!8F2PoqqDL*Uc3(T&sAxEO`!=|RBl3Ay!J0+IQmZn5>jNSEh znwZE%U>%C|va<`z-@m1P&%Sza@FFbdG~O-8uNlWO$`pG14N0E4pCy^8Hu*Xs^PHpm-JX@jLYGro=o50Rfu?jl$+Z9vL{ zK?h5rnxS)7^goB4br!9}jNWQiGH;Bi(3QY7$6FI&JBKkcPHbxMV! z(I3@v+^y0BG?U+xnjX~?KB94HKQ_cF891EOo z*MF|tdw9i;-C}?!)Vx0Y^3Qk?{mO0J2dbFRlBOoH11>CHy9G3!rSfO+oGp)yQjPxw@?}BukXc_!HF|bqz^OtJOyiec!;3!VlABiGLABm+9Ol zXZ4l@&#cejRi!rf1LP1C|CbIf8wGEQ>vwy%04NhHHv({Jq6U!Zl!w{wO-9~)0eo;5O=X@EL&Ho{;9gT zdply*ytytDib(Y$Au&k@AzW@GE)z!x5EBt*Hu$+V*>C@>YCRIZ45H8y3 zd`D@4BJ|u_6)mCB9Ns>xQ)4~yzpkiMDVD-))>UvR?NFgFLNk{P?rD|K1X*h~RiQ`! zwp-4&$Kefc1Y%#L=6OAD?%6&34&PyX%}L>;knPvN+t@^wKEBFTs%|XbxrK0A_$N%7 z1Hk0ZdZ{Fn{H}|IZ)#D)7&mw>)ti|Qx+4pQwL?k5K*?aQxj1Kobm7kY)f)drGJ~Zus zaQ2jVR|25$QR}Nya&;B?VqY6!haJl$>MhD;*YxZ;MmrmPxv#;_tC5KfmyXeah%Qq` zT`8u%5sUkP1UK-C`uTM4XC`X_?lCw{{ax=&T7XG4Ei3Jr_Q#oT+t0?Gh^QNJh+Z$Y zc^sj)dme=}{CRjv8%?0OT(vM357?llk2+^xsN@Ntyz_L#-!gXG$j?Z+uH1k1QWsEA z+1^#}{))Z7DF=WSLDQ}HYdb4IU|;Vk5ROC>nk5i0okBd83U zqulpVV)ih(j4cYNYwkRT@gD>!24)A6@$yhtI<(C1i)Yi10rtwIqS&&h$S$n;xYWp5 zN@c$Im_^sOlv_$kBbK)~9_U=ZK0b*s-ClWQx8GGI{`C6uE#LKT!}Itv2@5k!OwSW(t-~qT&7-bAVSvpf`nHGMXqxyk9k(H>ct4Et z_5MC??x$bm9-aN&duJVdS6@&V-SX7E=a>Hjw?=0EwR@51*pL%#FuptzyroR4}1J<3`QxS&#w zf`T-b-{%RcMquyGR@0?5ofg1a+yxu}3;Wt#(j+6Z=vLjD>&>Y}!nJVk8`zdJ&fD%r zqO+8T2Iv}B*a9J+sUWV5YAMOAij+xUSAADwQV<$TjqXR*!M>v}cQ5vTwMw*hfy3AM z{qJ$7%GEI*WojhdIgc7FVJmT2aqI?ztQ@9~ej~&ddiKbs7S9ZB06&h^Qelx?(kFtE zvwLoT;(Km~j}YO!KSvBcFqVJ029io^8QQ7gUS5bIoMq$q9xBaXYsxv&*lJ zX7$|^=UaX??lC!#E?F;Nec^8&jDXA><;$8qgpZz3s@dVMalySvN==rtGFCHT8u!HDc|DZ@iKIc^03q6pn`l47=4>-jJJzZVsP7B(7_8nyAdC-3p}$ubvf36IDOV7vq%i2xV7}G>#r1G@1`88=cUgY{ zi2LKMpaUj=CGvjwMSJ`eg%zkg&lu&BliV24j=(S5e)h_9nXVNR)vh+<5xcwr9= zMXIy5$K?JfIVN)x-YeTHkZ9$+8!l1-7t&ItM?~T;i;$R}<_-tHnJ8JQ4wAJ`SeY;J z0{+k*DtKIM7GGx@>KR^+^Dv2WamF?CjY%B~|J7!U$cj@S)o#9L+9J=gS@Z7Rf(f1ho!Mg1VM)nN?<(i)

@_qv0Sz=M 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 z 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%0D)UU3p>g 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

Jx;89ik!;7o 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\n", " NaN\n", " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " NaN\n", " NaN\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", - " 0.0\n", " NaN\n", " NaN\n", " 0.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 35.0\n", - " Natural Gas\n", " NaN\n", - " 2024-01-02 11:38:37\n", + " NaT\n", + " NaT\n", " final\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 1.0\n", - " 0.0\n", - " 2023-03-06 16:30:43\n", - " 7100.1-1 (Rev. 05-2021)\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 1992-06-30\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -437,25 +477,14 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", + " 3.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " ABBYVILLE\n", - " NaN\n", - " KS\n", - " P O BOX 100\n", - " 67510\n", - " NaN\n", " 0.0\n", " 3.0\n", - " 0.00\n", - " 0.0\n", " 0.0\n", - " 0.00\n", - " 0.0\n", - " 0.000\n", - " 0.000\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -463,14 +492,10 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 3.000\n", - " 0.00\n", - " 0.00\n", " 0.0\n", " 0.0\n", - " 3.000\n", + " 3.0\n", " 0.0\n", - " 3.00\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -480,7 +505,6 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 3.000\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -499,6 +523,7 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " NaN\n", @@ -508,10 +533,6 @@ " NaN\n", " NaN\n", " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -521,22 +542,8 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 0.000\n", - " 0.00\n", - " 0.00\n", - " 0.0\n", - " 0.0\n", - " 0.000\n", - " 0.0\n", - " 0.000\n", - " 0.0\n", - " 0.0\n", - " 0.00\n", - " 0.00\n", - " 0.0\n", - " 0.0\n", - " 0.00\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -544,45 +551,60 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 3.0\n", " 0.0\n", - " 3.000\n", - " 0.00\n", - " 0.00\n", " 0.0\n", " 0.0\n", - " 3.000\n", " 0.0\n", - " 3.000\n", + " 3.0\n", " 0.0\n", + " 3.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " ABBYVILLE\n", - " Reno\n", + " RENO\n", " KS\n", - " PO BOX 100\n", - " 67510\n", + " P O BOX 100\n", + " 67510.0\n", " KS\n", " 18.0\n", " ABBYVILLE, CITY OF\n", - " Municipal Owned\n", " NaN\n", - " 5.00\n", - " (620) 500-5758\n", - " cityofabbyville@hotmail.com\n", - " Mindy Iverson\n", - " (620) 286-5643\n", - " agent\n", - " 2023-03-06 16:30:43\n", - " 20230656.0\n", - " INITIAL\n", - " 2022.0\n", + " NaN\n", + " NaN\n", + " 3162865404\n", + " NaN\n", + " DEBRA EHLING\n", + " NaN\n", + " NaN\n", + " NaT\n", + " 19901506.0\n", + " NaN\n", + " 1990.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 0.0\n", " 0.0\n", - " 55.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -591,25 +613,23 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", - " 56.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 56.0\n", " 0.0\n", - " 56.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 66.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 55.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -620,6 +640,8 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -634,6 +656,7 @@ " 0.0\n", " 0.0\n", " NaN\n", + " 0.0\n", " NaN\n", " NaN\n", " NaN\n", @@ -641,11 +664,6 @@ " NaN\n", " NaN\n", " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -653,19 +671,27 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", + " NaN\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -673,46 +699,65 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " 66.0\n", + " NaN\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " \n", + " \n", + " 1\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 1.0\n", " 0.0\n", - " 55.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", + " 1.0\n", + " NaN\n", + " NaN\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", - " 55.0\n", " 0.0\n", - " 56.0\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", - " 50938.0\n", + " 25.0\n", " NaN\n", - " \n", - " \n", - " 1\n", + " 1991-02-05\n", + " NaT\n", + " final\n", " NaN\n", - " 0.0\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", + " 0.0\n", + " 1991-02-05\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 2.0\n", - " 1.0\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 1.0\n", " NaN\n", " NaN\n", - " 1.0\n", " NaN\n", " NaN\n", " NaN\n", @@ -720,77 +765,54 @@ " NaN\n", " NaN\n", " NaN\n", - " 30.0\n", - " Natural Gas\n", " NaN\n", - " 2024-01-02 11:38:37\n", - " final\n", - " 2.0\n", - " 0.0\n", - " 1.0\n", - " 0.0\n", - " 3.0\n", - " 1047.0\n", - " 0.0\n", - " 2023-02-15 13:07:14\n", - " 7100.1-1 (Rev. 05-2021)\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 2.0\n", - " 1.0\n", " NaN\n", " NaN\n", - " 0.0\n", " NaN\n", - " 1.0\n", " NaN\n", " NaN\n", - " 1.0\n", " NaN\n", " NaN\n", " NaN\n", - " ABITA SPRINGS\n", " NaN\n", - " LA\n", - " 22161 LEVEL STREET, PO BOX 461\n", - " 70420\n", " NaN\n", " 0.0\n", " 0.0\n", - " 0.00\n", " 0.0\n", " 0.0\n", - " 0.00\n", - " 28.0\n", - " 0.000\n", - " 0.210\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 23.0\n", + " 2.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 25.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.000\n", - " 28.21\n", - " 0.00\n", " 0.0\n", " 0.0\n", - " 28.210\n", " 0.0\n", - " 28.21\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 25.0\n", + " 0.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 26.000\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -812,7 +834,8 @@ " 0.0\n", " 0.0\n", " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " NaN\n", " NaN\n", " NaN\n", @@ -830,71 +853,77 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " 0.0\n", " 0.0\n", - " 0.000\n", - " 2.21\n", - " 0.00\n", " 0.0\n", " 0.0\n", - " 2.210\n", " 0.0\n", - " 2.210\n", " 0.0\n", " 0.0\n", - " 0.00\n", - " 0.00\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 23.0\n", + " 2.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", - " 0.00\n", + " 25.0\n", " 0.0\n", + " 25.0\n", + " NaN\n", " 0.0\n", " 0.0\n", + " ABITA SPRINGS\n", + " ST. TAMMANY\n", + " LA\n", + " LEVEL STREET\n", + " 70420.0\n", + " LA\n", + " 27.0\n", + " ABITA SPRINGS NAT GAS & WATER\n", + " NaN\n", + " NaN\n", + " 4.0\n", + " 5048920711\n", + " NaN\n", + " BARBARA GIANCONTIERI\n", + " NaN\n", + " NaN\n", + " NaT\n", + " 19900095.0\n", + " NaN\n", + " 1990.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.000\n", - " 26.00\n", - " 0.00\n", " 0.0\n", + " 509.0\n", " 0.0\n", - " 26.000\n", " 0.0\n", - " 28.210\n", " 0.0\n", " 0.0\n", + " 509.0\n", " 0.0\n", - " SLAUGHTER\n", " NaN\n", - " LA\n", - " 222 Highway 19\n", - " 70777-3521\n", - " LA\n", - " 27.0\n", - " ABITA SPRINGS NAT GAS & WATER\n", - " Municipal Owned\n", - " NaN\n", - " 3.90\n", - " (000) 000-0000\n", - " kewing.pip@gmail.com\n", - " Kaylan A. Ewing\n", - " (225) 286-5650\n", - " Consultant\n", - " 2023-02-15 13:07:14\n", - " 20230299.0\n", - " INITIAL\n", - " 2022.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 852.0\n", - " 66.0\n", - " 77.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -902,15 +931,9 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 992.0\n", - " 3.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 995.0\n", " 0.0\n", - " 995.0\n", " 0.0\n", + " 509.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -919,7 +942,6 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 511.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -928,6 +950,8 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -936,14 +960,13 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 133.0\n", - " 27.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " NaN\n", + " 0.0\n", " NaN\n", " NaN\n", " NaN\n", @@ -951,26 +974,6 @@ " NaN\n", " NaN\n", " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 481.0\n", - " 3.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 484.0\n", - " 0.0\n", - " 484.0\n", - " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -981,76 +984,127 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 25.0\n", " 0.0\n", - " 511.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 509.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 511.0\n", " 0.0\n", - " 995.0\n", + " 509.0\n", " 0.0\n", + " 509.0\n", + " NaN\n", " 0.0\n", " 0.0\n", - " 49739.0\n", + " NaN\n", " NaN\n", " \n", " \n", " 2\n", - " This report prepared by: Maurice Chaney Munici...\n", - " 0.0\n", " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 2.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", " NaN\n", " 0.0\n", " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " NaN\n", " NaN\n", " 0.0\n", " 0.0\n", + " 2.0\n", " NaN\n", " NaN\n", + " 0.0\n", + " 14.0\n", " 100.0\n", - " Natural Gas\n", " NaN\n", - " 2024-01-02 11:38:37\n", + " NaT\n", + " NaT\n", " final\n", " NaN\n", - " 1.0\n", " NaN\n", " NaN\n", - " 1.0\n", - " 1815.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 0.0\n", + " 1991-05-08\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 0.0\n", " 0.0\n", - " 2023-03-15 14:08:48\n", - " 7100.1-1 (Rev. 05-2021)\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 0.0\n", + " 19.0\n", + " 22.0\n", " 1.0\n", " 0.0\n", " 0.0\n", + " 42.0\n", + " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1060,22 +1114,11 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " 34.0\n", + " 0.0\n", " 0.0\n", - " ADAIRSVILLE\n", - " NaN\n", - " GA\n", - " 116 PUBLIC SQUARE\n", - " 30103\n", - " NaN\n", " 0.0\n", " 0.0\n", - " 3.44\n", - " 6.0\n", - " 9.0\n", - " 8.98\n", - " 31.0\n", - " 54.950\n", - " 2.750\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1083,14 +1126,9 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 74.760\n", - " 28.69\n", - " 12.67\n", " 0.0\n", " 0.0\n", - " 116.120\n", " 0.0\n", - " 116.12\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1100,20 +1138,32 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 30.060\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", + " 8.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 8.0\n", " 0.0\n", + " 8.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1129,9 +1179,46 @@ " NaN\n", " NaN\n", " NaN\n", + " 11.0\n", + " 22.0\n", + " 1.0\n", + " 0.0\n", + " 0.0\n", + " 34.0\n", + " 0.0\n", + " 42.0\n", " NaN\n", " 0.0\n", " 0.0\n", + " ADAIRSVILLE\n", + " BARTOW\n", + " GA\n", + " P.O. BOX 830\n", + " 30103.0\n", + " GA\n", + " 45.0\n", + " ADAIRSVILLE, CITY OF\n", + " NaN\n", + " NaN\n", + " 0.0\n", + " 4044221902\n", + " NaN\n", + " CHRIS STRIPPELHOFF - CONSULTANT\n", + " NaN\n", + " NaN\n", + " NaT\n", + " 19900947.0\n", + " NaN\n", + " 1990.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1139,101 +1226,75 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " 900.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", - " 64.600\n", - " 18.77\n", - " 2.69\n", " 0.0\n", + " 901.0\n", " 0.0\n", - " 86.060\n", + " NaN\n", " 0.0\n", - " 86.060\n", " 0.0\n", " 0.0\n", - " 0.00\n", - " 0.00\n", " 0.0\n", " 0.0\n", - " 0.00\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 521.0\n", + " 95.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 10.160\n", - " 9.92\n", - " 9.98\n", " 0.0\n", " 0.0\n", - " 30.060\n", " 0.0\n", - " 116.120\n", " 0.0\n", " 0.0\n", " 0.0\n", - " Adairsville\n", - " Bartow\n", - " GA\n", - " 2369 Hall Station Rd NW\n", - " 30103\n", - " GA\n", - " 45.0\n", - " ADAIRSVILLE, CITY OF\n", - " Municipal Owned\n", - " NaN\n", - " -1.60\n", - " (678) 819-0957\n", - " mchaney@gasauthority.com\n", - " MAURICE CHANEY\n", - " (770) 851-3094\n", - " Consultant\n", - " 2023-03-15 14:08:48\n", - " 20231215.0\n", - " INITIAL\n", - " 2022.0\n", " 0.0\n", " 0.0\n", - " 47.0\n", - " 72.0\n", - " 356.0\n", - " 283.0\n", - " 671.0\n", - " 245.0\n", - " 201.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1831.0\n", - " 35.0\n", - " 12.0\n", - " 1.0\n", " 0.0\n", - " 1879.0\n", " 0.0\n", - " 1879.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", + " 284.0\n", " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 285.0\n", " 0.0\n", + " 285.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1241,13 +1302,33 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 616.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 616.0\n", " 0.0\n", - " 1292.0\n", - " 68.0\n", + " 901.0\n", + " NaN\n", + " 0.0\n", + " 0.0\n", + " NaN\n", + " NaN\n", + " \n", + " \n", + " 3\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1259,30 +1340,81 @@ " NaN\n", " NaN\n", " NaN\n", + " 0.0\n", + " 0.0\n", " NaN\n", " NaN\n", + " 0.0\n", + " NaN\n", " NaN\n", " 0.0\n", + " 2.0\n", + " 7.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", + " 100.0\n", + " NaN\n", + " NaT\n", + " NaT\n", + " final\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", + " 1991-06-26\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1830.0\n", - " 35.0\n", - " 12.0\n", - " 1.0\n", " 0.0\n", - " 1878.0\n", + " 81.0\n", + " 17.0\n", " 0.0\n", - " 1878.0\n", " 0.0\n", " 0.0\n", + " 98.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1292,129 +1424,136 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " 85.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 2.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", - " 1879.0\n", - " 4.0\n", " 0.0\n", " 0.0\n", - " 51920.0\n", - " NaN\n", - " \n", - " \n", - " 3\n", - " We have stopped using the radio read transpond...\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 12.0\n", - " 3.0\n", - " 12.0\n", " 0.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 3.0\n", " 0.0\n", - " NaN\n", " NaN\n", " 0.0\n", " 0.0\n", " NaN\n", " NaN\n", - " 90.0\n", - " Natural Gas\n", " NaN\n", - " 2024-01-02 11:38:37\n", - " final\n", - " 8.0\n", - " 5.0\n", - " 2.0\n", - " 0.0\n", - " 15.0\n", - " 963.0\n", - " 0.0\n", - " 2023-03-06 11:55:36\n", - " 7100.1-1 (Rev. 05-2021)\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", + " 13.0\n", " 0.0\n", " 0.0\n", - " 3.0\n", - " 12.0\n", " 0.0\n", " 0.0\n", + " 13.0\n", " 0.0\n", + " 13.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 3.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " ADAMSVILLE\n", " NaN\n", - " TN\n", - " 231 EAST MAIN STREET P O BOX 301\n", - " 38310\n", " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 68.0\n", + " 17.0\n", " 0.0\n", " 0.0\n", - " 0.00\n", " 0.0\n", + " 85.0\n", " 0.0\n", - " 0.00\n", + " 98.0\n", + " NaN\n", " 0.0\n", - " 45.141\n", - " 0.189\n", " 0.0\n", + " ADAMSVILLE\n", + " MCNAIRY\n", + " TN\n", + " 231 EAST MAIN STREET\n", + " 38310.0\n", + " TN\n", + " 49.0\n", + " ADAMSVILLE GAS DEPT, TOWN OF\n", + " NaN\n", + " NaN\n", + " 3.8\n", + " 9016324214\n", + " NaN\n", + " E. GEORGE LECKNER, JR. - GAS SYSTEM ANALYST\n", + " NaN\n", + " NaN\n", + " NaT\n", + " 19901193.0\n", + " NaN\n", + " 1990.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 139.935\n", - " 15.30\n", - " 16.00\n", " 0.0\n", + " 931.0\n", " 0.0\n", - " 171.235\n", " 0.0\n", - " 171.33\n", " 0.0\n", " 0.0\n", + " 931.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " NaN\n", - " 92.359\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 644.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1433,14 +1572,6 @@ " 0.0\n", " NaN\n", " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1451,96 +1582,149 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 73.576\n", - " 0.30\n", - " 5.00\n", " 0.0\n", " 0.0\n", - " 78.876\n", - " 0.0\n", - " 78.876\n", " 0.0\n", + " NaN\n", " 0.0\n", - " 0.00\n", - " 0.00\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", - " 0.00\n", + " 287.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 287.0\n", " 0.0\n", + " 287.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 66.359\n", - " 15.00\n", - " 11.00\n", " 0.0\n", " 0.0\n", - " 92.359\n", " 0.0\n", - " 171.235\n", - " 126.0\n", " NaN\n", " NaN\n", - " Adamsville\n", - " McNairy\n", - " TN\n", - " 203 Sunrise Drive 231 East Main Street\n", - " 38310\n", - " TN\n", - " 49.0\n", - " TOWN OF ADAMSVILLE GAS DEPT\n", - " Municipal Owned\n", " NaN\n", - " 5.42\n", - " (000) 000-0000\n", - " scottklinck@yahoo.com\n", - " Scott Klinck\n", - " (731) 632-4214\n", - " Publc Works Director\n", - " 2023-03-06 11:55:36\n", - " 20230639.0\n", - " INITIAL\n", - " 2022.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 644.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 644.0\n", " 0.0\n", + " 931.0\n", + " NaN\n", " 0.0\n", " 0.0\n", - " 327.0\n", - " 27.0\n", + " NaN\n", + " NaN\n", + " \n", + " \n", + " 4\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 1.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 0.0\n", + " 3.0\n", + " NaN\n", + " NaN\n", + " 0.0\n", + " NaN\n", + " NaN\n", + " 2.0\n", " 0.0\n", + " 2.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", - " 2054.0\n", - " 10.0\n", - " 7.0\n", + " 95.0\n", + " NaN\n", + " NaT\n", + " NaT\n", + " final\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", + " 1991-05-08\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", - " 2071.0\n", " 0.0\n", - " 2064.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 25.0\n", + " 5.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", + " 31.0\n", " 0.0\n", " NaN\n", - " 719.0\n", - " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1550,28 +1734,18 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " 26.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 671.0\n", - " 7.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1582,93 +1756,104 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 1351.0\n", - " 1.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 1352.0\n", " 0.0\n", - " 1352.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", + " 5.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 5.0\n", " 0.0\n", + " 5.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 8.0\n", - " 3.0\n", - " 703.0\n", - " 9.0\n", - " 7.0\n", " 0.0\n", " 0.0\n", - " 719.0\n", " 0.0\n", - " 2071.0\n", - " 1710.0\n", " NaN\n", " NaN\n", - " 50880.0\n", " NaN\n", - " \n", - " \n", - " 4\n", " NaN\n", - " 0.0\n", " NaN\n", " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", " NaN\n", " NaN\n", + " 20.0\n", + " 5.0\n", + " 1.0\n", " 0.0\n", " 0.0\n", + " 26.0\n", " 0.0\n", + " 31.0\n", + " NaN\n", " 0.0\n", " 0.0\n", - " 0.0\n", + " ADEL\n", + " COOK\n", + " GA\n", + " CITY HALL - P.O. BOX 658\n", + " 31620.0\n", + " GA\n", + " 54.0\n", + " ADEL GAS DEPT, CITY OF\n", + " NaN\n", + " NaN\n", + " 3.5\n", + " 4044221902\n", + " NaN\n", + " CHRIS STRIPPELHOFF - CONSULTANT\n", + " NaN\n", + " NaN\n", + " NaT\n", + " 19900948.0\n", + " NaN\n", + " 1990.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", " NaN\n", - " 0.0\n", - " 0.0\n", " NaN\n", " NaN\n", - " 100.0\n", - " Natural Gas\n", " NaN\n", - " 2024-01-02 11:38:37\n", - " final\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 448.0\n", " 0.0\n", - " 2023-02-14 15:41:24\n", - " 7100.1-1 (Rev. 05-2021)\n", " 0.0\n", + " 964.0\n", + " 10.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 974.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1678,24 +1863,13 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " 754.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " ADEL\n", - " NaN\n", - " GA\n", - " P.O. BOX 1530\n", - " 31620\n", - " NaN\n", " 0.0\n", " 0.0\n", - " 0.00\n", - " 15.0\n", - " 4.0\n", - " 4.00\n", " 0.0\n", - " 6.500\n", - " 28.810\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1703,14 +1877,11 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 26.780\n", - " 17.79\n", - " 13.82\n", " 0.0\n", " 0.0\n", - " 58.390\n", " 0.0\n", - " 58.31\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1719,21 +1890,31 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " NaN\n", - " 29.280\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", + " 220.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 220.0\n", " 0.0\n", + " 220.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -1750,265 +1931,98 @@ " NaN\n", " NaN\n", " NaN\n", + " NaN\n", + " 744.0\n", + " 10.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 754.0\n", " 0.0\n", + " 974.0\n", + " NaN\n", " 0.0\n", " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.000\n", - " 0.00\n", - " 0.00\n", - " 0.0\n", - " 0.0\n", - " 0.000\n", - " 0.0\n", - " 29.110\n", - " 0.0\n", - " 7.0\n", - " 11.79\n", - " 10.32\n", - " 0.0\n", - " 0.0\n", - " 29.11\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 19.780\n", - " 6.00\n", - " 3.50\n", - " 0.0\n", - " 0.0\n", - " 29.280\n", - " 0.0\n", - " 58.390\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " Adel\n", - " Cook\n", - " GA\n", - " P.O. Box 1530\n", - " 31620\n", - " GA\n", - " 54.0\n", - " ADEL GAS DEPT, CITY OF\n", - " Municipal Owned\n", - " NaN\n", - " 0.00\n", - " (000) 000-0000\n", - " peterschultzharpassociates@yahoo.com\n", - " Peter Schultz\n", - " (229) 834-6246\n", - " agent\n", - " 2023-02-14 15:41:24\n", - " 20230289.0\n", - " INITIAL\n", - " 2022.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 108.0\n", - " 181.0\n", - " 112.0\n", - " 173.0\n", - " 189.0\n", - " 6.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 766.0\n", - " 3.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 769.0\n", - " 0.0\n", - " 769.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 306.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 102.0\n", - " 3.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 463.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 463.0\n", - " 0.0\n", - " 463.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 2.0\n", - " 0.0\n", - " 303.0\n", - " 3.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 306.0\n", - " 0.0\n", - " 769.0\n", - " 0.0\n", " NaN\n", " NaN\n", - " 49693.0\n", - " NaN\n", " \n", " \n", "\n", "" ], "text/plain": [ - " additional_information all_known_leaks_scheduled_for_repair all_leaks_construction_defect_mains all_leaks_construction_defect_services all_leaks_corrosion_failure_mains all_leaks_corrosion_failure_services all_leaks_equipment_failure_mains all_leaks_equipment_failure_services all_leaks_excavation_damage_mains all_leaks_excavation_damage_services all_leaks_incorrect_operation_mains all_leaks_incorrect_operation_services all_leaks_material_defect_mains all_leaks_material_defect_services all_leaks_natural_force_damage_mains all_leaks_natural_force_damage_services all_leaks_other_mains all_leaks_other_outside_force_mains all_leaks_other_outside_force_services all_leaks_other_services all_leaks_outside_force_mains all_leaks_outside_force_services all_leaks_pipe_weld_joint_failure_mains all_leaks_pipe_weld_joint_failure_services all_leaks_third_party_mains all_leaks_third_party_services average_service_length_feet commodity \\\n", - "0 NaN 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 1.0 0.0 NaN NaN 0.0 0.0 NaN NaN 35.0 Natural Gas \n", - "1 NaN 0.0 NaN NaN NaN NaN NaN NaN 2.0 1.0 NaN NaN NaN NaN NaN 1.0 NaN NaN 1.0 NaN NaN NaN NaN NaN NaN NaN 30.0 Natural Gas \n", - "2 This report prepared by: Maurice Chaney Munici... 0.0 NaN NaN 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 NaN NaN 100.0 Natural Gas \n", - "3 We have stopped using the radio read transpond... 0.0 NaN NaN 0.0 0.0 0.0 12.0 3.0 12.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 3.0 0.0 NaN NaN 0.0 0.0 NaN NaN 90.0 Natural Gas \n", - "4 NaN 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 NaN NaN 100.0 Natural Gas \n", + " additional_information all_known_leaks_scheduled_for_repair all_leaks_construction_defect_mains all_leaks_construction_defect_services all_leaks_corrosion_failure_mains all_leaks_corrosion_failure_services all_leaks_equipment_failure_mains all_leaks_equipment_failure_services all_leaks_excavation_damage_mains all_leaks_excavation_damage_services all_leaks_incorrect_operation_mains all_leaks_incorrect_operation_services all_leaks_material_defect_mains all_leaks_material_defect_services all_leaks_natural_force_damage_mains all_leaks_natural_force_damage_services all_leaks_other_mains all_leaks_other_outside_force_mains all_leaks_other_outside_force_services all_leaks_other_services all_leaks_outside_force_mains all_leaks_outside_force_services all_leaks_pipe_weld_joint_failure_mains all_leaks_pipe_weld_joint_failure_services all_leaks_third_party_mains all_leaks_third_party_services average_service_length_feet commodity correction_date data_date data_maturity \\\n", + "0 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 35.0 NaN NaT NaT final \n", + "1 NaN 0.0 0.0 0.0 1.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 1.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 25.0 NaN 1991-02-05 NaT final \n", + "2 NaN 0.0 0.0 0.0 0.0 2.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 2.0 NaN NaN 0.0 14.0 100.0 NaN NaT NaT final \n", + "3 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 2.0 7.0 NaN NaN 0.0 0.0 100.0 NaN NaT NaT final \n", + "4 NaN 0.0 0.0 0.0 0.0 1.0 NaN NaN NaN NaN NaN NaN 0.0 3.0 NaN NaN 0.0 NaN NaN 2.0 0.0 2.0 NaN NaN 0.0 0.0 95.0 NaN NaT NaT final \n", "\n", - " correction_date data_date data_maturity excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets federal_land_leaks_repaired_or_scheduled filing_date form_revision hazardous_leaks_corrosion_failure_mains hazardous_leaks_corrosion_failure_services hazardous_leaks_equipment_failure_mains hazardous_leaks_equipment_failure_services hazardous_leaks_excavation_damage_mains hazardous_leaks_excavation_damage_services hazardous_leaks_incorrect_operation_mains hazardous_leaks_incorrect_operation_services hazardous_leaks_mechanical_joint_failure hazardous_leaks_natural_force_damage_mains hazardous_leaks_natural_force_damage_services hazardous_leaks_other_mains hazardous_leaks_other_outside_force_mains hazardous_leaks_other_outside_force_services hazardous_leaks_other_services \\\n", - "0 NaN 2024-01-02 11:38:37 final 0.0 0.0 0.0 0.0 0.0 1.0 0.0 2023-03-06 16:30:43 7100.1-1 (Rev. 05-2021) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 \n", - "1 NaN 2024-01-02 11:38:37 final 2.0 0.0 1.0 0.0 3.0 1047.0 0.0 2023-02-15 13:07:14 7100.1-1 (Rev. 05-2021) NaN NaN NaN NaN 2.0 1.0 NaN NaN 0.0 NaN 1.0 NaN NaN 1.0 NaN \n", - "2 NaN 2024-01-02 11:38:37 final NaN 1.0 NaN NaN 1.0 1815.0 0.0 2023-03-15 14:08:48 7100.1-1 (Rev. 05-2021) 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "3 NaN 2024-01-02 11:38:37 final 8.0 5.0 2.0 0.0 15.0 963.0 0.0 2023-03-06 11:55:36 7100.1-1 (Rev. 05-2021) 0.0 0.0 0.0 0.0 3.0 12.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.0 0.0 \n", - "4 NaN 2024-01-02 11:38:37 final 0.0 0.0 0.0 0.0 0.0 448.0 0.0 2023-02-14 15:41:24 7100.1-1 (Rev. 05-2021) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + " excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets federal_land_leaks_repaired_or_scheduled filing_date form_revision hazardous_leaks_corrosion_failure_mains hazardous_leaks_corrosion_failure_services hazardous_leaks_equipment_failure_mains hazardous_leaks_equipment_failure_services hazardous_leaks_excavation_damage_mains hazardous_leaks_excavation_damage_services hazardous_leaks_incorrect_operation_mains hazardous_leaks_incorrect_operation_services hazardous_leaks_mechanical_joint_failure hazardous_leaks_natural_force_damage_mains hazardous_leaks_natural_force_damage_services hazardous_leaks_other_mains hazardous_leaks_other_outside_force_mains hazardous_leaks_other_outside_force_services hazardous_leaks_other_services hazardous_leaks_pipe_weld_joint_failure_mains hazardous_leaks_pipe_weld_joint_failure_services \\\n", + "0 NaN NaN NaN NaN NaN NaN 0.0 1992-06-30 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN NaN NaN 0.0 1991-02-05 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN NaN NaN 0.0 1991-05-08 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN NaN NaN 0.0 1991-06-26 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN NaN NaN 0.0 1991-05-08 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", - " hazardous_leaks_pipe_weld_joint_failure_mains hazardous_leaks_pipe_weld_joint_failure_services headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip log main_1940s_miles main_1950s_miles main_1960s_miles main_1970s_miles main_1980s_miles main_1990s_miles main_2000s_miles main_2010s_miles main_2020s_miles main_abs_2_in_or_less_miles main_abs_2_to_4_in_miles main_abs_4_to_8_in_miles main_abs_8_to_12_in_miles main_abs_over_12_in_miles main_abs_total_miles main_abs_unknown_miles main_all_materials_2_in_or_less_miles main_all_materials_2_to_4_in_miles main_all_materials_4_to_8_in_miles main_all_materials_8_to_12_in_miles main_all_materials_over_12_in_miles main_all_materials_total_miles main_all_materials_unknown_miles main_all_time_miles main_cast_or_wrought_iron_2_in_or_less_miles main_cast_or_wrought_iron_2_to_4_in_miles main_cast_or_wrought_iron_4_to_8_in_miles \\\n", - "0 0.0 0.0 ABBYVILLE NaN KS P O BOX 100 67510 NaN 0.0 3.0 0.00 0.0 0.0 0.00 0.0 0.000 0.000 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.000 0.00 0.00 0.0 0.0 3.000 0.0 3.00 0.0 0.0 0.0 \n", - "1 NaN NaN ABITA SPRINGS NaN LA 22161 LEVEL STREET, PO BOX 461 70420 NaN 0.0 0.0 0.00 0.0 0.0 0.00 28.0 0.000 0.210 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 28.21 0.00 0.0 0.0 28.210 0.0 28.21 0.0 0.0 0.0 \n", - "2 0.0 0.0 ADAIRSVILLE NaN GA 116 PUBLIC SQUARE 30103 NaN 0.0 0.0 3.44 6.0 9.0 8.98 31.0 54.950 2.750 0.0 0.0 0.0 0.0 0.0 0.0 0.0 74.760 28.69 12.67 0.0 0.0 116.120 0.0 116.12 0.0 0.0 0.0 \n", - "3 0.0 0.0 ADAMSVILLE NaN TN 231 EAST MAIN STREET P O BOX 301 38310 NaN 0.0 0.0 0.00 0.0 0.0 0.00 0.0 45.141 0.189 0.0 0.0 0.0 0.0 0.0 0.0 0.0 139.935 15.30 16.00 0.0 0.0 171.235 0.0 171.33 0.0 0.0 0.0 \n", - "4 0.0 0.0 ADEL NaN GA P.O. BOX 1530 31620 NaN 0.0 0.0 0.00 15.0 4.0 4.00 0.0 6.500 28.810 0.0 0.0 0.0 0.0 0.0 0.0 0.0 26.780 17.79 13.82 0.0 0.0 58.390 0.0 58.31 0.0 0.0 0.0 \n", + " headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip log main_1940s_miles main_1950s_miles main_1960s_miles main_1970s_miles main_1980s_miles main_1990s_miles main_2000s_miles main_2010s_miles main_2020s_miles main_abs_2_in_or_less_miles main_abs_2_to_4_in_miles main_abs_4_to_8_in_miles main_abs_8_to_12_in_miles main_abs_over_12_in_miles main_abs_total_miles main_abs_unknown_miles main_all_materials_2_in_or_less_miles main_all_materials_2_to_4_in_miles main_all_materials_4_to_8_in_miles main_all_materials_8_to_12_in_miles main_all_materials_over_12_in_miles main_all_materials_total_miles main_all_materials_unknown_miles main_all_time_miles main_cast_or_wrought_iron_2_in_or_less_miles main_cast_or_wrought_iron_2_to_4_in_miles main_cast_or_wrought_iron_4_to_8_in_miles main_cast_or_wrought_iron_8_to_12_in_miles main_cast_or_wrought_iron_miles \\\n", + "0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.0 0.0 0.0 0.0 0.0 3.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", + "1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 23.0 2.0 0.0 0.0 0.0 25.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", + "2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 19.0 22.0 1.0 0.0 0.0 42.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", + "3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 81.0 17.0 0.0 0.0 0.0 98.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", + "4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 25.0 5.0 1.0 0.0 0.0 31.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", "\n", - " main_cast_or_wrought_iron_8_to_12_in_miles main_cast_or_wrought_iron_miles main_cast_or_wrought_iron_over_12_in_miles main_cast_or_wrought_iron_total_miles main_cast_or_wrought_iron_unknown_miles main_cathodically_protected_steel_bare_miles main_cathodically_protected_steel_coated_miles main_copper_2_in_or_less_miles main_copper_2_to_4_in_miles main_copper_4_to_8_in_miles main_copper_8_to_12_in_miles main_copper_miles main_copper_over_12_in_miles main_copper_total_miles main_copper_unknown_miles main_ductile_iron_2_in_or_less_miles main_ductile_iron_2_to_4_in_miles main_ductile_iron_4_to_8_in_miles main_ductile_iron_8_to_12_in_miles main_ductile_iron_miles main_ductile_iron_over_12_in_miles main_ductile_iron_total_miles main_ductile_iron_unknown_miles main_other_2_in_or_less_miles main_other_2_to_4_in_miles main_other_4_to_8_in_miles main_other_8_to_12_in_miles main_other_alt_2_in_or_less_miles main_other_alt_2_to_4_in_miles \\\n", - "0 0.0 0.0 0.0 0.0 0.0 0.0 3.000 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", - "1 0.0 0.0 0.0 0.0 0.0 0.0 26.000 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", - "2 0.0 0.0 0.0 0.0 0.0 0.0 30.060 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", - "3 0.0 0.0 0.0 0.0 0.0 NaN 92.359 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", - "4 0.0 0.0 0.0 0.0 0.0 NaN 29.280 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + " main_cast_or_wrought_iron_over_12_in_miles main_cast_or_wrought_iron_total_miles main_cast_or_wrought_iron_unknown_miles main_cathodically_protected_steel_bare_miles main_cathodically_protected_steel_coated_miles main_copper_2_in_or_less_miles main_copper_2_to_4_in_miles main_copper_4_to_8_in_miles main_copper_8_to_12_in_miles main_copper_miles main_copper_over_12_in_miles main_copper_total_miles main_copper_unknown_miles main_ductile_iron_2_in_or_less_miles main_ductile_iron_2_to_4_in_miles main_ductile_iron_4_to_8_in_miles main_ductile_iron_8_to_12_in_miles main_ductile_iron_miles main_ductile_iron_over_12_in_miles main_ductile_iron_total_miles main_ductile_iron_unknown_miles main_other_2_in_or_less_miles main_other_2_to_4_in_miles main_other_4_to_8_in_miles main_other_8_to_12_in_miles main_other_alt_2_in_or_less_miles main_other_alt_2_to_4_in_miles main_other_alt_4_to_8_in_miles main_other_alt_8_to_12_in_miles main_other_alt_miles \\\n", + "0 0.0 0.0 0.0 0.0 3.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 0.0 25.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 34.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 85.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 26.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "\n", - " main_other_alt_4_to_8_in_miles main_other_alt_8_to_12_in_miles main_other_alt_miles main_other_alt_over_12_in_miles main_other_alt_total_miles main_other_alt_unknown_miles main_other_material_detail_miles main_other_miles main_other_over_12_in_miles main_other_plastic_2_in_or_less_miles main_other_plastic_2_to_4_in_miles main_other_plastic_4_to_8_in_miles main_other_plastic_8_to_12_in_miles main_other_plastic_over_12_in_miles main_other_plastic_total_miles main_other_plastic_unknown_miles main_other_total_miles main_other_unknown_miles main_pe_2_in_or_less_miles main_pe_2_to_4_in_miles main_pe_4_to_8_in_miles main_pe_8_to_12_in_miles main_pe_over_12_in_miles main_pe_total_miles main_pe_unknown_miles main_plastic_miles main_pre_1940_miles main_pvc_2_in_or_less_miles main_pvc_2_to_4_in_miles main_pvc_4_to_8_in_miles main_pvc_8_to_12_in_miles main_pvc_over_12_in_miles main_pvc_total_miles main_pvc_unknown_miles \\\n", - "0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 0.00 0.00 0.0 0.0 0.000 0.0 0.000 0.0 0.0 0.00 0.00 0.0 0.0 0.00 0.0 \n", - "1 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 2.21 0.00 0.0 0.0 2.210 0.0 2.210 0.0 0.0 0.00 0.00 0.0 0.0 0.00 0.0 \n", - "2 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 64.600 18.77 2.69 0.0 0.0 86.060 0.0 86.060 0.0 0.0 0.00 0.00 0.0 0.0 0.00 0.0 \n", - "3 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 73.576 0.30 5.00 0.0 0.0 78.876 0.0 78.876 0.0 0.0 0.00 0.00 0.0 0.0 0.00 0.0 \n", - "4 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 0.00 0.00 0.0 0.0 0.000 0.0 29.110 0.0 7.0 11.79 10.32 0.0 0.0 29.11 0.0 \n", + " main_other_alt_over_12_in_miles main_other_alt_total_miles main_other_alt_unknown_miles main_other_material_detail_miles main_other_miles main_other_over_12_in_miles main_other_plastic_2_in_or_less_miles main_other_plastic_2_to_4_in_miles main_other_plastic_4_to_8_in_miles main_other_plastic_8_to_12_in_miles main_other_plastic_over_12_in_miles main_other_plastic_total_miles main_other_plastic_unknown_miles main_other_total_miles main_other_unknown_miles main_pe_2_in_or_less_miles main_pe_2_to_4_in_miles main_pe_4_to_8_in_miles main_pe_8_to_12_in_miles main_pe_over_12_in_miles main_pe_total_miles main_pe_unknown_miles main_plastic_miles main_pre_1940_miles main_pvc_2_in_or_less_miles main_pvc_2_to_4_in_miles main_pvc_4_to_8_in_miles main_pvc_8_to_12_in_miles main_pvc_over_12_in_miles main_pvc_total_miles main_pvc_unknown_miles main_reconditioned_cast_iron_2_in_or_less_miles main_reconditioned_cast_iron_2_to_4_in_miles \\\n", + "0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + "1 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + "2 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 8.0 0.0 0.0 0.0 0.0 8.0 0.0 8.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + "3 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 13.0 0.0 0.0 0.0 0.0 13.0 0.0 13.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", + "4 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 5.0 0.0 0.0 0.0 0.0 5.0 0.0 5.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", "\n", - " main_reconditioned_cast_iron_2_in_or_less_miles main_reconditioned_cast_iron_2_to_4_in_miles main_reconditioned_cast_iron_4_to_8_in_miles main_reconditioned_cast_iron_8_to_12_in_miles main_reconditioned_cast_iron_miles main_reconditioned_cast_iron_over_12_in_miles main_reconditioned_cast_iron_total_miles main_reconditioned_cast_iron_unknown_miles main_steel_2_in_or_less_miles main_steel_2_to_4_in_miles main_steel_4_to_8_in_miles main_steel_8_to_12_in_miles main_steel_over_12_in_miles main_steel_total_miles main_steel_unknown_miles main_total_miles main_unknown_decade_miles main_unprotected_steel_bare_miles main_unprotected_steel_coated_miles office_address_city office_address_county office_address_state office_address_street office_address_zip operating_state operator_id_phmsa operator_name_phmsa operator_type original_report percent_unaccounted_for_gas preparer_email preparer_fax preparer_name \\\n", - "0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.000 0.00 0.00 0.0 0.0 3.000 0.0 3.000 0.0 0.0 0.0 ABBYVILLE Reno KS PO BOX 100 67510 KS 18.0 ABBYVILLE, CITY OF Municipal Owned NaN 5.00 (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson \n", - "1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000 26.00 0.00 0.0 0.0 26.000 0.0 28.210 0.0 0.0 0.0 SLAUGHTER NaN LA 222 Highway 19 70777-3521 LA 27.0 ABITA SPRINGS NAT GAS & WATER Municipal Owned NaN 3.90 (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing \n", - "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 10.160 9.92 9.98 0.0 0.0 30.060 0.0 116.120 0.0 0.0 0.0 Adairsville Bartow GA 2369 Hall Station Rd NW 30103 GA 45.0 ADAIRSVILLE, CITY OF Municipal Owned NaN -1.60 (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY \n", - "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 66.359 15.00 11.00 0.0 0.0 92.359 0.0 171.235 126.0 NaN NaN Adamsville McNairy TN 203 Sunrise Drive 231 East Main Street 38310 TN 49.0 TOWN OF ADAMSVILLE GAS DEPT Municipal Owned NaN 5.42 (000) 000-0000 scottklinck@yahoo.com Scott Klinck \n", - "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 19.780 6.00 3.50 0.0 0.0 29.280 0.0 58.390 0.0 NaN NaN Adel Cook GA P.O. Box 1530 31620 GA 54.0 ADEL GAS DEPT, CITY OF Municipal Owned NaN 0.00 (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz \n", + " main_reconditioned_cast_iron_4_to_8_in_miles main_reconditioned_cast_iron_8_to_12_in_miles main_reconditioned_cast_iron_miles main_reconditioned_cast_iron_over_12_in_miles main_reconditioned_cast_iron_total_miles main_reconditioned_cast_iron_unknown_miles main_steel_2_in_or_less_miles main_steel_2_to_4_in_miles main_steel_4_to_8_in_miles main_steel_8_to_12_in_miles main_steel_over_12_in_miles main_steel_total_miles main_steel_unknown_miles main_total_miles main_unknown_decade_miles main_unprotected_steel_bare_miles main_unprotected_steel_coated_miles office_address_city office_address_county office_address_state office_address_street office_address_zip operating_state operator_id_phmsa operator_name_phmsa operator_type original_report percent_unaccounted_for_gas preparer_email preparer_fax preparer_name preparer_phone preparer_title report_date report_number report_submission_type report_year services_1940s \\\n", + "0 NaN NaN NaN NaN NaN NaN 3.0 0.0 0.0 0.0 0.0 3.0 0.0 3.0 NaN 0.0 0.0 ABBYVILLE RENO KS P O BOX 100 67510.0 KS 18.0 ABBYVILLE, CITY OF NaN NaN NaN 3162865404 NaN DEBRA EHLING NaN NaN NaT 19901506.0 NaN 1990.0 NaN \n", + "1 NaN NaN NaN NaN NaN NaN 23.0 2.0 0.0 0.0 0.0 25.0 0.0 25.0 NaN 0.0 0.0 ABITA SPRINGS ST. TAMMANY LA LEVEL STREET 70420.0 LA 27.0 ABITA SPRINGS NAT GAS & WATER NaN NaN 4.0 5048920711 NaN BARBARA GIANCONTIERI NaN NaN NaT 19900095.0 NaN 1990.0 NaN \n", + "2 NaN NaN NaN NaN NaN NaN 11.0 22.0 1.0 0.0 0.0 34.0 0.0 42.0 NaN 0.0 0.0 ADAIRSVILLE BARTOW GA P.O. BOX 830 30103.0 GA 45.0 ADAIRSVILLE, CITY OF NaN NaN 0.0 4044221902 NaN CHRIS STRIPPELHOFF - CONSULTANT NaN NaN NaT 19900947.0 NaN 1990.0 NaN \n", + "3 NaN NaN NaN NaN NaN NaN 68.0 17.0 0.0 0.0 0.0 85.0 0.0 98.0 NaN 0.0 0.0 ADAMSVILLE MCNAIRY TN 231 EAST MAIN STREET 38310.0 TN 49.0 ADAMSVILLE GAS DEPT, TOWN OF NaN NaN 3.8 9016324214 NaN E. GEORGE LECKNER, JR. - GAS SYSTEM ANALYST NaN NaN NaT 19901193.0 NaN 1990.0 NaN \n", + "4 NaN NaN NaN NaN NaN NaN 20.0 5.0 1.0 0.0 0.0 26.0 0.0 31.0 NaN 0.0 0.0 ADEL COOK GA CITY HALL - P.O. BOX 658 31620.0 GA 54.0 ADEL GAS DEPT, CITY OF NaN NaN 3.5 4044221902 NaN CHRIS STRIPPELHOFF - CONSULTANT NaN NaN NaT 19900948.0 NaN 1990.0 NaN \n", "\n", - " preparer_phone preparer_title report_date report_number report_submission_type report_year services_1940s services_1950s services_1960s services_1970s services_1980s services_1990s services_2000s services_2010s services_2020s services_abs_1_in_or_less services_abs_1_to_2_in services_abs_2_to_4_in services_abs_4_to_8_in services_abs_over_8_in services_abs_total services_abs_unknown services_all_materials_1_in_or_less services_all_materials_1_to_2_in services_all_materials_2_to_4_in services_all_materials_4_to_8_in services_all_materials_over_8_in services_all_materials_total services_all_materials_unknown services_all_time services_cast_or_wrought_iron services_cast_or_wrought_iron_1_in_or_less services_cast_or_wrought_iron_1_to_2_in services_cast_or_wrought_iron_2_to_4_in services_cast_or_wrought_iron_4_to_8_in services_cast_or_wrought_iron_over_8_in services_cast_or_wrought_iron_total services_cast_or_wrought_iron_unknown \\\n", - "0 (620) 286-5643 agent 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 0.0 55.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 56.0 0.0 0.0 0.0 56.0 0.0 56.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "1 (225) 286-5650 Consultant 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 0.0 0.0 0.0 0.0 0.0 0.0 852.0 66.0 77.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 992.0 3.0 0.0 0.0 0.0 995.0 0.0 995.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "2 (770) 851-3094 Consultant 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 0.0 0.0 47.0 72.0 356.0 283.0 671.0 245.0 201.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1831.0 35.0 12.0 1.0 0.0 1879.0 0.0 1879.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "3 (731) 632-4214 Publc Works Director 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 327.0 27.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2054.0 10.0 7.0 0.0 0.0 2071.0 0.0 2064.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "4 (229) 834-6246 agent 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 0.0 0.0 0.0 108.0 181.0 112.0 173.0 189.0 6.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 766.0 3.0 0.0 0.0 0.0 769.0 0.0 769.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + " services_1950s services_1960s services_1970s services_1980s services_1990s services_2000s services_2010s services_2020s services_abs_1_in_or_less services_abs_1_to_2_in services_abs_2_to_4_in services_abs_4_to_8_in services_abs_over_8_in services_abs_total services_abs_unknown services_all_materials_1_in_or_less services_all_materials_1_to_2_in services_all_materials_2_to_4_in services_all_materials_4_to_8_in services_all_materials_over_8_in services_all_materials_total services_all_materials_unknown services_all_time services_cast_or_wrought_iron services_cast_or_wrought_iron_1_in_or_less services_cast_or_wrought_iron_1_to_2_in services_cast_or_wrought_iron_2_to_4_in services_cast_or_wrought_iron_4_to_8_in services_cast_or_wrought_iron_over_8_in services_cast_or_wrought_iron_total services_cast_or_wrought_iron_unknown services_cathodically_protected_steel_bare services_cathodically_protected_steel_coated services_copper services_copper_1_in_or_less \\\n", + "0 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 66.0 0.0 0.0 \n", + "1 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 509.0 0.0 0.0 0.0 0.0 509.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 509.0 0.0 0.0 \n", + "2 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 900.0 1.0 0.0 0.0 0.0 901.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 521.0 95.0 0.0 0.0 \n", + "3 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 931.0 0.0 0.0 0.0 0.0 931.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 644.0 0.0 0.0 \n", + "4 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 964.0 10.0 0.0 0.0 0.0 974.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 754.0 0.0 0.0 \n", "\n", - " services_cathodically_protected_steel_bare services_cathodically_protected_steel_coated services_copper services_copper_1_in_or_less services_copper_1_to_2_in services_copper_2_to_4_in services_copper_4_to_8_in services_copper_over_8_in services_copper_total services_copper_unknown services_ductile_iron services_ductile_iron_1_in_or_less services_ductile_iron_1_to_2_in services_ductile_iron_2_to_4_in services_ductile_iron_4_to_8_in services_ductile_iron_over_8_in services_ductile_iron_total services_ductile_iron_unknown services_efv_in_system services_efv_installed services_other services_other_1_in_or_less services_other_1_to_2_in services_other_2_to_4_in services_other_4_to_8_in services_other_alt services_other_alt_1_in_or_less services_other_alt_1_to_2_in services_other_alt_2_to_4_in services_other_alt_4_to_8_in services_other_alt_over_8_in services_other_alt_total services_other_alt_unknown services_other_material_detail services_other_over_8_in \\\n", - "0 0.0 55.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", - "1 0.0 511.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 133.0 27.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", - "2 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1292.0 68.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", - "3 NaN 719.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 671.0 7.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", - "4 NaN 306.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 102.0 3.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", + " services_copper_1_to_2_in services_copper_2_to_4_in services_copper_4_to_8_in services_copper_over_8_in services_copper_total services_copper_unknown services_ductile_iron services_ductile_iron_1_in_or_less services_ductile_iron_1_to_2_in services_ductile_iron_2_to_4_in services_ductile_iron_4_to_8_in services_ductile_iron_over_8_in services_ductile_iron_total services_ductile_iron_unknown services_efv_in_system services_efv_installed services_other services_other_1_in_or_less services_other_1_to_2_in services_other_2_to_4_in services_other_4_to_8_in services_other_alt services_other_alt_1_in_or_less services_other_alt_1_to_2_in services_other_alt_2_to_4_in services_other_alt_4_to_8_in services_other_alt_over_8_in services_other_alt_total services_other_alt_unknown services_other_material_detail services_other_over_8_in services_other_plastic_1_in_or_less services_other_plastic_1_to_2_in services_other_plastic_2_to_4_in \\\n", + "0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", + "1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", + "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", + "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", + "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", "\n", - " services_other_plastic_1_in_or_less services_other_plastic_1_to_2_in services_other_plastic_2_to_4_in services_other_plastic_4_to_8_in services_other_plastic_over_8_in services_other_plastic_total services_other_plastic_unknown services_other_total services_other_unknown services_pe_1_in_or_less services_pe_1_to_2_in services_pe_2_to_4_in services_pe_4_to_8_in services_pe_over_8_in services_pe_total services_pe_unknown services_plastic services_pre_1940 services_pvc_1_in_or_less services_pvc_1_to_2_in services_pvc_2_to_4_in services_pvc_4_to_8_in services_pvc_over_8_in services_pvc_total services_pvc_unknown services_reconditioned_cast_iron services_reconditioned_cast_iron_1_in_or_less services_reconditioned_cast_iron_1_to_2_in services_reconditioned_cast_iron_2_to_4_in services_reconditioned_cast_iron_4_to_8_in services_reconditioned_cast_iron_over_8_in services_reconditioned_cast_iron_total services_reconditioned_cast_iron_unknown \\\n", - "0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 481.0 3.0 0.0 0.0 0.0 484.0 0.0 484.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1830.0 35.0 12.0 1.0 0.0 1878.0 0.0 1878.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1351.0 1.0 0.0 0.0 0.0 1352.0 0.0 1352.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 463.0 0.0 0.0 0.0 0.0 463.0 0.0 463.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + " services_other_plastic_4_to_8_in services_other_plastic_over_8_in services_other_plastic_total services_other_plastic_unknown services_other_total services_other_unknown services_pe_1_in_or_less services_pe_1_to_2_in services_pe_2_to_4_in services_pe_4_to_8_in services_pe_over_8_in services_pe_total services_pe_unknown services_plastic services_pre_1940 services_pvc_1_in_or_less services_pvc_1_to_2_in services_pvc_2_to_4_in services_pvc_4_to_8_in services_pvc_over_8_in services_pvc_total services_pvc_unknown services_reconditioned_cast_iron services_reconditioned_cast_iron_1_in_or_less services_reconditioned_cast_iron_1_to_2_in services_reconditioned_cast_iron_2_to_4_in services_reconditioned_cast_iron_4_to_8_in services_reconditioned_cast_iron_over_8_in services_reconditioned_cast_iron_total services_reconditioned_cast_iron_unknown services_shutoff_valve_in_system services_shutoff_valve_installed services_steel_1_in_or_less \\\n", + "0 NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", + "1 NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 509.0 \n", + "2 NaN NaN NaN NaN 0.0 0.0 284.0 1.0 0.0 0.0 0.0 285.0 0.0 285.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 616.0 \n", + "3 NaN NaN NaN NaN 0.0 0.0 287.0 0.0 0.0 0.0 0.0 287.0 0.0 287.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 644.0 \n", + "4 NaN NaN NaN NaN 0.0 0.0 220.0 0.0 0.0 0.0 0.0 220.0 0.0 220.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 744.0 \n", "\n", - " services_shutoff_valve_in_system services_shutoff_valve_installed services_steel_1_in_or_less services_steel_1_to_2_in services_steel_2_to_4_in services_steel_4_to_8_in services_steel_over_8_in services_steel_total services_steel_unknown services_total services_unknown_decade services_unprotected_steel_bare services_unprotected_steel_coated supplemental_report_number supplementary_report \n", - "0 0.0 0.0 0.0 55.0 0.0 0.0 0.0 55.0 0.0 56.0 0.0 0.0 0.0 50938.0 NaN \n", - "1 25.0 0.0 511.0 0.0 0.0 0.0 0.0 511.0 0.0 995.0 0.0 0.0 0.0 49739.0 NaN \n", - "2 2.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 1879.0 4.0 0.0 0.0 51920.0 NaN \n", - "3 8.0 3.0 703.0 9.0 7.0 0.0 0.0 719.0 0.0 2071.0 1710.0 NaN NaN 50880.0 NaN \n", - "4 2.0 0.0 303.0 3.0 0.0 0.0 0.0 306.0 0.0 769.0 0.0 NaN NaN 49693.0 NaN " + " services_steel_1_to_2_in services_steel_2_to_4_in services_steel_4_to_8_in services_steel_over_8_in services_steel_total services_steel_unknown services_total services_unknown_decade services_unprotected_steel_bare services_unprotected_steel_coated supplemental_report_number supplementary_report \n", + "0 0.0 0.0 0.0 0.0 0.0 0.0 66.0 NaN 0.0 0.0 NaN NaN \n", + "1 0.0 0.0 0.0 0.0 509.0 0.0 509.0 NaN 0.0 0.0 NaN NaN \n", + "2 0.0 0.0 0.0 0.0 616.0 0.0 901.0 NaN 0.0 0.0 NaN NaN \n", + "3 0.0 0.0 0.0 0.0 644.0 0.0 931.0 NaN 0.0 0.0 NaN NaN \n", + "4 10.0 0.0 0.0 0.0 754.0 0.0 974.0 NaN 0.0 0.0 NaN NaN " ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -2019,7 +2033,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -2034,19 +2048,19 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "2023-12-21 14:41:38\n", - "2022-10-28 12:52:08\n", - "2023-12-11 16:19:06\n", - "2022-10-28 12:52:08\n", - "2022.0\n", - "2022.0\n" + "2024-07-31 17:28:42\n", + "1991-01-25 00:00:00\n", + "2024-07-31 14:16:33\n", + "2000-01-05 00:00:00\n", + "2023.0\n", + "94.0\n" ] } ], @@ -2063,7 +2077,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -2093,26 +2107,83 @@ " \n", " \n", " \n", - " 17\n", + " 25\n", + " 383.0\n", + " AMARILLO NATURAL GAS INC\n", + " \n", + " \n", + " 1539\n", + " 383.0\n", + " AMARILLO NATURAL GAS INC\n", + " \n", + " \n", + " 3627\n", + " 383.0\n", + " AMARILLO NATURAL GAS INC\n", + " \n", + " \n", + " 4645\n", + " 383.0\n", + " AMARILLO NATURAL GAS INC\n", + " \n", + " \n", + " 6214\n", + " 383.0\n", + " AMARILLO NATURAL GAS INC ...\n", + " \n", + " \n", + " ...\n", + " ...\n", + " ...\n", + " \n", + " \n", + " 46339\n", + " 383.0\n", + " AMARILLO NATURAL GAS INC\n", + " \n", + " \n", + " 47782\n", + " 383.0\n", + " AMARILLO NATURAL GAS INC\n", + " \n", + " \n", + " 47783\n", + " 383.0\n", + " AMARILLO NATURAL GAS INC\n", + " \n", + " \n", + " 49229\n", " 383.0\n", " AMARILLO NATURAL GAS INC\n", " \n", " \n", - " 18\n", + " 49230\n", " 383.0\n", " AMARILLO NATURAL GAS INC\n", " \n", " \n", "\n", + "

68 rows × 2 columns

\n", "" ], "text/plain": [ - " operator_id_phmsa operator_name_phmsa\n", - "17 383.0 AMARILLO NATURAL GAS INC\n", - "18 383.0 AMARILLO NATURAL GAS INC" + " operator_id_phmsa operator_name_phmsa\n", + "25 383.0 AMARILLO NATURAL GAS INC\n", + "1539 383.0 AMARILLO NATURAL GAS INC\n", + "3627 383.0 AMARILLO NATURAL GAS INC\n", + "4645 383.0 AMARILLO NATURAL GAS INC\n", + "6214 383.0 AMARILLO NATURAL GAS INC ...\n", + "... ... ...\n", + "46339 383.0 AMARILLO NATURAL GAS INC\n", + "47782 383.0 AMARILLO NATURAL GAS INC\n", + "47783 383.0 AMARILLO NATURAL GAS INC\n", + "49229 383.0 AMARILLO NATURAL GAS INC\n", + "49230 383.0 AMARILLO NATURAL GAS INC\n", + "\n", + "[68 rows x 2 columns]" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -2123,7 +2194,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -2458,20 +2529,47 @@ " \n", " \n", " \n", - " 17\n", + " 25\n", " NaN\n", " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 1.0\n", + " 0.0\n", + " 0.0\n", " NaN\n", " NaN\n", + " 0.0\n", " NaN\n", " NaN\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " NaN\n", + " NaN\n", + " 0.0\n", + " 0.0\n", + " 2.0\n", + " NaN\n", + " 1991-07-24\n", + " NaT\n", + " final\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 0.0\n", + " 1991-06-20\n", + " NaN\n", " NaN\n", " NaN\n", " NaN\n", @@ -2485,20 +2583,7 @@ " NaN\n", " NaN\n", " NaN\n", - " 8.0\n", - " Natural Gas\n", " NaN\n", - " 2024-01-02 11:38:37\n", - " final\n", - " 0.0\n", - " 0.0\n", - " 1.0\n", - " 0.0\n", - " 1.0\n", - " 11.0\n", - " 0.0\n", - " 2023-01-30 13:25:30\n", - " 7100.1-1 (Rev. 05-2021)\n", " NaN\n", " NaN\n", " NaN\n", @@ -2507,7 +2592,6 @@ " NaN\n", " NaN\n", " NaN\n", - " 0.0\n", " NaN\n", " NaN\n", " NaN\n", @@ -2516,21 +2600,8 @@ " NaN\n", " NaN\n", " NaN\n", - " AMARILLO\n", " NaN\n", - " TX\n", - " 5800 ARNOT ROAD\n", - " 79119\n", " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.00\n", - " 0.0\n", - " 0.00\n", - " 9.206\n", - " 2.38\n", - " 0.00\n", - " 0.00\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2538,15 +2609,14 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 0.00\n", - " 11.586\n", " 0.0\n", + " 4.0\n", " 0.0\n", " 0.0\n", - " 11.586\n", " 0.0\n", - " 11.586\n", + " 4.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2554,8 +2624,6 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2576,15 +2644,6 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2596,19 +2655,27 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 0.00\n", - " 11.586\n", + " NaN\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", - " 11.586\n", " 0.0\n", - " 11.586\n", " 0.0\n", + " 4.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 4.0\n", " 0.0\n", + " 4.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2616,75 +2683,85 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.00\n", - " 0.00\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 0.00\n", + " 4.0\n", + " NaN\n", " 0.0\n", - " 11.586\n", " 0.0\n", - " NaN\n", - " NaN\n", " AMARILLO\n", - " NaN\n", + " POTTER\n", + " TX\n", + " 6601 I-40 WEST, #2\n", + " 79106.0\n", " TX\n", - " 5800 ARNOT ROAD\n", - " 79119\n", - " OK\n", " 383.0\n", " AMARILLO NATURAL GAS INC\n", - " Privately Owned\n", + " NaN\n", " NaN\n", " 0.0\n", - " (000) 000-0000\n", - " akila@anginc.net\n", - " Akila Addesso\n", - " (806) 352-5271\n", - " Corporate Manager\n", - " 2023-01-30 13:25:30\n", - " 20230131.0\n", - " INITIAL\n", - " 2022.0\n", - " 0.0\n", + " 8063525271\n", + " NaN\n", + " KELLY LOVVORN - GAS SUPPLY\n", + " NaN\n", + " NaN\n", + " NaT\n", + " 19901333.0\n", + " NaN\n", + " 1990.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 8.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 9.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 9.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 8.0\n", " 0.0\n", " 0.0\n", - " 8.0\n", " 0.0\n", - " 8.0\n", " 0.0\n", " 0.0\n", + " 9.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " NaN\n", - " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2695,6 +2772,8 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2709,6 +2788,7 @@ " 0.0\n", " 0.0\n", " NaN\n", + " 0.0\n", " NaN\n", " NaN\n", " NaN\n", @@ -2716,12 +2796,6 @@ " NaN\n", " NaN\n", " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2729,13 +2803,10 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 8.0\n", - " 0.0\n", " 0.0\n", - " 8.0\n", " 0.0\n", - " 8.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2743,43 +2814,71 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", + " 9.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 9.0\n", " 0.0\n", + " 9.0\n", + " NaN\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " \n", + " \n", + " 1539\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", - " 8.0\n", " 0.0\n", " NaN\n", " NaN\n", - " 49242.0\n", - " NaN\n", - " \n", - " \n", - " 18\n", - " NaN\n", " 0.0\n", + " 0.0\n", + " 2.0\n", " NaN\n", + " 1992-05-21\n", + " NaT\n", + " final\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 1.0\n", - " NaN\n", " NaN\n", + " 0.0\n", + " 1992-04-27\n", " NaN\n", " NaN\n", " NaN\n", @@ -2791,24 +2890,10 @@ " NaN\n", " NaN\n", " NaN\n", - " 1.0\n", " NaN\n", " NaN\n", " NaN\n", - " 8.0\n", - " Natural Gas\n", " NaN\n", - " 2024-01-02 11:38:37\n", - " final\n", - " 0.0\n", - " 1.0\n", - " 0.0\n", - " 0.0\n", - " 1.0\n", - " 435.0\n", - " 0.0\n", - " 2023-01-30 13:18:49\n", - " 7100.1-1 (Rev. 05-2021)\n", " NaN\n", " NaN\n", " NaN\n", @@ -2817,7 +2902,6 @@ " NaN\n", " NaN\n", " NaN\n", - " 0.0\n", " NaN\n", " NaN\n", " NaN\n", @@ -2826,36 +2910,33 @@ " NaN\n", " NaN\n", " NaN\n", - " AMARILLO\n", " NaN\n", - " TX\n", - " 5800 ARNOT ROAD\n", - " 79119\n", " NaN\n", " 0.0\n", - " 38.5\n", - " 29.64\n", " 0.0\n", - " 19.72\n", - " 36.390\n", - " 4.17\n", - " 2.02\n", - " 9.87\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 4.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 4.0\n", + " 0.0\n", + " NaN\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", " 0.0\n", - " 16.83\n", - " 123.480\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 140.310\n", " 0.0\n", - " 140.310\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2864,8 +2945,6 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 4.64\n", - " 78.85\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2887,7 +2966,8 @@ " 0.0\n", " 0.0\n", " NaN\n", - " NaN\n", + " 0.0\n", + " 0.0\n", " NaN\n", " NaN\n", " NaN\n", @@ -2898,31 +2978,69 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " 4.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 4.0\n", " 0.0\n", + " 4.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 11.31\n", - " 45.510\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 56.820\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", - " 56.820\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 4.0\n", + " NaN\n", " 0.0\n", " 0.0\n", + " AMARILLO\n", + " POTTER\n", + " TX\n", + " 6601 1-40 WEST #2\n", + " 79106\n", + " TX\n", + " 383.0\n", + " AMARILLO NATURAL GAS INC\n", + " NaN\n", + " NaN\n", " 0.0\n", + " 8063525271\n", + " NaN\n", + " KELLY LOVVORN\n", + " NaN\n", + " NaN\n", + " NaT\n", + " 19910511.0\n", + " NaN\n", + " 1991.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2930,45 +3048,23 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 5.52\n", - " 77.97\n", " 0.0\n", + " 9.0\n", " 0.0\n", " 0.0\n", - " 83.49\n", " 0.0\n", - " 140.310\n", + " 9.0\n", " 0.0\n", " NaN\n", - " NaN\n", - " AMARILLO\n", - " RANDALL\n", - " TX\n", - " 5800 ARNOT ROAD\n", - " 79119\n", - " TX\n", - " 383.0\n", - " AMARILLO NATURAL GAS INC\n", - " Privately Owned\n", - " NaN\n", - " 0.1\n", - " (000) 000-0000\n", - " akila@anginc.net\n", - " Akila Addesso\n", - " (806) 352-5271\n", - " Corporate Manager\n", - " 2023-01-30 13:18:49\n", - " 20230130.0\n", - " INITIAL\n", - " 2022.0\n", - " 0.0\n", - " 73.0\n", - " 21.0\n", " 0.0\n", - " 66.0\n", - " 52.0\n", - " 14.0\n", - " 4.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", " 9.0\n", " 0.0\n", " 0.0\n", @@ -2978,13 +3074,16 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 13.0\n", - " 225.0\n", - " 1.0\n", " 0.0\n", - " 239.0\n", " 0.0\n", - " 239.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -2993,14 +3092,20 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 4.0\n", - " 142.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -3011,6 +3116,7 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -3027,31 +3133,95 @@ " NaN\n", " NaN\n", " NaN\n", + " NaN\n", " 0.0\n", + " 9.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 9.0\n", " 0.0\n", + " 9.0\n", + " NaN\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " \n", + " \n", + " 3627\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", " 0.0\n", - " 4.0\n", - " 88.0\n", " 0.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", - " 92.0\n", " 0.0\n", - " 92.0\n", + " NaN\n", + " NaN\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", + " 2.0\n", + " NaN\n", + " NaT\n", + " NaT\n", + " final\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", + " 1993-06-23\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", " 0.0\n", " 0.0\n", @@ -3060,1553 +3230,2707 @@ " 0.0\n", " 0.0\n", " 0.0\n", + " 8.0\n", " 0.0\n", " 0.0\n", " 0.0\n", + " 8.0\n", " 0.0\n", - " 9.0\n", - " 137.0\n", - " 1.0\n", + " NaN\n", " 0.0\n", - " 147.0\n", " 0.0\n", - " 239.0\n", " 0.0\n", - " 1.0\n", " 0.0\n", - " 49241.0\n", - " NaN\n", - " \n", - " \n", - "\n", - "" - ], - "text/plain": [ - " additional_information all_known_leaks_scheduled_for_repair all_leaks_construction_defect_mains all_leaks_construction_defect_services all_leaks_corrosion_failure_mains all_leaks_corrosion_failure_services all_leaks_equipment_failure_mains all_leaks_equipment_failure_services all_leaks_excavation_damage_mains all_leaks_excavation_damage_services all_leaks_incorrect_operation_mains all_leaks_incorrect_operation_services all_leaks_material_defect_mains all_leaks_material_defect_services all_leaks_natural_force_damage_mains all_leaks_natural_force_damage_services all_leaks_other_mains all_leaks_other_outside_force_mains all_leaks_other_outside_force_services all_leaks_other_services all_leaks_outside_force_mains all_leaks_outside_force_services all_leaks_pipe_weld_joint_failure_mains all_leaks_pipe_weld_joint_failure_services all_leaks_third_party_mains all_leaks_third_party_services average_service_length_feet commodity correction_date data_date \\\n", - "17 NaN 0.0 NaN NaN NaN NaN NaN NaN 1.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8.0 Natural Gas NaN 2024-01-02 11:38:37 \n", - "18 NaN 0.0 NaN NaN NaN NaN NaN NaN 1.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.0 NaN NaN NaN 8.0 Natural Gas NaN 2024-01-02 11:38:37 \n", - "\n", - " data_maturity excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets federal_land_leaks_repaired_or_scheduled filing_date form_revision hazardous_leaks_corrosion_failure_mains hazardous_leaks_corrosion_failure_services hazardous_leaks_equipment_failure_mains hazardous_leaks_equipment_failure_services hazardous_leaks_excavation_damage_mains hazardous_leaks_excavation_damage_services hazardous_leaks_incorrect_operation_mains hazardous_leaks_incorrect_operation_services hazardous_leaks_mechanical_joint_failure hazardous_leaks_natural_force_damage_mains hazardous_leaks_natural_force_damage_services hazardous_leaks_other_mains hazardous_leaks_other_outside_force_mains hazardous_leaks_other_outside_force_services hazardous_leaks_other_services hazardous_leaks_pipe_weld_joint_failure_mains \\\n", - "17 final 0.0 0.0 1.0 0.0 1.0 11.0 0.0 2023-01-30 13:25:30 7100.1-1 (Rev. 05-2021) NaN NaN NaN NaN NaN NaN NaN NaN 0.0 NaN NaN NaN NaN NaN NaN NaN \n", - "18 final 0.0 1.0 0.0 0.0 1.0 435.0 0.0 2023-01-30 13:18:49 7100.1-1 (Rev. 05-2021) NaN NaN NaN NaN NaN NaN NaN NaN 0.0 NaN NaN NaN NaN NaN NaN NaN \n", - "\n", - " hazardous_leaks_pipe_weld_joint_failure_services headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip log main_1940s_miles main_1950s_miles main_1960s_miles main_1970s_miles main_1980s_miles main_1990s_miles main_2000s_miles main_2010s_miles main_2020s_miles main_abs_2_in_or_less_miles main_abs_2_to_4_in_miles main_abs_4_to_8_in_miles main_abs_8_to_12_in_miles main_abs_over_12_in_miles main_abs_total_miles main_abs_unknown_miles main_all_materials_2_in_or_less_miles main_all_materials_2_to_4_in_miles main_all_materials_4_to_8_in_miles main_all_materials_8_to_12_in_miles main_all_materials_over_12_in_miles main_all_materials_total_miles main_all_materials_unknown_miles main_all_time_miles main_cast_or_wrought_iron_2_in_or_less_miles main_cast_or_wrought_iron_2_to_4_in_miles main_cast_or_wrought_iron_4_to_8_in_miles main_cast_or_wrought_iron_8_to_12_in_miles \\\n", - "17 NaN AMARILLO NaN TX 5800 ARNOT ROAD 79119 NaN 0.0 0.0 0.00 0.0 0.00 9.206 2.38 0.00 0.00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 11.586 0.0 0.0 0.0 11.586 0.0 11.586 0.0 0.0 0.0 0.0 \n", - "18 NaN AMARILLO NaN TX 5800 ARNOT ROAD 79119 NaN 0.0 38.5 29.64 0.0 19.72 36.390 4.17 2.02 9.87 0.0 0.0 0.0 0.0 0.0 0.0 0.0 16.83 123.480 0.0 0.0 0.0 140.310 0.0 140.310 0.0 0.0 0.0 0.0 \n", - "\n", - " main_cast_or_wrought_iron_miles main_cast_or_wrought_iron_over_12_in_miles main_cast_or_wrought_iron_total_miles main_cast_or_wrought_iron_unknown_miles main_cathodically_protected_steel_bare_miles main_cathodically_protected_steel_coated_miles main_copper_2_in_or_less_miles main_copper_2_to_4_in_miles main_copper_4_to_8_in_miles main_copper_8_to_12_in_miles main_copper_miles main_copper_over_12_in_miles main_copper_total_miles main_copper_unknown_miles main_ductile_iron_2_in_or_less_miles main_ductile_iron_2_to_4_in_miles main_ductile_iron_4_to_8_in_miles main_ductile_iron_8_to_12_in_miles main_ductile_iron_miles main_ductile_iron_over_12_in_miles main_ductile_iron_total_miles main_ductile_iron_unknown_miles main_other_2_in_or_less_miles main_other_2_to_4_in_miles main_other_4_to_8_in_miles main_other_8_to_12_in_miles main_other_alt_2_in_or_less_miles main_other_alt_2_to_4_in_miles main_other_alt_4_to_8_in_miles main_other_alt_8_to_12_in_miles \\\n", - "17 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN \n", - "18 0.0 0.0 0.0 0.0 4.64 78.85 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN \n", - "\n", - " main_other_alt_miles main_other_alt_over_12_in_miles main_other_alt_total_miles main_other_alt_unknown_miles main_other_material_detail_miles main_other_miles main_other_over_12_in_miles main_other_plastic_2_in_or_less_miles main_other_plastic_2_to_4_in_miles main_other_plastic_4_to_8_in_miles main_other_plastic_8_to_12_in_miles main_other_plastic_over_12_in_miles main_other_plastic_total_miles main_other_plastic_unknown_miles main_other_total_miles main_other_unknown_miles main_pe_2_in_or_less_miles main_pe_2_to_4_in_miles main_pe_4_to_8_in_miles main_pe_8_to_12_in_miles main_pe_over_12_in_miles main_pe_total_miles main_pe_unknown_miles main_plastic_miles main_pre_1940_miles main_pvc_2_in_or_less_miles main_pvc_2_to_4_in_miles main_pvc_4_to_8_in_miles main_pvc_8_to_12_in_miles main_pvc_over_12_in_miles main_pvc_total_miles main_pvc_unknown_miles main_reconditioned_cast_iron_2_in_or_less_miles main_reconditioned_cast_iron_2_to_4_in_miles \\\n", - "17 NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 11.586 0.0 0.0 0.0 11.586 0.0 11.586 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "18 NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 11.31 45.510 0.0 0.0 0.0 56.820 0.0 56.820 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "\n", - " main_reconditioned_cast_iron_4_to_8_in_miles main_reconditioned_cast_iron_8_to_12_in_miles main_reconditioned_cast_iron_miles main_reconditioned_cast_iron_over_12_in_miles main_reconditioned_cast_iron_total_miles main_reconditioned_cast_iron_unknown_miles main_steel_2_in_or_less_miles main_steel_2_to_4_in_miles main_steel_4_to_8_in_miles main_steel_8_to_12_in_miles main_steel_over_12_in_miles main_steel_total_miles main_steel_unknown_miles main_total_miles main_unknown_decade_miles main_unprotected_steel_bare_miles main_unprotected_steel_coated_miles office_address_city office_address_county office_address_state office_address_street office_address_zip operating_state operator_id_phmsa operator_name_phmsa operator_type original_report percent_unaccounted_for_gas preparer_email preparer_fax preparer_name preparer_phone preparer_title report_date report_number report_submission_type report_year services_1940s services_1950s \\\n", - "17 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0.0 0.0 0.0 0.00 0.0 11.586 0.0 NaN NaN AMARILLO NaN TX 5800 ARNOT ROAD 79119 OK 383.0 AMARILLO NATURAL GAS INC Privately Owned NaN 0.0 (000) 000-0000 akila@anginc.net Akila Addesso (806) 352-5271 Corporate Manager 2023-01-30 13:25:30 20230131.0 INITIAL 2022.0 0.0 0.0 \n", - "18 0.0 0.0 0.0 0.0 0.0 0.0 5.52 77.97 0.0 0.0 0.0 83.49 0.0 140.310 0.0 NaN NaN AMARILLO RANDALL TX 5800 ARNOT ROAD 79119 TX 383.0 AMARILLO NATURAL GAS INC Privately Owned NaN 0.1 (000) 000-0000 akila@anginc.net Akila Addesso (806) 352-5271 Corporate Manager 2023-01-30 13:18:49 20230130.0 INITIAL 2022.0 0.0 73.0 \n", - "\n", - " services_1960s services_1970s services_1980s services_1990s services_2000s services_2010s services_2020s services_abs_1_in_or_less services_abs_1_to_2_in services_abs_2_to_4_in services_abs_4_to_8_in services_abs_over_8_in services_abs_total services_abs_unknown services_all_materials_1_in_or_less services_all_materials_1_to_2_in services_all_materials_2_to_4_in services_all_materials_4_to_8_in services_all_materials_over_8_in services_all_materials_total services_all_materials_unknown services_all_time services_cast_or_wrought_iron services_cast_or_wrought_iron_1_in_or_less services_cast_or_wrought_iron_1_to_2_in services_cast_or_wrought_iron_2_to_4_in services_cast_or_wrought_iron_4_to_8_in services_cast_or_wrought_iron_over_8_in services_cast_or_wrought_iron_total services_cast_or_wrought_iron_unknown services_cathodically_protected_steel_bare services_cathodically_protected_steel_coated services_copper services_copper_1_in_or_less \\\n", - "17 0.0 0.0 0.0 8.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 8.0 0.0 0.0 8.0 0.0 8.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 \n", - "18 21.0 0.0 66.0 52.0 14.0 4.0 9.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 13.0 225.0 1.0 0.0 239.0 0.0 239.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 142.0 0.0 0.0 \n", - "\n", - " services_copper_1_to_2_in services_copper_2_to_4_in services_copper_4_to_8_in services_copper_over_8_in services_copper_total services_copper_unknown services_ductile_iron services_ductile_iron_1_in_or_less services_ductile_iron_1_to_2_in services_ductile_iron_2_to_4_in services_ductile_iron_4_to_8_in services_ductile_iron_over_8_in services_ductile_iron_total services_ductile_iron_unknown services_efv_in_system services_efv_installed services_other services_other_1_in_or_less services_other_1_to_2_in services_other_2_to_4_in services_other_4_to_8_in services_other_alt services_other_alt_1_in_or_less services_other_alt_1_to_2_in services_other_alt_2_to_4_in services_other_alt_4_to_8_in services_other_alt_over_8_in services_other_alt_total services_other_alt_unknown services_other_material_detail services_other_over_8_in services_other_plastic_1_in_or_less services_other_plastic_1_to_2_in services_other_plastic_2_to_4_in services_other_plastic_4_to_8_in \\\n", - "17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 \n", - "18 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 \n", - "\n", - " services_other_plastic_over_8_in services_other_plastic_total services_other_plastic_unknown services_other_total services_other_unknown services_pe_1_in_or_less services_pe_1_to_2_in services_pe_2_to_4_in services_pe_4_to_8_in services_pe_over_8_in services_pe_total services_pe_unknown services_plastic services_pre_1940 services_pvc_1_in_or_less services_pvc_1_to_2_in services_pvc_2_to_4_in services_pvc_4_to_8_in services_pvc_over_8_in services_pvc_total services_pvc_unknown services_reconditioned_cast_iron services_reconditioned_cast_iron_1_in_or_less services_reconditioned_cast_iron_1_to_2_in services_reconditioned_cast_iron_2_to_4_in services_reconditioned_cast_iron_4_to_8_in services_reconditioned_cast_iron_over_8_in services_reconditioned_cast_iron_total services_reconditioned_cast_iron_unknown services_shutoff_valve_in_system services_shutoff_valve_installed services_steel_1_in_or_less services_steel_1_to_2_in services_steel_2_to_4_in \\\n", - "17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 8.0 0.0 0.0 8.0 0.0 8.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "18 0.0 0.0 0.0 0.0 0.0 0.0 4.0 88.0 0.0 0.0 92.0 0.0 92.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.0 137.0 \n", - "\n", - " services_steel_4_to_8_in services_steel_over_8_in services_steel_total services_steel_unknown services_total services_unknown_decade services_unprotected_steel_bare services_unprotected_steel_coated supplemental_report_number supplementary_report \n", - "17 0.0 0.0 0.0 0.0 8.0 0.0 NaN NaN 49242.0 NaN \n", - "18 1.0 0.0 147.0 0.0 239.0 0.0 1.0 0.0 49241.0 NaN " - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "raw_df[raw_df.operator_id_phmsa==383.0].head()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'excavation_damage_locating_practices': '0.0, 1.0',\n", - " 'excavation_damage_one_call_notification': '1.0, 0.0',\n", - " 'excavation_tickets': '11.0, 435.0',\n", - " 'filing_date': '2023-01-30T13:25:30.000000000, 2023-01-30T13:18:49.000000000',\n", - " 'main_1950s_miles': '0.0, 38.5',\n", - " 'main_1960s_miles': '0.0, 29.64',\n", - " 'main_1980s_miles': '0.0, 19.72',\n", - " 'main_1990s_miles': '9.206, 36.39',\n", - " 'main_2000s_miles': '2.38, 4.17',\n", - " 'main_2010s_miles': '0.0, 2.02',\n", - " 'main_2020s_miles': '0.0, 9.87',\n", - " 'main_all_materials_2_in_or_less_miles': '0.0, 16.83',\n", - " 'main_all_materials_2_to_4_in_miles': '11.586, 123.48',\n", - " 'main_all_materials_total_miles': '11.586, 140.31',\n", - " 'main_all_time_miles': '11.586, 140.31',\n", - " 'main_pe_2_in_or_less_miles': '0.0, 11.31',\n", - " 'main_pe_2_to_4_in_miles': '11.586, 45.51',\n", - " 'main_pe_total_miles': '11.586, 56.82',\n", - " 'main_plastic_miles': '11.586, 56.82',\n", - " 'main_steel_2_in_or_less_miles': '0.0, 5.52',\n", - " 'main_steel_2_to_4_in_miles': '0.0, 77.97',\n", - " 'main_steel_total_miles': '0.0, 83.49',\n", - " 'main_total_miles': '11.586, 140.31',\n", - " 'operating_state': 'OK, TX',\n", - " 'percent_unaccounted_for_gas': '0.0, 0.1',\n", - " 'report_date': '2023-01-30T13:25:30.000000000, 2023-01-30T13:18:49.000000000',\n", - " 'report_number': '20230131.0, 20230130.0',\n", - " 'services_1950s': '0.0, 73.0',\n", - " 'services_1960s': '0.0, 21.0',\n", - " 'services_1980s': '0.0, 66.0',\n", - " 'services_1990s': '8.0, 52.0',\n", - " 'services_2000s': '0.0, 14.0',\n", - " 'services_2010s': '0.0, 4.0',\n", - " 'services_2020s': '0.0, 9.0',\n", - " 'services_all_materials_1_to_2_in': '0.0, 13.0',\n", - " 'services_all_materials_2_to_4_in': '8.0, 225.0',\n", - " 'services_all_materials_4_to_8_in': '0.0, 1.0',\n", - " 'services_all_materials_total': '8.0, 239.0',\n", - " 'services_all_time': '8.0, 239.0',\n", - " 'services_pe_1_to_2_in': '0.0, 4.0',\n", - " 'services_pe_2_to_4_in': '8.0, 88.0',\n", - " 'services_pe_total': '8.0, 92.0',\n", - " 'services_plastic': '8.0, 92.0',\n", - " 'services_steel_1_to_2_in': '0.0, 9.0',\n", - " 'services_steel_2_to_4_in': '0.0, 137.0',\n", - " 'services_steel_4_to_8_in': '0.0, 1.0',\n", - " 'services_steel_total': '0.0, 147.0',\n", - " 'services_total': '8.0, 239.0',\n", - " 'supplemental_report_number': '49242.0, 49241.0'}\n", - "additional_information\n", - "all_known_leaks_scheduled_for_repair\n", - "all_leaks_construction_defect_mains\n", - "all_leaks_construction_defect_services\n", - "all_leaks_corrosion_failure_mains\n", - "all_leaks_corrosion_failure_services\n", - "all_leaks_equipment_failure_mains\n", - "all_leaks_equipment_failure_services\n", - "all_leaks_excavation_damage_mains\n", - "all_leaks_excavation_damage_services\n", - "all_leaks_incorrect_operation_mains\n", - "all_leaks_incorrect_operation_services\n", - "all_leaks_material_defect_mains\n", - "all_leaks_material_defect_services\n", - "all_leaks_natural_force_damage_mains\n", - "all_leaks_natural_force_damage_services\n", - "all_leaks_other_mains\n", - "all_leaks_other_outside_force_mains\n", - "all_leaks_other_outside_force_services\n", - "all_leaks_other_services\n", - "all_leaks_outside_force_mains\n", - "all_leaks_outside_force_services\n", - "all_leaks_pipe_weld_joint_failure_mains\n", - "all_leaks_pipe_weld_joint_failure_services\n", - "all_leaks_third_party_mains\n", - "all_leaks_third_party_services\n", - "average_service_length_feet\n", - "commodity\n", - "correction_date\n", - "data_date\n", - "data_maturity\n", - "excavation_damage_excavation_practices\n", - "excavation_damage_locating_practices\n", - "excavation_damage_one_call_notification\n", - "excavation_damage_other\n", - "excavation_damage_total\n", - "excavation_tickets\n", - "federal_land_leaks_repaired_or_scheduled\n", - "filing_date\n", - "form_revision\n", - "hazardous_leaks_corrosion_failure_mains\n", - "hazardous_leaks_corrosion_failure_services\n", - "hazardous_leaks_equipment_failure_mains\n", - "hazardous_leaks_equipment_failure_services\n", - "hazardous_leaks_excavation_damage_mains\n", - "hazardous_leaks_excavation_damage_services\n", - "hazardous_leaks_incorrect_operation_mains\n", - "hazardous_leaks_incorrect_operation_services\n", - "hazardous_leaks_mechanical_joint_failure\n", - "hazardous_leaks_natural_force_damage_mains\n", - "hazardous_leaks_natural_force_damage_services\n", - "hazardous_leaks_other_mains\n", - "hazardous_leaks_other_outside_force_mains\n", - "hazardous_leaks_other_outside_force_services\n", - "hazardous_leaks_other_services\n", - "hazardous_leaks_pipe_weld_joint_failure_mains\n", - "hazardous_leaks_pipe_weld_joint_failure_services\n", - "headquarters_address_city\n", - "headquarters_address_county\n", - "headquarters_address_state\n", - "headquarters_address_street\n", - "headquarters_address_zip\n", - "log\n", - "main_1940s_miles\n", - "main_1950s_miles\n", - "main_1960s_miles\n", - "main_1970s_miles\n", - "main_1980s_miles\n", - "main_1990s_miles\n", - "main_2000s_miles\n", - "main_2010s_miles\n", - "main_2020s_miles\n", - "main_abs_2_in_or_less_miles\n", - "main_abs_2_to_4_in_miles\n", - "main_abs_4_to_8_in_miles\n", - "main_abs_8_to_12_in_miles\n", - "main_abs_over_12_in_miles\n", - "main_abs_total_miles\n", - "main_abs_unknown_miles\n", - "main_all_materials_2_in_or_less_miles\n", - "main_all_materials_2_to_4_in_miles\n", - "main_all_materials_4_to_8_in_miles\n", - "main_all_materials_8_to_12_in_miles\n", - "main_all_materials_over_12_in_miles\n", - "main_all_materials_total_miles\n", - "main_all_materials_unknown_miles\n", - "main_all_time_miles\n", - "main_cast_or_wrought_iron_2_in_or_less_miles\n", - "main_cast_or_wrought_iron_2_to_4_in_miles\n", - "main_cast_or_wrought_iron_4_to_8_in_miles\n", - "main_cast_or_wrought_iron_8_to_12_in_miles\n", - "main_cast_or_wrought_iron_miles\n", - "main_cast_or_wrought_iron_over_12_in_miles\n", - "main_cast_or_wrought_iron_total_miles\n", - "main_cast_or_wrought_iron_unknown_miles\n", - "main_cathodically_protected_steel_bare_miles\n", - "main_cathodically_protected_steel_coated_miles\n", - "main_copper_2_in_or_less_miles\n", - "main_copper_2_to_4_in_miles\n", - "main_copper_4_to_8_in_miles\n", - "main_copper_8_to_12_in_miles\n", - "main_copper_miles\n", - "main_copper_over_12_in_miles\n", - "main_copper_total_miles\n", - "main_copper_unknown_miles\n", - "main_ductile_iron_2_in_or_less_miles\n", - "main_ductile_iron_2_to_4_in_miles\n", - "main_ductile_iron_4_to_8_in_miles\n", - "main_ductile_iron_8_to_12_in_miles\n", - "main_ductile_iron_miles\n", - "main_ductile_iron_over_12_in_miles\n", - "main_ductile_iron_total_miles\n", - "main_ductile_iron_unknown_miles\n", - "main_other_2_in_or_less_miles\n", - "main_other_2_to_4_in_miles\n", - "main_other_4_to_8_in_miles\n", - "main_other_8_to_12_in_miles\n", - "main_other_alt_2_in_or_less_miles\n", - "main_other_alt_2_to_4_in_miles\n", - "main_other_alt_4_to_8_in_miles\n", - "main_other_alt_8_to_12_in_miles\n", - "main_other_alt_miles\n", - "main_other_alt_over_12_in_miles\n", - "main_other_alt_total_miles\n", - "main_other_alt_unknown_miles\n", - "main_other_material_detail_miles\n", - "main_other_miles\n", - "main_other_over_12_in_miles\n", - "main_other_plastic_2_in_or_less_miles\n", - "main_other_plastic_2_to_4_in_miles\n", - "main_other_plastic_4_to_8_in_miles\n", - "main_other_plastic_8_to_12_in_miles\n", - "main_other_plastic_over_12_in_miles\n", - "main_other_plastic_total_miles\n", - "main_other_plastic_unknown_miles\n", - "main_other_total_miles\n", - "main_other_unknown_miles\n", - "main_pe_2_in_or_less_miles\n", - "main_pe_2_to_4_in_miles\n", - "main_pe_4_to_8_in_miles\n", - "main_pe_8_to_12_in_miles\n", - "main_pe_over_12_in_miles\n", - "main_pe_total_miles\n", - "main_pe_unknown_miles\n", - "main_plastic_miles\n", - "main_pre_1940_miles\n", - "main_pvc_2_in_or_less_miles\n", - "main_pvc_2_to_4_in_miles\n", - "main_pvc_4_to_8_in_miles\n", - "main_pvc_8_to_12_in_miles\n", - "main_pvc_over_12_in_miles\n", - "main_pvc_total_miles\n", - "main_pvc_unknown_miles\n", - "main_reconditioned_cast_iron_2_in_or_less_miles\n", - "main_reconditioned_cast_iron_2_to_4_in_miles\n", - "main_reconditioned_cast_iron_4_to_8_in_miles\n", - "main_reconditioned_cast_iron_8_to_12_in_miles\n", - "main_reconditioned_cast_iron_miles\n", - "main_reconditioned_cast_iron_over_12_in_miles\n", - "main_reconditioned_cast_iron_total_miles\n", - "main_reconditioned_cast_iron_unknown_miles\n", - "main_steel_2_in_or_less_miles\n", - "main_steel_2_to_4_in_miles\n", - "main_steel_4_to_8_in_miles\n", - "main_steel_8_to_12_in_miles\n", - "main_steel_over_12_in_miles\n", - "main_steel_total_miles\n", - "main_steel_unknown_miles\n", - "main_total_miles\n", - "main_unknown_decade_miles\n", - "main_unprotected_steel_bare_miles\n", - "main_unprotected_steel_coated_miles\n", - "office_address_city\n", - "office_address_county\n", - "office_address_state\n", - "office_address_street\n", - "office_address_zip\n", - "operating_state\n", - "operator_id_phmsa\n", - "operator_name_phmsa\n", - "operator_type\n", - "original_report\n", - "percent_unaccounted_for_gas\n", - "preparer_email\n", - "preparer_fax\n", - "preparer_name\n", - "preparer_phone\n", - "preparer_title\n", - "report_date\n", - "report_number\n", - "report_submission_type\n", - "report_year\n", - "services_1940s\n", - "services_1950s\n", - "services_1960s\n", - "services_1970s\n", - "services_1980s\n", - "services_1990s\n", - "services_2000s\n", - "services_2010s\n", - "services_2020s\n", - "services_abs_1_in_or_less\n", - "services_abs_1_to_2_in\n", - "services_abs_2_to_4_in\n", - "services_abs_4_to_8_in\n", - "services_abs_over_8_in\n", - "services_abs_total\n", - "services_abs_unknown\n", - "services_all_materials_1_in_or_less\n", - "services_all_materials_1_to_2_in\n", - "services_all_materials_2_to_4_in\n", - "services_all_materials_4_to_8_in\n", - "services_all_materials_over_8_in\n", - "services_all_materials_total\n", - "services_all_materials_unknown\n", - "services_all_time\n", - "services_cast_or_wrought_iron\n", - "services_cast_or_wrought_iron_1_in_or_less\n", - "services_cast_or_wrought_iron_1_to_2_in\n", - "services_cast_or_wrought_iron_2_to_4_in\n", - "services_cast_or_wrought_iron_4_to_8_in\n", - "services_cast_or_wrought_iron_over_8_in\n", - "services_cast_or_wrought_iron_total\n", - "services_cast_or_wrought_iron_unknown\n", - "services_cathodically_protected_steel_bare\n", - "services_cathodically_protected_steel_coated\n", - "services_copper\n", - "services_copper_1_in_or_less\n", - "services_copper_1_to_2_in\n", - "services_copper_2_to_4_in\n", - "services_copper_4_to_8_in\n", - "services_copper_over_8_in\n", - "services_copper_total\n", - "services_copper_unknown\n", - "services_ductile_iron\n", - "services_ductile_iron_1_in_or_less\n", - "services_ductile_iron_1_to_2_in\n", - "services_ductile_iron_2_to_4_in\n", - "services_ductile_iron_4_to_8_in\n", - "services_ductile_iron_over_8_in\n", - "services_ductile_iron_total\n", - "services_ductile_iron_unknown\n", - "services_efv_in_system\n", - "services_efv_installed\n", - "services_other\n", - "services_other_1_in_or_less\n", - "services_other_1_to_2_in\n", - "services_other_2_to_4_in\n", - "services_other_4_to_8_in\n", - "services_other_alt\n", - "services_other_alt_1_in_or_less\n", - "services_other_alt_1_to_2_in\n", - "services_other_alt_2_to_4_in\n", - "services_other_alt_4_to_8_in\n", - "services_other_alt_over_8_in\n", - "services_other_alt_total\n", - "services_other_alt_unknown\n", - "services_other_material_detail\n", - "services_other_over_8_in\n", - "services_other_plastic_1_in_or_less\n", - "services_other_plastic_1_to_2_in\n", - "services_other_plastic_2_to_4_in\n", - "services_other_plastic_4_to_8_in\n", - "services_other_plastic_over_8_in\n", - "services_other_plastic_total\n", - "services_other_plastic_unknown\n", - "services_other_total\n", - "services_other_unknown\n", - "services_pe_1_in_or_less\n", - "services_pe_1_to_2_in\n", - "services_pe_2_to_4_in\n", - "services_pe_4_to_8_in\n", - "services_pe_over_8_in\n", - "services_pe_total\n", - "services_pe_unknown\n", - "services_plastic\n", - "services_pre_1940\n", - "services_pvc_1_in_or_less\n", - "services_pvc_1_to_2_in\n", - "services_pvc_2_to_4_in\n", - "services_pvc_4_to_8_in\n", - "services_pvc_over_8_in\n", - "services_pvc_total\n", - "services_pvc_unknown\n", - "services_reconditioned_cast_iron\n", - "services_reconditioned_cast_iron_1_in_or_less\n", - "services_reconditioned_cast_iron_1_to_2_in\n", - "services_reconditioned_cast_iron_2_to_4_in\n", - "services_reconditioned_cast_iron_4_to_8_in\n", - "services_reconditioned_cast_iron_over_8_in\n", - "services_reconditioned_cast_iron_total\n", - "services_reconditioned_cast_iron_unknown\n", - "services_shutoff_valve_in_system\n", - "services_shutoff_valve_installed\n", - "services_steel_1_in_or_less\n", - "services_steel_1_to_2_in\n", - "services_steel_2_to_4_in\n", - "services_steel_4_to_8_in\n", - "services_steel_over_8_in\n", - "services_steel_total\n", - "services_steel_unknown\n", - "services_total\n", - "services_unknown_decade\n", - "services_unprotected_steel_bare\n", - "services_unprotected_steel_coated\n", - "supplemental_report_number\n", - "supplementary_report\n" - ] - } - ], - "source": [ - "# What values are different when we look at AMARILLO NATURAL GAS INC (ID 383)\n", - "filtered_df = raw_df[raw_df.operator_id_phmsa==383.0]\n", - "\n", - "columns_with_differences = filtered_df.loc[:, filtered_df.nunique() > 1]\n", - "\n", - "result_dict = {\n", - " col: \", \".join(map(str, columns_with_differences[col].values))\n", - " for col in columns_with_differences.columns\n", - "}\n", - "\n", - "# Step 4: Pretty print the dictionary\n", - "import pprint\n", - "pprint.pprint(result_dict)\n", - "sorted_columns = sorted(raw_df.columns)\n", - "\n", - "# Pretty print the sorted columns\n", - "for col in sorted_columns:\n", - " print(col)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "additional_information\n", - "all_known_leaks_scheduled_for_repair\n", - "all_leaks_construction_defect_mains\n", - "all_leaks_construction_defect_services\n", - "all_leaks_corrosion_failure_mains\n", - "all_leaks_corrosion_failure_services\n", - "all_leaks_equipment_failure_mains\n", - "all_leaks_equipment_failure_services\n", - "all_leaks_excavation_damage_mains\n", - "all_leaks_excavation_damage_services\n", - "all_leaks_incorrect_operation_mains\n", - "all_leaks_incorrect_operation_services\n", - "all_leaks_material_defect_mains\n", - "all_leaks_material_defect_services\n", - "all_leaks_natural_force_damage_mains\n", - "all_leaks_natural_force_damage_services\n", - "all_leaks_other_mains\n", - "all_leaks_other_outside_force_mains\n", - "all_leaks_other_outside_force_services\n", - "all_leaks_other_services\n", - "all_leaks_outside_force_mains\n", - "all_leaks_outside_force_services\n", - "all_leaks_pipe_weld_joint_failure_mains\n", - "all_leaks_pipe_weld_joint_failure_services\n", - "all_leaks_third_party_mains\n", - "all_leaks_third_party_services\n", - "average_service_length_feet\n", - "commodity\n", - "correction_date\n", - "data_date\n", - "data_maturity\n", - "excavation_damage_excavation_practices\n", - "excavation_damage_locating_practices\n", - "excavation_damage_one_call_notification\n", - "excavation_damage_other\n", - "excavation_damage_total\n", - "excavation_tickets\n", - "federal_land_leaks_repaired_or_scheduled\n", - "filing_date\n", - "form_revision\n", - "hazardous_leaks_corrosion_failure_mains\n", - "hazardous_leaks_corrosion_failure_services\n", - "hazardous_leaks_equipment_failure_mains\n", - "hazardous_leaks_equipment_failure_services\n", - "hazardous_leaks_excavation_damage_mains\n", - "hazardous_leaks_excavation_damage_services\n", - "hazardous_leaks_incorrect_operation_mains\n", - "hazardous_leaks_incorrect_operation_services\n", - "hazardous_leaks_mechanical_joint_failure\n", - "hazardous_leaks_natural_force_damage_mains\n", - "hazardous_leaks_natural_force_damage_services\n", - "hazardous_leaks_other_mains\n", - "hazardous_leaks_other_outside_force_mains\n", - "hazardous_leaks_other_outside_force_services\n", - "hazardous_leaks_other_services\n", - "hazardous_leaks_pipe_weld_joint_failure_mains\n", - "hazardous_leaks_pipe_weld_joint_failure_services\n", - "headquarters_address_city\n", - "headquarters_address_county\n", - "headquarters_address_state\n", - "headquarters_address_street\n", - "headquarters_address_zip\n", - "log\n", - "main_1940s_miles\n", - "main_1950s_miles\n", - "main_1960s_miles\n", - "main_1970s_miles\n", - "main_1980s_miles\n", - "main_1990s_miles\n", - "main_2000s_miles\n", - "main_2010s_miles\n", - "main_2020s_miles\n", - "main_abs_2_in_or_less_miles\n", - "main_abs_2_to_4_in_miles\n", - "main_abs_4_to_8_in_miles\n", - "main_abs_8_to_12_in_miles\n", - "main_abs_over_12_in_miles\n", - "main_abs_total_miles\n", - "main_abs_unknown_miles\n", - "main_all_materials_2_in_or_less_miles\n", - "main_all_materials_2_to_4_in_miles\n", - "main_all_materials_4_to_8_in_miles\n", - "main_all_materials_8_to_12_in_miles\n", - "main_all_materials_over_12_in_miles\n", - "main_all_materials_total_miles\n", - "main_all_materials_unknown_miles\n", - "main_all_time_miles\n", - "main_cast_or_wrought_iron_2_in_or_less_miles\n", - "main_cast_or_wrought_iron_2_to_4_in_miles\n", - "main_cast_or_wrought_iron_4_to_8_in_miles\n", - "main_cast_or_wrought_iron_8_to_12_in_miles\n", - "main_cast_or_wrought_iron_miles\n", - "main_cast_or_wrought_iron_over_12_in_miles\n", - "main_cast_or_wrought_iron_total_miles\n", - "main_cast_or_wrought_iron_unknown_miles\n", - "main_cathodically_protected_steel_bare_miles\n", - "main_cathodically_protected_steel_coated_miles\n", - "main_copper_2_in_or_less_miles\n", - "main_copper_2_to_4_in_miles\n", - "main_copper_4_to_8_in_miles\n", - "main_copper_8_to_12_in_miles\n", - "main_copper_miles\n", - "main_copper_over_12_in_miles\n", - "main_copper_total_miles\n", - "main_copper_unknown_miles\n", - "main_ductile_iron_2_in_or_less_miles\n", - "main_ductile_iron_2_to_4_in_miles\n", - "main_ductile_iron_4_to_8_in_miles\n", - "main_ductile_iron_8_to_12_in_miles\n", - "main_ductile_iron_miles\n", - "main_ductile_iron_over_12_in_miles\n", - "main_ductile_iron_total_miles\n", - "main_ductile_iron_unknown_miles\n", - "main_other_2_in_or_less_miles\n", - "main_other_2_to_4_in_miles\n", - "main_other_4_to_8_in_miles\n", - "main_other_8_to_12_in_miles\n", - "main_other_alt_2_in_or_less_miles\n", - "main_other_alt_2_to_4_in_miles\n", - "main_other_alt_4_to_8_in_miles\n", - "main_other_alt_8_to_12_in_miles\n", - "main_other_alt_miles\n", - "main_other_alt_over_12_in_miles\n", - "main_other_alt_total_miles\n", - "main_other_alt_unknown_miles\n", - "main_other_material_detail_miles\n", - "main_other_miles\n", - "main_other_over_12_in_miles\n", - "main_other_plastic_2_in_or_less_miles\n", - "main_other_plastic_2_to_4_in_miles\n", - "main_other_plastic_4_to_8_in_miles\n", - "main_other_plastic_8_to_12_in_miles\n", - "main_other_plastic_over_12_in_miles\n", - "main_other_plastic_total_miles\n", - "main_other_plastic_unknown_miles\n", - "main_other_total_miles\n", - "main_other_unknown_miles\n", - "main_pe_2_in_or_less_miles\n", - "main_pe_2_to_4_in_miles\n", - "main_pe_4_to_8_in_miles\n", - "main_pe_8_to_12_in_miles\n", - "main_pe_over_12_in_miles\n", - "main_pe_total_miles\n", - "main_pe_unknown_miles\n", - "main_plastic_miles\n", - "main_pre_1940_miles\n", - "main_pvc_2_in_or_less_miles\n", - "main_pvc_2_to_4_in_miles\n", - "main_pvc_4_to_8_in_miles\n", - "main_pvc_8_to_12_in_miles\n", - "main_pvc_over_12_in_miles\n", - "main_pvc_total_miles\n", - "main_pvc_unknown_miles\n", - "main_reconditioned_cast_iron_2_in_or_less_miles\n", - "main_reconditioned_cast_iron_2_to_4_in_miles\n", - "main_reconditioned_cast_iron_4_to_8_in_miles\n", - "main_reconditioned_cast_iron_8_to_12_in_miles\n", - "main_reconditioned_cast_iron_miles\n", - "main_reconditioned_cast_iron_over_12_in_miles\n", - "main_reconditioned_cast_iron_total_miles\n", - "main_reconditioned_cast_iron_unknown_miles\n", - "main_steel_2_in_or_less_miles\n", - "main_steel_2_to_4_in_miles\n", - "main_steel_4_to_8_in_miles\n", - "main_steel_8_to_12_in_miles\n", - "main_steel_over_12_in_miles\n", - "main_steel_total_miles\n", - "main_steel_unknown_miles\n", - "main_total_miles\n", - "main_unknown_decade_miles\n", - "main_unprotected_steel_bare_miles\n", - "main_unprotected_steel_coated_miles\n", - "office_address_city\n", - "office_address_county\n", - "office_address_state\n", - "office_address_street\n", - "office_address_zip\n", - "operating_state\n", - "operator_id_phmsa\n", - "operator_name_phmsa\n", - "operator_type\n", - "original_report\n", - "percent_unaccounted_for_gas\n", - "preparer_email\n", - "preparer_fax\n", - "preparer_name\n", - "preparer_phone\n", - "preparer_title\n", - "report_date\n", - "report_number\n", - "report_submission_type\n", - "report_year\n", - "services_1940s\n", - "services_1950s\n", - "services_1960s\n", - "services_1970s\n", - "services_1980s\n", - "services_1990s\n", - "services_2000s\n", - "services_2010s\n", - "services_2020s\n", - "services_abs_1_in_or_less\n", - "services_abs_1_to_2_in\n", - "services_abs_2_to_4_in\n", - "services_abs_4_to_8_in\n", - "services_abs_over_8_in\n", - "services_abs_total\n", - "services_abs_unknown\n", - "services_all_materials_1_in_or_less\n", - "services_all_materials_1_to_2_in\n", - "services_all_materials_2_to_4_in\n", - "services_all_materials_4_to_8_in\n", - "services_all_materials_over_8_in\n", - "services_all_materials_total\n", - "services_all_materials_unknown\n", - "services_all_time\n", - "services_cast_or_wrought_iron\n", - "services_cast_or_wrought_iron_1_in_or_less\n", - "services_cast_or_wrought_iron_1_to_2_in\n", - "services_cast_or_wrought_iron_2_to_4_in\n", - "services_cast_or_wrought_iron_4_to_8_in\n", - "services_cast_or_wrought_iron_over_8_in\n", - "services_cast_or_wrought_iron_total\n", - "services_cast_or_wrought_iron_unknown\n", - "services_cathodically_protected_steel_bare\n", - "services_cathodically_protected_steel_coated\n", - "services_copper\n", - "services_copper_1_in_or_less\n", - "services_copper_1_to_2_in\n", - "services_copper_2_to_4_in\n", - "services_copper_4_to_8_in\n", - "services_copper_over_8_in\n", - "services_copper_total\n", - "services_copper_unknown\n", - "services_ductile_iron\n", - "services_ductile_iron_1_in_or_less\n", - "services_ductile_iron_1_to_2_in\n", - "services_ductile_iron_2_to_4_in\n", - "services_ductile_iron_4_to_8_in\n", - "services_ductile_iron_over_8_in\n", - "services_ductile_iron_total\n", - "services_ductile_iron_unknown\n", - "services_efv_in_system\n", - "services_efv_installed\n", - "services_other\n", - "services_other_1_in_or_less\n", - "services_other_1_to_2_in\n", - "services_other_2_to_4_in\n", - "services_other_4_to_8_in\n", - "services_other_alt\n", - "services_other_alt_1_in_or_less\n", - "services_other_alt_1_to_2_in\n", - "services_other_alt_2_to_4_in\n", - "services_other_alt_4_to_8_in\n", - "services_other_alt_over_8_in\n", - "services_other_alt_total\n", - "services_other_alt_unknown\n", - "services_other_material_detail\n", - "services_other_over_8_in\n", - "services_other_plastic_1_in_or_less\n", - "services_other_plastic_1_to_2_in\n", - "services_other_plastic_2_to_4_in\n", - "services_other_plastic_4_to_8_in\n", - "services_other_plastic_over_8_in\n", - "services_other_plastic_total\n", - "services_other_plastic_unknown\n", - "services_other_total\n", - "services_other_unknown\n", - "services_pe_1_in_or_less\n", - "services_pe_1_to_2_in\n", - "services_pe_2_to_4_in\n", - "services_pe_4_to_8_in\n", - "services_pe_over_8_in\n", - "services_pe_total\n", - "services_pe_unknown\n", - "services_plastic\n", - "services_pre_1940\n", - "services_pvc_1_in_or_less\n", - "services_pvc_1_to_2_in\n", - "services_pvc_2_to_4_in\n", - "services_pvc_4_to_8_in\n", - "services_pvc_over_8_in\n", - "services_pvc_total\n", - "services_pvc_unknown\n", - "services_reconditioned_cast_iron\n", - "services_reconditioned_cast_iron_1_in_or_less\n", - "services_reconditioned_cast_iron_1_to_2_in\n", - "services_reconditioned_cast_iron_2_to_4_in\n", - "services_reconditioned_cast_iron_4_to_8_in\n", - "services_reconditioned_cast_iron_over_8_in\n", - "services_reconditioned_cast_iron_total\n", - "services_reconditioned_cast_iron_unknown\n", - "services_shutoff_valve_in_system\n", - "services_shutoff_valve_installed\n", - "services_steel_1_in_or_less\n", - "services_steel_1_to_2_in\n", - "services_steel_2_to_4_in\n", - "services_steel_4_to_8_in\n", - "services_steel_over_8_in\n", - "services_steel_total\n", - "services_steel_unknown\n", - "services_total\n", - "services_unknown_decade\n", - "services_unprotected_steel_bare\n", - "services_unprotected_steel_coated\n", - "supplemental_report_number\n", - "supplementary_report\n" - ] - } - ], - "source": [ - "# Let's look at all the columns that are available\n", - "sorted_cols = sorted(raw_df.columns)\n", - "\n", - "for col in sorted_cols:\n", - " print(col)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## core_phmsagas__yearly_distribution_operators" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", + " \n", + " \n", " \n", " \n", + " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_titleheadquarters_address_cityheadquarters_address_countyheadquarters_address_stateheadquarters_address_streetheadquarters_address_zip0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.04.00.00.00.00.04.00.0NaN0.00.0NaNNaNNaNNaNNaNNaNNaN0.00.00.04.00.00.00.04.00.04.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.04.0NaN0.00.0AMARILLOPOTTERTX6601 1-40 WEST #279106.0TX383.0AMARILLO NATURAL GAS INCNaNNaNNaN8063525271NaNJERRY SIMMONSNaNNaNNaT19920584.0NaN1992.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.09.00.00.00.09.00.0NaN0.00.00.00.00.00.00.00.00.09.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.0NaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.09.00.00.00.09.00.09.0NaN0.00.0NaNNaN
4645NaN0.00.00.00.00.0NaNNaNNaNNaNNaNNaN0.00.0NaNNaN0.0NaNNaN0.00.00.0NaNNaN0.00.02.0NaNNaTNaTfinalNaNNaNNaNNaNNaNNaN0.01994-06-03NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.04.00.00.00.04.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.0NaNNaNNaNNaNNaNNaNNaN0.00.00.04.00.00.00.04.00.04.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.04.0NaN0.00.0AMARILLOPOTTERTX6601 1-40 WEST #279106.0TX383.0AMARILLO NATURAL GAS INCNaNNaN0.08063525271.0NaNJERRY SIMMONSNaNNaNNaT19930521.0NaN1993.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.010.00.00.00.010.00.0NaN0.00.00.00.00.00.00.00.00.010.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.0NaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.010.00.00.00.010.00.010.0NaN0.00.0NaNNaN
02023-03-06 16:30:4320230656.0INITIAL2022.018.0ABBYVILLE, CITY OFPO BOX 100ABBYVILLEKS67510Reno6214NaN0.00.00.00.00.0NaNNaNNaNNaNNaNNaN0.00.0NaNNaN0.0NaNNaN0.00.00.0NaNNaN0.00.02NaNNaTNaTfinalNaNNaNNaNNaNNaNNaN0.01995-04-20NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN173.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.01.00.00.05.00.00.00.05.00.05.00NaN(620) 500-5758cityofabbyville@hotmail.comMindy Iverson(620) 286-5643agentABBYVILLE0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.0NaNNaNNaNNaNNaNNaNKSP O BOX 10067510
12023-02-15 13:07:1420230299.0INITIAL2022.027.0ABITA SPRINGS NAT GAS & WATER222 Highway 19SLAUGHTERLA70777-3521NaN2.00.01.00.03.01047.0133.027.025.00.05.00.00.00.03.905.00.05.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaN(000) 000-0000kewing.pip@gmail.comKaylan A. Ewing(225) 286-5650ConsultantABITA SPRINGSNaNLA22161 LEVEL STREET, PO BOX 46170420
22023-03-15 14:08:4820231215.0INITIAL2022.045.0ADAIRSVILLE, CITY OF2369 Hall Station Rd NWAdairsvilleGA30103BartowNaN1.0NaNNaN1.01815.01292.068.02.00.00.0-1.60This report prepared by: Maurice Chaney Munici...(678) 819-0957mchaney@gasauthority.comMAURICE CHANEY(770) 851-3094ConsultantADAIRSVILLENaNGA116 PUBLIC SQUARE30103
32023-03-06 11:55:3620230639.0INITIAL2022.049.0TOWN OF ADAMSVILLE GAS DEPT203 Sunrise Drive 231 East Main StreetAdamsvilleTN38310McNairy8.00.00.00.00.00.05.0NaN0.00.0AMARILLOPOTTERTX6601 1-40 WEST #279106TX OK383.0AMARILLO NATURAL GAS INC ...NaNNaN0.08063525271NaNJERRY SIMMONS ...NaNNaNNaT19940173.0NaN94.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.010.02.00.015.0963.0671.07.08.03.00.05.42We have stopped using the radio read transpond...(000) 000-0000scottklinck@yahoo.comScott Klinck(731) 632-4214Publc Works DirectorADAMSVILLE12.00.0NaNTN231 EAST MAIN STREET P O BOX 30138310
42023-02-14 15:41:2420230289.0INITIAL2022.054.0ADEL GAS DEPT, CITY OFP.O. Box 1530AdelGA31620Cook0.00.00.00.00.0448.0102.03.02.00.00.00.000.00.012.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.0NaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.010.02.00.00.012.00.012.0NaN0.00.0NaN(000) 000-0000peterschultzharpassociates@yahoo.comPeter Schultz(229) 834-6246agentADELNaNGAP.O. BOX 153031620
\n", "
" ], "text/plain": [ - " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip\n", - "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 5.00 NaN (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson (620) 286-5643 agent ABBYVILLE NaN KS P O BOX 100 67510\n", - "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN 2.0 0.0 1.0 0.0 3.0 1047.0 133.0 27.0 25.0 0.0 0.0 3.90 NaN (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing (225) 286-5650 Consultant ABITA SPRINGS NaN LA 22161 LEVEL STREET, PO BOX 461 70420\n", - "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow NaN 1.0 NaN NaN 1.0 1815.0 1292.0 68.0 2.0 0.0 0.0 -1.60 This report prepared by: Maurice Chaney Munici... (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY (770) 851-3094 Consultant ADAIRSVILLE NaN GA 116 PUBLIC SQUARE 30103\n", - "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy 8.0 5.0 2.0 0.0 15.0 963.0 671.0 7.0 8.0 3.0 0.0 5.42 We have stopped using the radio read transpond... (000) 000-0000 scottklinck@yahoo.com Scott Klinck (731) 632-4214 Publc Works Director ADAMSVILLE NaN TN 231 EAST MAIN STREET P O BOX 301 38310\n", - "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent ADEL NaN GA P.O. BOX 1530 31620" + " additional_information all_known_leaks_scheduled_for_repair all_leaks_construction_defect_mains all_leaks_construction_defect_services all_leaks_corrosion_failure_mains all_leaks_corrosion_failure_services all_leaks_equipment_failure_mains all_leaks_equipment_failure_services all_leaks_excavation_damage_mains all_leaks_excavation_damage_services all_leaks_incorrect_operation_mains all_leaks_incorrect_operation_services all_leaks_material_defect_mains all_leaks_material_defect_services all_leaks_natural_force_damage_mains all_leaks_natural_force_damage_services all_leaks_other_mains all_leaks_other_outside_force_mains all_leaks_other_outside_force_services all_leaks_other_services all_leaks_outside_force_mains all_leaks_outside_force_services all_leaks_pipe_weld_joint_failure_mains all_leaks_pipe_weld_joint_failure_services all_leaks_third_party_mains all_leaks_third_party_services average_service_length_feet commodity correction_date data_date \\\n", + "25 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2.0 NaN 1991-07-24 NaT \n", + "1539 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2.0 NaN 1992-05-21 NaT \n", + "3627 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2.0 NaN NaT NaT \n", + "4645 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2.0 NaN NaT NaT \n", + "6214 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2 NaN NaT NaT \n", + "\n", + " data_maturity excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets federal_land_leaks_repaired_or_scheduled filing_date form_revision hazardous_leaks_corrosion_failure_mains hazardous_leaks_corrosion_failure_services hazardous_leaks_equipment_failure_mains hazardous_leaks_equipment_failure_services hazardous_leaks_excavation_damage_mains hazardous_leaks_excavation_damage_services hazardous_leaks_incorrect_operation_mains hazardous_leaks_incorrect_operation_services hazardous_leaks_mechanical_joint_failure hazardous_leaks_natural_force_damage_mains hazardous_leaks_natural_force_damage_services hazardous_leaks_other_mains hazardous_leaks_other_outside_force_mains hazardous_leaks_other_outside_force_services hazardous_leaks_other_services hazardous_leaks_pipe_weld_joint_failure_mains \\\n", + "25 final NaN NaN NaN NaN NaN NaN 0.0 1991-06-20 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1539 final NaN NaN NaN NaN NaN NaN 0.0 1992-04-27 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "3627 final NaN NaN NaN NaN NaN NaN 0.0 1993-06-23 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "4645 final NaN NaN NaN NaN NaN NaN 0.0 1994-06-03 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "6214 final NaN NaN NaN NaN NaN NaN 0.0 1995-04-20 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "\n", + " hazardous_leaks_pipe_weld_joint_failure_services headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip log main_1940s_miles main_1950s_miles main_1960s_miles main_1970s_miles main_1980s_miles main_1990s_miles main_2000s_miles main_2010s_miles main_2020s_miles main_abs_2_in_or_less_miles main_abs_2_to_4_in_miles main_abs_4_to_8_in_miles main_abs_8_to_12_in_miles main_abs_over_12_in_miles main_abs_total_miles main_abs_unknown_miles main_all_materials_2_in_or_less_miles main_all_materials_2_to_4_in_miles main_all_materials_4_to_8_in_miles main_all_materials_8_to_12_in_miles main_all_materials_over_12_in_miles main_all_materials_total_miles main_all_materials_unknown_miles main_all_time_miles main_cast_or_wrought_iron_2_in_or_less_miles main_cast_or_wrought_iron_2_to_4_in_miles main_cast_or_wrought_iron_4_to_8_in_miles \\\n", + "25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 NaN 0.0 0.0 0.0 \n", + "1539 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 NaN 0.0 0.0 0.0 \n", + "3627 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 8.0 0.0 0.0 0.0 8.0 0.0 NaN 0.0 0.0 0.0 \n", + "4645 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 NaN 0.0 0.0 0.0 \n", + "6214 NaN 173.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.0 0.0 0.0 0.0 5.0 0.0 NaN 0.0 0.0 0.0 \n", + "\n", + " main_cast_or_wrought_iron_8_to_12_in_miles main_cast_or_wrought_iron_miles main_cast_or_wrought_iron_over_12_in_miles main_cast_or_wrought_iron_total_miles main_cast_or_wrought_iron_unknown_miles main_cathodically_protected_steel_bare_miles main_cathodically_protected_steel_coated_miles main_copper_2_in_or_less_miles main_copper_2_to_4_in_miles main_copper_4_to_8_in_miles main_copper_8_to_12_in_miles main_copper_miles main_copper_over_12_in_miles main_copper_total_miles main_copper_unknown_miles main_ductile_iron_2_in_or_less_miles main_ductile_iron_2_to_4_in_miles main_ductile_iron_4_to_8_in_miles main_ductile_iron_8_to_12_in_miles main_ductile_iron_miles main_ductile_iron_over_12_in_miles main_ductile_iron_total_miles main_ductile_iron_unknown_miles main_other_2_in_or_less_miles main_other_2_to_4_in_miles main_other_4_to_8_in_miles main_other_8_to_12_in_miles main_other_alt_2_in_or_less_miles main_other_alt_2_to_4_in_miles \\\n", + "25 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1539 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3627 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 \n", + "4645 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "6214 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " main_other_alt_4_to_8_in_miles main_other_alt_8_to_12_in_miles main_other_alt_miles main_other_alt_over_12_in_miles main_other_alt_total_miles main_other_alt_unknown_miles main_other_material_detail_miles main_other_miles main_other_over_12_in_miles main_other_plastic_2_in_or_less_miles main_other_plastic_2_to_4_in_miles main_other_plastic_4_to_8_in_miles main_other_plastic_8_to_12_in_miles main_other_plastic_over_12_in_miles main_other_plastic_total_miles main_other_plastic_unknown_miles main_other_total_miles main_other_unknown_miles main_pe_2_in_or_less_miles main_pe_2_to_4_in_miles main_pe_4_to_8_in_miles main_pe_8_to_12_in_miles main_pe_over_12_in_miles main_pe_total_miles main_pe_unknown_miles main_plastic_miles main_pre_1940_miles main_pvc_2_in_or_less_miles main_pvc_2_to_4_in_miles main_pvc_4_to_8_in_miles main_pvc_8_to_12_in_miles main_pvc_over_12_in_miles main_pvc_total_miles main_pvc_unknown_miles \\\n", + "25 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 4.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1539 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 4.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3627 0.0 0.0 0.0 0.0 4.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 4.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "4645 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 4.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "6214 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 5.0 0.0 0.0 0.0 5.0 0.0 5.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " main_reconditioned_cast_iron_2_in_or_less_miles main_reconditioned_cast_iron_2_to_4_in_miles main_reconditioned_cast_iron_4_to_8_in_miles main_reconditioned_cast_iron_8_to_12_in_miles main_reconditioned_cast_iron_miles main_reconditioned_cast_iron_over_12_in_miles main_reconditioned_cast_iron_total_miles main_reconditioned_cast_iron_unknown_miles main_steel_2_in_or_less_miles main_steel_2_to_4_in_miles main_steel_4_to_8_in_miles main_steel_8_to_12_in_miles main_steel_over_12_in_miles main_steel_total_miles main_steel_unknown_miles main_total_miles main_unknown_decade_miles main_unprotected_steel_bare_miles main_unprotected_steel_coated_miles office_address_city office_address_county office_address_state office_address_street office_address_zip operating_state operator_id_phmsa operator_name_phmsa operator_type original_report percent_unaccounted_for_gas preparer_email \\\n", + "25 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 I-40 WEST, #2 79106.0 TX 383.0 AMARILLO NATURAL GAS INC NaN NaN 0.0 8063525271 \n", + "1539 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 1-40 WEST #2 79106 TX 383.0 AMARILLO NATURAL GAS INC NaN NaN 0.0 8063525271 \n", + "3627 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 1-40 WEST #2 79106.0 TX 383.0 AMARILLO NATURAL GAS INC NaN NaN NaN 8063525271 \n", + "4645 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 1-40 WEST #2 79106.0 TX 383.0 AMARILLO NATURAL GAS INC NaN NaN 0.0 8063525271.0 \n", + "6214 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 1-40 WEST #2 79106 TX OK 383.0 AMARILLO NATURAL GAS INC ... NaN NaN 0.0 8063525271 \n", + "\n", + " preparer_fax preparer_name preparer_phone preparer_title report_date report_number report_submission_type report_year services_1940s services_1950s services_1960s services_1970s services_1980s services_1990s services_2000s services_2010s services_2020s services_abs_1_in_or_less services_abs_1_to_2_in services_abs_2_to_4_in services_abs_4_to_8_in services_abs_over_8_in services_abs_total services_abs_unknown services_all_materials_1_in_or_less services_all_materials_1_to_2_in services_all_materials_2_to_4_in services_all_materials_4_to_8_in services_all_materials_over_8_in services_all_materials_total services_all_materials_unknown services_all_time services_cast_or_wrought_iron services_cast_or_wrought_iron_1_in_or_less services_cast_or_wrought_iron_1_to_2_in services_cast_or_wrought_iron_2_to_4_in services_cast_or_wrought_iron_4_to_8_in services_cast_or_wrought_iron_over_8_in \\\n", + "25 NaN KELLY LOVVORN - GAS SUPPLY NaN NaN NaT 19901333.0 NaN 1990.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.0 0.0 0.0 0.0 9.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1539 NaN KELLY LOVVORN NaN NaN NaT 19910511.0 NaN 1991.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.0 0.0 0.0 0.0 9.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3627 NaN JERRY SIMMONS NaN NaN NaT 19920584.0 NaN 1992.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.0 0.0 0.0 0.0 9.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "4645 NaN JERRY SIMMONS NaN NaN NaT 19930521.0 NaN 1993.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 10.0 0.0 0.0 0.0 10.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "6214 NaN JERRY SIMMONS ... NaN NaN NaT 19940173.0 NaN 94.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 10.0 2.0 0.0 0.0 12.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " services_cast_or_wrought_iron_total services_cast_or_wrought_iron_unknown services_cathodically_protected_steel_bare services_cathodically_protected_steel_coated services_copper services_copper_1_in_or_less services_copper_1_to_2_in services_copper_2_to_4_in services_copper_4_to_8_in services_copper_over_8_in services_copper_total services_copper_unknown services_ductile_iron services_ductile_iron_1_in_or_less services_ductile_iron_1_to_2_in services_ductile_iron_2_to_4_in services_ductile_iron_4_to_8_in services_ductile_iron_over_8_in services_ductile_iron_total services_ductile_iron_unknown services_efv_in_system services_efv_installed services_other services_other_1_in_or_less services_other_1_to_2_in services_other_2_to_4_in services_other_4_to_8_in services_other_alt services_other_alt_1_in_or_less services_other_alt_1_to_2_in services_other_alt_2_to_4_in services_other_alt_4_to_8_in services_other_alt_over_8_in services_other_alt_total \\\n", + "25 0.0 0.0 0.0 9.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1539 0.0 0.0 0.0 9.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3627 0.0 0.0 0.0 9.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "4645 0.0 0.0 0.0 10.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "6214 0.0 0.0 0.0 12.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " services_other_alt_unknown services_other_material_detail services_other_over_8_in services_other_plastic_1_in_or_less services_other_plastic_1_to_2_in services_other_plastic_2_to_4_in services_other_plastic_4_to_8_in services_other_plastic_over_8_in services_other_plastic_total services_other_plastic_unknown services_other_total services_other_unknown services_pe_1_in_or_less services_pe_1_to_2_in services_pe_2_to_4_in services_pe_4_to_8_in services_pe_over_8_in services_pe_total services_pe_unknown services_plastic services_pre_1940 services_pvc_1_in_or_less services_pvc_1_to_2_in services_pvc_2_to_4_in services_pvc_4_to_8_in services_pvc_over_8_in services_pvc_total services_pvc_unknown services_reconditioned_cast_iron services_reconditioned_cast_iron_1_in_or_less services_reconditioned_cast_iron_1_to_2_in services_reconditioned_cast_iron_2_to_4_in services_reconditioned_cast_iron_4_to_8_in services_reconditioned_cast_iron_over_8_in \\\n", + "25 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", + "1539 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", + "3627 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", + "4645 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", + "6214 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", + "\n", + " services_reconditioned_cast_iron_total services_reconditioned_cast_iron_unknown services_shutoff_valve_in_system services_shutoff_valve_installed services_steel_1_in_or_less services_steel_1_to_2_in services_steel_2_to_4_in services_steel_4_to_8_in services_steel_over_8_in services_steel_total services_steel_unknown services_total services_unknown_decade services_unprotected_steel_bare services_unprotected_steel_coated supplemental_report_number supplementary_report \n", + "25 NaN NaN NaN NaN 0.0 9.0 0.0 0.0 0.0 9.0 0.0 9.0 NaN 0.0 0.0 NaN NaN \n", + "1539 NaN NaN NaN NaN 0.0 9.0 0.0 0.0 0.0 9.0 0.0 9.0 NaN 0.0 0.0 NaN NaN \n", + "3627 NaN NaN NaN NaN 0.0 9.0 0.0 0.0 0.0 9.0 0.0 9.0 NaN 0.0 0.0 NaN NaN \n", + "4645 NaN NaN NaN NaN 0.0 10.0 0.0 0.0 0.0 10.0 0.0 10.0 NaN 0.0 0.0 NaN NaN \n", + "6214 NaN NaN NaN NaN 0.0 10.0 2.0 0.0 0.0 12.0 0.0 12.0 NaN 0.0 0.0 NaN NaN " ] }, - "execution_count": 10, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "core_phmsagas__yearly_distribution_operators = raw_df[[\n", - " \"report_date\",\n", - " \"report_number\",\n", - " \"report_submission_type\",\n", - " \"report_year\",\n", - " \"operator_id_phmsa\",\n", - " \"operator_name_phmsa\",\n", - " \"office_address_street\",\n", - " \"office_address_city\",\n", - " \"office_address_state\",\n", - " \"office_address_zip\",\n", - " \"office_address_county\",\n", - " \"excavation_damage_excavation_practices\",\n", - " \"excavation_damage_locating_practices\",\n", - " \"excavation_damage_one_call_notification\",\n", - " \"excavation_damage_other\",\n", - " \"excavation_damage_total\",\n", - " \"excavation_tickets\",\n", - " \"services_efv_in_system\",\n", - " \"services_efv_installed\",\n", - " \"services_shutoff_valve_in_system\",\n", - " \"services_shutoff_valve_installed\",\n", - " \"federal_land_leaks_repaired_or_scheduled\",\n", - " \"percent_unaccounted_for_gas\",\n", - " \"additional_information\",\n", - " \"preparer_email\",\n", - " \"preparer_fax\",\n", - " \"preparer_name\",\n", - " \"preparer_phone\",\n", - " \"preparer_title\",\n", - " # Adding these fields temporarily for transformation cleanup\n", - " \"headquarters_address_city\",\n", - " \"headquarters_address_county\",\n", - " \"headquarters_address_state\",\n", - " \"headquarters_address_street\",\n", - " \"headquarters_address_zip\"\n", - "]]\n", - "\n", - "core_phmsagas__yearly_distribution_operators.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Operator Table Tasks" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Standardize NAs\n", - "\n", - "Based on the analysis below, I'm not seeing any major issues with nans. \n", - "\n", - "* No empty strings. Just nans.\n" + "raw_df[raw_df.operator_id_phmsa==383.0].head()" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Analyzing column: report_date\n", - "Column 'report_date' is of type datetime64[ns].\n", - "\n", - "Analyzing column: report_number\n", - "Column 'report_number' is numeric.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: report_submission_type\n", - "Column 'report_submission_type' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: report_year\n", - "Column 'report_year' is numeric.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: operator_id_phmsa\n", - "Column 'operator_id_phmsa' is numeric.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: operator_name_phmsa\n", - "Column 'operator_name_phmsa' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: office_address_street\n", - "Column 'office_address_street' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: office_address_city\n", - "Column 'office_address_city' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: office_address_state\n", - "Column 'office_address_state' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: office_address_zip\n", - "Column 'office_address_zip' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: office_address_county\n", - "Column 'office_address_county' is a string type.\n", - "Rows with None values: 546\n", - "Rows with empty strings: 0\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: excavation_damage_excavation_practices\n", - "Column 'excavation_damage_excavation_practices' is numeric.\n", - "Min value: 0.0\n", - "Max value: 2349.0\n", - "Rows with NA values: 75\n", - "Custom missing values (e.g., 0): 742\n", - "\n", - "Analyzing column: excavation_damage_locating_practices\n", - "Column 'excavation_damage_locating_practices' is numeric.\n", - "Min value: 0.0\n", - "Max value: 1338.0\n", - "Rows with NA values: 74\n", - "Custom missing values (e.g., 0): 925\n", - "\n", - "Analyzing column: excavation_damage_one_call_notification\n", - "Column 'excavation_damage_one_call_notification' is numeric.\n", - "Min value: 0.0\n", - "Max value: 2813.0\n", - "Rows with NA values: 38\n", - "Custom missing values (e.g., 0): 883\n", - "\n", - "Analyzing column: excavation_damage_other\n", - "Column 'excavation_damage_other' is numeric.\n", - "Min value: 0.0\n", - "Max value: 195.0\n", - "Rows with NA values: 240\n", - "Custom missing values (e.g., 0): 1011\n", - "\n", - "Analyzing column: excavation_damage_total\n", - "Column 'excavation_damage_total' is numeric.\n", - "Min value: 0.0\n", - "Max value: 6500.0\n", - "Rows with NA values: 0\n", - "Custom missing values (e.g., 0): 678\n", - "\n", - "Analyzing column: excavation_tickets\n", - "Column 'excavation_tickets' is numeric.\n", - "Min value: 0.0\n", - "Max value: 1584765.0\n", - "Rows with NA values: 0\n", - "Custom missing values (e.g., 0): 53\n", - "\n", - "Analyzing column: services_efv_in_system\n", - "Column 'services_efv_in_system' is numeric.\n", - "Min value: 0.0\n", - "Max value: 670273.0\n", - "Rows with NA values: 0\n", - "Custom missing values (e.g., 0): 234\n", - "\n", - "Analyzing column: services_efv_installed\n", - "Column 'services_efv_installed' is numeric.\n", - "Min value: 0.0\n", - "Max value: 83927.0\n", - "Rows with NA values: 0\n", - "Custom missing values (e.g., 0): 409\n", - "\n", - "Analyzing column: services_shutoff_valve_in_system\n", - "Column 'services_shutoff_valve_in_system' is numeric.\n", - "Min value: 0.0\n", - "Max value: 913900.0\n", - "Rows with NA values: 0\n", - "Custom missing values (e.g., 0): 582\n", - "\n", - "Analyzing column: services_shutoff_valve_installed\n", - "Column 'services_shutoff_valve_installed' is numeric.\n", - "Min value: 0.0\n", - "Max value: 11288.0\n", - "Rows with NA values: 0\n", - "Custom missing values (e.g., 0): 842\n", - "\n", - "Analyzing column: federal_land_leaks_repaired_or_scheduled\n", - "Column 'federal_land_leaks_repaired_or_scheduled' is numeric.\n", - "Min value: 0.0\n", - "Max value: 81.0\n", - "Rows with NA values: 0\n", - "Custom missing values (e.g., 0): 1389\n", - "\n", - "Analyzing column: percent_unaccounted_for_gas\n", - "Column 'percent_unaccounted_for_gas' is numeric.\n", - "Min value: -74.76\n", - "Max value: 61.0\n", - "Rows with NA values: 0\n", - "Custom missing values (e.g., 0): 276\n", - "\n", - "Analyzing column: additional_information\n", - "Column 'additional_information' is a string type.\n", - "Rows with None values: 1165\n", - "Rows with empty strings: 0\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: preparer_email\n", - "Column 'preparer_email' is a string type.\n", - "Rows with None values: 88\n", - "Rows with empty strings: 0\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: preparer_fax\n", - "Column 'preparer_fax' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: preparer_name\n", - "Column 'preparer_name' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: preparer_phone\n", - "Column 'preparer_phone' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: preparer_title\n", - "Column 'preparer_title' is a string type.\n", - "Rows with None values: 163\n", - "Rows with empty strings: 0\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: headquarters_address_city\n", - "Column 'headquarters_address_city' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: headquarters_address_county\n", - "Column 'headquarters_address_county' is numeric.\n", - "Min value: 0.0\n", - "Max value: 0.0\n", - "Rows with NA values: 1440\n", - "Custom missing values (e.g., 0): 1\n", - "\n", - "Analyzing column: headquarters_address_state\n", - "Column 'headquarters_address_state' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: headquarters_address_street\n", - "Column 'headquarters_address_street' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: headquarters_address_zip\n", - "Column 'headquarters_address_zip' is a string type.\n", - "Found nothing worth reporting here\n", - "\n" + "{'all_known_leaks_scheduled_for_repair': '0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0',\n", + " 'all_leaks_excavation_damage_mains': 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, nan, nan, 0.0, nan, '\n", + " 'nan, nan, nan, nan, nan, 2.0, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " '1.0, 1.0, nan, nan',\n", + " 'all_leaks_natural_force_damage_mains': 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, nan, nan, 0.0, nan, nan, '\n", + " 'nan, nan, nan, nan, 1.0, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan',\n", + " 'all_leaks_other_outside_force_mains': 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, nan, nan, 0.0, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " '1.0, nan, nan, nan, nan',\n", + " 'all_leaks_pipe_weld_joint_failure_mains': 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, nan, nan, 0.0, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, 1.0, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, 1.0, nan, 1.0, '\n", + " 'nan, 1.0',\n", + " 'all_leaks_pipe_weld_joint_failure_services': 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '2.0, 0.0, nan, nan, 0.0, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan',\n", + " 'all_leaks_third_party_services': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 1.0, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan',\n", + " 'average_service_length_feet': '2.0, 2.0, 2.0, 2.0, 2, 2, 4, 4.0, 2.0, 4.0, '\n", + " '2.0, 2.0, 4.0, 2.0, 2.0, 4.0, 2.0, 15.0, '\n", + " '50.0, 15.0, 0.0, 20.0, 0.0, 15.0, 0.0, 0.0, '\n", + " '15.0, 0.0, 0.0, 15.0, 0.0, 15.0, 0.0, 0.0, '\n", + " '0.0, 15.0, 0.0, 15.0, 0.0, 0.0, 15.0, 20.0, '\n", + " '0.0, 20.0, 20.0, 8.0, 20.0, 8.0, 8.0, 20.0, '\n", + " '8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, '\n", + " '8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0',\n", + " 'correction_date': '1991-07-24T00:00:00.000000000, '\n", + " '1992-05-21T00:00:00.000000000, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, NaT, NaT, NaT, NaT, NaT',\n", + " 'data_date': 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, 2024-08-01T09:00:10.000000000, '\n", + " '2024-08-01T09:00:10.000000000, 2024-08-01T09:00:10.000000000, '\n", + " '2024-08-01T09:00:49.000000000, 2024-08-01T09:00:49.000000000, '\n", + " '2024-08-01T09:00:49.000000000, 2024-08-01T09:01:11.000000000, '\n", + " '2024-08-01T09:05:45.000000000, 2024-08-01T09:05:45.000000000, '\n", + " '2024-08-01T09:06:05.000000000, 2024-08-01T09:06:05.000000000, '\n", + " '2024-08-01T09:06:26.000000000, 2024-08-01T09:06:26.000000000, '\n", + " '2024-08-01T09:06:26.000000000, 2024-08-01T09:06:59.000000000, '\n", + " '2024-08-01T09:06:59.000000000, 2024-08-01T09:06:59.000000000, '\n", + " '2024-08-01T09:07:21.000000000, 2024-08-01T09:07:21.000000000, '\n", + " '2024-08-01T09:08:57.000000000, 2024-08-01T09:08:57.000000000, '\n", + " '2024-08-01T09:10:46.000000000, 2024-08-01T09:10:46.000000000, '\n", + " '2024-08-01T09:13:02.000000000, 2024-08-01T09:13:02.000000000, '\n", + " '2024-08-01T09:14:22.000000000, 2024-08-01T09:14:22.000000000, '\n", + " '2024-08-01T09:15:59.000000000, 2024-08-01T09:15:59.000000000, '\n", + " '2024-08-01T09:17:51.000000000, 2024-08-01T09:17:51.000000000',\n", + " 'excavation_damage_locating_practices': 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, 0.0, '\n", + " '0.0, nan, 0.0, 0.0, 1.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 1.0, 0.0, 0.0',\n", + " 'excavation_damage_one_call_notification': 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, '\n", + " '0.0, 0.0, nan, 0.0, 0.0, nan, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 1.0, 0.0, '\n", + " '0.0, 0.0',\n", + " 'excavation_damage_other': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 0.0, '\n", + " '2.0, 0.0, 0.0, nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0',\n", + " 'excavation_damage_total': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '2.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0',\n", + " 'excavation_tickets': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, 0.0, 3.0, 0.0, 0.0, 4.0, 853.0, '\n", + " '4.0, 0.0, 537.0, 3.0, 1028.0, 7.0, 2.0, 729.0, 8.0, '\n", + " '7.0, 624.0, 2.0, 985.0, 10.0, 924.0, 3.0, 937.0, 12.0, '\n", + " '374.0, 19.0, 378.0, 11.0, 435.0, 46.0, 394.0',\n", + " 'filing_date': '1991-06-20T00:00:00.000000000, 1992-04-27T00:00:00.000000000, '\n", + " '1993-06-23T00:00:00.000000000, 1994-06-03T00:00:00.000000000, '\n", + " '1995-04-20T00:00:00.000000000, 1996-07-11T00:00:00.000000000, '\n", + " '1996-07-11T00:00:00.000000000, 1997-02-18T00:00:00.000000000, '\n", + " '1997-02-18T00:00:00.000000000, 1998-06-10T00:00:00.000000000, '\n", + " '1998-06-10T00:00:00.000000000, 1999-06-04T00:00:00.000000000, '\n", + " '1999-06-04T00:00:00.000000000, 2000-04-13T00:00:00.000000000, '\n", + " '2001-01-18T00:00:00.000000000, 2002-05-03T00:00:00.000000000, '\n", + " '2002-05-03T00:00:00.000000000, 2003-04-22T00:00:00.000000000, '\n", + " '2004-02-26T00:00:00.000000000, 2005-04-13T14:07:34.000000000, '\n", + " '2005-09-29T14:03:38.000000000, 2005-04-13T00:00:00.000000000, '\n", + " '2006-07-18T14:58:14.000000000, 2006-04-18T13:35:27.000000000, '\n", + " '2006-05-03T13:58:18.000000000, 2007-03-09T00:00:00.000000000, '\n", + " '2007-03-09T00:00:00.000000000, 2007-03-09T00:00:00.000000000, '\n", + " '2008-02-26T10:28:22.000000000, 2008-02-26T10:33:32.000000000, '\n", + " '2008-05-05T15:33:46.000000000, 2009-03-10T13:40:20.000000000, '\n", + " '2009-03-10T11:59:24.000000000, 2009-03-10T13:38:14.000000000, '\n", + " '2010-02-23T11:14:27.000000000, 2010-02-23T11:22:55.000000000, '\n", + " '2010-02-23T11:28:47.000000000, 2011-10-17T15:19:46.000000000, '\n", + " '2011-10-17T14:34:14.000000000, 2012-01-24T12:21:54.000000000, '\n", + " '2012-04-11T11:15:41.000000000, 2012-05-01T10:31:20.000000000, '\n", + " '2012-05-04T12:47:26.000000000, 2013-06-18T15:21:40.000000000, '\n", + " '2014-03-26T09:20:57.000000000, 2014-04-08T09:54:00.000000000, '\n", + " '2015-02-25T13:22:26.000000000, 2015-02-25T17:01:24.000000000, '\n", + " '2016-02-01T18:29:14.000000000, 2016-02-01T18:21:56.000000000, '\n", + " '2016-02-01T18:13:46.000000000, 2017-03-13T16:25:03.000000000, '\n", + " '2017-03-13T16:28:26.000000000, 2017-03-13T16:19:22.000000000, '\n", + " '2018-03-13T13:33:57.000000000, 2018-03-13T13:07:28.000000000, '\n", + " '2019-03-07T17:57:13.000000000, 2019-03-07T17:52:05.000000000, '\n", + " '2020-03-04T11:48:30.000000000, 2020-03-04T11:52:12.000000000, '\n", + " '2021-04-07T14:45:26.000000000, 2021-03-02T11:12:17.000000000, '\n", + " '2022-03-14T11:44:59.000000000, 2022-03-14T11:40:59.000000000, '\n", + " '2023-01-30T13:25:30.000000000, 2023-01-30T13:18:49.000000000, '\n", + " '2024-01-25T13:30:10.000000000, 2024-01-25T13:28:48.000000000',\n", + " 'form_revision': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, 7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. 01-2011), '\n", + " '7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. 01-2011), 7100.1-1 '\n", + " '(Rev. 01-2011), 7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. '\n", + " '01-2011), 7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. 01-2011), '\n", + " '7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. 01-2011), 7100.1-1 '\n", + " '(Rev. 05-2015), 7100.1-1 (Rev. 05-2015), 7100.1-1 (Rev. '\n", + " '05-2015), 7100.1-1 (Rev. 05-2015), 7100.1-1 (Rev. 05-2015), '\n", + " '7100.1-1 (Rev. 05-2015), 7100.1-1 (Rev. 01-2017), 7100.1-1 '\n", + " '(Rev. 01-2017), 7100.1-1 (Rev. 10-2018), 7100.1-1 (Rev. '\n", + " '10-2018), 7100.1-1 (Rev. 10-2018), 7100.1-1 (Rev. 10-2018), '\n", + " '7100.1-1 (Rev. 10-2018), 7100.1-1 (Rev. 10-2018), 7100.1-1 '\n", + " '(Rev. 05-2021), 7100.1-1 (Rev. 05-2021), 7100.1-1 (Rev. '\n", + " '05-2021), 7100.1-1 (Rev. 05-2021), 7100.1-1 (Rev. 06-2023), '\n", + " '7100.1-1 (Rev. 06-2023)',\n", + " 'headquarters_address_city': 'nan, nan, nan, nan, '\n", + " ', '\n", + " ', '\n", + " ', '\n", + " ', '\n", + " ', '\n", + " ', , nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, Amarillo, AMARILLO, '\n", + " 'Amarillo, Amarillo, AMARILLO, Amarillo, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO',\n", + " 'headquarters_address_county': 'nan, nan, nan, nan, '\n", + " ', '\n", + " ', '\n", + " ', '\n", + " ', '\n", + " ', '\n", + " ', , nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, US, US, US, US, nan, US, US, '\n", + " 'nan, US, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan',\n", + " 'headquarters_address_state': 'nan, nan, nan, nan, , , , , , , '\n", + " ', nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, TX, '\n", + " 'TX, TX, TX, TX, TX, TX, TX, TX, TX, TX, TX, '\n", + " 'TX, TX, TX, TX, TX, TX, TX, TX, TX, TX, TX, '\n", + " 'TX, TX, TX, TX, TX, TX, TX, TX',\n", + " 'headquarters_address_street': 'nan, nan, nan, '\n", + " 'nan, '\n", + " ', '\n", + " ', '\n", + " ', '\n", + " ', '\n", + " ', '\n", + " ', , '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 2915 '\n", + " '1-40 West, 2915 I-40 West, 2915 I-40 West, '\n", + " '2915 1-40 West, 2915 I-40 West, 2915 I-40 '\n", + " 'West, 2915 I-40 West, 2915 I-40 WEST, 2915 '\n", + " 'I-40 WEST, 2915 I-40 WEST, 2915 I-40 WEST, '\n", + " '2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", + " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 '\n", + " 'WEST INTERSTATE 40, 2915 WEST INTERSTATE 40, '\n", + " '2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", + " '40, 2915 WEST INTERSTATE 40, 2915 WEST '\n", + " 'INTERSTATE 40, 2915 WEST INTERSTATE 40, 2915 '\n", + " 'WEST INTERSTATE 40, 2915 WEST INTERSTATE 40, '\n", + " '5800 ARNOT ROAD, 5800 ARNOT ROAD, 5800 ARNOT '\n", + " 'ROAD, 5800 ARNOT ROAD, 5800 ARNOT ROAD, 5800 '\n", + " 'ARNOT ROAD',\n", + " 'headquarters_address_zip': 'nan, nan, nan, nan, , , , '\n", + " ', , , , nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, 79109, 79109, 79109, 79109, '\n", + " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", + " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", + " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", + " '79119, 79119, 79119, 79119, 79119, 79119',\n", + " 'log': 'nan, nan, nan, nan, 173.0, 757.0, 758.0, 70.0, 74.0, 980.0, 981.0, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan',\n", + " 'main_1950s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 38.2, 0.0, '\n", + " '38.2, 0.0, 0.0, 0.0, 0.0, 38.2, 0.0, 0.0, 38.2, 0.0, '\n", + " '0.0, 38.2, 38.2, 0.0, 0.0, 0.0, 0.0, 38.2, 0.0, 0.0, '\n", + " '38.2, 0.0, 0.0, 38.2, 0.0, 38.2, 0.0, 0.0, 38.2, 0.0, '\n", + " '0.0, 38.2, 0.0, 19.0, 0.0, 38.5, 0.0, 38.5, 0.0, 38.5, '\n", + " '0.0, 38.5, 0.0, 38.5, 0.0, 38.5',\n", + " 'main_1960s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 34.02, 0.0, '\n", + " '34.02, 0.0, 0.0, 0.0, 0.0, 34.02, 0.0, 0.0, 34.02, 0.0, '\n", + " '0.0, 34.12, 34.02, 0.0, 0.0, 0.0, 0.0, 34.02, 0.0, 0.0, '\n", + " '34.02, 0.0, 0.0, 34.02, 0.0, 34.02, 0.0, 0.0, 34.02, '\n", + " '0.0, 0.0, 34.02, 0.0, 24.1, 0.0, 29.71, 0.0, 29.71, 0.0, '\n", + " '29.71, 0.0, 29.64, 0.0, 29.64, 0.0, 32.04',\n", + " 'main_1980s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 3.94, 0.0, '\n", + " '3.94, 0.0, 0.0, 0.0, 0.0, 3.94, 0.0, 0.0, 3.94, 0.0, '\n", + " '0.0, 3.94, 3.94, 0.0, 0.0, 0.0, 0.0, 3.94, 0.0, 0.0, '\n", + " '15.94, 0.0, 0.0, 15.94, 0.0, 15.94, 0.0, 0.0, 15.94, '\n", + " '0.0, 0.0, 15.94, 0.0, 45.85, 0.0, 19.82, 0.0, 19.82, '\n", + " '0.0, 19.82, 0.0, 19.72, 0.0, 19.72, 0.0, 19.72',\n", + " 'main_1990s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 26.43, 7.6, '\n", + " '26.43, 0.0, 7.6, 7.6, 0.0, 26.43, 7.6, 0.0, 26.43, 0.0, '\n", + " '7.6, 26.43, 26.43, 0.0, 7.6, 0.0, 7.6, 26.43, 0.0, 7.6, '\n", + " '31.8, 7.609, 7.609, 31.8, 7.609, 31.8, 0.0, 7.609, 31.8, '\n", + " '0.0, 7.609, 31.8, 12.25, 40.15, 9.87, 36.525, 9.87, '\n", + " '36.525, 9.87, 36.525, 9.206, 36.39, 9.206, 36.39, 9.206, '\n", + " '36.29',\n", + " 'main_2000s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 2.0, 5.0, 0.0, '\n", + " '5.0, 2.0, 0.0, 0.0, 2.0, 5.0, 0.0, 2.0, 5.0, 3.7, 0.0, '\n", + " '5.0, 5.0, 3.7, 0.0, 3.7, 0.0, 5.0, 3.7, 0.0, 5.0, 0.0, '\n", + " '0.0, 5.0, 0.0, 5.0, 3.7, 0.0, 5.0, 3.7, 0.0, 5.0, 0.0, '\n", + " '0.93, 2.38, 2.1, 2.38, 2.1, 2.38, 2.1, 2.38, 2.1, 2.38, '\n", + " '4.17, 2.38, 4.14',\n", + " 'main_2010s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.038, '\n", + " '5.038, 1.0, 5.038, 1.0, 0.0, 5.038, 1.0, 0.0, 5.038, '\n", + " '1.0, 0.0, 3.04, 0.0, 5.57, 0.0, 5.57, 0.0, 5.57, 0.0, '\n", + " '2.02, 0.0, 2.02, 0.0, 2.02',\n", + " 'main_2020s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, 0.0, 0.0, 0.0, 7.45, 0.0, 9.87, '\n", + " '0.0, 13.81',\n", + " 'main_all_materials_2_in_or_less_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 22.0, 17.0, 0.0, '\n", + " '17.24, 1.1, 17.24, 0.0, 1.1, 1.1, '\n", + " '0.0, 17.24, 1.1, 0.0, 17.24, 0.0, '\n", + " '1.1, 17.24, 17.24, 0.0, 1.1, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, 0.0, 0.527, 7.5, '\n", + " '0.0, 0.527, 8.4, 0.0, 11.07, 0.0, '\n", + " '21.915, 0.664, 21.915, 0.664, '\n", + " '21.915, 0.0, 16.83, 0.0, 16.83, '\n", + " '0.0, 21.01',\n", + " 'main_all_materials_2_to_4_in_miles': '4.0, 4.0, 8.0, 4.0, 5.0, 7.0, 18.0, '\n", + " '19, 7, 22.0, 7.0, 7.0, 22.0, 7.0, 7.0, '\n", + " '22.0, 7.0, 105.0, 90.0, 2.0, 90.35, '\n", + " '6.5, 90.35, 2.0, 6.5, 6.5, 2.0, 90.35, '\n", + " '6.5, 2.0, 90.35, 3.7, 6.5, 90.35, '\n", + " '90.35, 3.7, 6.5, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " '3.7, 12.12, 117.56, 3.7, 12.12, '\n", + " '117.56, 12.25, 116.3, 12.25, 110.31, '\n", + " '11.586, 110.31, 11.586, 110.31, '\n", + " '11.586, 118.99, 11.586, 123.48, '\n", + " '11.586, 125.51',\n", + " 'main_all_materials_4_to_8_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.7, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0',\n", + " 'main_all_materials_8_to_12_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, 0.0, '\n", + " '0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0',\n", + " 'main_all_materials_total_miles': '4.0, 4.0, 8.0, 4.0, 5.0, 7.0, 18.0, 19, 7, '\n", + " '22.0, 7.0, 7.0, 22.0, 7.0, 7.0, 22.0, 7.0, '\n", + " '127.0, 107.0, 2.0, 107.59, 7.6, 107.59, '\n", + " '2.0, 7.6, 7.6, 2.0, 107.59, 7.6, 2.0, '\n", + " '107.59, 3.7, 7.6, 107.59, 107.59, 3.7, '\n", + " '7.6, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, 3.7, 12.647, 125.96, '\n", + " '3.7, 12.647, 125.96, 12.25, 133.07, 12.25, '\n", + " '132.225, 12.25, 132.225, 12.25, 132.225, '\n", + " '11.586, 135.82, 11.586, 140.31, 11.586, '\n", + " '146.52',\n", + " 'main_all_time_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, 2.0, '\n", + " '107.59, 7.6, 107.59, 2.0, 7.6, 7.6, 2.0, 107.59, 7.6, '\n", + " '2.0, 107.59, 3.7, 7.6, 107.69, 107.59, 3.7, 7.6, 3.7, '\n", + " '7.6, 107.59, 3.7, 7.6, 124.96, 12.647, 12.647, '\n", + " '125.96, 12.647, 125.96, 3.7, 12.647, 125.96, 3.7, '\n", + " '12.647, 125.96, 12.25, 133.07, 12.25, 132.225, 12.25, '\n", + " '132.225, 12.25, 132.225, 11.586, 135.82, 11.586, '\n", + " '140.31, 11.586, 146.52',\n", + " 'main_cathodically_protected_steel_bare_miles': '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, nan, 0.0, '\n", + " '0.0, nan, 0.0, nan, nan, '\n", + " 'nan, nan, 4.64, nan, 4.64, '\n", + " 'nan, 4.64, nan, 4.64, nan, '\n", + " '4.64, nan, 4.64',\n", + " 'main_cathodically_protected_steel_coated_miles': '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 79.0, 59.0, 0.0, '\n", + " '73.22, 0.0, 73.22, 0.0, '\n", + " '0.0, 0.0, 0.0, 73.22, 0.0, '\n", + " '0.0, 73.22, 0.0, 0.0, '\n", + " '73.22, 73.22, 0.0, 0.0, '\n", + " '0.0, 0.0, 72.22, 0.0, 0.0, '\n", + " '93.16, 0.0, 0.0, 93.16, '\n", + " '0.0, 93.16, nan, 0.0, '\n", + " '93.16, nan, 0.0, 93.16, '\n", + " 'nan, 86.05, nan, 78.85, '\n", + " 'nan, 78.85, nan, 78.85, '\n", + " 'nan, 78.85, nan, 78.85, '\n", + " 'nan, 81.22',\n", + " 'main_other_alt_2_to_4_in_miles': '0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan',\n", + " 'main_other_alt_total_miles': '0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan',\n", + " 'main_other_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 18.0, 19, 7, 22.0, 7.0, '\n", + " '7.0, 22.0, 7.0, 7.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, 0.0, nan, nan, '\n", + " 'nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0',\n", + " 'main_pe_2_in_or_less_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, '\n", + " '7.0, 0.0, 6.84, 1.1, 6.84, 0.0, 1.1, 1.1, 0.0, '\n", + " '6.84, 1.1, 0.0, 6.84, 0.0, 1.1, 6.84, 6.84, '\n", + " '0.0, 1.1, 0.0, 1.1, 6.84, 0.0, 1.1, 0.1, '\n", + " '0.527, 0.527, 0.1, 0.527, 0.1, 0.0, 0.527, '\n", + " '0.1, 0.0, 0.527, 0.1, 0.0, 5.55, 0.0, 16.395, '\n", + " '0.664, 16.395, 0.664, 16.395, 0.0, 11.31, 0.0, '\n", + " '11.31, 0.0, 13.09',\n", + " 'main_pe_2_to_4_in_miles': '4.0, 4.0, 4.0, 4.0, 5.0, 7.0, 18.0, 19.0, 7.0, '\n", + " '22.0, 7.0, 7.0, 22.0, 7.0, 7.0, 22.0, 7.0, 40.0, '\n", + " '41.0, 2.0, 28.53, 6.5, 28.53, 2.0, 6.5, 6.5, 2.0, '\n", + " '28.53, 6.5, 2.0, 28.53, 3.7, 6.5, 28.53, 28.53, '\n", + " '3.7, 6.5, 3.7, 6.5, 28.53, 3.7, 6.5, 31.7, 12.12, '\n", + " '12.12, 32.7, 12.12, 32.7, 3.7, 12.12, 32.7, 3.7, '\n", + " '12.12, 32.7, 12.25, 41.47, 12.25, 32.34, 11.586, '\n", + " '32.34, 11.586, 32.34, 11.586, 41.02, 11.586, '\n", + " '45.51, 11.586, 47.57',\n", + " 'main_pe_total_miles': '4.0, 4.0, 4.0, 4.0, 5.0, 7.0, 18.0, 19.0, 7.0, 22.0, '\n", + " '7.0, 7.0, 22.0, 7.0, 7.0, 22.0, 7.0, 48.0, 48.0, 2.0, '\n", + " '35.37, 7.6, 35.37, 2.0, 7.6, 7.6, 2.0, 35.37, 7.6, '\n", + " '2.0, 35.37, 3.7, 7.6, 35.37, 35.37, 3.7, 7.6, 3.7, '\n", + " '7.6, 35.37, 3.7, 7.6, 31.8, 12.647, 12.647, 32.8, '\n", + " '12.647, 32.8, 3.7, 12.647, 32.8, 3.7, 12.647, 32.8, '\n", + " '12.25, 47.02, 12.25, 48.735, 12.25, 48.735, 12.25, '\n", + " '48.735, 11.586, 52.33, 11.586, 56.82, 11.586, 60.66',\n", + " 'main_plastic_miles': '4.0, 4.0, 4.0, 4.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 48.0, 48.0, 2.0, 34.37, '\n", + " '7.6, 34.37, 2.0, 7.6, 7.6, 2.0, 34.37, 7.6, 2.0, '\n", + " '34.37, 3.7, 7.6, 34.37, 34.37, 3.7, 7.6, 3.7, 7.6, '\n", + " '35.37, 3.7, 7.6, 31.8, 12.647, 12.647, 32.8, 12.647, '\n", + " '32.8, 3.7, 12.647, 32.8, 3.7, 12.647, 32.8, 12.25, '\n", + " '47.02, 12.25, 48.735, 12.25, 48.735, 12.25, 48.735, '\n", + " '11.586, 52.33, 11.586, 56.82, 11.586, 60.66',\n", + " 'main_steel_2_in_or_less_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 14.0, 10.0, 0.0, 10.4, 0.0, 10.4, 0.0, '\n", + " '0.0, 0.0, 0.0, 10.4, 0.0, 0.0, 10.4, 0.0, '\n", + " '0.0, 10.4, 10.4, 0.0, 0.0, 0.0, 0.0, 10.4, '\n", + " '0.0, 0.0, 7.4, 0.0, 0.0, 7.4, 0.0, 7.4, '\n", + " '0.0, 0.0, 7.4, 0.0, 0.0, 8.3, 0.0, 5.52, '\n", + " '0.0, 5.52, 0.0, 5.52, 0.0, 5.52, 0.0, 5.52, '\n", + " '0.0, 5.52, 0.0, 7.92',\n", + " 'main_steel_2_to_4_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 65.0, '\n", + " '49.0, 0.0, 61.82, 0.0, 61.82, 0.0, 0.0, 0.0, '\n", + " '0.0, 61.82, 0.0, 0.0, 61.82, 0.0, 0.0, 61.82, '\n", + " '61.82, 0.0, 0.0, 0.0, 0.0, 61.82, 0.0, 0.0, '\n", + " '84.86, 0.0, 0.0, 84.86, 0.0, 84.86, 0.0, 0.0, '\n", + " '84.86, 0.0, 0.0, 84.86, 0.0, 74.83, 0.0, '\n", + " '77.97, 0.0, 77.97, 0.0, 77.97, 0.0, 77.97, '\n", + " '0.0, 77.97, 0.0, 77.94',\n", + " 'main_steel_4_to_8_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '5.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0',\n", + " 'main_steel_8_to_12_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0, '\n", + " '0.9, 0.0, 0.9, 0.0, 0.0, 0.9, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0',\n", + " 'main_steel_total_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 79.0, 59.0, 0.0, '\n", + " '72.22, 0.0, 72.22, 0.0, 0.0, 0.0, 0.0, 72.22, 0.0, '\n", + " '0.0, 72.22, 0.0, 0.0, 72.22, 72.22, 0.0, 0.0, 0.0, '\n", + " '0.0, 72.22, 0.0, 0.0, 93.16, 0.0, 0.0, 93.16, 0.0, '\n", + " '93.16, 0.0, 0.0, 93.16, 0.0, 0.0, 93.16, 0.0, '\n", + " '86.05, 0.0, 83.49, 0.0, 83.49, 0.0, 83.49, 0.0, '\n", + " '83.49, 0.0, 83.49, 0.0, 85.86',\n", + " 'main_total_miles': '4.0, 4.0, 4.0, 4.0, 5.0, 7.0, 18.0, 19, 7, 22.0, 7.0, '\n", + " '7.0, 22.0, 7.0, 7.0, 22.0, 0.0, 127.0, 107.0, 2.0, '\n", + " '107.59, 7.6, 107.59, 2.0, 7.6, 7.6, 2.0, 107.59, 7.6, '\n", + " '2.0, 107.59, 3.7, 7.6, 107.59, 107.59, 3.7, 7.6, 3.7, '\n", + " '7.6, 107.59, 3.7, 7.6, 124.96, 12.647, 12.647, 125.96, '\n", + " '12.647, 125.96, 3.7, 12.647, 125.96, 3.7, 12.647, '\n", + " '125.96, 12.25, 133.07, 12.25, 132.225, 12.25, 132.225, '\n", + " '12.25, 132.225, 11.586, 135.82, 11.586, 140.31, 11.586, '\n", + " '146.52',\n", + " 'office_address_city': 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO , AMARILLO , '\n", + " 'AMARILLO , AMARILLO , '\n", + " 'AMARILLO , AMARILLO , '\n", + " 'AMARILLO , AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", + " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO',\n", + " 'office_address_county': 'POTTER, POTTER, POTTER, POTTER, '\n", + " 'POTTER , POTTER '\n", + " ', POTTER , '\n", + " 'POTTER , POTTER '\n", + " ', POTTER , '\n", + " 'POTTER , POTTER, POTTER, POTTER, '\n", + " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", + " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", + " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", + " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", + " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, POTTER, nan, '\n", + " 'POTTER, nan, Potter, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, RANDALL, nan, RANDALL, nan, RANDALL',\n", + " 'office_address_street': '6601 I-40 WEST, #2, 6601 1-40 WEST #2, 6601 1-40 '\n", + " 'WEST #2, 6601 1-40 WEST #2, 6601 1-40 WEST '\n", + " '#2 , 6601 1-40 WEST '\n", + " '#2 , 6601 1-40 WEST '\n", + " '#2 , 6601 1-40 WEST '\n", + " '#2 , 6601 1-40 WEST '\n", + " '#2 , 6601 1-40 WEST '\n", + " '#2 , 6601 1-40 WEST '\n", + " '#2 , 6601 1-40 WEST #2, 6601 '\n", + " '1-40 WEST #2, 6601 1-40 WEST #2, 6601 1-40 WEST #2, '\n", + " '6601 1-40 WEST #2, 6601 1-40 WEST #2, 4500 I-40 '\n", + " 'WEST BUILDING C, 4500 I-40 WEST BUILDING C, 4500 '\n", + " 'I-40 WEST BLDG C, 4500 1-40 WEST SUITE C, 4500 I-40 '\n", + " 'WEST BLDG. C, 4500 1-40 WEST BLDG C & D, 4500 1-40 '\n", + " 'WEST SUITE C, 4500 1-40 WEST BLDG C & D, 4500 I-40 '\n", + " 'WEST BLDG C, 4500 I-40 WEST BLDG C, 4500 I-40 WEST '\n", + " 'BLDG C, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", + " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", + " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", + " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", + " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", + " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", + " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I- 40 '\n", + " 'WEST, 2915 I-40 WEST, 2915 WEST INTERSTATE 40, 2915 '\n", + " 'I- 40 WEST, 2915 I-40 WEST, 2915 WEST INTERSTATE '\n", + " '40, 2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", + " '40, 2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", + " '40, 2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", + " '40, 2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", + " '40, 5800 ARNOT ROAD, 5800 ARNOT ROAD, 5800 ARNOT '\n", + " 'ROAD, 5800 ARNOT ROAD, 5800 ARNOT ROAD, 5800 ARNOT '\n", + " 'ROAD',\n", + " 'office_address_zip': '79106.0, 79106, 79106.0, 79106.0, 79106, 79106.0, '\n", + " '79106.0, 79106, 79106, 79106, 79106, 79106, 79106, '\n", + " '79106, 79106, 79106, 79106, 79106, 79106, 79106, '\n", + " '79106, 79106, 79106, 79106, 79106, 79106, 79106, '\n", + " '79106, 79109, 79109, 79109, 79109, 79109, 79109, '\n", + " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", + " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", + " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", + " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", + " '79119, 79119, 79119, 79119, 79119, 79119',\n", + " 'operating_state': 'TX, TX, TX, TX, TX OK , '\n", + " 'OK , '\n", + " 'TX , '\n", + " 'TX , '\n", + " 'OK , '\n", + " 'TX , '\n", + " 'OK , OK, TX, TX, TX, '\n", + " 'TX, OK, OK TX KS, OK TX KS, KS, TX, OK, TX, KS, OK, OK, '\n", + " 'KS, TX, OK, KS, TX, KS, OK, TX, TX, KS, OK, KS, OK, TX, '\n", + " 'KS, OK, TX, OK, OK, TX, OK, TX, KS, OK, TX, KS, OK, TX, '\n", + " 'OK, TX, OK, TX, OK, TX, OK, TX, OK, TX, OK, TX, OK, TX',\n", + " 'operator_name_phmsa': 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC , '\n", + " 'AMARILLO NATURAL GAS INC , '\n", + " 'AMARILLO NATURAL GAS INC , '\n", + " 'AMARILLO NATURAL GAS INC , '\n", + " 'AMARILLO NATURAL GAS INC , '\n", + " 'AMARILLO NATURAL GAS INC , '\n", + " 'AMARILLO NATURAL GAS INC , '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS, INC., AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS, INC, AMARILLO NATURAL GAS, INC, '\n", + " 'AMARILLO NATURAL GAS, INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", + " 'AMARILLO NATURAL GAS INC',\n", + " 'original_report': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, N, N, N, N, Y, Y, '\n", + " 'Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan',\n", + " 'percent_unaccounted_for_gas': '0.0, 0.0, nan, 0.0, 0.0, 0, 0, 0, 0, 0, 0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.5, 1.5, 0.0, '\n", + " '0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.5, 0.05, 4.0, '\n", + " '5.0, 0.0, 0.0, 0.02, 0.0, 0.0, 0.28, 0.23, '\n", + " '0.61, 0.12, 0.24, 0.0, 0.21, 0.34, 0.61, 0.0, '\n", + " '0.12, 0.0, 0.1, 2.0, 0.24',\n", + " 'preparer_email': '8063525271, 8063525271, 8063525271, 8063525271.0, '\n", + " '8063525271, 8063525271, 8063525271, 8063525271, '\n", + " '8063525271, 8063525271, 8063525271, 8063525271.0, '\n", + " '8063525271.0, 8063525271.0, 8063525271.0, 8063525271.0, '\n", + " '8063525271.0, 8063525271, 8063525271.0, 8063525271.0, '\n", + " '8063525271.0, 8063525271.0, 8063525271.0, 8063525271.0, '\n", + " '8063525271.0, 8063525271.0, 8063525271.0, 8063525271.0, '\n", + " '8063525271, 8063525271, 8063525271, 8063525271, '\n", + " '8063525271, 8063525271, 8063525271, 8063525271, '\n", + " '8063525271, (806) 352-3721, (806) 352-3721, (806) '\n", + " '352-3721, (806) 352-3721, (806) 352-3721, (806) 352-3721, '\n", + " 'nan, nan, nan, (806) 352-3721, (806) 352-3721, (806) '\n", + " '352-3721, (806) 352-3721, (806) 352-3721, (806) 352-3721, '\n", + " '(806) 352-3721, (806) 352-3721, (806) 352-3721, (806) '\n", + " '352-3721, (806) 352-3721, (806) 352-3721, (806) 352-3721, '\n", + " '(806) 352-3721, (806) 352-3721, (806) 352-3721, (806) '\n", + " '352-3721, nan, (000) 000-0000, (000) 000-0000, (000) '\n", + " '000-0000, (000) 000-0000',\n", + " 'preparer_fax': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, trena@anginc.net, trena@anginc.net, trena@anginc.net, '\n", + " 'trena@anginc.net, trena@anginc.net, trena@anginc.net, '\n", + " 'charles@anginc.net, charles@anginc.net, charles@anginc.net, '\n", + " 'trena@anginc.net, trena@anginc.net, mwprice@anginc.net, '\n", + " 'mwprice@anginc.net, mwprice@anginc.net, mwprice@anginc.net, '\n", + " 'mwprice@anginc.net, mwprice@anginc.net, mwprice@anginc.net, '\n", + " 'mwprice@anginc.net, mwprice@anginc.net, mwprice@anginc.net, '\n", + " 'contact@anginc.net, contact@anginc.net, contact@anginc.net, '\n", + " 'contact@anginc.net, akila@anginc.net, akila@anginc.net, '\n", + " 'akila@anginc.net, akila@anginc.net, contact@anginc.net, '\n", + " 'contact@anginc.net',\n", + " 'preparer_name': 'KELLY LOVVORN - GAS SUPPLY, KELLY LOVVORN, JERRY SIMMONS, '\n", + " 'JERRY SIMMONS, JERRY '\n", + " 'SIMMONS , '\n", + " 'JERRY SIMMONS '\n", + " ', JERRY '\n", + " 'SIMMONS , '\n", + " 'JERRY SIMMONS '\n", + " ', JERRY '\n", + " 'SIMMONS , '\n", + " 'JERRY SIMMONS '\n", + " ', JERRY '\n", + " 'SIMMONS , JP '\n", + " 'DAVIS, JP DAVIS, JP DAVIS, JP DAVIS, DEAN MATTHEWS, DEAN '\n", + " 'MATTHEWS, SCOTT C. SMITH, SCOTT C. SMITH, J P DAVIS, J P '\n", + " 'DAVIS, J P DAVIS, TRENA HILTBRUNNER, ADM ASST, TRENA '\n", + " 'HILTBRUNNER, TRENA HILTBRUNNER, ADM ASST, TRENA '\n", + " 'HILTBRUNNER, COMPLIANCE AGENT, TRENA HILTBRUNNER, '\n", + " 'COMPLIANCE AGENT, TRENA HILTBRUNNER, COMPLIANCE AGENT, '\n", + " 'TRENA MATTHEWS, TRENA MATTHEWS, TRENA MATTHEWS, TRENA '\n", + " 'MATTHEWS COMPLIANCE AGENT, TREMA MATTHEWS COMPLIANCE AGENT, '\n", + " 'TRENA MATTHEWS COMPLIANCE AGENT, TRENA MATTHEWS, TRENA '\n", + " 'MATTHEWS, TRENA MATTHEWS, Trena Matthews, Trena Matthews, '\n", + " 'Trena Matthews, Trena Matthews, Trena Matthews, Trena '\n", + " 'Matthews, Charles Davis, Charles Davis, Charles Davis, '\n", + " 'Trena Becker, Trena Becker, MONTE PRICE, MONTE PRICE, MONTE '\n", + " 'PRICE, Monte Price, Monte Price, Monte Price, Monte Price, '\n", + " 'Monte Price, Monte Price, Monte Price, Monte Price, Monte '\n", + " 'Price, Monte Price, Monte Price, AKILA ADDESSO, AKILA '\n", + " 'ADDESSO, Akila Addesso, Akila Addesso, Akila Addesso, Akila '\n", + " 'Addesso',\n", + " 'preparer_phone': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 8063523721.0, '\n", + " '8063525271.0, 8063523721.0, 8063523721.0, 8063523721.0, '\n", + " '8063523721.0, 8063523721.0, 8063523721.0, 8063523721.0, '\n", + " '8063523712, 8063523712, 8063523712, 8063523721, '\n", + " '8063523721, 8063523721, 8063523721, 8063523721, '\n", + " '8063523721, (806) 352-5271, (806) 352-5271, (806) '\n", + " '352-5271, (806) 352-5271, (806) 352-5271, (806) 352-5271, '\n", + " '(806)352-5271, (806)352-5271, (806)352-5271, (806) '\n", + " '352-5271, (806) 352-5271, (806) 352-5271, (806) 352-5271, '\n", + " '(806) 352-5271, (806) 352-5271, (806) 352-5271, (806) '\n", + " '352-5271, (806) 352-5271, (806) 352-5271, (806) 352-5271, '\n", + " '(806) 352-5271, (806) 352-5271, (806) 352-5271, (806) '\n", + " '352-5271, (806) 352-5271, (806) 352-5271, (806) 352-5271, '\n", + " '(806) 352-5271, (806) 352-5271, (806) 352-5271, (806) '\n", + " '352-5271',\n", + " 'preparer_title': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'ANG.DAVIS@AMAONLINE.COM, ANG.DAVIS@AMAONLINE.COM, '\n", + " 'ANG.DAVIS@AMAONLINE.COM, ANG.HILTBRUNNER@ARMAONLINE.COM, '\n", + " 'ANG.HILTBRUNNER@AMAONLINE.COM, '\n", + " 'ANG.HILTBRUNNER@AMAONLINE.COM, TRENA@ANGINC.NET, '\n", + " 'TRENA@ANGINC.NET, TRENA@ANGINC.NET, TRENA@ANGINC.NET, '\n", + " 'TRENA@ANGINC.NET, TRENA@ANGINC.NET, TRENA@ANGINC.NET, '\n", + " 'TREAN@ANGINC.NET, TREAN@ANGINC.NET, TRENA@ANGINC.NET, '\n", + " 'TRENA@ANGINC.NET, TRENA@ANGINC.NET, nan, nan, nan, nan, '\n", + " 'nan, nan, Agent, Agent, Agent, Administrative Assistant, '\n", + " 'Administrative Assistant, PRESIDENT, PRESIDENT, PRESIDENT, '\n", + " 'President, President, President, operator, operator, '\n", + " 'President, President, operator, operator, President, '\n", + " 'President, nan, nan, Corporate Manager, Corporate Manager, '\n", + " 'nan, nan',\n", + " 'report_date': 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", + " 'NaT, NaT, 2001-01-12T00:00:00.000000000, '\n", + " '2002-04-29T00:00:00.000000000, 2002-04-29T00:00:00.000000000, '\n", + " '2003-03-14T00:00:00.000000000, 2004-02-11T00:00:00.000000000, '\n", + " '2005-02-24T00:00:00.000000000, 2005-03-29T00:00:00.000000000, '\n", + " '2005-02-24T00:00:00.000000000, 2006-03-10T00:00:00.000000000, '\n", + " '2006-04-04T00:00:00.000000000, 2006-03-10T00:00:00.000000000, '\n", + " '2007-03-09T00:00:00.000000000, 2007-03-09T00:00:00.000000000, '\n", + " '2007-03-09T00:00:00.000000000, 2008-02-25T00:00:00.000000000, '\n", + " '2008-02-25T00:00:00.000000000, 2008-05-05T00:00:00.000000000, '\n", + " '2009-03-06T00:00:00.000000000, 2009-03-06T00:00:00.000000000, '\n", + " '2009-03-06T00:00:00.000000000, 2010-02-23T00:00:00.000000000, '\n", + " '2010-02-23T00:00:00.000000000, 2010-02-23T00:00:00.000000000, '\n", + " '2011-10-17T15:19:46.000000000, 2011-10-17T14:34:14.000000000, '\n", + " '2012-01-24T12:21:54.000000000, 2012-04-11T11:15:41.000000000, '\n", + " '2012-04-30T16:05:08.000000000, 2012-05-04T12:47:26.000000000, '\n", + " '2013-03-07T11:40:03.000000000, 2014-03-26T09:20:57.000000000, '\n", + " '2014-04-08T09:54:00.000000000, 2015-02-25T13:22:26.000000000, '\n", + " '2015-02-25T17:01:24.000000000, 2016-02-01T18:29:14.000000000, '\n", + " '2016-02-01T18:21:56.000000000, 2016-02-01T18:13:46.000000000, '\n", + " '2017-03-13T16:25:03.000000000, 2017-03-13T16:28:26.000000000, '\n", + " '2017-03-13T16:19:22.000000000, 2018-03-13T13:33:57.000000000, '\n", + " '2018-03-13T13:07:28.000000000, 2019-03-07T17:57:13.000000000, '\n", + " '2019-03-07T17:52:05.000000000, 2020-03-04T11:48:30.000000000, '\n", + " '2020-03-04T11:52:12.000000000, 2021-03-02T11:07:08.000000000, '\n", + " '2021-03-02T11:12:17.000000000, 2022-03-14T11:44:59.000000000, '\n", + " '2022-03-14T11:40:59.000000000, 2023-01-30T13:25:30.000000000, '\n", + " '2023-01-30T13:18:49.000000000, 2024-01-25T13:30:10.000000000, '\n", + " '2024-01-25T13:28:48.000000000',\n", + " 'report_number': '19901333.0, 19910511.0, 19920584.0, 19930521.0, 19940173.0, '\n", + " '19950757.0, 19950758.0, 19960070.0, 19960074.0, 19970980.0, '\n", + " '19970981.0, 19980870.0, 19980875.0, 19991381.0, 20000045.0, '\n", + " '20011330.0, 20011331.0, 20020854.0, 20030170.0, 20040315.0, '\n", + " '20041077.0, 20040313.0, 20051379.0, 20051179.0, 20051380.0, '\n", + " '20060625.0, 20060623.0, 20060624.0, 20070479.0, 20070480.0, '\n", + " '20071440.0, 20080753.0, 20080743.0, 20080752.0, 20090387.0, '\n", + " '20090388.0, 20090391.0, 20111332.0, 20111331.0, 20120067.0, '\n", + " '20121311.0, 20121382.0, 20121395.0, 20130628.0, 20142819.0, '\n", + " '20142877.0, 20153436.0, 20153447.0, 20164679.0, 20164678.0, '\n", + " '20164677.0, 20177051.0, 20177054.0, 20177048.0, 20188536.0, '\n", + " '20188533.0, 20190432.0, 20190431.0, 20200701.0, 20200702.0, '\n", + " '20210578.0, 20210579.0, 20221011.0, 20221007.0, 20230131.0, '\n", + " '20230130.0, 20240087.0, 20240086.0',\n", + " 'report_submission_type': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, INITIAL, '\n", + " 'INITIAL, INITIAL, INITIAL, SUPPLEMENTAL, INITIAL, '\n", + " 'SUPPLEMENTAL, INITIAL, INITIAL, INITIAL, INITIAL, '\n", + " 'INITIAL, INITIAL, INITIAL, INITIAL, INITIAL, '\n", + " 'INITIAL, INITIAL, INITIAL, INITIAL, INITIAL, '\n", + " 'INITIAL, INITIAL, SUPPLEMENTAL, INITIAL, INITIAL, '\n", + " 'INITIAL, INITIAL, INITIAL, INITIAL, INITIAL',\n", + " 'report_year': '1990.0, 1991.0, 1992.0, 1993.0, 94.0, 95.0, 95.0, 96.0, 96.0, '\n", + " '97.0, 97.0, 1998.0, 1998.0, 1999.0, 2000.0, 2001.0, 2001.0, '\n", + " '2002.0, 2003.0, 2004.0, 2004.0, 2004.0, 2005.0, 2005.0, '\n", + " '2005.0, 2006.0, 2006.0, 2006.0, 2007.0, 2007.0, 2007.0, '\n", + " '2008.0, 2008.0, 2008.0, 2009.0, 2009.0, 2009.0, 2010.0, '\n", + " '2010.0, 2010.0, 2011.0, 2011.0, 2011.0, 2012.0, 2013.0, '\n", + " '2013.0, 2014.0, 2014.0, 2015.0, 2015.0, 2015.0, 2016.0, '\n", + " '2016.0, 2016.0, 2017.0, 2017.0, 2018.0, 2018.0, 2019.0, '\n", + " '2019.0, 2020.0, 2020.0, 2021.0, 2021.0, 2022.0, 2022.0, '\n", + " '2023.0, 2023.0',\n", + " 'services_1950s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 15.0, 0.0, '\n", + " '15.0, 0.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, 0.0, '\n", + " '15.0, 15.0, 0.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, '\n", + " '0.0, 15.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, '\n", + " '20.0, 0.0, 70.0, 0.0, 70.0, 0.0, 70.0, 0.0, 73.0, 0.0, '\n", + " '73.0, 0.0, 73.0',\n", + " 'services_1960s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 15.0, 0.0, '\n", + " '15.0, 0.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, 0.0, '\n", + " '15.0, 15.0, 0.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, '\n", + " '0.0, 15.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, '\n", + " '57.0, 0.0, 22.0, 0.0, 22.0, 0.0, 22.0, 0.0, 21.0, 0.0, '\n", + " '21.0, 0.0, 23.0',\n", + " 'services_1980s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 12.0, 0.0, '\n", + " '12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 12.0, 0.0, 0.0, '\n", + " '12.0, 12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 12.0, 0.0, '\n", + " '0.0, 12.0, 0.0, 12.0, 0.0, 0.0, 12.0, 0.0, 0.0, 12.0, 0.0, '\n", + " '85.0, 0.0, 68.0, 0.0, 68.0, 0.0, 68.0, 0.0, 66.0, 0.0, '\n", + " '66.0, 0.0, 66.0',\n", + " 'services_1990s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 12.0, 4.0, '\n", + " '12.0, 0.0, 4.0, 4.0, 0.0, 12.0, 4.0, 0.0, 12.0, 0.0, 4.0, '\n", + " '12.0, 12.0, 0.0, 4.0, 0.0, 4.0, 12.0, 0.0, 4.0, 192.0, '\n", + " '4.0, 4.0, 192.0, 4.0, 192.0, 0.0, 4.0, 192.0, 0.0, 4.0, '\n", + " '192.0, 8.0, 59.0, 8.0, 50.0, 8.0, 50.0, 16.0, 50.0, 8.0, '\n", + " '52.0, 8.0, 52.0, 8.0, 50.0',\n", + " 'services_2000s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 1.0, 225.0, 0.0, '\n", + " '225.0, 1.0, 0.0, 0.0, 1.0, 225.0, 0.0, 1.0, 225.0, 3.0, '\n", + " '0.0, 225.0, 225.0, 3.0, 0.0, 3.0, 0.0, 225.0, 3.0, 0.0, '\n", + " '1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 3.0, 0.0, 1.0, 4.0, 0.0, '\n", + " '1.0, 0.0, 3.0, 0.0, 8.0, 0.0, 8.0, 0.0, 8.0, 0.0, 8.0, '\n", + " '0.0, 14.0, 0.0, 13.0',\n", + " 'services_2010s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 2.0, 0.0, 2.0, 0.0, 0.0, 3.0, 0.0, 0.0, 3.0, 0.0, '\n", + " '6.0, 0.0, 8.0, 0.0, 8.0, 0.0, 8.0, 0.0, 4.0, 0.0, 4.0, '\n", + " '0.0, 4.0',\n", + " 'services_2020s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, 0.0, 0.0, 0.0, 7.0, 0.0, 9.0, '\n", + " '0.0, 12.0',\n", + " 'services_all_materials_1_in_or_less': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 255.0, '\n", + " '0.0, 255.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '255.0, 0.0, 0.0, 255.0, 0.0, 0.0, '\n", + " '255.0, 255.0, 0.0, 0.0, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0',\n", + " 'services_all_materials_1_to_2_in': '9.0, 9.0, 9.0, 10.0, 10.0, 0.0, 42.0, '\n", + " '43.0, 0.0, 44.0, 0.0, 0.0, 44.0, 0.0, '\n", + " '0.0, 44.0, 0.0, 99.0, 99.0, 1.0, 17.0, '\n", + " '4.0, 17.0, 1.0, 4.0, 4.0, 1.0, 17.0, '\n", + " '0.0, 1.0, 17.0, 2.0, 0.0, 17.0, 17.0, '\n", + " '2.0, 0.0, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, 2.0, 2.0, 12.0, '\n", + " '2.0, 2.0, 12.0, 0.0, 19.0, 0.0, 21.0, '\n", + " '0.0, 21.0, 0.0, 21.0, 0.0, 13.0, 0.0, '\n", + " '13.0, 0.0, 13.0',\n", + " 'services_all_materials_2_to_4_in': '0.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, '\n", + " '4.0, 0.0, 4.0, 4.0, 0.0, 4.0, 4.0, 0.0, '\n", + " '4.0, 1.0, 1.0, 0.0, 7.0, 0.0, 7.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 7.0, 4.0, 0.0, 7.0, 1.0, '\n", + " '4.0, 7.0, 7.0, 1.0, 4.0, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " '1.0, 2.0, 226.0, 2.0, 2.0, 226.0, 8.0, '\n", + " '205.0, 8.0, 204.0, 8.0, 204.0, 16.0, '\n", + " '204.0, 8.0, 217.0, 8.0, 225.0, 8.0, '\n", + " '227.0',\n", + " 'services_all_materials_4_to_8_in': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, '\n", + " '0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, '\n", + " '0.0, 1.0, 0.0, 1.0',\n", + " 'services_all_materials_total': '9.0, 9.0, 9.0, 10.0, 12.0, 3.0, 42.0, 43.0, '\n", + " '4.0, 44.0, 4.0, 4.0, 44.0, 4.0, 4.0, 44.0, '\n", + " '4.0, 100.0, 100.0, 1.0, 279.0, 4.0, 279.0, '\n", + " '1.0, 4.0, 4.0, 1.0, 279.0, 4.0, 1.0, 279.0, '\n", + " '3.0, 4.0, 279.0, 279.0, 3.0, 4.0, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " '3.0, 4.0, 238.0, 4.0, 4.0, 238.0, 8.0, '\n", + " '230.0, 8.0, 226.0, 8.0, 226.0, 16.0, 226.0, '\n", + " '8.0, 231.0, 8.0, 239.0, 8.0, 241.0',\n", + " 'services_all_time': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, 1.0, 279.0, '\n", + " '4.0, 279.0, 1.0, 4.0, 4.0, 1.0, 279.0, 4.0, 1.0, 279.0, '\n", + " '3.0, 4.0, 279.0, 279.0, 3.0, 4.0, 3.0, 4.0, 279.0, 3.0, '\n", + " '4.0, 235.0, 4.0, 4.0, 237.0, 4.0, 237.0, 3.0, 4.0, '\n", + " '238.0, 4.0, 4.0, 238.0, 8.0, 230.0, 8.0, 226.0, 8.0, '\n", + " '226.0, 16.0, 226.0, 8.0, 231.0, 8.0, 239.0, 8.0, 241.0',\n", + " 'services_cathodically_protected_steel_bare': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " 'nan, 0.0, 0.0, nan, 0.0, nan, '\n", + " 'nan, nan, nan, 4.0, nan, 4.0, '\n", + " 'nan, 4.0, nan, 4.0, nan, 4.0, '\n", + " 'nan, 4.0',\n", + " 'services_cathodically_protected_steel_coated': '9.0, 9.0, 9.0, 10.0, 12.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0, 0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 100.0, 100.0, 1.0, '\n", + " '279.0, 4.0, 279.0, 1.0, 4.0, '\n", + " '4.0, 1.0, 279.0, 4.0, 1.0, '\n", + " '279.0, 0.0, 4.0, 279.0, '\n", + " '279.0, 0.0, 4.0, 0.0, 0.0, '\n", + " '279.0, 0.0, 0.0, 180.0, 0.0, '\n", + " '0.0, 180.0, 0.0, 180.0, nan, '\n", + " '0.0, 181.0, nan, 0.0, 181.0, '\n", + " 'nan, 152.0, nan, 139.0, nan, '\n", + " '139.0, nan, 139.0, nan, '\n", + " '142.0, nan, 142.0, nan, '\n", + " '143.0',\n", + " 'services_efv_in_system': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '2.0, 0.0, 4.0, 2.0, 4.0, 2.0, 8.0, 226.0, 8.0, '\n", + " '226.0, 0.0, 226.0, 0.0, 0.0, 0.0, 0.0, nan, nan',\n", + " 'services_other': '0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 42.0, 43.0, 4.0, 44.0, 4.0, '\n", + " '4.0, 44.0, 4.0, 4.0, 44.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, 0.0, nan, nan, '\n", + " 'nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0',\n", + " 'services_pe_1_to_2_in': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 2.0, 2.0, 0.0, '\n", + " '2.0, 2.0, 0.0, 2.0, 2.0, 0.0, 2.0, 0.0, 2.0, 2.0, '\n", + " '0.0, 2.0, 2.0, 0.0, 0.0, 10.0, 0.0, 12.0, 0.0, '\n", + " '12.0, 0.0, 12.0, 0.0, 4.0, 0.0, 4.0, 0.0, 2.0',\n", + " 'services_pe_2_to_4_in': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 2.0, 0.0, '\n", + " '1.0, 2.0, 55.0, 2.0, 2.0, 57.0, 2.0, 57.0, 1.0, '\n", + " '2.0, 57.0, 2.0, 2.0, 57.0, 8.0, 68.0, 8.0, 70.0, '\n", + " '8.0, 70.0, 16.0, 70.0, 8.0, 80.0, 8.0, 88.0, 8.0, '\n", + " '91.0',\n", + " 'services_pe_total': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, '\n", + " '0.0, 0.0, 3.0, 0.0, 3.0, 4.0, 0.0, 3.0, 4.0, 55.0, 4.0, '\n", + " '4.0, 57.0, 4.0, 57.0, 3.0, 4.0, 57.0, 4.0, 4.0, 57.0, '\n", + " '8.0, 78.0, 8.0, 82.0, 8.0, 82.0, 16.0, 82.0, 8.0, 84.0, '\n", + " '8.0, 92.0, 8.0, 93.0',\n", + " 'services_plastic': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, '\n", + " '0.0, 0.0, 3.0, 0.0, 3.0, 4.0, 0.0, 3.0, 4.0, 55.0, 4.0, '\n", + " '4.0, 57.0, 4.0, 57.0, 3.0, 4.0, 57.0, 4.0, 4.0, 57.0, '\n", + " '8.0, 78.0, 8.0, 82.0, 8.0, 82.0, 16.0, 82.0, 8.0, 84.0, '\n", + " '8.0, 92.0, 8.0, 93.0',\n", + " 'services_shutoff_valve_in_system': 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, 8.0, '\n", + " '230.0, 8.0, 226.0, 0.0, 0.0, 0.0, 226.0, '\n", + " '8.0, 231.0, 0.0, 0.0, nan, nan',\n", + " 'services_shutoff_valve_installed': 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, '\n", + " '0.0, 0.0, nan, nan',\n", + " 'services_steel_1_in_or_less': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 255.0, 0.0, 255.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 255.0, 0.0, 0.0, 255.0, 0.0, 0.0, 255.0, '\n", + " '255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0',\n", + " 'services_steel_1_to_2_in': '9.0, 9.0, 9.0, 10.0, 10.0, 0.0, 42.0, 43.0, 0.0, '\n", + " '44.0, 0.0, 0.0, 44.0, 0.0, 0.0, 44.0, 0.0, 99.0, '\n", + " '99.0, 1.0, 17.0, 4.0, 17.0, 1.0, 4.0, 4.0, 1.0, '\n", + " '17.0, 0.0, 1.0, 17.0, 0.0, 0.0, 17.0, 17.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 17.0, 0.0, 0.0, 11.0, 0.0, 0.0, '\n", + " '11.0, 0.0, 11.0, 0.0, 0.0, 12.0, 0.0, 0.0, 12.0, '\n", + " '0.0, 9.0, 0.0, 9.0, 0.0, 9.0, 0.0, 9.0, 0.0, '\n", + " '9.0, 0.0, 9.0, 0.0, 11.0',\n", + " 'services_steel_2_to_4_in': '0.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, 4.0, '\n", + " '0.0, 4.0, 4.0, 0.0, 4.0, 4.0, 0.0, 0.0, 1.0, '\n", + " '1.0, 0.0, 7.0, 0.0, 7.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '7.0, 4.0, 0.0, 7.0, 0.0, 4.0, 7.0, 7.0, 0.0, '\n", + " '4.0, 0.0, 0.0, 7.0, 0.0, 0.0, 169.0, 0.0, 0.0, '\n", + " '169.0, 0.0, 169.0, 0.0, 0.0, 169.0, 0.0, 0.0, '\n", + " '169.0, 0.0, 137.0, 0.0, 134.0, 0.0, 134.0, 0.0, '\n", + " '134.0, 0.0, 137.0, 0.0, 137.0, 0.0, 136.0',\n", + " 'services_steel_4_to_8_in': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 6.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, '\n", + " '1.0, 0.0, 1.0, 0.0, 1.0',\n", + " 'services_steel_total': '9.0, 9.0, 9.0, 10.0, 12.0, 3.0, 42.0, 43.0, 4.0, '\n", + " '44.0, 4.0, 4.0, 44.0, 4.0, 4.0, 44.0, 0.0, 100.0, '\n", + " '100.0, 1.0, 279.0, 4.0, 279.0, 1.0, 4.0, 4.0, 1.0, '\n", + " '279.0, 4.0, 1.0, 279.0, 0.0, 4.0, 279.0, 279.0, 0.0, '\n", + " '4.0, 0.0, 0.0, 279.0, 0.0, 0.0, 180.0, 0.0, 0.0, '\n", + " '180.0, 0.0, 180.0, 0.0, 0.0, 181.0, 0.0, 0.0, 181.0, '\n", + " '0.0, 152.0, 0.0, 144.0, 0.0, 144.0, 0.0, 144.0, 0.0, '\n", + " '147.0, 0.0, 147.0, 0.0, 148.0',\n", + " 'services_total': '9.0, 9.0, 9.0, 10.0, 12.0, 3.0, 42.0, 43, 4, 44, 4, 4.0, '\n", + " '44.0, 4.0, 4.0, 44.0, 0.0, 100.0, 100.0, 1.0, 279.0, 4.0, '\n", + " '279.0, 1.0, 4.0, 4.0, 1.0, 279.0, 4.0, 1.0, 279.0, 3.0, '\n", + " '4.0, 279.0, 279.0, 3.0, 4.0, 3.0, 4.0, 279.0, 3.0, 4.0, '\n", + " '235.0, 4.0, 4.0, 237.0, 4.0, 237.0, 3.0, 4.0, 238.0, 4.0, '\n", + " '4.0, 238.0, 8.0, 230.0, 8.0, 226.0, 8.0, 226.0, 16.0, '\n", + " '226.0, 8.0, 231.0, 8.0, 239.0, 8.0, 241.0',\n", + " 'services_unprotected_steel_bare': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", + " 'nan, 0.0, 0.0, nan, 0.0, nan, nan, nan, '\n", + " 'nan, 1.0, nan, 1.0, nan, 1.0, nan, 1.0, '\n", + " 'nan, 1.0, nan, 1.0',\n", + " 'supplemental_report_number': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, 1264.0, 1959.0, 1263.0, 3904.0, 3382.0, '\n", + " '3605.0, 5121.0, 5119.0, 5120.0, 7267.0, '\n", + " '7268.0, 8449.0, 10135.0, 10125.0, 10134.0, '\n", + " '12987.0, 12988.0, 12992.0, 16574.0, 16573.0, '\n", + " '15070.0, 16430.0, 16524.0, 16535.0, 19244.0, '\n", + " '21893.0, 22018.0, 23855.0, 23867.0, 26768.0, '\n", + " '26767.0, 26766.0, 31773.0, 31776.0, 31770.0, '\n", + " '35673.0, 35670.0, 37854.0, 37853.0, 39948.0, '\n", + " '39949.0, 42977.0, 41980.0, 46134.0, 46130.0, '\n", + " '49242.0, 49241.0, 55521.0, 55520.0',\n", + " 'supplementary_report': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, Y, Y, '\n", + " 'Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", + " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan'}\n", + "additional_information\n", + "all_known_leaks_scheduled_for_repair\n", + "all_leaks_construction_defect_mains\n", + "all_leaks_construction_defect_services\n", + "all_leaks_corrosion_failure_mains\n", + "all_leaks_corrosion_failure_services\n", + "all_leaks_equipment_failure_mains\n", + "all_leaks_equipment_failure_services\n", + "all_leaks_excavation_damage_mains\n", + "all_leaks_excavation_damage_services\n", + "all_leaks_incorrect_operation_mains\n", + "all_leaks_incorrect_operation_services\n", + "all_leaks_material_defect_mains\n", + "all_leaks_material_defect_services\n", + "all_leaks_natural_force_damage_mains\n", + "all_leaks_natural_force_damage_services\n", + "all_leaks_other_mains\n", + "all_leaks_other_outside_force_mains\n", + "all_leaks_other_outside_force_services\n", + "all_leaks_other_services\n", + "all_leaks_outside_force_mains\n", + "all_leaks_outside_force_services\n", + "all_leaks_pipe_weld_joint_failure_mains\n", + "all_leaks_pipe_weld_joint_failure_services\n", + "all_leaks_third_party_mains\n", + "all_leaks_third_party_services\n", + "average_service_length_feet\n", + "commodity\n", + "correction_date\n", + "data_date\n", + "data_maturity\n", + "excavation_damage_excavation_practices\n", + "excavation_damage_locating_practices\n", + "excavation_damage_one_call_notification\n", + "excavation_damage_other\n", + "excavation_damage_total\n", + "excavation_tickets\n", + "federal_land_leaks_repaired_or_scheduled\n", + "filing_date\n", + "form_revision\n", + "hazardous_leaks_corrosion_failure_mains\n", + "hazardous_leaks_corrosion_failure_services\n", + "hazardous_leaks_equipment_failure_mains\n", + "hazardous_leaks_equipment_failure_services\n", + "hazardous_leaks_excavation_damage_mains\n", + "hazardous_leaks_excavation_damage_services\n", + "hazardous_leaks_incorrect_operation_mains\n", + "hazardous_leaks_incorrect_operation_services\n", + "hazardous_leaks_mechanical_joint_failure\n", + "hazardous_leaks_natural_force_damage_mains\n", + "hazardous_leaks_natural_force_damage_services\n", + "hazardous_leaks_other_mains\n", + "hazardous_leaks_other_outside_force_mains\n", + "hazardous_leaks_other_outside_force_services\n", + "hazardous_leaks_other_services\n", + "hazardous_leaks_pipe_weld_joint_failure_mains\n", + "hazardous_leaks_pipe_weld_joint_failure_services\n", + "headquarters_address_city\n", + "headquarters_address_county\n", + "headquarters_address_state\n", + "headquarters_address_street\n", + "headquarters_address_zip\n", + "log\n", + "main_1940s_miles\n", + "main_1950s_miles\n", + "main_1960s_miles\n", + "main_1970s_miles\n", + "main_1980s_miles\n", + "main_1990s_miles\n", + "main_2000s_miles\n", + "main_2010s_miles\n", + "main_2020s_miles\n", + "main_abs_2_in_or_less_miles\n", + "main_abs_2_to_4_in_miles\n", + "main_abs_4_to_8_in_miles\n", + "main_abs_8_to_12_in_miles\n", + "main_abs_over_12_in_miles\n", + "main_abs_total_miles\n", + "main_abs_unknown_miles\n", + "main_all_materials_2_in_or_less_miles\n", + "main_all_materials_2_to_4_in_miles\n", + "main_all_materials_4_to_8_in_miles\n", + "main_all_materials_8_to_12_in_miles\n", + "main_all_materials_over_12_in_miles\n", + "main_all_materials_total_miles\n", + "main_all_materials_unknown_miles\n", + "main_all_time_miles\n", + "main_cast_or_wrought_iron_2_in_or_less_miles\n", + "main_cast_or_wrought_iron_2_to_4_in_miles\n", + "main_cast_or_wrought_iron_4_to_8_in_miles\n", + "main_cast_or_wrought_iron_8_to_12_in_miles\n", + "main_cast_or_wrought_iron_miles\n", + "main_cast_or_wrought_iron_over_12_in_miles\n", + "main_cast_or_wrought_iron_total_miles\n", + "main_cast_or_wrought_iron_unknown_miles\n", + "main_cathodically_protected_steel_bare_miles\n", + "main_cathodically_protected_steel_coated_miles\n", + "main_copper_2_in_or_less_miles\n", + "main_copper_2_to_4_in_miles\n", + "main_copper_4_to_8_in_miles\n", + "main_copper_8_to_12_in_miles\n", + "main_copper_miles\n", + "main_copper_over_12_in_miles\n", + "main_copper_total_miles\n", + "main_copper_unknown_miles\n", + "main_ductile_iron_2_in_or_less_miles\n", + "main_ductile_iron_2_to_4_in_miles\n", + "main_ductile_iron_4_to_8_in_miles\n", + "main_ductile_iron_8_to_12_in_miles\n", + "main_ductile_iron_miles\n", + "main_ductile_iron_over_12_in_miles\n", + "main_ductile_iron_total_miles\n", + "main_ductile_iron_unknown_miles\n", + "main_other_2_in_or_less_miles\n", + "main_other_2_to_4_in_miles\n", + "main_other_4_to_8_in_miles\n", + "main_other_8_to_12_in_miles\n", + "main_other_alt_2_in_or_less_miles\n", + "main_other_alt_2_to_4_in_miles\n", + "main_other_alt_4_to_8_in_miles\n", + "main_other_alt_8_to_12_in_miles\n", + "main_other_alt_miles\n", + "main_other_alt_over_12_in_miles\n", + "main_other_alt_total_miles\n", + "main_other_alt_unknown_miles\n", + "main_other_material_detail_miles\n", + "main_other_miles\n", + "main_other_over_12_in_miles\n", + "main_other_plastic_2_in_or_less_miles\n", + "main_other_plastic_2_to_4_in_miles\n", + "main_other_plastic_4_to_8_in_miles\n", + "main_other_plastic_8_to_12_in_miles\n", + "main_other_plastic_over_12_in_miles\n", + "main_other_plastic_total_miles\n", + "main_other_plastic_unknown_miles\n", + "main_other_total_miles\n", + "main_other_unknown_miles\n", + "main_pe_2_in_or_less_miles\n", + "main_pe_2_to_4_in_miles\n", + "main_pe_4_to_8_in_miles\n", + "main_pe_8_to_12_in_miles\n", + "main_pe_over_12_in_miles\n", + "main_pe_total_miles\n", + "main_pe_unknown_miles\n", + "main_plastic_miles\n", + "main_pre_1940_miles\n", + "main_pvc_2_in_or_less_miles\n", + "main_pvc_2_to_4_in_miles\n", + "main_pvc_4_to_8_in_miles\n", + "main_pvc_8_to_12_in_miles\n", + "main_pvc_over_12_in_miles\n", + "main_pvc_total_miles\n", + "main_pvc_unknown_miles\n", + "main_reconditioned_cast_iron_2_in_or_less_miles\n", + "main_reconditioned_cast_iron_2_to_4_in_miles\n", + "main_reconditioned_cast_iron_4_to_8_in_miles\n", + "main_reconditioned_cast_iron_8_to_12_in_miles\n", + "main_reconditioned_cast_iron_miles\n", + "main_reconditioned_cast_iron_over_12_in_miles\n", + "main_reconditioned_cast_iron_total_miles\n", + "main_reconditioned_cast_iron_unknown_miles\n", + "main_steel_2_in_or_less_miles\n", + "main_steel_2_to_4_in_miles\n", + "main_steel_4_to_8_in_miles\n", + "main_steel_8_to_12_in_miles\n", + "main_steel_over_12_in_miles\n", + "main_steel_total_miles\n", + "main_steel_unknown_miles\n", + "main_total_miles\n", + "main_unknown_decade_miles\n", + "main_unprotected_steel_bare_miles\n", + "main_unprotected_steel_coated_miles\n", + "office_address_city\n", + "office_address_county\n", + "office_address_state\n", + "office_address_street\n", + "office_address_zip\n", + "operating_state\n", + "operator_id_phmsa\n", + "operator_name_phmsa\n", + "operator_type\n", + "original_report\n", + "percent_unaccounted_for_gas\n", + "preparer_email\n", + "preparer_fax\n", + "preparer_name\n", + "preparer_phone\n", + "preparer_title\n", + "report_date\n", + "report_number\n", + "report_submission_type\n", + "report_year\n", + "services_1940s\n", + "services_1950s\n", + "services_1960s\n", + "services_1970s\n", + "services_1980s\n", + "services_1990s\n", + "services_2000s\n", + "services_2010s\n", + "services_2020s\n", + "services_abs_1_in_or_less\n", + "services_abs_1_to_2_in\n", + "services_abs_2_to_4_in\n", + "services_abs_4_to_8_in\n", + "services_abs_over_8_in\n", + "services_abs_total\n", + "services_abs_unknown\n", + "services_all_materials_1_in_or_less\n", + "services_all_materials_1_to_2_in\n", + "services_all_materials_2_to_4_in\n", + "services_all_materials_4_to_8_in\n", + "services_all_materials_over_8_in\n", + "services_all_materials_total\n", + "services_all_materials_unknown\n", + "services_all_time\n", + "services_cast_or_wrought_iron\n", + "services_cast_or_wrought_iron_1_in_or_less\n", + "services_cast_or_wrought_iron_1_to_2_in\n", + "services_cast_or_wrought_iron_2_to_4_in\n", + "services_cast_or_wrought_iron_4_to_8_in\n", + "services_cast_or_wrought_iron_over_8_in\n", + "services_cast_or_wrought_iron_total\n", + "services_cast_or_wrought_iron_unknown\n", + "services_cathodically_protected_steel_bare\n", + "services_cathodically_protected_steel_coated\n", + "services_copper\n", + "services_copper_1_in_or_less\n", + "services_copper_1_to_2_in\n", + "services_copper_2_to_4_in\n", + "services_copper_4_to_8_in\n", + "services_copper_over_8_in\n", + "services_copper_total\n", + "services_copper_unknown\n", + "services_ductile_iron\n", + "services_ductile_iron_1_in_or_less\n", + "services_ductile_iron_1_to_2_in\n", + "services_ductile_iron_2_to_4_in\n", + "services_ductile_iron_4_to_8_in\n", + "services_ductile_iron_over_8_in\n", + "services_ductile_iron_total\n", + "services_ductile_iron_unknown\n", + "services_efv_in_system\n", + "services_efv_installed\n", + "services_other\n", + "services_other_1_in_or_less\n", + "services_other_1_to_2_in\n", + "services_other_2_to_4_in\n", + "services_other_4_to_8_in\n", + "services_other_alt\n", + "services_other_alt_1_in_or_less\n", + "services_other_alt_1_to_2_in\n", + "services_other_alt_2_to_4_in\n", + "services_other_alt_4_to_8_in\n", + "services_other_alt_over_8_in\n", + "services_other_alt_total\n", + "services_other_alt_unknown\n", + "services_other_material_detail\n", + "services_other_over_8_in\n", + "services_other_plastic_1_in_or_less\n", + "services_other_plastic_1_to_2_in\n", + "services_other_plastic_2_to_4_in\n", + "services_other_plastic_4_to_8_in\n", + "services_other_plastic_over_8_in\n", + "services_other_plastic_total\n", + "services_other_plastic_unknown\n", + "services_other_total\n", + "services_other_unknown\n", + "services_pe_1_in_or_less\n", + "services_pe_1_to_2_in\n", + "services_pe_2_to_4_in\n", + "services_pe_4_to_8_in\n", + "services_pe_over_8_in\n", + "services_pe_total\n", + "services_pe_unknown\n", + "services_plastic\n", + "services_pre_1940\n", + "services_pvc_1_in_or_less\n", + "services_pvc_1_to_2_in\n", + "services_pvc_2_to_4_in\n", + "services_pvc_4_to_8_in\n", + "services_pvc_over_8_in\n", + "services_pvc_total\n", + "services_pvc_unknown\n", + "services_reconditioned_cast_iron\n", + "services_reconditioned_cast_iron_1_in_or_less\n", + "services_reconditioned_cast_iron_1_to_2_in\n", + "services_reconditioned_cast_iron_2_to_4_in\n", + "services_reconditioned_cast_iron_4_to_8_in\n", + "services_reconditioned_cast_iron_over_8_in\n", + "services_reconditioned_cast_iron_total\n", + "services_reconditioned_cast_iron_unknown\n", + "services_shutoff_valve_in_system\n", + "services_shutoff_valve_installed\n", + "services_steel_1_in_or_less\n", + "services_steel_1_to_2_in\n", + "services_steel_2_to_4_in\n", + "services_steel_4_to_8_in\n", + "services_steel_over_8_in\n", + "services_steel_total\n", + "services_steel_unknown\n", + "services_total\n", + "services_unknown_decade\n", + "services_unprotected_steel_bare\n", + "services_unprotected_steel_coated\n", + "supplemental_report_number\n", + "supplementary_report\n" ] } ], "source": [ - "nan_cols = []\n", - "exception_cols = []\n", - "\n", - "# Define custom missing value markers\n", - "custom_missing_values = ['', ' ', 'NA', 'N/A', 'NULL', '-', 'None', 'NaN', '?', '*', '#']\n", - "\n", - "# Standardize NAs and analyze columns\n", - "for col in core_phmsagas__yearly_distribution_operators.columns:\n", - " try:\n", - " print(f\"Analyzing column: {col}\")\n", - " \n", - " # Get the column values\n", - " col_data = core_phmsagas__yearly_distribution_operators[col]\n", - " \n", - " # Check if the column is of string (object) type\n", - " if col_data.dtype == 'object':\n", - " # Count rows where the value is NaN, None, empty string, or custom missing values\n", - " none_count = col_data.isna().sum() # Count None (NaN)\n", - " empty_string_count = (col_data.str.strip() == '').sum() # Count empty strings\n", - " custom_missing_count = col_data.isin(custom_missing_values).sum() # Count custom missing values\n", - " \n", - " total_nan_count = none_count + empty_string_count + custom_missing_count\n", - " \n", - " if total_nan_count > 0:\n", - " nan_cols.append(col)\n", - " \n", - " # Output counts\n", - " print(f\"Column '{col}' is a string type.\")\n", - " if none_count > 0 or empty_string_count > 0 or custom_missing_count > 0:\n", - " print(f\"Rows with None values: {none_count}\")\n", - " print(f\"Rows with empty strings: {empty_string_count}\")\n", - " print(f\"Rows with custom missing values: {custom_missing_count}\")\n", - " else:\n", - " print(\"Found nothing worth reporting here\")\n", - " \n", - " # Check if the column is numeric (int or float)\n", - " elif pd.api.types.is_numeric_dtype(col_data):\n", - " # Output min, max, out-of-range values, and NA count\n", - " print(f\"Column '{col}' is numeric.\")\n", - "\n", - " # Count NA values in the column\n", - " na_count = col_data.isna().sum()\n", - " # Count custom missing values in numeric columns (if applicable)\n", - " custom_missing_numeric_count = col_data.isin([0]).sum() # Assuming 0 is considered a missing value\n", - " \n", - " if na_count > 0 or custom_missing_numeric_count > 0:\n", - " nan_cols.append(col)\n", - " \n", - " # Handle the non-NA data for further analysis\n", - " col_data_cleaned = col_data.dropna()\n", - " \n", - " if not col_data_cleaned.empty:\n", - " # Calculate min and max\n", - " min_val = col_data_cleaned.min()\n", - " max_val = col_data_cleaned.max()\n", - " \n", - " if min_val < 0 or na_count > 0 or custom_missing_numeric_count > 0:\n", - " print(f\"Min value: {min_val}\")\n", - " print(f\"Max value: {max_val}\")\n", - " print(f\"Rows with NA values: {na_count}\")\n", - " print(f\"Custom missing values (e.g., 0): {custom_missing_numeric_count}\")\n", - " else:\n", - " print(\"Found nothing worth reporting here\")\n", - " else:\n", - " print(f\"Column '{col}' is numeric but contains only NA values.\")\n", - " \n", - " # If the column is of some other type, simply note the type\n", - " else:\n", - " print(f\"Column '{col}' is of type {col_data.dtype}.\")\n", - " print(\"\")\n", - " except Exception as e:\n", - " exception_cols.append(col)\n", - " print(f\"Caught exception for column {col}: {e}\\n\")\n", - " continue\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "exception_cols" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### percent_unaccounted_for_gas\n", - "\n", - "The one thing that did stick out somewhat was the \"percent_unaccounted_for_gas\" column having negative values.\n", + "# What values are different when we look at AMARILLO NATURAL GAS INC (ID 383)\n", + "filtered_df = raw_df[raw_df.operator_id_phmsa==383.0]\n", "\n", - "This comes from Part G of the PHMSA form, which defines this value as:\n", + "columns_with_differences = filtered_df.loc[:, filtered_df.nunique() > 1]\n", "\n", - "```\n", - "Unaccounted for gas as a percent of total consumption for the 12 months ending June 30 of the reporting year.\n", - "[(Purchased gas + produced gas) minus (customer use + company use + appropriate adjustments)] divided by (customer use + company use + appropriate adjustments) times 100 equals percent unaccounted for.\n", - "```\n", + "result_dict = {\n", + " col: \", \".join(map(str, columns_with_differences[col].values))\n", + " for col in columns_with_differences.columns\n", + "}\n", "\n", - "Based on that description, it sounds like negative values here suggest that a company produced/purchased less gas than was consumed. But also it's hard to tell exactly what these figures mean (especially the \"appropriate adjustments\" part).\n", + "# Step 4: Pretty print the dictionary\n", + "import pprint\n", + "pprint.pprint(result_dict)\n", + "sorted_columns = sorted(raw_df.columns)\n", "\n", - "So the question is: are we okay with these negative values? Or do we want to manually clean them up somehow?" + "# Pretty print the sorted columns\n", + "for col in sorted_columns:\n", + " print(col)" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 8, "metadata": {}, "outputs": [ { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
percent_unaccounted_for_gas
2-1.600
11-5.090
14-5.000
30-17.802
35-7.000
......
1401-0.480
1412-0.232
1415-6.360
1416-2.910
1424-1.650
\n", - "

214 rows × 1 columns

\n", - "
" - ], - "text/plain": [ - " percent_unaccounted_for_gas\n", - "2 -1.600\n", - "11 -5.090\n", - "14 -5.000\n", - "30 -17.802\n", - "35 -7.000\n", - "... ...\n", - "1401 -0.480\n", - "1412 -0.232\n", - "1415 -6.360\n", - "1416 -2.910\n", - "1424 -1.650\n", - "\n", - "[214 rows x 1 columns]" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "additional_information\n", + "all_known_leaks_scheduled_for_repair\n", + "all_leaks_construction_defect_mains\n", + "all_leaks_construction_defect_services\n", + "all_leaks_corrosion_failure_mains\n", + "all_leaks_corrosion_failure_services\n", + "all_leaks_equipment_failure_mains\n", + "all_leaks_equipment_failure_services\n", + "all_leaks_excavation_damage_mains\n", + "all_leaks_excavation_damage_services\n", + "all_leaks_incorrect_operation_mains\n", + "all_leaks_incorrect_operation_services\n", + "all_leaks_material_defect_mains\n", + "all_leaks_material_defect_services\n", + "all_leaks_natural_force_damage_mains\n", + "all_leaks_natural_force_damage_services\n", + "all_leaks_other_mains\n", + "all_leaks_other_outside_force_mains\n", + "all_leaks_other_outside_force_services\n", + "all_leaks_other_services\n", + "all_leaks_outside_force_mains\n", + "all_leaks_outside_force_services\n", + "all_leaks_pipe_weld_joint_failure_mains\n", + "all_leaks_pipe_weld_joint_failure_services\n", + "all_leaks_third_party_mains\n", + "all_leaks_third_party_services\n", + "average_service_length_feet\n", + "commodity\n", + "correction_date\n", + "data_date\n", + "data_maturity\n", + "excavation_damage_excavation_practices\n", + "excavation_damage_locating_practices\n", + "excavation_damage_one_call_notification\n", + "excavation_damage_other\n", + "excavation_damage_total\n", + "excavation_tickets\n", + "federal_land_leaks_repaired_or_scheduled\n", + "filing_date\n", + "form_revision\n", + "hazardous_leaks_corrosion_failure_mains\n", + "hazardous_leaks_corrosion_failure_services\n", + "hazardous_leaks_equipment_failure_mains\n", + "hazardous_leaks_equipment_failure_services\n", + "hazardous_leaks_excavation_damage_mains\n", + "hazardous_leaks_excavation_damage_services\n", + "hazardous_leaks_incorrect_operation_mains\n", + "hazardous_leaks_incorrect_operation_services\n", + "hazardous_leaks_mechanical_joint_failure\n", + "hazardous_leaks_natural_force_damage_mains\n", + "hazardous_leaks_natural_force_damage_services\n", + "hazardous_leaks_other_mains\n", + "hazardous_leaks_other_outside_force_mains\n", + "hazardous_leaks_other_outside_force_services\n", + "hazardous_leaks_other_services\n", + "hazardous_leaks_pipe_weld_joint_failure_mains\n", + "hazardous_leaks_pipe_weld_joint_failure_services\n", + "headquarters_address_city\n", + "headquarters_address_county\n", + "headquarters_address_state\n", + "headquarters_address_street\n", + "headquarters_address_zip\n", + "log\n", + "main_1940s_miles\n", + "main_1950s_miles\n", + "main_1960s_miles\n", + "main_1970s_miles\n", + "main_1980s_miles\n", + "main_1990s_miles\n", + "main_2000s_miles\n", + "main_2010s_miles\n", + "main_2020s_miles\n", + "main_abs_2_in_or_less_miles\n", + "main_abs_2_to_4_in_miles\n", + "main_abs_4_to_8_in_miles\n", + "main_abs_8_to_12_in_miles\n", + "main_abs_over_12_in_miles\n", + "main_abs_total_miles\n", + "main_abs_unknown_miles\n", + "main_all_materials_2_in_or_less_miles\n", + "main_all_materials_2_to_4_in_miles\n", + "main_all_materials_4_to_8_in_miles\n", + "main_all_materials_8_to_12_in_miles\n", + "main_all_materials_over_12_in_miles\n", + "main_all_materials_total_miles\n", + "main_all_materials_unknown_miles\n", + "main_all_time_miles\n", + "main_cast_or_wrought_iron_2_in_or_less_miles\n", + "main_cast_or_wrought_iron_2_to_4_in_miles\n", + "main_cast_or_wrought_iron_4_to_8_in_miles\n", + "main_cast_or_wrought_iron_8_to_12_in_miles\n", + "main_cast_or_wrought_iron_miles\n", + "main_cast_or_wrought_iron_over_12_in_miles\n", + "main_cast_or_wrought_iron_total_miles\n", + "main_cast_or_wrought_iron_unknown_miles\n", + "main_cathodically_protected_steel_bare_miles\n", + "main_cathodically_protected_steel_coated_miles\n", + "main_copper_2_in_or_less_miles\n", + "main_copper_2_to_4_in_miles\n", + "main_copper_4_to_8_in_miles\n", + "main_copper_8_to_12_in_miles\n", + "main_copper_miles\n", + "main_copper_over_12_in_miles\n", + "main_copper_total_miles\n", + "main_copper_unknown_miles\n", + "main_ductile_iron_2_in_or_less_miles\n", + "main_ductile_iron_2_to_4_in_miles\n", + "main_ductile_iron_4_to_8_in_miles\n", + "main_ductile_iron_8_to_12_in_miles\n", + "main_ductile_iron_miles\n", + "main_ductile_iron_over_12_in_miles\n", + "main_ductile_iron_total_miles\n", + "main_ductile_iron_unknown_miles\n", + "main_other_2_in_or_less_miles\n", + "main_other_2_to_4_in_miles\n", + "main_other_4_to_8_in_miles\n", + "main_other_8_to_12_in_miles\n", + "main_other_alt_2_in_or_less_miles\n", + "main_other_alt_2_to_4_in_miles\n", + "main_other_alt_4_to_8_in_miles\n", + "main_other_alt_8_to_12_in_miles\n", + "main_other_alt_miles\n", + "main_other_alt_over_12_in_miles\n", + "main_other_alt_total_miles\n", + "main_other_alt_unknown_miles\n", + "main_other_material_detail_miles\n", + "main_other_miles\n", + "main_other_over_12_in_miles\n", + "main_other_plastic_2_in_or_less_miles\n", + "main_other_plastic_2_to_4_in_miles\n", + "main_other_plastic_4_to_8_in_miles\n", + "main_other_plastic_8_to_12_in_miles\n", + "main_other_plastic_over_12_in_miles\n", + "main_other_plastic_total_miles\n", + "main_other_plastic_unknown_miles\n", + "main_other_total_miles\n", + "main_other_unknown_miles\n", + "main_pe_2_in_or_less_miles\n", + "main_pe_2_to_4_in_miles\n", + "main_pe_4_to_8_in_miles\n", + "main_pe_8_to_12_in_miles\n", + "main_pe_over_12_in_miles\n", + "main_pe_total_miles\n", + "main_pe_unknown_miles\n", + "main_plastic_miles\n", + "main_pre_1940_miles\n", + "main_pvc_2_in_or_less_miles\n", + "main_pvc_2_to_4_in_miles\n", + "main_pvc_4_to_8_in_miles\n", + "main_pvc_8_to_12_in_miles\n", + "main_pvc_over_12_in_miles\n", + "main_pvc_total_miles\n", + "main_pvc_unknown_miles\n", + "main_reconditioned_cast_iron_2_in_or_less_miles\n", + "main_reconditioned_cast_iron_2_to_4_in_miles\n", + "main_reconditioned_cast_iron_4_to_8_in_miles\n", + "main_reconditioned_cast_iron_8_to_12_in_miles\n", + "main_reconditioned_cast_iron_miles\n", + "main_reconditioned_cast_iron_over_12_in_miles\n", + "main_reconditioned_cast_iron_total_miles\n", + "main_reconditioned_cast_iron_unknown_miles\n", + "main_steel_2_in_or_less_miles\n", + "main_steel_2_to_4_in_miles\n", + "main_steel_4_to_8_in_miles\n", + "main_steel_8_to_12_in_miles\n", + "main_steel_over_12_in_miles\n", + "main_steel_total_miles\n", + "main_steel_unknown_miles\n", + "main_total_miles\n", + "main_unknown_decade_miles\n", + "main_unprotected_steel_bare_miles\n", + "main_unprotected_steel_coated_miles\n", + "office_address_city\n", + "office_address_county\n", + "office_address_state\n", + "office_address_street\n", + "office_address_zip\n", + "operating_state\n", + "operator_id_phmsa\n", + "operator_name_phmsa\n", + "operator_type\n", + "original_report\n", + "percent_unaccounted_for_gas\n", + "preparer_email\n", + "preparer_fax\n", + "preparer_name\n", + "preparer_phone\n", + "preparer_title\n", + "report_date\n", + "report_number\n", + "report_submission_type\n", + "report_year\n", + "services_1940s\n", + "services_1950s\n", + "services_1960s\n", + "services_1970s\n", + "services_1980s\n", + "services_1990s\n", + "services_2000s\n", + "services_2010s\n", + "services_2020s\n", + "services_abs_1_in_or_less\n", + "services_abs_1_to_2_in\n", + "services_abs_2_to_4_in\n", + "services_abs_4_to_8_in\n", + "services_abs_over_8_in\n", + "services_abs_total\n", + "services_abs_unknown\n", + "services_all_materials_1_in_or_less\n", + "services_all_materials_1_to_2_in\n", + "services_all_materials_2_to_4_in\n", + "services_all_materials_4_to_8_in\n", + "services_all_materials_over_8_in\n", + "services_all_materials_total\n", + "services_all_materials_unknown\n", + "services_all_time\n", + "services_cast_or_wrought_iron\n", + "services_cast_or_wrought_iron_1_in_or_less\n", + "services_cast_or_wrought_iron_1_to_2_in\n", + "services_cast_or_wrought_iron_2_to_4_in\n", + "services_cast_or_wrought_iron_4_to_8_in\n", + "services_cast_or_wrought_iron_over_8_in\n", + "services_cast_or_wrought_iron_total\n", + "services_cast_or_wrought_iron_unknown\n", + "services_cathodically_protected_steel_bare\n", + "services_cathodically_protected_steel_coated\n", + "services_copper\n", + "services_copper_1_in_or_less\n", + "services_copper_1_to_2_in\n", + "services_copper_2_to_4_in\n", + "services_copper_4_to_8_in\n", + "services_copper_over_8_in\n", + "services_copper_total\n", + "services_copper_unknown\n", + "services_ductile_iron\n", + "services_ductile_iron_1_in_or_less\n", + "services_ductile_iron_1_to_2_in\n", + "services_ductile_iron_2_to_4_in\n", + "services_ductile_iron_4_to_8_in\n", + "services_ductile_iron_over_8_in\n", + "services_ductile_iron_total\n", + "services_ductile_iron_unknown\n", + "services_efv_in_system\n", + "services_efv_installed\n", + "services_other\n", + "services_other_1_in_or_less\n", + "services_other_1_to_2_in\n", + "services_other_2_to_4_in\n", + "services_other_4_to_8_in\n", + "services_other_alt\n", + "services_other_alt_1_in_or_less\n", + "services_other_alt_1_to_2_in\n", + "services_other_alt_2_to_4_in\n", + "services_other_alt_4_to_8_in\n", + "services_other_alt_over_8_in\n", + "services_other_alt_total\n", + "services_other_alt_unknown\n", + "services_other_material_detail\n", + "services_other_over_8_in\n", + "services_other_plastic_1_in_or_less\n", + "services_other_plastic_1_to_2_in\n", + "services_other_plastic_2_to_4_in\n", + "services_other_plastic_4_to_8_in\n", + "services_other_plastic_over_8_in\n", + "services_other_plastic_total\n", + "services_other_plastic_unknown\n", + "services_other_total\n", + "services_other_unknown\n", + "services_pe_1_in_or_less\n", + "services_pe_1_to_2_in\n", + "services_pe_2_to_4_in\n", + "services_pe_4_to_8_in\n", + "services_pe_over_8_in\n", + "services_pe_total\n", + "services_pe_unknown\n", + "services_plastic\n", + "services_pre_1940\n", + "services_pvc_1_in_or_less\n", + "services_pvc_1_to_2_in\n", + "services_pvc_2_to_4_in\n", + "services_pvc_4_to_8_in\n", + "services_pvc_over_8_in\n", + "services_pvc_total\n", + "services_pvc_unknown\n", + "services_reconditioned_cast_iron\n", + "services_reconditioned_cast_iron_1_in_or_less\n", + "services_reconditioned_cast_iron_1_to_2_in\n", + "services_reconditioned_cast_iron_2_to_4_in\n", + "services_reconditioned_cast_iron_4_to_8_in\n", + "services_reconditioned_cast_iron_over_8_in\n", + "services_reconditioned_cast_iron_total\n", + "services_reconditioned_cast_iron_unknown\n", + "services_shutoff_valve_in_system\n", + "services_shutoff_valve_installed\n", + "services_steel_1_in_or_less\n", + "services_steel_1_to_2_in\n", + "services_steel_2_to_4_in\n", + "services_steel_4_to_8_in\n", + "services_steel_over_8_in\n", + "services_steel_total\n", + "services_steel_unknown\n", + "services_total\n", + "services_unknown_decade\n", + "services_unprotected_steel_bare\n", + "services_unprotected_steel_coated\n", + "supplemental_report_number\n", + "supplementary_report\n" + ] } ], "source": [ - "core_phmsagas__yearly_distribution_operators[core_phmsagas__yearly_distribution_operators.percent_unaccounted_for_gas<0][[\"percent_unaccounted_for_gas\"]]" + "# Let's look at all the columns that are available\n", + "sorted_cols = sorted(raw_df.columns)\n", + "\n", + "for col in sorted_cols:\n", + " print(col)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Standardize usage of office vs HQ address over time." + "## core_phmsagas__yearly_distribution_operators" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -4669,425 +5993,666 @@ " \n", " \n", " 0\n", - " 2023-03-06 16:30:43\n", - " 20230656.0\n", - " INITIAL\n", - " 2022.0\n", + " NaT\n", + " 19901506.0\n", + " NaN\n", + " 1990.0\n", " 18.0\n", " ABBYVILLE, CITY OF\n", - " PO BOX 100\n", + " P O BOX 100\n", " ABBYVILLE\n", " KS\n", - " 67510\n", - " Reno\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 1.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 67510.0\n", + " RENO\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", - " 5.00\n", " NaN\n", - " (620) 500-5758\n", - " cityofabbyville@hotmail.com\n", - " Mindy Iverson\n", - " (620) 286-5643\n", - " agent\n", - " ABBYVILLE\n", " NaN\n", - " KS\n", - " P O BOX 100\n", - " 67510\n", + " 3162865404\n", + " NaN\n", + " DEBRA EHLING\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " \n", " \n", " 1\n", - " 2023-02-15 13:07:14\n", - " 20230299.0\n", - " INITIAL\n", - " 2022.0\n", + " NaT\n", + " 19900095.0\n", + " NaN\n", + " 1990.0\n", " 27.0\n", " ABITA SPRINGS NAT GAS & WATER\n", - " 222 Highway 19\n", - " SLAUGHTER\n", + " LEVEL STREET\n", + " ABITA SPRINGS\n", " LA\n", - " 70777-3521\n", + " 70420.0\n", + " ST. TAMMANY\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 2.0\n", - " 0.0\n", - " 1.0\n", - " 0.0\n", - " 3.0\n", - " 1047.0\n", - " 133.0\n", - " 27.0\n", - " 25.0\n", - " 0.0\n", " 0.0\n", - " 3.90\n", + " 4.0\n", + " NaN\n", + " 5048920711\n", + " NaN\n", + " BARBARA GIANCONTIERI\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " (000) 000-0000\n", - " kewing.pip@gmail.com\n", - " Kaylan A. Ewing\n", - " (225) 286-5650\n", - " Consultant\n", - " ABITA SPRINGS\n", " NaN\n", - " LA\n", - " 22161 LEVEL STREET, PO BOX 461\n", - " 70420\n", " \n", " \n", " 2\n", - " 2023-03-15 14:08:48\n", - " 20231215.0\n", - " INITIAL\n", - " 2022.0\n", + " NaT\n", + " 19900947.0\n", + " NaN\n", + " 1990.0\n", " 45.0\n", " ADAIRSVILLE, CITY OF\n", - " 2369 Hall Station Rd NW\n", - " Adairsville\n", + " P.O. BOX 830\n", + " ADAIRSVILLE\n", " GA\n", - " 30103\n", - " Bartow\n", + " 30103.0\n", + " BARTOW\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 1.0\n", " NaN\n", " NaN\n", - " 1.0\n", - " 1815.0\n", - " 1292.0\n", - " 68.0\n", - " 2.0\n", " 0.0\n", " 0.0\n", - " -1.60\n", - " This report prepared by: Maurice Chaney Munici...\n", - " (678) 819-0957\n", - " mchaney@gasauthority.com\n", - " MAURICE CHANEY\n", - " (770) 851-3094\n", - " Consultant\n", - " ADAIRSVILLE\n", " NaN\n", - " GA\n", - " 116 PUBLIC SQUARE\n", - " 30103\n", + " 4044221902\n", + " NaN\n", + " CHRIS STRIPPELHOFF - CONSULTANT\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " \n", " \n", " 3\n", - " 2023-03-06 11:55:36\n", - " 20230639.0\n", - " INITIAL\n", - " 2022.0\n", + " NaT\n", + " 19901193.0\n", + " NaN\n", + " 1990.0\n", " 49.0\n", - " TOWN OF ADAMSVILLE GAS DEPT\n", - " 203 Sunrise Drive 231 East Main Street\n", - " Adamsville\n", + " ADAMSVILLE GAS DEPT, TOWN OF\n", + " 231 EAST MAIN STREET\n", + " ADAMSVILLE\n", " TN\n", - " 38310\n", - " McNairy\n", - " 8.0\n", - " 5.0\n", - " 2.0\n", - " 0.0\n", - " 15.0\n", - " 963.0\n", - " 671.0\n", - " 7.0\n", - " 8.0\n", - " 3.0\n", + " 38310.0\n", + " MCNAIRY\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", - " 5.42\n", - " We have stopped using the radio read transpond...\n", - " (000) 000-0000\n", - " scottklinck@yahoo.com\n", - " Scott Klinck\n", - " (731) 632-4214\n", - " Publc Works Director\n", - " ADAMSVILLE\n", + " 3.8\n", + " NaN\n", + " 9016324214\n", + " NaN\n", + " E. GEORGE LECKNER, JR. - GAS SYSTEM ANALYST\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " TN\n", - " 231 EAST MAIN STREET P O BOX 301\n", - " 38310\n", " \n", " \n", " 4\n", - " 2023-02-14 15:41:24\n", - " 20230289.0\n", - " INITIAL\n", - " 2022.0\n", + " NaT\n", + " 19900948.0\n", + " NaN\n", + " 1990.0\n", " 54.0\n", " ADEL GAS DEPT, CITY OF\n", - " P.O. Box 1530\n", - " Adel\n", + " CITY HALL - P.O. BOX 658\n", + " ADEL\n", " GA\n", - " 31620\n", - " Cook\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 448.0\n", - " 102.0\n", - " 3.0\n", - " 2.0\n", - " 0.0\n", + " 31620.0\n", + " COOK\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " 0.0\n", - " 0.00\n", + " 3.5\n", + " NaN\n", + " 4044221902\n", + " NaN\n", + " CHRIS STRIPPELHOFF - CONSULTANT\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " (000) 000-0000\n", - " peterschultzharpassociates@yahoo.com\n", - " Peter Schultz\n", - " (229) 834-6246\n", - " agent\n", - " ADEL\n", " NaN\n", - " GA\n", - " P.O. BOX 1530\n", - " 31620\n", " \n", " \n", "\n", "" ], "text/plain": [ - " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip\n", - "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 5.00 NaN (620) 500-5758 cityofabbyville@hotmail.com Mindy Iverson (620) 286-5643 agent ABBYVILLE NaN KS P O BOX 100 67510\n", - "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN 2.0 0.0 1.0 0.0 3.0 1047.0 133.0 27.0 25.0 0.0 0.0 3.90 NaN (000) 000-0000 kewing.pip@gmail.com Kaylan A. Ewing (225) 286-5650 Consultant ABITA SPRINGS NaN LA 22161 LEVEL STREET, PO BOX 461 70420\n", - "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow NaN 1.0 NaN NaN 1.0 1815.0 1292.0 68.0 2.0 0.0 0.0 -1.60 This report prepared by: Maurice Chaney Munici... (678) 819-0957 mchaney@gasauthority.com MAURICE CHANEY (770) 851-3094 Consultant ADAIRSVILLE NaN GA 116 PUBLIC SQUARE 30103\n", - "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy 8.0 5.0 2.0 0.0 15.0 963.0 671.0 7.0 8.0 3.0 0.0 5.42 We have stopped using the radio read transpond... (000) 000-0000 scottklinck@yahoo.com Scott Klinck (731) 632-4214 Publc Works Director ADAMSVILLE NaN TN 231 EAST MAIN STREET P O BOX 301 38310\n", - "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook 0.0 0.0 0.0 0.0 0.0 448.0 102.0 3.0 2.0 0.0 0.0 0.00 NaN (000) 000-0000 peterschultzharpassociates@yahoo.com Peter Schultz (229) 834-6246 agent ADEL NaN GA P.O. BOX 1530 31620" + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip\n", + "0 NaT 19901506.0 NaN 1990.0 18.0 ABBYVILLE, CITY OF P O BOX 100 ABBYVILLE KS 67510.0 RENO NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 NaN NaN 3162865404 NaN DEBRA EHLING NaN NaN NaN NaN NaN NaN NaN\n", + "1 NaT 19900095.0 NaN 1990.0 27.0 ABITA SPRINGS NAT GAS & WATER LEVEL STREET ABITA SPRINGS LA 70420.0 ST. TAMMANY NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 4.0 NaN 5048920711 NaN BARBARA GIANCONTIERI NaN NaN NaN NaN NaN NaN NaN\n", + "2 NaT 19900947.0 NaN 1990.0 45.0 ADAIRSVILLE, CITY OF P.O. BOX 830 ADAIRSVILLE GA 30103.0 BARTOW NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN 4044221902 NaN CHRIS STRIPPELHOFF - CONSULTANT NaN NaN NaN NaN NaN NaN NaN\n", + "3 NaT 19901193.0 NaN 1990.0 49.0 ADAMSVILLE GAS DEPT, TOWN OF 231 EAST MAIN STREET ADAMSVILLE TN 38310.0 MCNAIRY NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 3.8 NaN 9016324214 NaN E. GEORGE LECKNER, JR. - GAS SYSTEM ANALYST NaN NaN NaN NaN NaN NaN NaN\n", + "4 NaT 19900948.0 NaN 1990.0 54.0 ADEL GAS DEPT, CITY OF CITY HALL - P.O. BOX 658 ADEL GA 31620.0 COOK NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 3.5 NaN 4044221902 NaN CHRIS STRIPPELHOFF - CONSULTANT NaN NaN NaN NaN NaN NaN NaN" ] }, - "execution_count": 14, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "core_phmsagas__yearly_distribution_operators = raw_df[[\n", + " \"report_date\",\n", + " \"report_number\",\n", + " \"report_submission_type\",\n", + " \"report_year\",\n", + " \"operator_id_phmsa\",\n", + " \"operator_name_phmsa\",\n", + " \"office_address_street\",\n", + " \"office_address_city\",\n", + " \"office_address_state\",\n", + " \"office_address_zip\",\n", + " \"office_address_county\",\n", + " \"excavation_damage_excavation_practices\",\n", + " \"excavation_damage_locating_practices\",\n", + " \"excavation_damage_one_call_notification\",\n", + " \"excavation_damage_other\",\n", + " \"excavation_damage_total\",\n", + " \"excavation_tickets\",\n", + " \"services_efv_in_system\",\n", + " \"services_efv_installed\",\n", + " \"services_shutoff_valve_in_system\",\n", + " \"services_shutoff_valve_installed\",\n", + " \"federal_land_leaks_repaired_or_scheduled\",\n", + " \"percent_unaccounted_for_gas\",\n", + " \"additional_information\",\n", + " \"preparer_email\",\n", + " \"preparer_fax\",\n", + " \"preparer_name\",\n", + " \"preparer_phone\",\n", + " \"preparer_title\",\n", + " # Adding these fields temporarily for transformation cleanup\n", + " \"headquarters_address_city\",\n", + " \"headquarters_address_county\",\n", + " \"headquarters_address_state\",\n", + " \"headquarters_address_street\",\n", + " \"headquarters_address_zip\"\n", + "]]\n", + "\n", "core_phmsagas__yearly_distribution_operators.head()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Operator Table Tasks" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Standardize NAs\n", + "\n", + "Based on the analysis below, I'm not seeing any major issues with nans. \n", + "\n", + "* No empty strings. Just nans.\n" + ] + }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 10, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "Index(['report_date', 'report_number', 'report_submission_type', 'report_year', 'operator_id_phmsa', 'operator_name_phmsa', 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_county', 'excavation_damage_excavation_practices', 'excavation_damage_locating_practices', 'excavation_damage_one_call_notification', 'excavation_damage_other', 'excavation_damage_total', 'excavation_tickets', 'services_efv_in_system', 'services_efv_installed', 'services_shutoff_valve_in_system', 'services_shutoff_valve_installed', 'federal_land_leaks_repaired_or_scheduled', 'percent_unaccounted_for_gas', 'additional_information', 'preparer_email', 'preparer_fax', 'preparer_name', 'preparer_phone', 'preparer_title', 'headquarters_address_city', 'headquarters_address_county', 'headquarters_address_state', 'headquarters_address_street', 'headquarters_address_zip'], dtype='object')" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "Analyzing column: report_date\n", + "Column 'report_date' is of type datetime64[ns].\n", + "\n", + "Analyzing column: report_number\n", + "Column 'report_number' is numeric.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: report_submission_type\n", + "Column 'report_submission_type' is a string type.\n", + "Rows with None values: 30059\n", + "Rows with empty strings: 0\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: report_year\n", + "Column 'report_year' is numeric.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: operator_id_phmsa\n", + "Column 'operator_id_phmsa' is numeric.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: operator_name_phmsa\n", + "Column 'operator_name_phmsa' is a string type.\n", + "Found nothing worth reporting here\n", + "\n", + "Analyzing column: office_address_street\n", + "Column 'office_address_street' is a string type.\n", + "Rows with None values: 59\n", + "Rows with empty strings: 3\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: office_address_city\n", + "Column 'office_address_city' is a string type.\n", + "Rows with None values: 45\n", + "Rows with empty strings: 0\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: office_address_state\n", + "Column 'office_address_state' is a string type.\n", + "Rows with None values: 46\n", + "Rows with empty strings: 0\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: office_address_zip\n", + "Column 'office_address_zip' is a string type.\n", + "Rows with None values: 134\n", + "Rows with empty strings: 8\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: office_address_county\n", + "Column 'office_address_county' is a string type.\n", + "Rows with None values: 10729\n", + "Rows with empty strings: 291\n", + "Rows with custom missing values: 13\n", + "\n", + "Analyzing column: excavation_damage_excavation_practices\n", + "Column 'excavation_damage_excavation_practices' is numeric.\n", + "Min value: 0.0\n", + "Max value: 2349.0\n", + "Rows with NA values: 38393\n", + "Custom missing values (e.g., 0): 6719\n", + "\n", + "Analyzing column: excavation_damage_locating_practices\n", + "Column 'excavation_damage_locating_practices' is numeric.\n", + "Min value: 0.0\n", + "Max value: 1338.0\n", + "Rows with NA values: 38495\n", + "Custom missing values (e.g., 0): 8147\n", + "\n", + "Analyzing column: excavation_damage_one_call_notification\n", + "Column 'excavation_damage_one_call_notification' is numeric.\n", + "Min value: 0.0\n", + "Max value: 2813.0\n", + "Rows with NA values: 38148\n", + "Custom missing values (e.g., 0): 8006\n", + "\n", + "Analyzing column: excavation_damage_other\n", + "Column 'excavation_damage_other' is numeric.\n", + "Min value: 0.0\n", + "Max value: 1293.0\n", + "Rows with NA values: 39250\n", + "Custom missing values (e.g., 0): 9266\n", + "\n", + "Analyzing column: excavation_damage_total\n", + "Column 'excavation_damage_total' is numeric.\n", + "Min value: 0.0\n", + "Max value: 6500.0\n", + "Rows with NA values: 30059\n", + "Custom missing values (e.g., 0): 9756\n", + "\n", + "Analyzing column: excavation_tickets\n", + "Column 'excavation_tickets' is numeric.\n", + "Min value: 0.0\n", + "Max value: 1673545.0\n", + "Rows with NA values: 30059\n", + "Custom missing values (e.g., 0): 1548\n", + "\n", + "Analyzing column: services_efv_in_system\n", + "Column 'services_efv_in_system' is numeric.\n", + "Min value: 0.0\n", + "Max value: 670273.0\n", + "Rows with NA values: 31491\n", + "Custom missing values (e.g., 0): 4095\n", + "\n", + "Analyzing column: services_efv_installed\n", + "Column 'services_efv_installed' is numeric.\n", + "Min value: 0.0\n", + "Max value: 83927.0\n", + "Rows with NA values: 31491\n", + "Custom missing values (e.g., 0): 6183\n", + "\n", + "Analyzing column: services_shutoff_valve_in_system\n", + "Column 'services_shutoff_valve_in_system' is numeric.\n", + "Min value: 0.0\n", + "Max value: 985017.0\n", + "Rows with NA values: 41831\n", + "Custom missing values (e.g., 0): 4040\n", + "\n", + "Analyzing column: services_shutoff_valve_installed\n", + "Column 'services_shutoff_valve_installed' is numeric.\n", + "Min value: 0.0\n", + "Max value: 321645.0\n", + "Rows with NA values: 41831\n", + "Custom missing values (e.g., 0): 5357\n", + "\n", + "Analyzing column: federal_land_leaks_repaired_or_scheduled\n", + "Column 'federal_land_leaks_repaired_or_scheduled' is numeric.\n", + "Min value: 0.0\n", + "Max value: 3941.0\n", + "Rows with NA values: 0\n", + "Custom missing values (e.g., 0): 49328\n", + "\n", + "Analyzing column: percent_unaccounted_for_gas\n", + "Column 'percent_unaccounted_for_gas' is a string type.\n", + "Rows with None values: 1049\n", + "Rows with empty strings: 44\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: additional_information\n", + "Column 'additional_information' is a string type.\n", + "Rows with None values: 43785\n", + "Rows with empty strings: 5\n", + "Rows with custom missing values: 4\n", + "\n", + "Analyzing column: preparer_email\n", + "Column 'preparer_email' is a string type.\n", + "Rows with None values: 5210\n", + "Rows with empty strings: 8\n", + "Rows with custom missing values: 1\n", + "\n", + "Analyzing column: preparer_fax\n", + "Column 'preparer_fax' is a string type.\n", + "Rows with None values: 30059\n", + "Rows with empty strings: 0\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: preparer_name\n", + "Column 'preparer_name' is a string type.\n", + "Rows with None values: 29\n", + "Rows with empty strings: 3\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: preparer_phone\n", + "Column 'preparer_phone' is a string type.\n", + "Rows with None values: 22108\n", + "Rows with empty strings: 1\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: preparer_title\n", + "Column 'preparer_title' is a string type.\n", + "Rows with None values: 24220\n", + "Rows with empty strings: 1\n", + "Rows with custom missing values: 1\n", + "\n", + "Analyzing column: headquarters_address_city\n", + "Column 'headquarters_address_city' is a string type.\n", + "Rows with None values: 18640\n", + "Rows with empty strings: 5070\n", + "Rows with custom missing values: 23\n", + "\n", + "Analyzing column: headquarters_address_county\n", + "Column 'headquarters_address_county' is a string type.\n", + "Rows with None values: 35446\n", + "Rows with empty strings: 5783\n", + "Rows with custom missing values: 14\n", + "\n", + "Analyzing column: headquarters_address_state\n", + "Column 'headquarters_address_state' is a string type.\n", + "Rows with None values: 18578\n", + "Rows with empty strings: 5046\n", + "Rows with custom missing values: 0\n", + "\n", + "Analyzing column: headquarters_address_street\n", + "Column 'headquarters_address_street' is a string type.\n", + "Rows with None values: 18671\n", + "Rows with empty strings: 5074\n", + "Rows with custom missing values: 19\n", + "\n", + "Analyzing column: headquarters_address_zip\n", + "Column 'headquarters_address_zip' is a string type.\n", + "Rows with None values: 18612\n", + "Rows with empty strings: 5054\n", + "Rows with custom missing values: 0\n", + "\n" + ] } ], "source": [ - "core_phmsagas__yearly_distribution_operators.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyheadquarters_address_cityheadquarters_address_countyheadquarters_address_stateheadquarters_address_streetheadquarters_address_zipadditional_information
02023-03-06 16:30:4320230656.0INITIAL2022.018.0ABBYVILLE, CITY OFPO BOX 100ABBYVILLEKS67510RenoABBYVILLENaNKSP O BOX 10067510NaN
12023-02-15 13:07:1420230299.0INITIAL2022.027.0ABITA SPRINGS NAT GAS & WATER222 Highway 19SLAUGHTERLA70777-3521NaNABITA SPRINGSNaNLA22161 LEVEL STREET, PO BOX 46170420NaN
22023-03-15 14:08:4820231215.0INITIAL2022.045.0ADAIRSVILLE, CITY OF2369 Hall Station Rd NWAdairsvilleGA30103BartowADAIRSVILLENaNGA116 PUBLIC SQUARE30103This report prepared by: Maurice Chaney Munici...
32023-03-06 11:55:3620230639.0INITIAL2022.049.0TOWN OF ADAMSVILLE GAS DEPT203 Sunrise Drive 231 East Main StreetAdamsvilleTN38310McNairyADAMSVILLENaNTN231 EAST MAIN STREET P O BOX 30138310We have stopped using the radio read transpond...
42023-02-14 15:41:2420230289.0INITIAL2022.054.0ADEL GAS DEPT, CITY OFP.O. Box 1530AdelGA31620CookADELNaNGAP.O. BOX 153031620NaN
\n", - "
" - ], + "nan_cols = []\n", + "exception_cols = []\n", + "\n", + "# Define custom missing value markers\n", + "custom_missing_values = ['', ' ', 'NA', 'N/A', 'NULL', '-', 'None', 'NaN', '?', '*', '#']\n", + "\n", + "# Standardize NAs and analyze columns\n", + "for col in core_phmsagas__yearly_distribution_operators.columns:\n", + " try:\n", + " print(f\"Analyzing column: {col}\")\n", + " \n", + " # Get the column values\n", + " col_data = core_phmsagas__yearly_distribution_operators[col]\n", + " \n", + " # Check if the column is of string (object) type\n", + " if col_data.dtype == 'object':\n", + " # Count rows where the value is NaN, None, empty string, or custom missing values\n", + " none_count = col_data.isna().sum() # Count None (NaN)\n", + " empty_string_count = (col_data.str.strip() == '').sum() # Count empty strings\n", + " custom_missing_count = col_data.isin(custom_missing_values).sum() # Count custom missing values\n", + " \n", + " total_nan_count = none_count + empty_string_count + custom_missing_count\n", + " \n", + " if total_nan_count > 0:\n", + " nan_cols.append(col)\n", + " \n", + " # Output counts\n", + " print(f\"Column '{col}' is a string type.\")\n", + " if none_count > 0 or empty_string_count > 0 or custom_missing_count > 0:\n", + " print(f\"Rows with None values: {none_count}\")\n", + " print(f\"Rows with empty strings: {empty_string_count}\")\n", + " print(f\"Rows with custom missing values: {custom_missing_count}\")\n", + " else:\n", + " print(\"Found nothing worth reporting here\")\n", + " \n", + " # Check if the column is numeric (int or float)\n", + " elif pd.api.types.is_numeric_dtype(col_data):\n", + " # Output min, max, out-of-range values, and NA count\n", + " print(f\"Column '{col}' is numeric.\")\n", + "\n", + " # Count NA values in the column\n", + " na_count = col_data.isna().sum()\n", + " # Count custom missing values in numeric columns (if applicable)\n", + " custom_missing_numeric_count = col_data.isin([0]).sum() # Assuming 0 is considered a missing value\n", + " \n", + " if na_count > 0 or custom_missing_numeric_count > 0:\n", + " nan_cols.append(col)\n", + " \n", + " # Handle the non-NA data for further analysis\n", + " col_data_cleaned = col_data.dropna()\n", + " \n", + " if not col_data_cleaned.empty:\n", + " # Calculate min and max\n", + " min_val = col_data_cleaned.min()\n", + " max_val = col_data_cleaned.max()\n", + " \n", + " if min_val < 0 or na_count > 0 or custom_missing_numeric_count > 0:\n", + " print(f\"Min value: {min_val}\")\n", + " print(f\"Max value: {max_val}\")\n", + " print(f\"Rows with NA values: {na_count}\")\n", + " print(f\"Custom missing values (e.g., 0): {custom_missing_numeric_count}\")\n", + " else:\n", + " print(\"Found nothing worth reporting here\")\n", + " else:\n", + " print(f\"Column '{col}' is numeric but contains only NA values.\")\n", + " \n", + " # If the column is of some other type, simply note the type\n", + " else:\n", + " print(f\"Column '{col}' is of type {col_data.dtype}.\")\n", + " print(\"\")\n", + " except Exception as e:\n", + " exception_cols.append(col)\n", + " print(f\"Caught exception for column {col}: {e}\\n\")\n", + " continue\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { "text/plain": [ - " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip additional_information\n", - "0 2023-03-06 16:30:43 20230656.0 INITIAL 2022.0 18.0 ABBYVILLE, CITY OF PO BOX 100 ABBYVILLE KS 67510 Reno ABBYVILLE NaN KS P O BOX 100 67510 NaN\n", - "1 2023-02-15 13:07:14 20230299.0 INITIAL 2022.0 27.0 ABITA SPRINGS NAT GAS & WATER 222 Highway 19 SLAUGHTER LA 70777-3521 NaN ABITA SPRINGS NaN LA 22161 LEVEL STREET, PO BOX 461 70420 NaN\n", - "2 2023-03-15 14:08:48 20231215.0 INITIAL 2022.0 45.0 ADAIRSVILLE, CITY OF 2369 Hall Station Rd NW Adairsville GA 30103 Bartow ADAIRSVILLE NaN GA 116 PUBLIC SQUARE 30103 This report prepared by: Maurice Chaney Munici...\n", - "3 2023-03-06 11:55:36 20230639.0 INITIAL 2022.0 49.0 TOWN OF ADAMSVILLE GAS DEPT 203 Sunrise Drive 231 East Main Street Adamsville TN 38310 McNairy ADAMSVILLE NaN TN 231 EAST MAIN STREET P O BOX 301 38310 We have stopped using the radio read transpond...\n", - "4 2023-02-14 15:41:24 20230289.0 INITIAL 2022.0 54.0 ADEL GAS DEPT, CITY OF P.O. Box 1530 Adel GA 31620 Cook ADEL NaN GA P.O. BOX 1530 31620 NaN" + "[]" ] }, - "execution_count": 16, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "core_phmsagas__yearly_distribution_operators[['report_date', 'report_number', 'report_submission_type', 'report_year', 'operator_id_phmsa', 'operator_name_phmsa', 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_county', 'headquarters_address_city', 'headquarters_address_county', 'headquarters_address_state', 'headquarters_address_street', 'headquarters_address_zip', 'additional_information']].head()" + "exception_cols" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### percent_unaccounted_for_gas\n", + "\n", + "The one thing that did stick out somewhat was the \"percent_unaccounted_for_gas\" column having negative values.\n", + "\n", + "This comes from Part G of the PHMSA form, which defines this value as:\n", + "\n", + "```\n", + "Unaccounted for gas as a percent of total consumption for the 12 months ending June 30 of the reporting year.\n", + "[(Purchased gas + produced gas) minus (customer use + company use + appropriate adjustments)] divided by (customer use + company use + appropriate adjustments) times 100 equals percent unaccounted for.\n", + "```\n", + "\n", + "Based on that description, it sounds like negative values here suggest that a company produced/purchased less gas than was consumed. But also it's hard to tell exactly what these figures mean (especially the \"appropriate adjustments\" part).\n", + "\n", + "So the question is: are we okay with these negative values? Or do we want to manually clean them up somehow?" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 12, "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_13362/1654031739.py:14: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " df_addresses['office_address'] = df_addresses['office_address_street'] + ', ' + df_addresses['office_address_city'] + ', ' + df_addresses['office_address_state'] + ' ' + df_addresses['office_address_zip']\n", - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_13362/1654031739.py:15: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " df_addresses['headquarters_address'] = df_addresses['headquarters_address_street'] + ', ' + df_addresses['headquarters_address_city'] + ', ' + df_addresses['headquarters_address_state'] + ' ' + df_addresses['headquarters_address_zip']\n", - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_13362/1654031739.py:22: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", - " df_addresses['address_switch'] = df_addresses.groupby('operator_id_phmsa').apply(\n" + "ename": "TypeError", + "evalue": "'<' not supported between instances of 'str' and 'int'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[12], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m core_phmsagas__yearly_distribution_operators[\u001b[43mcore_phmsagas__yearly_distribution_operators\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpercent_unaccounted_for_gas\u001b[49m\u001b[38;5;241;43m<\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m][[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpercent_unaccounted_for_gas\u001b[39m\u001b[38;5;124m\"\u001b[39m]]\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/common.py:76\u001b[0m, in \u001b[0;36m_unpack_zerodim_and_defer..new_method\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mNotImplemented\u001b[39m\n\u001b[1;32m 74\u001b[0m other \u001b[38;5;241m=\u001b[39m item_from_zerodim(other)\n\u001b[0;32m---> 76\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmethod\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mother\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/arraylike.py:48\u001b[0m, in \u001b[0;36mOpsMixin.__lt__\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[38;5;129m@unpack_zerodim_and_defer\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m__lt__\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__lt__\u001b[39m(\u001b[38;5;28mself\u001b[39m, other):\n\u001b[0;32m---> 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_cmp_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mother\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moperator\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlt\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/series.py:6119\u001b[0m, in \u001b[0;36mSeries._cmp_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 6116\u001b[0m lvalues \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_values\n\u001b[1;32m 6117\u001b[0m rvalues \u001b[38;5;241m=\u001b[39m extract_array(other, extract_numpy\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, extract_range\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m-> 6119\u001b[0m res_values \u001b[38;5;241m=\u001b[39m \u001b[43mops\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcomparison_op\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 6121\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_construct_result(res_values, name\u001b[38;5;241m=\u001b[39mres_name)\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/array_ops.py:344\u001b[0m, in \u001b[0;36mcomparison_op\u001b[0;34m(left, right, op)\u001b[0m\n\u001b[1;32m 341\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m invalid_comparison(lvalues, rvalues, op)\n\u001b[1;32m 343\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m lvalues\u001b[38;5;241m.\u001b[39mdtype \u001b[38;5;241m==\u001b[39m \u001b[38;5;28mobject\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(rvalues, \u001b[38;5;28mstr\u001b[39m):\n\u001b[0;32m--> 344\u001b[0m res_values \u001b[38;5;241m=\u001b[39m \u001b[43mcomp_method_OBJECT_ARRAY\u001b[49m\u001b[43m(\u001b[49m\u001b[43mop\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrvalues\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 346\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 347\u001b[0m res_values \u001b[38;5;241m=\u001b[39m _na_arithmetic_op(lvalues, rvalues, op, is_cmp\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/array_ops.py:129\u001b[0m, in \u001b[0;36mcomp_method_OBJECT_ARRAY\u001b[0;34m(op, x, y)\u001b[0m\n\u001b[1;32m 127\u001b[0m result \u001b[38;5;241m=\u001b[39m libops\u001b[38;5;241m.\u001b[39mvec_compare(x\u001b[38;5;241m.\u001b[39mravel(), y\u001b[38;5;241m.\u001b[39mravel(), op)\n\u001b[1;32m 128\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 129\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mlibops\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscalar_compare\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mravel\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 130\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\u001b[38;5;241m.\u001b[39mreshape(x\u001b[38;5;241m.\u001b[39mshape)\n", + "File \u001b[0;32mops.pyx:107\u001b[0m, in \u001b[0;36mpandas._libs.ops.scalar_compare\u001b[0;34m()\u001b[0m\n", + "\u001b[0;31mTypeError\u001b[0m: '<' not supported between instances of 'str' and 'int'" ] } ], + "source": [ + "core_phmsagas__yearly_distribution_operators[core_phmsagas__yearly_distribution_operators.percent_unaccounted_for_gas<0][[\"percent_unaccounted_for_gas\"]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Standardize usage of office vs HQ address over time." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "core_phmsagas__yearly_distribution_operators.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "core_phmsagas__yearly_distribution_operators.columns" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "core_phmsagas__yearly_distribution_operators[['report_date', 'report_number', 'report_submission_type', 'report_year', 'operator_id_phmsa', 'operator_name_phmsa', 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_county', 'headquarters_address_city', 'headquarters_address_county', 'headquarters_address_state', 'headquarters_address_street', 'headquarters_address_zip', 'additional_information']].head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Assuming 'core_phmsagas__yearly_distribution_operators' is your dataframe\n", "df = core_phmsagas__yearly_distribution_operators\n", @@ -5121,254 +6686,18 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
operator_id_phmsareport_yearoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipoffice_addressheadquarters_addressaddress_overlapaddress_switch
17383.02022.05800 ARNOT ROADAMARILLOTX791195800 ARNOT ROADAMARILLOTX791195800 ARNOT ROAD, AMARILLO, TX 791195800 ARNOT ROAD, AMARILLO, TX 79119TrueFalse
18383.02022.05800 ARNOT ROADAMARILLOTX791195800 ARNOT ROADAMARILLOTX791195800 ARNOT ROAD, AMARILLO, TX 791195800 ARNOT ROAD, AMARILLO, TX 79119TrueTrue
801168.02022.07 SOUTH AVEBATHNY148107 SOUTH AVEBATHNY148107 SOUTH AVE, BATH, NY 148107 SOUTH AVE, BATH, NY 14810TrueFalse
921328.02022.0201 MAIN STREETBENTONKY42025201 MAIN STREETBENTONKY42025201 MAIN STREET, BENTON, KY 42025201 MAIN STREET, BENTON, KY 42025TrueFalse
1382020.02022.07901 HWY 31CALERAAL350407901 HWY 31CALERAAL350407901 HWY 31, CALERA, AL 350407901 HWY 31, CALERA, AL 35040TrueFalse
\n", - "
" - ], - "text/plain": [ - " operator_id_phmsa report_year office_address_street office_address_city office_address_state office_address_zip headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip office_address headquarters_address address_overlap address_switch\n", - "17 383.0 2022.0 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 True False\n", - "18 383.0 2022.0 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 True True\n", - "80 1168.0 2022.0 7 SOUTH AVE BATH NY 14810 7 SOUTH AVE BATH NY 14810 7 SOUTH AVE, BATH, NY 14810 7 SOUTH AVE, BATH, NY 14810 True False\n", - "92 1328.0 2022.0 201 MAIN STREET BENTON KY 42025 201 MAIN STREET BENTON KY 42025 201 MAIN STREET, BENTON, KY 42025 201 MAIN STREET, BENTON, KY 42025 True False\n", - "138 2020.0 2022.0 7901 HWY 31 CALERA AL 35040 7901 HWY 31 CALERA AL 35040 7901 HWY 31, CALERA, AL 35040 7901 HWY 31, CALERA, AL 35040 True False" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df_overlap_switch.head()\n" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_13362/4087453537.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n", - " df_overlap_switch[(df_overlap_switch.operator_id_phmsa==383)&(core_phmsagas__yearly_distribution_operators.report_year>=2021)]\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
operator_id_phmsareport_yearoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipoffice_addressheadquarters_addressaddress_overlapaddress_switch
17383.02022.05800 ARNOT ROADAMARILLOTX791195800 ARNOT ROADAMARILLOTX791195800 ARNOT ROAD, AMARILLO, TX 791195800 ARNOT ROAD, AMARILLO, TX 79119TrueFalse
18383.02022.05800 ARNOT ROADAMARILLOTX791195800 ARNOT ROADAMARILLOTX791195800 ARNOT ROAD, AMARILLO, TX 791195800 ARNOT ROAD, AMARILLO, TX 79119TrueTrue
\n", - "
" - ], - "text/plain": [ - " operator_id_phmsa report_year office_address_street office_address_city office_address_state office_address_zip headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip office_address headquarters_address address_overlap address_switch\n", - "17 383.0 2022.0 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 True False\n", - "18 383.0 2022.0 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD AMARILLO TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 5800 ARNOT ROAD, AMARILLO, TX 79119 True True" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# df_overlap_switch[df_overlap_switch.address_switch==True]\n", "df_overlap_switch[(df_overlap_switch.operator_id_phmsa==383)&(core_phmsagas__yearly_distribution_operators.report_year>=2021)]" @@ -5376,18 +6705,9 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2022.0\n", - "2022.0\n" - ] - } - ], + "outputs": [], "source": [ "print(core_phmsagas__yearly_distribution_operators.report_year.min())\n", "print(core_phmsagas__yearly_distribution_operators.report_year.max())" From c3e2c675824afb68f1fd51779314a06938607457 Mon Sep 17 00:00:00 2001 From: sam Date: Tue, 1 Oct 2024 09:22:17 -0400 Subject: [PATCH 06/39] Add troubleshooting to index --- docs/dev/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/dev/index.rst b/docs/dev/index.rst index 681501894e..5479c6dbc8 100644 --- a/docs/dev/index.rst +++ b/docs/dev/index.rst @@ -20,3 +20,4 @@ Development data_guidelines nightly_data_builds infrastructure_as_code + troubleshooting From 1bfb71dc5376ebd3b3e62ece805c874eb3a89bfe Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 2 Oct 2024 08:32:14 -0400 Subject: [PATCH 07/39] Update troubleshooting --- docs/dev/troubleshooting.rst | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/docs/dev/troubleshooting.rst b/docs/dev/troubleshooting.rst index 553a307219..2f668e3b64 100644 --- a/docs/dev/troubleshooting.rst +++ b/docs/dev/troubleshooting.rst @@ -7,12 +7,34 @@ recommendations on how to handle specific issues that might pop up. (Note that this list is evolving over time.) ------------------------------------------------------------------------------- -"I'm only seeing one year of data from a raw asset" +Extracting all years of data from a Zenodo archive ------------------------------------------------------------------------------- -Let's say you're working on transforming an asset that's currently only in its -raw, extracted form. You've materialized one of the "...__all_dfs" assets in -Dagster but you're still only seeing one or two years of data. +Let's say you're working with raw data from PUDL's :ref:`Zenodo archive +`. You downloaded the raw data and now you want to materialize +all years available in the archive. In this case, you need to make sure to +materialize the asset group - not just the relevant "...__all_dfs" asset. + +------------------------------------------------------------------------------- +Catch up to the current state of PUDL +------------------------------------------------------------------------------- + +Maybe you haven't worked on PUDL for a while or you're working on a ticket but +you want to make sure that your version of the repo is up-to-date with the +production version. Once you've activated your local environment, run the +following commands to make sure you have the latest code: + +.. code-block:: console + + $ git fetch upstream + $ git merge upstream/main + +Then, download the latest validated data from AWS S3 storage buckets into your +local PUDL output folder with: + +.. code-block:: console + + $ aws s3 cp s3://pudl.catalyst.coop/nightly/pudl.sqlite.zip $PUDL_OUTPUT + --no-sign-request + $ unzip $PUDL_OUTPUT/pudl.sqlite.zip -d $PUDL_OUTPUT -In this case, you need to materialize the asset group and not just the -particular "...__all_dfs" asset that you're working with. \ No newline at end of file From 7760e9a027781e8eca7bc07f56ac1065ac27d208 Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 6 Oct 2024 12:23:20 -0400 Subject: [PATCH 08/39] Add helpers --- .../work-in-progress/eia861-transform.ipynb | 4 +- .../phmsagas_distribution.ipynb | 7248 ++--------------- src/pudl/helpers.py | 208 +- src/pudl/transform/eia860.py | 26 +- src/pudl/transform/eia861.py | 4 +- src/pudl/transform/eia923.py | 14 +- test/unit/helpers_test.py | 6 +- 7 files changed, 920 insertions(+), 6590 deletions(-) diff --git a/notebooks/work-in-progress/eia861-transform.ipynb b/notebooks/work-in-progress/eia861-transform.ipynb index 183e6e480c..4311e39209 100644 --- a/notebooks/work-in-progress/eia861-transform.ipynb +++ b/notebooks/work-in-progress/eia861-transform.ipynb @@ -1438,7 +1438,7 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/var/folders/tf/l271ymp92vvbty6j01j580xm0000gn/T/ipykernel_27389/914883076.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Prep raw data for comparison\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mraw_dfs_dict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0meia861_raw_dfs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mdf_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mraw_dfs_dict\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpudl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhelpers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfix_eia_na\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/var/folders/tf/l271ymp92vvbty6j01j580xm0000gn/T/ipykernel_27389/914883076.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Prep raw data for comparison\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mraw_dfs_dict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0meia861_raw_dfs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mdf_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mraw_dfs_dict\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpudl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhelpers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfix_na\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'eia861_raw_dfs' is not defined" ] } @@ -1448,7 +1448,7 @@ "raw_dfs_dict = eia861_raw_dfs.copy()\n", "\n", "for df_name, df in raw_dfs_dict.items():\n", - " df = pudl.helpers.fix_eia_na(df)\n", + " df = pudl.helpers.fix_na(df)\n", " df = pudl.helpers.convert_to_date(df)\n", " raw_dfs_dict[df_name] = df\n", " \n", diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index 429d7bcc7b..7bc7bb5937 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -17,7 +17,7 @@ "output_type": "stream", "text": [ "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-09-30 17:09:20 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + "2024-10-05 22:18:17 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" ] }, { @@ -37,7 +37,7 @@ " 2017., 2018., 2019., 2020., 2021., 2022., 2023.])" ] }, - "execution_count": 13, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -46,25 +46,304 @@ "from dagster import AssetKey\n", "from pudl.etl import defs\n", "import pandas as pd\n", + "from pudl.helpers import zero_pad_numeric_string, organize_cols, standardize_phone_column, fix_na, analyze_missing_values\n", + "import numpy as np\n", + "import re\n", "\n", - "raw_df = defs.load_asset_value(AssetKey(\"raw_phmsagas__yearly_distribution\"))\n", - "print(f\"Earliest reported year available in asset: {raw_df.report_year.min()}\")\n", - "print(f\"Latest reported year available in asset: {raw_df.report_year.max()}\")\n", - "raw_df.report_year.unique()\n" + "raw_df = defs.load_asset_value(AssetKey(\"raw_phmsagas__yearly_distribution\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Data exploration" + "## core_phmsagas__yearly_distribution_operators" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "df = raw_df[[\n", + " \"report_date\",\n", + " \"report_number\",\n", + " \"report_submission_type\",\n", + " \"report_year\",\n", + " \"operator_id_phmsa\",\n", + " \"operator_name_phmsa\",\n", + " \"office_address_street\",\n", + " \"office_address_city\",\n", + " \"office_address_state\",\n", + " \"office_address_zip\",\n", + " \"office_address_county\",\n", + " \"excavation_damage_excavation_practices\",\n", + " \"excavation_damage_locating_practices\",\n", + " \"excavation_damage_one_call_notification\",\n", + " \"excavation_damage_other\",\n", + " \"excavation_damage_total\",\n", + " \"excavation_tickets\",\n", + " \"services_efv_in_system\",\n", + " \"services_efv_installed\",\n", + " \"services_shutoff_valve_in_system\",\n", + " \"services_shutoff_valve_installed\",\n", + " \"federal_land_leaks_repaired_or_scheduled\",\n", + " \"percent_unaccounted_for_gas\",\n", + " \"additional_information\",\n", + " \"preparer_email\",\n", + " \"preparer_fax\",\n", + " \"preparer_name\",\n", + " \"preparer_phone\",\n", + " \"preparer_title\",\n", + " # Adding these fields temporarily for transformation cleanup\n", + " \"headquarters_address_city\",\n", + " \"headquarters_address_county\",\n", + " \"headquarters_address_state\",\n", + " \"headquarters_address_street\",\n", + " \"headquarters_address_zip\"\n", + "]]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_35717/475820574.py:2: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df[\"office_address_zip\"] = zero_pad_numeric_string(df[\"office_address_zip\"], 5)\n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_35717/475820574.py:22: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df[columns_to_convert] = df[columns_to_convert].astype(\"Int64\")\n" + ] + } + ], + "source": [ + "# Clean up office zip codes\n", + "df[\"office_address_zip\"] = zero_pad_numeric_string(df[\"office_address_zip\"], 5)\n", + "df.head()\n", + "\n", + "# Convert columns to ints\n", + "# Would have included \"federal_land_leaks_repaired_or_scheduled\" in this list but there were a couple rows with decimal values\n", + "columns_to_convert = [\n", + " \"report_year\",\n", + " \"report_number\",\n", + " \"operator_id_phmsa\",\n", + " \"excavation_damage_excavation_practices\",\n", + " \"excavation_damage_locating_practices\",\n", + " \"excavation_damage_one_call_notification\",\n", + " \"excavation_damage_other\",\n", + " \"excavation_damage_total\",\n", + " \"excavation_tickets\",\n", + " \"services_efv_in_system\",\n", + " \"services_efv_installed\",\n", + " \"services_shutoff_valve_in_system\",\n", + " \"services_shutoff_valve_installed\"\n", + "]\n", + "df[columns_to_convert] = df[columns_to_convert].astype(\"Int64\")\n", + "\n", + "# Ensure all \"report_year\" values have four digits\n", + "mask = df[\"report_year\"] < 100\n", + "df.loc[mask, \"report_year\"] = df.loc[mask, \"report_year\"].astype(int).astype(str).str[:4].astype(int)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Operator Table Tasks" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Standardize NAs" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_35717/581133280.py:17: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df[columns_to_fill] = df[columns_to_fill].fillna(0)\n" + ] + } + ], + "source": [ + "# Fill NA values with zeroes because these columns are simply counts.\n", + "# Note that \"excavation_damage...\" columns should sum up to the value in \"excavation_damage_total\". However, many rows\n", + "# (on the scale of thousands) do not actually sum up to \"excavation_damage_total\".\n", + "columns_to_fill = [\n", + " \"excavation_damage_excavation_practices\",\n", + " \"excavation_damage_locating_practices\",\n", + " \"excavation_damage_one_call_notification\",\n", + " \"excavation_damage_other\",\n", + " \"excavation_damage_total\",\n", + " \"excavation_tickets\",\n", + " \"services_efv_in_system\",\n", + " \"services_efv_installed\",\n", + " \"services_shutoff_valve_in_system\",\n", + " \"services_shutoff_valve_installed\",\n", + " \"federal_land_leaks_repaired_or_scheduled\"\n", + "]\n", + "df[columns_to_fill] = df[columns_to_fill].fillna(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Standardize usage of office vs HQ address over time\n", + "\n", + "- Make sure to use \"clean_eia_counties\" from helpers at some point\n", + "- Also maybe \"zero_pad_numeric_string\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# Selecting the relevant columns\n", + "address_cols = [\n", + " 'operator_id_phmsa', 'report_year',\n", + " 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip',\n", + " 'headquarters_address_street', 'headquarters_address_city', 'headquarters_address_state', 'headquarters_address_zip'\n", + "]\n", + "\n", + "df_addresses = df[address_cols]" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "operator_id_phmsa Int64\n", + "report_year Int64\n", + "office_address_street object\n", + "office_address_city object\n", + "office_address_state object\n", + "office_address_zip string[python]\n", + "headquarters_address_street object\n", + "headquarters_address_city object\n", + "headquarters_address_state object\n", + "headquarters_address_zip object\n", + "dtype: object" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_addresses.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "unsupported operand type(s) for +: 'int' and 'str'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/array_ops.py:218\u001b[0m, in \u001b[0;36m_na_arithmetic_op\u001b[0;34m(left, right, op, is_cmp)\u001b[0m\n\u001b[1;32m 217\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 218\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mleft\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mright\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 219\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m:\n", + "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'float' and 'str'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[17], line 11\u001b[0m\n\u001b[1;32m 8\u001b[0m df_addresses \u001b[38;5;241m=\u001b[39m df[address_cols]\n\u001b[1;32m 10\u001b[0m \u001b[38;5;66;03m# Create a concatenated address string for easier comparison\u001b[39;00m\n\u001b[0;32m---> 11\u001b[0m df_addresses[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124moffice_address\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[43mdf_addresses\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43moffice_address_street\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m, \u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m \u001b[38;5;241m+\u001b[39m df_addresses[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124moffice_address_city\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m+\u001b[39m df_addresses[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124moffice_address_state\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m+\u001b[39m df_addresses[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124moffice_address_zip\u001b[39m\u001b[38;5;124m'\u001b[39m]\n\u001b[1;32m 12\u001b[0m df_addresses[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mheadquarters_address\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m=\u001b[39m df_addresses[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mheadquarters_address_street\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m+\u001b[39m df_addresses[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mheadquarters_address_city\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m+\u001b[39m df_addresses[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mheadquarters_address_state\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m+\u001b[39m df_addresses[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mheadquarters_address_zip\u001b[39m\u001b[38;5;124m'\u001b[39m]\n\u001b[1;32m 14\u001b[0m \u001b[38;5;66;03m# Group by operator and sort by year\u001b[39;00m\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/common.py:76\u001b[0m, in \u001b[0;36m_unpack_zerodim_and_defer..new_method\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mNotImplemented\u001b[39m\n\u001b[1;32m 74\u001b[0m other \u001b[38;5;241m=\u001b[39m item_from_zerodim(other)\n\u001b[0;32m---> 76\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmethod\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mother\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/arraylike.py:186\u001b[0m, in \u001b[0;36mOpsMixin.__add__\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 98\u001b[0m \u001b[38;5;129m@unpack_zerodim_and_defer\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m__add__\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 99\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__add__\u001b[39m(\u001b[38;5;28mself\u001b[39m, other):\n\u001b[1;32m 100\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 101\u001b[0m \u001b[38;5;124;03m Get Addition of DataFrame and other, column-wise.\u001b[39;00m\n\u001b[1;32m 102\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 184\u001b[0m \u001b[38;5;124;03m moose 3.0 NaN\u001b[39;00m\n\u001b[1;32m 185\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 186\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_arith_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mother\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moperator\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43madd\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/series.py:6135\u001b[0m, in \u001b[0;36mSeries._arith_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 6133\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_arith_method\u001b[39m(\u001b[38;5;28mself\u001b[39m, other, op):\n\u001b[1;32m 6134\u001b[0m \u001b[38;5;28mself\u001b[39m, other \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_align_for_op(other)\n\u001b[0;32m-> 6135\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mbase\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mIndexOpsMixin\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_arith_method\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mother\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/base.py:1382\u001b[0m, in \u001b[0;36mIndexOpsMixin._arith_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 1379\u001b[0m rvalues \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marange(rvalues\u001b[38;5;241m.\u001b[39mstart, rvalues\u001b[38;5;241m.\u001b[39mstop, rvalues\u001b[38;5;241m.\u001b[39mstep)\n\u001b[1;32m 1381\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m np\u001b[38;5;241m.\u001b[39merrstate(\u001b[38;5;28mall\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mignore\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[0;32m-> 1382\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mops\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marithmetic_op\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1384\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_construct_result(result, name\u001b[38;5;241m=\u001b[39mres_name)\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/array_ops.py:283\u001b[0m, in \u001b[0;36marithmetic_op\u001b[0;34m(left, right, op)\u001b[0m\n\u001b[1;32m 279\u001b[0m _bool_arith_check(op, left, right) \u001b[38;5;66;03m# type: ignore[arg-type]\u001b[39;00m\n\u001b[1;32m 281\u001b[0m \u001b[38;5;66;03m# error: Argument 1 to \"_na_arithmetic_op\" has incompatible type\u001b[39;00m\n\u001b[1;32m 282\u001b[0m \u001b[38;5;66;03m# \"Union[ExtensionArray, ndarray[Any, Any]]\"; expected \"ndarray[Any, Any]\"\u001b[39;00m\n\u001b[0;32m--> 283\u001b[0m res_values \u001b[38;5;241m=\u001b[39m \u001b[43m_na_arithmetic_op\u001b[49m\u001b[43m(\u001b[49m\u001b[43mleft\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mright\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# type: ignore[arg-type]\u001b[39;00m\n\u001b[1;32m 285\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m res_values\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/array_ops.py:227\u001b[0m, in \u001b[0;36m_na_arithmetic_op\u001b[0;34m(left, right, op, is_cmp)\u001b[0m\n\u001b[1;32m 219\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m:\n\u001b[1;32m 220\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_cmp \u001b[38;5;129;01mand\u001b[39;00m (\n\u001b[1;32m 221\u001b[0m left\u001b[38;5;241m.\u001b[39mdtype \u001b[38;5;241m==\u001b[39m \u001b[38;5;28mobject\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mgetattr\u001b[39m(right, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdtype\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m) \u001b[38;5;241m==\u001b[39m \u001b[38;5;28mobject\u001b[39m\n\u001b[1;32m 222\u001b[0m ):\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 225\u001b[0m \u001b[38;5;66;03m# Don't do this for comparisons, as that will handle complex numbers\u001b[39;00m\n\u001b[1;32m 226\u001b[0m \u001b[38;5;66;03m# incorrectly, see GH#32047\u001b[39;00m\n\u001b[0;32m--> 227\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43m_masked_arith_op\u001b[49m\u001b[43m(\u001b[49m\u001b[43mleft\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mright\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 228\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 229\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m\n", + "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/array_ops.py:182\u001b[0m, in \u001b[0;36m_masked_arith_op\u001b[0;34m(x, y, op)\u001b[0m\n\u001b[1;32m 179\u001b[0m mask \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mwhere(y \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m, \u001b[38;5;28;01mFalse\u001b[39;00m, mask)\n\u001b[1;32m 181\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m mask\u001b[38;5;241m.\u001b[39many():\n\u001b[0;32m--> 182\u001b[0m result[mask] \u001b[38;5;241m=\u001b[39m \u001b[43mop\u001b[49m\u001b[43m(\u001b[49m\u001b[43mxrav\u001b[49m\u001b[43m[\u001b[49m\u001b[43mmask\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 184\u001b[0m np\u001b[38;5;241m.\u001b[39mputmask(result, \u001b[38;5;241m~\u001b[39mmask, np\u001b[38;5;241m.\u001b[39mnan)\n\u001b[1;32m 185\u001b[0m result \u001b[38;5;241m=\u001b[39m result\u001b[38;5;241m.\u001b[39mreshape(x\u001b[38;5;241m.\u001b[39mshape) \u001b[38;5;66;03m# 2D compat\u001b[39;00m\n", + "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'int' and 'str'" + ] + } + ], + "source": [ + "# Create a concatenated address string for easier comparison\n", + "df_addresses['office_address'] = df_addresses['office_address_street'] + ', ' + df_addresses['office_address_city'] + ', ' + df_addresses['office_address_state'] + ' ' + df_addresses['office_address_zip']\n", + "df_addresses['headquarters_address'] = df_addresses['headquarters_address_street'] + ', ' + df_addresses['headquarters_address_city'] + ', ' + df_addresses['headquarters_address_state'] + ' ' + df_addresses['headquarters_address_zip']\n", + "\n", + "# Group by operator and sort by year\n", + "df_addresses = df_addresses.sort_values(by=['operator_id_phmsa', 'report_year'])\n", + "\n", + "# Create flags for overlap or switch\n", + "df_addresses['address_overlap'] = df_addresses['office_address'] == df_addresses['headquarters_address']\n", + "df_addresses['address_switch'] = df_addresses.groupby('operator_id_phmsa').apply(\n", + " lambda x: (x['office_address'].shift() == x['headquarters_address']) & \n", + " (x['headquarters_address'].shift() == x['office_address'])\n", + ").reset_index(drop=True)\n", + "\n", + "# Display the results where overlap or switch occurred\n", + "df_overlap_switch = df_addresses[(df_addresses['address_overlap'] == True) | (df_addresses['address_switch'] == True)]\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Standardize case for city, county, operator name, etc." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Standardize telephone and fax number format and drop (000)-000-0000\n" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 21, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/sam/Documents/pudl/src/pudl/helpers.py:2234: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df[col_name] = df[col_name].apply(standardize_phone_number)\n" + ] + }, { "data": { "text/html": [ @@ -86,6631 +365,480 @@ " \n", " \n", " \n", - " additional_information\n", - " all_known_leaks_scheduled_for_repair\n", - " all_leaks_construction_defect_mains\n", - " all_leaks_construction_defect_services\n", - " all_leaks_corrosion_failure_mains\n", - " all_leaks_corrosion_failure_services\n", - " all_leaks_equipment_failure_mains\n", - " all_leaks_equipment_failure_services\n", - " all_leaks_excavation_damage_mains\n", - " all_leaks_excavation_damage_services\n", - " all_leaks_incorrect_operation_mains\n", - " all_leaks_incorrect_operation_services\n", - " all_leaks_material_defect_mains\n", - " all_leaks_material_defect_services\n", - " all_leaks_natural_force_damage_mains\n", - " all_leaks_natural_force_damage_services\n", - " all_leaks_other_mains\n", - " all_leaks_other_outside_force_mains\n", - " all_leaks_other_outside_force_services\n", - " all_leaks_other_services\n", - " all_leaks_outside_force_mains\n", - " all_leaks_outside_force_services\n", - " all_leaks_pipe_weld_joint_failure_mains\n", - " all_leaks_pipe_weld_joint_failure_services\n", - " all_leaks_third_party_mains\n", - " all_leaks_third_party_services\n", - " average_service_length_feet\n", - " commodity\n", - " correction_date\n", - " data_date\n", - " data_maturity\n", + " report_date\n", + " report_number\n", + " report_submission_type\n", + " report_year\n", + " operator_id_phmsa\n", + " operator_name_phmsa\n", + " office_address_street\n", + " office_address_city\n", + " office_address_state\n", + " office_address_zip\n", + " office_address_county\n", " excavation_damage_excavation_practices\n", " excavation_damage_locating_practices\n", " excavation_damage_one_call_notification\n", " excavation_damage_other\n", " excavation_damage_total\n", " excavation_tickets\n", + " services_efv_in_system\n", + " services_efv_installed\n", + " services_shutoff_valve_in_system\n", + " services_shutoff_valve_installed\n", " federal_land_leaks_repaired_or_scheduled\n", - " filing_date\n", - " form_revision\n", - " hazardous_leaks_corrosion_failure_mains\n", - " hazardous_leaks_corrosion_failure_services\n", - " hazardous_leaks_equipment_failure_mains\n", - " hazardous_leaks_equipment_failure_services\n", - " hazardous_leaks_excavation_damage_mains\n", - " hazardous_leaks_excavation_damage_services\n", - " hazardous_leaks_incorrect_operation_mains\n", - " hazardous_leaks_incorrect_operation_services\n", - " hazardous_leaks_mechanical_joint_failure\n", - " hazardous_leaks_natural_force_damage_mains\n", - " hazardous_leaks_natural_force_damage_services\n", - " hazardous_leaks_other_mains\n", - " hazardous_leaks_other_outside_force_mains\n", - " hazardous_leaks_other_outside_force_services\n", - " hazardous_leaks_other_services\n", - " hazardous_leaks_pipe_weld_joint_failure_mains\n", - " hazardous_leaks_pipe_weld_joint_failure_services\n", - " headquarters_address_city\n", - " headquarters_address_county\n", - " headquarters_address_state\n", - " headquarters_address_street\n", - " headquarters_address_zip\n", - " log\n", - " main_1940s_miles\n", - " main_1950s_miles\n", - " main_1960s_miles\n", - " main_1970s_miles\n", - " main_1980s_miles\n", - " main_1990s_miles\n", - " main_2000s_miles\n", - " main_2010s_miles\n", - " main_2020s_miles\n", - " main_abs_2_in_or_less_miles\n", - " main_abs_2_to_4_in_miles\n", - " main_abs_4_to_8_in_miles\n", - " main_abs_8_to_12_in_miles\n", - " main_abs_over_12_in_miles\n", - " main_abs_total_miles\n", - " main_abs_unknown_miles\n", - " main_all_materials_2_in_or_less_miles\n", - " main_all_materials_2_to_4_in_miles\n", - " main_all_materials_4_to_8_in_miles\n", - " main_all_materials_8_to_12_in_miles\n", - " main_all_materials_over_12_in_miles\n", - " main_all_materials_total_miles\n", - " main_all_materials_unknown_miles\n", - " main_all_time_miles\n", - " main_cast_or_wrought_iron_2_in_or_less_miles\n", - " main_cast_or_wrought_iron_2_to_4_in_miles\n", - " main_cast_or_wrought_iron_4_to_8_in_miles\n", - " main_cast_or_wrought_iron_8_to_12_in_miles\n", - " main_cast_or_wrought_iron_miles\n", - " main_cast_or_wrought_iron_over_12_in_miles\n", - " main_cast_or_wrought_iron_total_miles\n", - " main_cast_or_wrought_iron_unknown_miles\n", - " main_cathodically_protected_steel_bare_miles\n", - " main_cathodically_protected_steel_coated_miles\n", - " main_copper_2_in_or_less_miles\n", - " main_copper_2_to_4_in_miles\n", - " main_copper_4_to_8_in_miles\n", - " main_copper_8_to_12_in_miles\n", - " main_copper_miles\n", - " main_copper_over_12_in_miles\n", - " main_copper_total_miles\n", - " main_copper_unknown_miles\n", - " main_ductile_iron_2_in_or_less_miles\n", - " main_ductile_iron_2_to_4_in_miles\n", - " main_ductile_iron_4_to_8_in_miles\n", - " main_ductile_iron_8_to_12_in_miles\n", - " main_ductile_iron_miles\n", - " main_ductile_iron_over_12_in_miles\n", - " main_ductile_iron_total_miles\n", - " main_ductile_iron_unknown_miles\n", - " main_other_2_in_or_less_miles\n", - " main_other_2_to_4_in_miles\n", - " main_other_4_to_8_in_miles\n", - " main_other_8_to_12_in_miles\n", - " main_other_alt_2_in_or_less_miles\n", - " main_other_alt_2_to_4_in_miles\n", - " main_other_alt_4_to_8_in_miles\n", - " main_other_alt_8_to_12_in_miles\n", - " main_other_alt_miles\n", - " main_other_alt_over_12_in_miles\n", - " main_other_alt_total_miles\n", - " main_other_alt_unknown_miles\n", - " main_other_material_detail_miles\n", - " main_other_miles\n", - " main_other_over_12_in_miles\n", - " main_other_plastic_2_in_or_less_miles\n", - " main_other_plastic_2_to_4_in_miles\n", - " main_other_plastic_4_to_8_in_miles\n", - " main_other_plastic_8_to_12_in_miles\n", - " main_other_plastic_over_12_in_miles\n", - " main_other_plastic_total_miles\n", - " main_other_plastic_unknown_miles\n", - " main_other_total_miles\n", - " main_other_unknown_miles\n", - " main_pe_2_in_or_less_miles\n", - " main_pe_2_to_4_in_miles\n", - " main_pe_4_to_8_in_miles\n", - " main_pe_8_to_12_in_miles\n", - " main_pe_over_12_in_miles\n", - " main_pe_total_miles\n", - " main_pe_unknown_miles\n", - " main_plastic_miles\n", - " main_pre_1940_miles\n", - " main_pvc_2_in_or_less_miles\n", - " main_pvc_2_to_4_in_miles\n", - " main_pvc_4_to_8_in_miles\n", - " main_pvc_8_to_12_in_miles\n", - " main_pvc_over_12_in_miles\n", - " main_pvc_total_miles\n", - " main_pvc_unknown_miles\n", - " main_reconditioned_cast_iron_2_in_or_less_miles\n", - " main_reconditioned_cast_iron_2_to_4_in_miles\n", - " main_reconditioned_cast_iron_4_to_8_in_miles\n", - " main_reconditioned_cast_iron_8_to_12_in_miles\n", - " main_reconditioned_cast_iron_miles\n", - " main_reconditioned_cast_iron_over_12_in_miles\n", - " main_reconditioned_cast_iron_total_miles\n", - " main_reconditioned_cast_iron_unknown_miles\n", - " main_steel_2_in_or_less_miles\n", - " main_steel_2_to_4_in_miles\n", - " main_steel_4_to_8_in_miles\n", - " main_steel_8_to_12_in_miles\n", - " main_steel_over_12_in_miles\n", - " main_steel_total_miles\n", - " main_steel_unknown_miles\n", - " main_total_miles\n", - " main_unknown_decade_miles\n", - " main_unprotected_steel_bare_miles\n", - " main_unprotected_steel_coated_miles\n", - " office_address_city\n", - " office_address_county\n", - " office_address_state\n", - " office_address_street\n", - " office_address_zip\n", - " operating_state\n", - " operator_id_phmsa\n", - " operator_name_phmsa\n", - " operator_type\n", - " original_report\n", " percent_unaccounted_for_gas\n", + " additional_information\n", " preparer_email\n", " preparer_fax\n", " preparer_name\n", " preparer_phone\n", " preparer_title\n", - " report_date\n", - " report_number\n", - " report_submission_type\n", - " report_year\n", - " services_1940s\n", - " services_1950s\n", - " services_1960s\n", - " services_1970s\n", - " services_1980s\n", - " services_1990s\n", - " services_2000s\n", - " services_2010s\n", - " services_2020s\n", - " services_abs_1_in_or_less\n", - " services_abs_1_to_2_in\n", - " services_abs_2_to_4_in\n", - " services_abs_4_to_8_in\n", - " services_abs_over_8_in\n", - " services_abs_total\n", - " services_abs_unknown\n", - " services_all_materials_1_in_or_less\n", - " services_all_materials_1_to_2_in\n", - " services_all_materials_2_to_4_in\n", - " services_all_materials_4_to_8_in\n", - " services_all_materials_over_8_in\n", - " services_all_materials_total\n", - " services_all_materials_unknown\n", - " services_all_time\n", - " services_cast_or_wrought_iron\n", - " services_cast_or_wrought_iron_1_in_or_less\n", - " services_cast_or_wrought_iron_1_to_2_in\n", - " services_cast_or_wrought_iron_2_to_4_in\n", - " services_cast_or_wrought_iron_4_to_8_in\n", - " services_cast_or_wrought_iron_over_8_in\n", - " services_cast_or_wrought_iron_total\n", - " services_cast_or_wrought_iron_unknown\n", - " services_cathodically_protected_steel_bare\n", - " services_cathodically_protected_steel_coated\n", - " services_copper\n", - " services_copper_1_in_or_less\n", - " services_copper_1_to_2_in\n", - " services_copper_2_to_4_in\n", - " services_copper_4_to_8_in\n", - " services_copper_over_8_in\n", - " services_copper_total\n", - " services_copper_unknown\n", - " services_ductile_iron\n", - " services_ductile_iron_1_in_or_less\n", - " services_ductile_iron_1_to_2_in\n", - " services_ductile_iron_2_to_4_in\n", - " services_ductile_iron_4_to_8_in\n", - " services_ductile_iron_over_8_in\n", - " services_ductile_iron_total\n", - " services_ductile_iron_unknown\n", - " services_efv_in_system\n", - " services_efv_installed\n", - " services_other\n", - " services_other_1_in_or_less\n", - " services_other_1_to_2_in\n", - " services_other_2_to_4_in\n", - " services_other_4_to_8_in\n", - " services_other_alt\n", - " services_other_alt_1_in_or_less\n", - " services_other_alt_1_to_2_in\n", - " services_other_alt_2_to_4_in\n", - " services_other_alt_4_to_8_in\n", - " services_other_alt_over_8_in\n", - " services_other_alt_total\n", - " services_other_alt_unknown\n", - " services_other_material_detail\n", - " services_other_over_8_in\n", - " services_other_plastic_1_in_or_less\n", - " services_other_plastic_1_to_2_in\n", - " services_other_plastic_2_to_4_in\n", - " services_other_plastic_4_to_8_in\n", - " services_other_plastic_over_8_in\n", - " services_other_plastic_total\n", - " services_other_plastic_unknown\n", - " services_other_total\n", - " services_other_unknown\n", - " services_pe_1_in_or_less\n", - " services_pe_1_to_2_in\n", - " services_pe_2_to_4_in\n", - " services_pe_4_to_8_in\n", - " services_pe_over_8_in\n", - " services_pe_total\n", - " services_pe_unknown\n", - " services_plastic\n", - " services_pre_1940\n", - " services_pvc_1_in_or_less\n", - " services_pvc_1_to_2_in\n", - " services_pvc_2_to_4_in\n", - " services_pvc_4_to_8_in\n", - " services_pvc_over_8_in\n", - " services_pvc_total\n", - " services_pvc_unknown\n", - " services_reconditioned_cast_iron\n", - " services_reconditioned_cast_iron_1_in_or_less\n", - " services_reconditioned_cast_iron_1_to_2_in\n", - " services_reconditioned_cast_iron_2_to_4_in\n", - " services_reconditioned_cast_iron_4_to_8_in\n", - " services_reconditioned_cast_iron_over_8_in\n", - " services_reconditioned_cast_iron_total\n", - " services_reconditioned_cast_iron_unknown\n", - " services_shutoff_valve_in_system\n", - " services_shutoff_valve_installed\n", - " services_steel_1_in_or_less\n", - " services_steel_1_to_2_in\n", - " services_steel_2_to_4_in\n", - " services_steel_4_to_8_in\n", - " services_steel_over_8_in\n", - " services_steel_total\n", - " services_steel_unknown\n", - " services_total\n", - " services_unknown_decade\n", - " services_unprotected_steel_bare\n", - " services_unprotected_steel_coated\n", - " supplemental_report_number\n", - " supplementary_report\n", + " headquarters_address_city\n", + " headquarters_address_county\n", + " headquarters_address_state\n", + " headquarters_address_street\n", + " headquarters_address_zip\n", " \n", " \n", " \n", " \n", - " 0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " 21069\n", + " 2009-12-03 00:00:00\n", + " 20081542\n", + " NaN\n", + " 2004\n", + " 7130\n", + " HASKELL PUBLIC WORKS AUTH\n", + " P.O. BOX 9, 109 S. BROADWAY\n", + " HASKELL\n", + " OK\n", + " 74436\n", + " MUSKOGEE\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", " 0.0\n", + " 3.0\n", " NaN\n", + " 9184825518.0\n", " NaN\n", + " MARILYNN TUCKER\n", + " 918-482-3148\n", + " TOWNOFHASKELL@VALORNET.COM\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", + " NaN\n", + " \n", + " \n", + " 21070\n", + " 2009-12-16 00:00:00\n", + " 20081562\n", + " NaN\n", + " 2004\n", + " 19090\n", + " TANGIPAHOA, VILLAGE OF\n", + " 12616 JACKSON ST.\n", + " TANGIPAHOA\n", + " LA\n", + " 70465\n", + " TANGIPAHOA\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", " 0.0\n", " 0.0\n", " NaN\n", + " 9852298300.0\n", " NaN\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 35.0\n", - " NaN\n", - " NaT\n", - " NaT\n", - " final\n", - " NaN\n", + " FREDRIKA M. RUFFIN, CLERK\n", + " 985-229-4423\n", + " ROTPD@BELLSOUTH.NET\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", + " \n", + " \n", + " 21071\n", + " 2009-07-08 00:00:00\n", + " 20081404\n", + " NaN\n", + " 2004\n", + " 18160\n", + " SEALY GAS DEPT, CITY OF\n", + " 415 MAIN ST.\n", + " SEALY\n", + " TX\n", + " 77474\n", + " AUSTIN\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", " 0.0\n", - " 1992-06-30\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", + " 1.0\n", " NaN\n", + " 9798853511.0\n", " NaN\n", + " JOHN MARESH, CITY MANAGER\n", + " 979-885-3513\n", + " JMARESH@CI.SEALY.TX.US\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 3.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 3.0\n", - " 0.0\n", " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " \n", + " \n", + " 21073\n", + " 2005-03-21 00:00:00\n", + " 20041246\n", + " NaN\n", + " 2004\n", + " 5040\n", + " CITY OF FAIRHOPE\n", + " 555 SOUTH SECTION STREET\n", + " FAIRHOPE\n", + " AL\n", + " 36532\n", + " BALDWIN\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", " 0.0\n", " 3.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", " NaN\n", + " 2519288003.0\n", " NaN\n", + " STEVE SEAY SUPERINTENDENT\n", + " 251-990-0388\n", + " STEVE.SEAY@COFAIRHOPE.COM\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", + " \n", + " \n", + " 21074\n", + " 2005-02-24 00:00:00\n", + " 20040546\n", + " NaN\n", + " 2004\n", + " 12510\n", + " VILLAGE OF MILFORD\n", + " 15 S WEST AVE\n", + " MILFORD\n", + " IL\n", + " 60953\n", + " IROQUOIS\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 3.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 3.0\n", - " 0.0\n", - " 3.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " ABBYVILLE\n", - " RENO\n", - " KS\n", - " P O BOX 100\n", - " 67510.0\n", - " KS\n", - " 18.0\n", - " ABBYVILLE, CITY OF\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 3162865404\n", - " NaN\n", - " DEBRA EHLING\n", - " NaN\n", - " NaN\n", - " NaT\n", - " 19901506.0\n", - " NaN\n", - " 1990.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", + " 4.0\n", " NaN\n", + " 8158894249.0\n", " NaN\n", + " TRICIA HUFF\n", + " 815-889-5589\n", + " MILFORDCITY@DTNSPEED.NET\n", " NaN\n", " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 66.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", " NaN\n", " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", + " \n", + " \n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " \n", + " \n", + " 50640\n", + " 2024-03-15 11:54:14\n", + " 20241206\n", + " INITIAL\n", + " 2023\n", + " 40711\n", + " BRIGHTMARK KIRKMAN RNG LLC\n", + " 9720 CYPRESSWOOD DRIVE\n", + " HOUSTON\n", + " TX\n", + " 77070\n", + " NaN\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0.0\n", + " 0.0\n", + " NaN\n", + " (000) 000-0000\n", + " schuyler.dickerson@everlineus.com\n", + " Schuyler Dickerson\n", + " 832-386-5484\n", + " Regulatory Consultant\n", + " SAN FRANCISCO\n", + " NaN\n", + " CA\n", + " 1725 MONTGOMERY ST FL 3\n", + " 94111\n", + " \n", + " \n", + " 50641\n", + " 2024-03-15 12:56:29\n", + " 20241215\n", + " INITIAL\n", + " 2023\n", + " 40712\n", + " BRIGHTMARK VAN ESS RNG LLC\n", + " 9720 CYPRESSWOOD DRIVE\n", + " HOUSTON\n", + " TX\n", + " 77070\n", + " NaN\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0.0\n", + " 0.0\n", + " NaN\n", + " (000) 000-0000\n", + " schuyler.dickerson@everlineus.com\n", + " Schuyler Dickerson\n", + " 832-386-5484\n", + " Regulator Consultant\n", + " SAN FRANCISCO\n", + " NaN\n", + " CA\n", + " 1725 MONTGOMERY ST FL 3\n", + " 94111\n", + " \n", + " \n", + " 50642\n", + " 2024-03-15 12:50:23\n", + " 20241214\n", + " INITIAL\n", + " 2023\n", + " 40713\n", + " BRIGHTMARK ROORDA RNG LLC\n", + " 3405 Eide Drive\n", + " Sioux Falls\n", + " SD\n", + " 57107\n", + " NaN\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0.0\n", + " 0.0\n", + " NaN\n", + " (000) 000-0000\n", + " schuyler.dickerson@everlineus.com\n", + " Schuyler Dickerson\n", + " 832-386-5484\n", + " Regulatory Consultant\n", + " SAN FRANCISCO\n", + " NaN\n", + " CA\n", + " 1725 MONTGOMERY ST FL 3\n", + " 94111\n", + " \n", + " \n", + " 50643\n", + " 2024-07-15 15:54:36\n", + " 20241437\n", + " INITIAL\n", + " 2023\n", + " 40732\n", + " ABBS VALLEY PIPELINE\n", + " P.O. BOX 225\n", + " PINEVILLE\n", + " WV\n", + " 24874\n", + " WYOMING\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0.0\n", + " -0.005\n", + " NaN\n", + " (000) 000-0000\n", + " sgillespie@bgpartners.net\n", + " Stevens Gillespie\n", + " 703-963-0048\n", + " Agent\n", + " CORPUS CHRISTI\n", " NaN\n", + " TX\n", + " 615 N UPPER BROADWAY STE. 525\n", + " 78401\n", + " \n", + " \n", + " 50644\n", + " 2024-03-07 16:05:22\n", + " 20240713\n", + " INITIAL\n", + " 2023\n", + " 40804\n", + " STERLING CITY GAS DEPT\n", + " 508 3RD STREET\n", + " STERLING CITY\n", + " TX\n", + " <NA>\n", + " Sterling\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", " 0.0\n", + " 45.0\n", + " The Sterling City Gas Dept. took over the gas ...\n", + " (325) 378-2334\n", + " secretary@sterlingcitytexas.com\n", + " MARLA ARIZOLA\n", + " 325-378-2811\n", + " City Secretary\n", + " STERLING CITY\n", " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 66.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " \n", - " \n", - " 1\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 1.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 1.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 25.0\n", - " NaN\n", - " 1991-02-05\n", - " NaT\n", - " final\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 1991-02-05\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 23.0\n", - " 2.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 25.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 25.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 23.0\n", - " 2.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 25.0\n", - " 0.0\n", - " 25.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " ABITA SPRINGS\n", - " ST. TAMMANY\n", - " LA\n", - " LEVEL STREET\n", - " 70420.0\n", - " LA\n", - " 27.0\n", - " ABITA SPRINGS NAT GAS & WATER\n", - " NaN\n", - " NaN\n", - " 4.0\n", - " 5048920711\n", - " NaN\n", - " BARBARA GIANCONTIERI\n", - " NaN\n", - " NaN\n", - " NaT\n", - " 19900095.0\n", - " NaN\n", - " 1990.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 509.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 509.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 509.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 509.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 509.0\n", - " 0.0\n", - " 509.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " \n", - " \n", - " 2\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 2.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 2.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 14.0\n", - " 100.0\n", - " NaN\n", - " NaT\n", - " NaT\n", - " final\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 1991-05-08\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 19.0\n", - " 22.0\n", - " 1.0\n", - " 0.0\n", - " 0.0\n", - " 42.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 34.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 8.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 8.0\n", - " 0.0\n", - " 8.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 11.0\n", - " 22.0\n", - " 1.0\n", - " 0.0\n", - " 0.0\n", - " 34.0\n", - " 0.0\n", - " 42.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " ADAIRSVILLE\n", - " BARTOW\n", - " GA\n", - " P.O. BOX 830\n", - " 30103.0\n", - " GA\n", - " 45.0\n", - " ADAIRSVILLE, CITY OF\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 4044221902\n", - " NaN\n", - " CHRIS STRIPPELHOFF - CONSULTANT\n", - " NaN\n", - " NaN\n", - " NaT\n", - " 19900947.0\n", - " NaN\n", - " 1990.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 900.0\n", - " 1.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 901.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 521.0\n", - " 95.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 284.0\n", - " 1.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 285.0\n", - " 0.0\n", - " 285.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 616.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 616.0\n", - " 0.0\n", - " 901.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " \n", - " \n", - " 3\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 2.0\n", - " 7.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 100.0\n", - " NaN\n", - " NaT\n", - " NaT\n", - " final\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 1991-06-26\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 81.0\n", - " 17.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 98.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 85.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 13.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 13.0\n", - " 0.0\n", - " 13.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 68.0\n", - " 17.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 85.0\n", - " 0.0\n", - " 98.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " ADAMSVILLE\n", - " MCNAIRY\n", - " TN\n", - " 231 EAST MAIN STREET\n", - " 38310.0\n", - " TN\n", - " 49.0\n", - " ADAMSVILLE GAS DEPT, TOWN OF\n", - " NaN\n", - " NaN\n", - " 3.8\n", - " 9016324214\n", - " NaN\n", - " E. GEORGE LECKNER, JR. - GAS SYSTEM ANALYST\n", - " NaN\n", - " NaN\n", - " NaT\n", - " 19901193.0\n", - " NaN\n", - " 1990.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 931.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 931.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 644.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 287.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 287.0\n", - " 0.0\n", - " 287.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 644.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 644.0\n", - " 0.0\n", - " 931.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " \n", - " \n", - " 4\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 1.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 3.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 2.0\n", - " 0.0\n", - " 2.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 95.0\n", - " NaN\n", - " NaT\n", - " NaT\n", - " final\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 1991-05-08\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 25.0\n", - " 5.0\n", - " 1.0\n", - " 0.0\n", - " 0.0\n", - " 31.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 26.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 5.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 5.0\n", - " 0.0\n", - " 5.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 20.0\n", - " 5.0\n", - " 1.0\n", - " 0.0\n", - " 0.0\n", - " 26.0\n", - " 0.0\n", - " 31.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " ADEL\n", - " COOK\n", - " GA\n", - " CITY HALL - P.O. BOX 658\n", - " 31620.0\n", - " GA\n", - " 54.0\n", - " ADEL GAS DEPT, CITY OF\n", - " NaN\n", - " NaN\n", - " 3.5\n", - " 4044221902\n", - " NaN\n", - " CHRIS STRIPPELHOFF - CONSULTANT\n", - " NaN\n", - " NaN\n", - " NaT\n", - " 19900948.0\n", - " NaN\n", - " 1990.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 964.0\n", - " 10.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 974.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 754.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 220.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 220.0\n", - " 0.0\n", - " 220.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 744.0\n", - " 10.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 754.0\n", - " 0.0\n", - " 974.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", - " NaN\n", - " NaN\n", - " \n", - " \n", - "\n", - "" - ], - "text/plain": [ - " additional_information all_known_leaks_scheduled_for_repair all_leaks_construction_defect_mains all_leaks_construction_defect_services all_leaks_corrosion_failure_mains all_leaks_corrosion_failure_services all_leaks_equipment_failure_mains all_leaks_equipment_failure_services all_leaks_excavation_damage_mains all_leaks_excavation_damage_services all_leaks_incorrect_operation_mains all_leaks_incorrect_operation_services all_leaks_material_defect_mains all_leaks_material_defect_services all_leaks_natural_force_damage_mains all_leaks_natural_force_damage_services all_leaks_other_mains all_leaks_other_outside_force_mains all_leaks_other_outside_force_services all_leaks_other_services all_leaks_outside_force_mains all_leaks_outside_force_services all_leaks_pipe_weld_joint_failure_mains all_leaks_pipe_weld_joint_failure_services all_leaks_third_party_mains all_leaks_third_party_services average_service_length_feet commodity correction_date data_date data_maturity \\\n", - "0 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 35.0 NaN NaT NaT final \n", - "1 NaN 0.0 0.0 0.0 1.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 1.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 25.0 NaN 1991-02-05 NaT final \n", - "2 NaN 0.0 0.0 0.0 0.0 2.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 2.0 NaN NaN 0.0 14.0 100.0 NaN NaT NaT final \n", - "3 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 2.0 7.0 NaN NaN 0.0 0.0 100.0 NaN NaT NaT final \n", - "4 NaN 0.0 0.0 0.0 0.0 1.0 NaN NaN NaN NaN NaN NaN 0.0 3.0 NaN NaN 0.0 NaN NaN 2.0 0.0 2.0 NaN NaN 0.0 0.0 95.0 NaN NaT NaT final \n", - "\n", - " excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets federal_land_leaks_repaired_or_scheduled filing_date form_revision hazardous_leaks_corrosion_failure_mains hazardous_leaks_corrosion_failure_services hazardous_leaks_equipment_failure_mains hazardous_leaks_equipment_failure_services hazardous_leaks_excavation_damage_mains hazardous_leaks_excavation_damage_services hazardous_leaks_incorrect_operation_mains hazardous_leaks_incorrect_operation_services hazardous_leaks_mechanical_joint_failure hazardous_leaks_natural_force_damage_mains hazardous_leaks_natural_force_damage_services hazardous_leaks_other_mains hazardous_leaks_other_outside_force_mains hazardous_leaks_other_outside_force_services hazardous_leaks_other_services hazardous_leaks_pipe_weld_joint_failure_mains hazardous_leaks_pipe_weld_joint_failure_services \\\n", - "0 NaN NaN NaN NaN NaN NaN 0.0 1992-06-30 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "1 NaN NaN NaN NaN NaN NaN 0.0 1991-02-05 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2 NaN NaN NaN NaN NaN NaN 0.0 1991-05-08 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "3 NaN NaN NaN NaN NaN NaN 0.0 1991-06-26 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "4 NaN NaN NaN NaN NaN NaN 0.0 1991-05-08 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "\n", - " headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip log main_1940s_miles main_1950s_miles main_1960s_miles main_1970s_miles main_1980s_miles main_1990s_miles main_2000s_miles main_2010s_miles main_2020s_miles main_abs_2_in_or_less_miles main_abs_2_to_4_in_miles main_abs_4_to_8_in_miles main_abs_8_to_12_in_miles main_abs_over_12_in_miles main_abs_total_miles main_abs_unknown_miles main_all_materials_2_in_or_less_miles main_all_materials_2_to_4_in_miles main_all_materials_4_to_8_in_miles main_all_materials_8_to_12_in_miles main_all_materials_over_12_in_miles main_all_materials_total_miles main_all_materials_unknown_miles main_all_time_miles main_cast_or_wrought_iron_2_in_or_less_miles main_cast_or_wrought_iron_2_to_4_in_miles main_cast_or_wrought_iron_4_to_8_in_miles main_cast_or_wrought_iron_8_to_12_in_miles main_cast_or_wrought_iron_miles \\\n", - "0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.0 0.0 0.0 0.0 0.0 3.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", - "1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 23.0 2.0 0.0 0.0 0.0 25.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", - "2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 19.0 22.0 1.0 0.0 0.0 42.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", - "3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 81.0 17.0 0.0 0.0 0.0 98.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", - "4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 25.0 5.0 1.0 0.0 0.0 31.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 \n", - "\n", - " main_cast_or_wrought_iron_over_12_in_miles main_cast_or_wrought_iron_total_miles main_cast_or_wrought_iron_unknown_miles main_cathodically_protected_steel_bare_miles main_cathodically_protected_steel_coated_miles main_copper_2_in_or_less_miles main_copper_2_to_4_in_miles main_copper_4_to_8_in_miles main_copper_8_to_12_in_miles main_copper_miles main_copper_over_12_in_miles main_copper_total_miles main_copper_unknown_miles main_ductile_iron_2_in_or_less_miles main_ductile_iron_2_to_4_in_miles main_ductile_iron_4_to_8_in_miles main_ductile_iron_8_to_12_in_miles main_ductile_iron_miles main_ductile_iron_over_12_in_miles main_ductile_iron_total_miles main_ductile_iron_unknown_miles main_other_2_in_or_less_miles main_other_2_to_4_in_miles main_other_4_to_8_in_miles main_other_8_to_12_in_miles main_other_alt_2_in_or_less_miles main_other_alt_2_to_4_in_miles main_other_alt_4_to_8_in_miles main_other_alt_8_to_12_in_miles main_other_alt_miles \\\n", - "0 0.0 0.0 0.0 0.0 3.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "1 0.0 0.0 0.0 0.0 25.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "2 0.0 0.0 0.0 0.0 34.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "3 0.0 0.0 0.0 0.0 85.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "4 0.0 0.0 0.0 0.0 26.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "\n", - " main_other_alt_over_12_in_miles main_other_alt_total_miles main_other_alt_unknown_miles main_other_material_detail_miles main_other_miles main_other_over_12_in_miles main_other_plastic_2_in_or_less_miles main_other_plastic_2_to_4_in_miles main_other_plastic_4_to_8_in_miles main_other_plastic_8_to_12_in_miles main_other_plastic_over_12_in_miles main_other_plastic_total_miles main_other_plastic_unknown_miles main_other_total_miles main_other_unknown_miles main_pe_2_in_or_less_miles main_pe_2_to_4_in_miles main_pe_4_to_8_in_miles main_pe_8_to_12_in_miles main_pe_over_12_in_miles main_pe_total_miles main_pe_unknown_miles main_plastic_miles main_pre_1940_miles main_pvc_2_in_or_less_miles main_pvc_2_to_4_in_miles main_pvc_4_to_8_in_miles main_pvc_8_to_12_in_miles main_pvc_over_12_in_miles main_pvc_total_miles main_pvc_unknown_miles main_reconditioned_cast_iron_2_in_or_less_miles main_reconditioned_cast_iron_2_to_4_in_miles \\\n", - "0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", - "1 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", - "2 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 8.0 0.0 0.0 0.0 0.0 8.0 0.0 8.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", - "3 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 13.0 0.0 0.0 0.0 0.0 13.0 0.0 13.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", - "4 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 5.0 0.0 0.0 0.0 0.0 5.0 0.0 5.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN \n", - "\n", - " main_reconditioned_cast_iron_4_to_8_in_miles main_reconditioned_cast_iron_8_to_12_in_miles main_reconditioned_cast_iron_miles main_reconditioned_cast_iron_over_12_in_miles main_reconditioned_cast_iron_total_miles main_reconditioned_cast_iron_unknown_miles main_steel_2_in_or_less_miles main_steel_2_to_4_in_miles main_steel_4_to_8_in_miles main_steel_8_to_12_in_miles main_steel_over_12_in_miles main_steel_total_miles main_steel_unknown_miles main_total_miles main_unknown_decade_miles main_unprotected_steel_bare_miles main_unprotected_steel_coated_miles office_address_city office_address_county office_address_state office_address_street office_address_zip operating_state operator_id_phmsa operator_name_phmsa operator_type original_report percent_unaccounted_for_gas preparer_email preparer_fax preparer_name preparer_phone preparer_title report_date report_number report_submission_type report_year services_1940s \\\n", - "0 NaN NaN NaN NaN NaN NaN 3.0 0.0 0.0 0.0 0.0 3.0 0.0 3.0 NaN 0.0 0.0 ABBYVILLE RENO KS P O BOX 100 67510.0 KS 18.0 ABBYVILLE, CITY OF NaN NaN NaN 3162865404 NaN DEBRA EHLING NaN NaN NaT 19901506.0 NaN 1990.0 NaN \n", - "1 NaN NaN NaN NaN NaN NaN 23.0 2.0 0.0 0.0 0.0 25.0 0.0 25.0 NaN 0.0 0.0 ABITA SPRINGS ST. TAMMANY LA LEVEL STREET 70420.0 LA 27.0 ABITA SPRINGS NAT GAS & WATER NaN NaN 4.0 5048920711 NaN BARBARA GIANCONTIERI NaN NaN NaT 19900095.0 NaN 1990.0 NaN \n", - "2 NaN NaN NaN NaN NaN NaN 11.0 22.0 1.0 0.0 0.0 34.0 0.0 42.0 NaN 0.0 0.0 ADAIRSVILLE BARTOW GA P.O. BOX 830 30103.0 GA 45.0 ADAIRSVILLE, CITY OF NaN NaN 0.0 4044221902 NaN CHRIS STRIPPELHOFF - CONSULTANT NaN NaN NaT 19900947.0 NaN 1990.0 NaN \n", - "3 NaN NaN NaN NaN NaN NaN 68.0 17.0 0.0 0.0 0.0 85.0 0.0 98.0 NaN 0.0 0.0 ADAMSVILLE MCNAIRY TN 231 EAST MAIN STREET 38310.0 TN 49.0 ADAMSVILLE GAS DEPT, TOWN OF NaN NaN 3.8 9016324214 NaN E. GEORGE LECKNER, JR. - GAS SYSTEM ANALYST NaN NaN NaT 19901193.0 NaN 1990.0 NaN \n", - "4 NaN NaN NaN NaN NaN NaN 20.0 5.0 1.0 0.0 0.0 26.0 0.0 31.0 NaN 0.0 0.0 ADEL COOK GA CITY HALL - P.O. BOX 658 31620.0 GA 54.0 ADEL GAS DEPT, CITY OF NaN NaN 3.5 4044221902 NaN CHRIS STRIPPELHOFF - CONSULTANT NaN NaN NaT 19900948.0 NaN 1990.0 NaN \n", - "\n", - " services_1950s services_1960s services_1970s services_1980s services_1990s services_2000s services_2010s services_2020s services_abs_1_in_or_less services_abs_1_to_2_in services_abs_2_to_4_in services_abs_4_to_8_in services_abs_over_8_in services_abs_total services_abs_unknown services_all_materials_1_in_or_less services_all_materials_1_to_2_in services_all_materials_2_to_4_in services_all_materials_4_to_8_in services_all_materials_over_8_in services_all_materials_total services_all_materials_unknown services_all_time services_cast_or_wrought_iron services_cast_or_wrought_iron_1_in_or_less services_cast_or_wrought_iron_1_to_2_in services_cast_or_wrought_iron_2_to_4_in services_cast_or_wrought_iron_4_to_8_in services_cast_or_wrought_iron_over_8_in services_cast_or_wrought_iron_total services_cast_or_wrought_iron_unknown services_cathodically_protected_steel_bare services_cathodically_protected_steel_coated services_copper services_copper_1_in_or_less \\\n", - "0 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 66.0 0.0 0.0 \n", - "1 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 509.0 0.0 0.0 0.0 0.0 509.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 509.0 0.0 0.0 \n", - "2 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 900.0 1.0 0.0 0.0 0.0 901.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 521.0 95.0 0.0 0.0 \n", - "3 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 931.0 0.0 0.0 0.0 0.0 931.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 644.0 0.0 0.0 \n", - "4 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 964.0 10.0 0.0 0.0 0.0 974.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 754.0 0.0 0.0 \n", - "\n", - " services_copper_1_to_2_in services_copper_2_to_4_in services_copper_4_to_8_in services_copper_over_8_in services_copper_total services_copper_unknown services_ductile_iron services_ductile_iron_1_in_or_less services_ductile_iron_1_to_2_in services_ductile_iron_2_to_4_in services_ductile_iron_4_to_8_in services_ductile_iron_over_8_in services_ductile_iron_total services_ductile_iron_unknown services_efv_in_system services_efv_installed services_other services_other_1_in_or_less services_other_1_to_2_in services_other_2_to_4_in services_other_4_to_8_in services_other_alt services_other_alt_1_in_or_less services_other_alt_1_to_2_in services_other_alt_2_to_4_in services_other_alt_4_to_8_in services_other_alt_over_8_in services_other_alt_total services_other_alt_unknown services_other_material_detail services_other_over_8_in services_other_plastic_1_in_or_less services_other_plastic_1_to_2_in services_other_plastic_2_to_4_in \\\n", - "0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", - "1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", - "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", - "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", - "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 NaN NaN NaN \n", - "\n", - " services_other_plastic_4_to_8_in services_other_plastic_over_8_in services_other_plastic_total services_other_plastic_unknown services_other_total services_other_unknown services_pe_1_in_or_less services_pe_1_to_2_in services_pe_2_to_4_in services_pe_4_to_8_in services_pe_over_8_in services_pe_total services_pe_unknown services_plastic services_pre_1940 services_pvc_1_in_or_less services_pvc_1_to_2_in services_pvc_2_to_4_in services_pvc_4_to_8_in services_pvc_over_8_in services_pvc_total services_pvc_unknown services_reconditioned_cast_iron services_reconditioned_cast_iron_1_in_or_less services_reconditioned_cast_iron_1_to_2_in services_reconditioned_cast_iron_2_to_4_in services_reconditioned_cast_iron_4_to_8_in services_reconditioned_cast_iron_over_8_in services_reconditioned_cast_iron_total services_reconditioned_cast_iron_unknown services_shutoff_valve_in_system services_shutoff_valve_installed services_steel_1_in_or_less \\\n", - "0 NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 \n", - "1 NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 509.0 \n", - "2 NaN NaN NaN NaN 0.0 0.0 284.0 1.0 0.0 0.0 0.0 285.0 0.0 285.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 616.0 \n", - "3 NaN NaN NaN NaN 0.0 0.0 287.0 0.0 0.0 0.0 0.0 287.0 0.0 287.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 644.0 \n", - "4 NaN NaN NaN NaN 0.0 0.0 220.0 0.0 0.0 0.0 0.0 220.0 0.0 220.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 744.0 \n", - "\n", - " services_steel_1_to_2_in services_steel_2_to_4_in services_steel_4_to_8_in services_steel_over_8_in services_steel_total services_steel_unknown services_total services_unknown_decade services_unprotected_steel_bare services_unprotected_steel_coated supplemental_report_number supplementary_report \n", - "0 0.0 0.0 0.0 0.0 0.0 0.0 66.0 NaN 0.0 0.0 NaN NaN \n", - "1 0.0 0.0 0.0 0.0 509.0 0.0 509.0 NaN 0.0 0.0 NaN NaN \n", - "2 0.0 0.0 0.0 0.0 616.0 0.0 901.0 NaN 0.0 0.0 NaN NaN \n", - "3 0.0 0.0 0.0 0.0 644.0 0.0 931.0 NaN 0.0 0.0 NaN NaN \n", - "4 10.0 0.0 0.0 0.0 754.0 0.0 974.0 NaN 0.0 0.0 NaN NaN " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "raw_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "def sorted_value_printer(column):\n", - " # Assuming 'raw_df' is your DataFrame\n", - " sorted_values = sorted(raw_df[column])\n", - "\n", - " # Pretty print the sorted columns\n", - " for val in sorted_values:\n", - " print(val)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-07-31 17:28:42\n", - "1991-01-25 00:00:00\n", - "2024-07-31 14:16:33\n", - "2000-01-05 00:00:00\n", - "2023.0\n", - "94.0\n" - ] - } - ], - "source": [ - "print(raw_df.filing_date.max())\n", - "print(raw_df.filing_date.min())\n", - "\n", - "print(raw_df.report_date.max())\n", - "print(raw_df.report_date.min())\n", - "\n", - "print(raw_df.report_year.max())\n", - "print(raw_df.report_year.min())" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
operator_id_phmsaoperator_name_phmsa
25383.0AMARILLO NATURAL GAS INC
1539383.0AMARILLO NATURAL GAS INC
3627383.0AMARILLO NATURAL GAS INC
4645383.0AMARILLO NATURAL GAS INC
6214383.0AMARILLO NATURAL GAS INC ...
.........
46339383.0AMARILLO NATURAL GAS INC
47782383.0AMARILLO NATURAL GAS INC
47783383.0AMARILLO NATURAL GAS INC
49229383.0AMARILLO NATURAL GAS INC
49230383.0AMARILLO NATURAL GAS INC
\n", - "

68 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " operator_id_phmsa operator_name_phmsa\n", - "25 383.0 AMARILLO NATURAL GAS INC\n", - "1539 383.0 AMARILLO NATURAL GAS INC\n", - "3627 383.0 AMARILLO NATURAL GAS INC\n", - "4645 383.0 AMARILLO NATURAL GAS INC\n", - "6214 383.0 AMARILLO NATURAL GAS INC ...\n", - "... ... ...\n", - "46339 383.0 AMARILLO NATURAL GAS INC\n", - "47782 383.0 AMARILLO NATURAL GAS INC\n", - "47783 383.0 AMARILLO NATURAL GAS INC\n", - "49229 383.0 AMARILLO NATURAL GAS INC\n", - "49230 383.0 AMARILLO NATURAL GAS INC\n", - "\n", - "[68 rows x 2 columns]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "raw_df[raw_df.operator_id_phmsa==383][['operator_id_phmsa','operator_name_phmsa']]" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
additional_informationall_known_leaks_scheduled_for_repairall_leaks_construction_defect_mainsall_leaks_construction_defect_servicesall_leaks_corrosion_failure_mainsall_leaks_corrosion_failure_servicesall_leaks_equipment_failure_mainsall_leaks_equipment_failure_servicesall_leaks_excavation_damage_mainsall_leaks_excavation_damage_servicesall_leaks_incorrect_operation_mainsall_leaks_incorrect_operation_servicesall_leaks_material_defect_mainsall_leaks_material_defect_servicesall_leaks_natural_force_damage_mainsall_leaks_natural_force_damage_servicesall_leaks_other_mainsall_leaks_other_outside_force_mainsall_leaks_other_outside_force_servicesall_leaks_other_servicesall_leaks_outside_force_mainsall_leaks_outside_force_servicesall_leaks_pipe_weld_joint_failure_mainsall_leaks_pipe_weld_joint_failure_servicesall_leaks_third_party_mainsall_leaks_third_party_servicesaverage_service_length_feetcommoditycorrection_datedata_datedata_maturityexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsfederal_land_leaks_repaired_or_scheduledfiling_dateform_revisionhazardous_leaks_corrosion_failure_mainshazardous_leaks_corrosion_failure_serviceshazardous_leaks_equipment_failure_mainshazardous_leaks_equipment_failure_serviceshazardous_leaks_excavation_damage_mainshazardous_leaks_excavation_damage_serviceshazardous_leaks_incorrect_operation_mainshazardous_leaks_incorrect_operation_serviceshazardous_leaks_mechanical_joint_failurehazardous_leaks_natural_force_damage_mainshazardous_leaks_natural_force_damage_serviceshazardous_leaks_other_mainshazardous_leaks_other_outside_force_mainshazardous_leaks_other_outside_force_serviceshazardous_leaks_other_serviceshazardous_leaks_pipe_weld_joint_failure_mainshazardous_leaks_pipe_weld_joint_failure_servicesheadquarters_address_cityheadquarters_address_countyheadquarters_address_stateheadquarters_address_streetheadquarters_address_ziplogmain_1940s_milesmain_1950s_milesmain_1960s_milesmain_1970s_milesmain_1980s_milesmain_1990s_milesmain_2000s_milesmain_2010s_milesmain_2020s_milesmain_abs_2_in_or_less_milesmain_abs_2_to_4_in_milesmain_abs_4_to_8_in_milesmain_abs_8_to_12_in_milesmain_abs_over_12_in_milesmain_abs_total_milesmain_abs_unknown_milesmain_all_materials_2_in_or_less_milesmain_all_materials_2_to_4_in_milesmain_all_materials_4_to_8_in_milesmain_all_materials_8_to_12_in_milesmain_all_materials_over_12_in_milesmain_all_materials_total_milesmain_all_materials_unknown_milesmain_all_time_milesmain_cast_or_wrought_iron_2_in_or_less_milesmain_cast_or_wrought_iron_2_to_4_in_milesmain_cast_or_wrought_iron_4_to_8_in_milesmain_cast_or_wrought_iron_8_to_12_in_milesmain_cast_or_wrought_iron_milesmain_cast_or_wrought_iron_over_12_in_milesmain_cast_or_wrought_iron_total_milesmain_cast_or_wrought_iron_unknown_milesmain_cathodically_protected_steel_bare_milesmain_cathodically_protected_steel_coated_milesmain_copper_2_in_or_less_milesmain_copper_2_to_4_in_milesmain_copper_4_to_8_in_milesmain_copper_8_to_12_in_milesmain_copper_milesmain_copper_over_12_in_milesmain_copper_total_milesmain_copper_unknown_milesmain_ductile_iron_2_in_or_less_milesmain_ductile_iron_2_to_4_in_milesmain_ductile_iron_4_to_8_in_milesmain_ductile_iron_8_to_12_in_milesmain_ductile_iron_milesmain_ductile_iron_over_12_in_milesmain_ductile_iron_total_milesmain_ductile_iron_unknown_milesmain_other_2_in_or_less_milesmain_other_2_to_4_in_milesmain_other_4_to_8_in_milesmain_other_8_to_12_in_milesmain_other_alt_2_in_or_less_milesmain_other_alt_2_to_4_in_milesmain_other_alt_4_to_8_in_milesmain_other_alt_8_to_12_in_milesmain_other_alt_milesmain_other_alt_over_12_in_milesmain_other_alt_total_milesmain_other_alt_unknown_milesmain_other_material_detail_milesmain_other_milesmain_other_over_12_in_milesmain_other_plastic_2_in_or_less_milesmain_other_plastic_2_to_4_in_milesmain_other_plastic_4_to_8_in_milesmain_other_plastic_8_to_12_in_milesmain_other_plastic_over_12_in_milesmain_other_plastic_total_milesmain_other_plastic_unknown_milesmain_other_total_milesmain_other_unknown_milesmain_pe_2_in_or_less_milesmain_pe_2_to_4_in_milesmain_pe_4_to_8_in_milesmain_pe_8_to_12_in_milesmain_pe_over_12_in_milesmain_pe_total_milesmain_pe_unknown_milesmain_plastic_milesmain_pre_1940_milesmain_pvc_2_in_or_less_milesmain_pvc_2_to_4_in_milesmain_pvc_4_to_8_in_milesmain_pvc_8_to_12_in_milesmain_pvc_over_12_in_milesmain_pvc_total_milesmain_pvc_unknown_milesmain_reconditioned_cast_iron_2_in_or_less_milesmain_reconditioned_cast_iron_2_to_4_in_milesmain_reconditioned_cast_iron_4_to_8_in_milesmain_reconditioned_cast_iron_8_to_12_in_milesmain_reconditioned_cast_iron_milesmain_reconditioned_cast_iron_over_12_in_milesmain_reconditioned_cast_iron_total_milesmain_reconditioned_cast_iron_unknown_milesmain_steel_2_in_or_less_milesmain_steel_2_to_4_in_milesmain_steel_4_to_8_in_milesmain_steel_8_to_12_in_milesmain_steel_over_12_in_milesmain_steel_total_milesmain_steel_unknown_milesmain_total_milesmain_unknown_decade_milesmain_unprotected_steel_bare_milesmain_unprotected_steel_coated_milesoffice_address_cityoffice_address_countyoffice_address_stateoffice_address_streetoffice_address_zipoperating_stateoperator_id_phmsaoperator_name_phmsaoperator_typeoriginal_reportpercent_unaccounted_for_gaspreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_titlereport_datereport_numberreport_submission_typereport_yearservices_1940sservices_1950sservices_1960sservices_1970sservices_1980sservices_1990sservices_2000sservices_2010sservices_2020sservices_abs_1_in_or_lessservices_abs_1_to_2_inservices_abs_2_to_4_inservices_abs_4_to_8_inservices_abs_over_8_inservices_abs_totalservices_abs_unknownservices_all_materials_1_in_or_lessservices_all_materials_1_to_2_inservices_all_materials_2_to_4_inservices_all_materials_4_to_8_inservices_all_materials_over_8_inservices_all_materials_totalservices_all_materials_unknownservices_all_timeservices_cast_or_wrought_ironservices_cast_or_wrought_iron_1_in_or_lessservices_cast_or_wrought_iron_1_to_2_inservices_cast_or_wrought_iron_2_to_4_inservices_cast_or_wrought_iron_4_to_8_inservices_cast_or_wrought_iron_over_8_inservices_cast_or_wrought_iron_totalservices_cast_or_wrought_iron_unknownservices_cathodically_protected_steel_bareservices_cathodically_protected_steel_coatedservices_copperservices_copper_1_in_or_lessservices_copper_1_to_2_inservices_copper_2_to_4_inservices_copper_4_to_8_inservices_copper_over_8_inservices_copper_totalservices_copper_unknownservices_ductile_ironservices_ductile_iron_1_in_or_lessservices_ductile_iron_1_to_2_inservices_ductile_iron_2_to_4_inservices_ductile_iron_4_to_8_inservices_ductile_iron_over_8_inservices_ductile_iron_totalservices_ductile_iron_unknownservices_efv_in_systemservices_efv_installedservices_otherservices_other_1_in_or_lessservices_other_1_to_2_inservices_other_2_to_4_inservices_other_4_to_8_inservices_other_altservices_other_alt_1_in_or_lessservices_other_alt_1_to_2_inservices_other_alt_2_to_4_inservices_other_alt_4_to_8_inservices_other_alt_over_8_inservices_other_alt_totalservices_other_alt_unknownservices_other_material_detailservices_other_over_8_inservices_other_plastic_1_in_or_lessservices_other_plastic_1_to_2_inservices_other_plastic_2_to_4_inservices_other_plastic_4_to_8_inservices_other_plastic_over_8_inservices_other_plastic_totalservices_other_plastic_unknownservices_other_totalservices_other_unknownservices_pe_1_in_or_lessservices_pe_1_to_2_inservices_pe_2_to_4_inservices_pe_4_to_8_inservices_pe_over_8_inservices_pe_totalservices_pe_unknownservices_plasticservices_pre_1940services_pvc_1_in_or_lessservices_pvc_1_to_2_inservices_pvc_2_to_4_inservices_pvc_4_to_8_inservices_pvc_over_8_inservices_pvc_totalservices_pvc_unknownservices_reconditioned_cast_ironservices_reconditioned_cast_iron_1_in_or_lessservices_reconditioned_cast_iron_1_to_2_inservices_reconditioned_cast_iron_2_to_4_inservices_reconditioned_cast_iron_4_to_8_inservices_reconditioned_cast_iron_over_8_inservices_reconditioned_cast_iron_totalservices_reconditioned_cast_iron_unknownservices_shutoff_valve_in_systemservices_shutoff_valve_installedservices_steel_1_in_or_lessservices_steel_1_to_2_inservices_steel_2_to_4_inservices_steel_4_to_8_inservices_steel_over_8_inservices_steel_totalservices_steel_unknownservices_totalservices_unknown_decadeservices_unprotected_steel_bareservices_unprotected_steel_coatedsupplemental_report_numbersupplementary_report
25NaN0.00.00.00.00.0NaNNaNNaNNaNNaNNaN0.00.0NaNNaN0.0NaNNaN0.00.00.0NaNNaN0.00.02.0NaN1991-07-24NaTfinalNaNNaNNaNNaNNaNNaN0.01991-06-20NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.04.00.00.00.04.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.0NaNNaNNaNNaNNaNNaNNaN0.00.00.04.00.00.00.04.00.04.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.04.0NaN0.00.0AMARILLOPOTTERTX6601 I-40 WEST, #279106.0TX383.0AMARILLO NATURAL GAS INCNaNNaN0.08063525271NaNKELLY LOVVORN - GAS SUPPLYNaNNaNNaT19901333.0NaN1990.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.09.00.00.00.09.00.0NaN0.00.00.00.00.00.00.00.00.09.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.0NaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.09.00.00.00.09.00.09.0NaN0.00.0NaNNaN
1539NaN0.00.00.00.00.0NaNNaNNaNNaNNaNNaN0.00.0NaNNaN0.0NaNNaN0.00.00.0NaNNaN0.00.02.0NaN1992-05-21NaTfinalNaNNaNNaNNaNNaNNaN0.01992-04-27NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.04.00.00.00.04.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.0NaNNaNNaNNaNNaNNaNNaN0.00.00.04.00.00.00.04.00.04.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.04.0NaN0.00.0AMARILLOPOTTERTX6601 1-40 WEST #279106TX383.0AMARILLO NATURAL GAS INCNaNNaN0.08063525271NaNKELLY LOVVORNNaNNaNNaT19910511.0NaN1991.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.09.00.00.00.09.00.0NaN0.00.00.00.00.00.00.00.00.09.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.0NaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.09.00.00.00.09.00.09.0NaN0.00.0NaNNaN
3627NaN0.00.00.00.00.0NaNNaNNaNNaNNaNNaN0.00.0NaNNaN0.0NaNNaN0.00.00.0NaNNaN0.00.02.0NaNNaTNaTfinalNaNNaNNaNNaNNaNNaN0.01993-06-23NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.08.00.00.00.08.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.04.00.00.00.00.04.00.0NaN0.00.0NaNNaNNaNNaNNaNNaNNaN0.00.00.04.00.00.00.04.00.04.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.04.0NaN0.00.0AMARILLOPOTTERTX6601 1-40 WEST #279106.0TX383.0AMARILLO NATURAL GAS INCNaNNaNNaN8063525271NaNJERRY SIMMONSNaNNaNNaT19920584.0NaN1992.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.09.00.00.00.09.00.0NaN0.00.00.00.00.00.00.00.00.09.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.0NaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.09.00.00.00.09.00.09.0NaN0.00.0NaNNaN
4645NaN0.00.00.00.00.0NaNNaNNaNNaNNaNNaN0.00.0NaNNaN0.0NaNNaN0.00.00.0NaNNaN0.00.02.0NaNNaTNaTfinalNaNNaNNaNNaNNaNNaN0.01994-06-03NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.04.00.00.00.04.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.0NaNNaNNaNNaNNaNNaNNaN0.00.00.04.00.00.00.04.00.04.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.04.0NaN0.00.0AMARILLOPOTTERTX6601 1-40 WEST #279106.0TX383.0AMARILLO NATURAL GAS INCNaNNaN0.08063525271.0NaNJERRY SIMMONSNaNNaNNaT19930521.0NaN1993.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.010.00.00.00.010.00.0NaN0.00.00.00.00.00.00.00.00.010.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.0NaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.010.00.00.00.010.00.010.0NaN0.00.0NaNNaN
6214NaN0.00.00.00.00.0NaNNaNNaNNaNNaNNaN0.00.0NaNNaN0.0NaNNaN0.00.00.0NaNNaN0.00.02NaNNaTNaTfinalNaNNaNNaNNaNNaNNaN0.01995-04-20NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN173.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.05.00.00.00.05.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.0NaNNaNNaNNaNNaNNaNNaN0.00.00.05.00.00.00.05.00.05.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.05.0NaN0.00.0AMARILLOPOTTERTX6601 1-40 WEST #279106TX OK383.0AMARILLO NATURAL GAS INC ...NaNNaN0.08063525271NaNJERRY SIMMONS ...NaNNaNNaT19940173.0NaN94.0NaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.010.02.00.00.012.00.0NaN0.00.00.00.00.00.00.00.00.012.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNaN0.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.0NaNNaNNaNNaNNaNNaNNaN0.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.010.02.00.00.012.00.012.0NaN0.00.0NaNNaN
\n", - "
" - ], - "text/plain": [ - " additional_information all_known_leaks_scheduled_for_repair all_leaks_construction_defect_mains all_leaks_construction_defect_services all_leaks_corrosion_failure_mains all_leaks_corrosion_failure_services all_leaks_equipment_failure_mains all_leaks_equipment_failure_services all_leaks_excavation_damage_mains all_leaks_excavation_damage_services all_leaks_incorrect_operation_mains all_leaks_incorrect_operation_services all_leaks_material_defect_mains all_leaks_material_defect_services all_leaks_natural_force_damage_mains all_leaks_natural_force_damage_services all_leaks_other_mains all_leaks_other_outside_force_mains all_leaks_other_outside_force_services all_leaks_other_services all_leaks_outside_force_mains all_leaks_outside_force_services all_leaks_pipe_weld_joint_failure_mains all_leaks_pipe_weld_joint_failure_services all_leaks_third_party_mains all_leaks_third_party_services average_service_length_feet commodity correction_date data_date \\\n", - "25 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2.0 NaN 1991-07-24 NaT \n", - "1539 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2.0 NaN 1992-05-21 NaT \n", - "3627 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2.0 NaN NaT NaT \n", - "4645 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2.0 NaN NaT NaT \n", - "6214 NaN 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN NaN 0.0 NaN NaN 0.0 0.0 0.0 NaN NaN 0.0 0.0 2 NaN NaT NaT \n", - "\n", - " data_maturity excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets federal_land_leaks_repaired_or_scheduled filing_date form_revision hazardous_leaks_corrosion_failure_mains hazardous_leaks_corrosion_failure_services hazardous_leaks_equipment_failure_mains hazardous_leaks_equipment_failure_services hazardous_leaks_excavation_damage_mains hazardous_leaks_excavation_damage_services hazardous_leaks_incorrect_operation_mains hazardous_leaks_incorrect_operation_services hazardous_leaks_mechanical_joint_failure hazardous_leaks_natural_force_damage_mains hazardous_leaks_natural_force_damage_services hazardous_leaks_other_mains hazardous_leaks_other_outside_force_mains hazardous_leaks_other_outside_force_services hazardous_leaks_other_services hazardous_leaks_pipe_weld_joint_failure_mains \\\n", - "25 final NaN NaN NaN NaN NaN NaN 0.0 1991-06-20 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "1539 final NaN NaN NaN NaN NaN NaN 0.0 1992-04-27 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "3627 final NaN NaN NaN NaN NaN NaN 0.0 1993-06-23 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "4645 final NaN NaN NaN NaN NaN NaN 0.0 1994-06-03 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "6214 final NaN NaN NaN NaN NaN NaN 0.0 1995-04-20 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "\n", - " hazardous_leaks_pipe_weld_joint_failure_services headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip log main_1940s_miles main_1950s_miles main_1960s_miles main_1970s_miles main_1980s_miles main_1990s_miles main_2000s_miles main_2010s_miles main_2020s_miles main_abs_2_in_or_less_miles main_abs_2_to_4_in_miles main_abs_4_to_8_in_miles main_abs_8_to_12_in_miles main_abs_over_12_in_miles main_abs_total_miles main_abs_unknown_miles main_all_materials_2_in_or_less_miles main_all_materials_2_to_4_in_miles main_all_materials_4_to_8_in_miles main_all_materials_8_to_12_in_miles main_all_materials_over_12_in_miles main_all_materials_total_miles main_all_materials_unknown_miles main_all_time_miles main_cast_or_wrought_iron_2_in_or_less_miles main_cast_or_wrought_iron_2_to_4_in_miles main_cast_or_wrought_iron_4_to_8_in_miles \\\n", - "25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 NaN 0.0 0.0 0.0 \n", - "1539 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 NaN 0.0 0.0 0.0 \n", - "3627 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 8.0 0.0 0.0 0.0 8.0 0.0 NaN 0.0 0.0 0.0 \n", - "4645 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 NaN 0.0 0.0 0.0 \n", - "6214 NaN 173.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.0 0.0 0.0 0.0 5.0 0.0 NaN 0.0 0.0 0.0 \n", - "\n", - " main_cast_or_wrought_iron_8_to_12_in_miles main_cast_or_wrought_iron_miles main_cast_or_wrought_iron_over_12_in_miles main_cast_or_wrought_iron_total_miles main_cast_or_wrought_iron_unknown_miles main_cathodically_protected_steel_bare_miles main_cathodically_protected_steel_coated_miles main_copper_2_in_or_less_miles main_copper_2_to_4_in_miles main_copper_4_to_8_in_miles main_copper_8_to_12_in_miles main_copper_miles main_copper_over_12_in_miles main_copper_total_miles main_copper_unknown_miles main_ductile_iron_2_in_or_less_miles main_ductile_iron_2_to_4_in_miles main_ductile_iron_4_to_8_in_miles main_ductile_iron_8_to_12_in_miles main_ductile_iron_miles main_ductile_iron_over_12_in_miles main_ductile_iron_total_miles main_ductile_iron_unknown_miles main_other_2_in_or_less_miles main_other_2_to_4_in_miles main_other_4_to_8_in_miles main_other_8_to_12_in_miles main_other_alt_2_in_or_less_miles main_other_alt_2_to_4_in_miles \\\n", - "25 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "1539 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "3627 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 \n", - "4645 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "6214 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "\n", - " main_other_alt_4_to_8_in_miles main_other_alt_8_to_12_in_miles main_other_alt_miles main_other_alt_over_12_in_miles main_other_alt_total_miles main_other_alt_unknown_miles main_other_material_detail_miles main_other_miles main_other_over_12_in_miles main_other_plastic_2_in_or_less_miles main_other_plastic_2_to_4_in_miles main_other_plastic_4_to_8_in_miles main_other_plastic_8_to_12_in_miles main_other_plastic_over_12_in_miles main_other_plastic_total_miles main_other_plastic_unknown_miles main_other_total_miles main_other_unknown_miles main_pe_2_in_or_less_miles main_pe_2_to_4_in_miles main_pe_4_to_8_in_miles main_pe_8_to_12_in_miles main_pe_over_12_in_miles main_pe_total_miles main_pe_unknown_miles main_plastic_miles main_pre_1940_miles main_pvc_2_in_or_less_miles main_pvc_2_to_4_in_miles main_pvc_4_to_8_in_miles main_pvc_8_to_12_in_miles main_pvc_over_12_in_miles main_pvc_total_miles main_pvc_unknown_miles \\\n", - "25 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 4.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "1539 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 4.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "3627 0.0 0.0 0.0 0.0 4.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 4.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "4645 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 4.0 0.0 0.0 0.0 4.0 0.0 4.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "6214 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 5.0 0.0 0.0 0.0 5.0 0.0 5.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "\n", - " main_reconditioned_cast_iron_2_in_or_less_miles main_reconditioned_cast_iron_2_to_4_in_miles main_reconditioned_cast_iron_4_to_8_in_miles main_reconditioned_cast_iron_8_to_12_in_miles main_reconditioned_cast_iron_miles main_reconditioned_cast_iron_over_12_in_miles main_reconditioned_cast_iron_total_miles main_reconditioned_cast_iron_unknown_miles main_steel_2_in_or_less_miles main_steel_2_to_4_in_miles main_steel_4_to_8_in_miles main_steel_8_to_12_in_miles main_steel_over_12_in_miles main_steel_total_miles main_steel_unknown_miles main_total_miles main_unknown_decade_miles main_unprotected_steel_bare_miles main_unprotected_steel_coated_miles office_address_city office_address_county office_address_state office_address_street office_address_zip operating_state operator_id_phmsa operator_name_phmsa operator_type original_report percent_unaccounted_for_gas preparer_email \\\n", - "25 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 I-40 WEST, #2 79106.0 TX 383.0 AMARILLO NATURAL GAS INC NaN NaN 0.0 8063525271 \n", - "1539 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 1-40 WEST #2 79106 TX 383.0 AMARILLO NATURAL GAS INC NaN NaN 0.0 8063525271 \n", - "3627 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 1-40 WEST #2 79106.0 TX 383.0 AMARILLO NATURAL GAS INC NaN NaN NaN 8063525271 \n", - "4645 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 1-40 WEST #2 79106.0 TX 383.0 AMARILLO NATURAL GAS INC NaN NaN 0.0 8063525271.0 \n", - "6214 NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.0 NaN 0.0 0.0 AMARILLO POTTER TX 6601 1-40 WEST #2 79106 TX OK 383.0 AMARILLO NATURAL GAS INC ... NaN NaN 0.0 8063525271 \n", - "\n", - " preparer_fax preparer_name preparer_phone preparer_title report_date report_number report_submission_type report_year services_1940s services_1950s services_1960s services_1970s services_1980s services_1990s services_2000s services_2010s services_2020s services_abs_1_in_or_less services_abs_1_to_2_in services_abs_2_to_4_in services_abs_4_to_8_in services_abs_over_8_in services_abs_total services_abs_unknown services_all_materials_1_in_or_less services_all_materials_1_to_2_in services_all_materials_2_to_4_in services_all_materials_4_to_8_in services_all_materials_over_8_in services_all_materials_total services_all_materials_unknown services_all_time services_cast_or_wrought_iron services_cast_or_wrought_iron_1_in_or_less services_cast_or_wrought_iron_1_to_2_in services_cast_or_wrought_iron_2_to_4_in services_cast_or_wrought_iron_4_to_8_in services_cast_or_wrought_iron_over_8_in \\\n", - "25 NaN KELLY LOVVORN - GAS SUPPLY NaN NaN NaT 19901333.0 NaN 1990.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.0 0.0 0.0 0.0 9.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "1539 NaN KELLY LOVVORN NaN NaN NaT 19910511.0 NaN 1991.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.0 0.0 0.0 0.0 9.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "3627 NaN JERRY SIMMONS NaN NaN NaT 19920584.0 NaN 1992.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.0 0.0 0.0 0.0 9.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "4645 NaN JERRY SIMMONS NaN NaN NaT 19930521.0 NaN 1993.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 10.0 0.0 0.0 0.0 10.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "6214 NaN JERRY SIMMONS ... NaN NaN NaT 19940173.0 NaN 94.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 10.0 2.0 0.0 0.0 12.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "\n", - " services_cast_or_wrought_iron_total services_cast_or_wrought_iron_unknown services_cathodically_protected_steel_bare services_cathodically_protected_steel_coated services_copper services_copper_1_in_or_less services_copper_1_to_2_in services_copper_2_to_4_in services_copper_4_to_8_in services_copper_over_8_in services_copper_total services_copper_unknown services_ductile_iron services_ductile_iron_1_in_or_less services_ductile_iron_1_to_2_in services_ductile_iron_2_to_4_in services_ductile_iron_4_to_8_in services_ductile_iron_over_8_in services_ductile_iron_total services_ductile_iron_unknown services_efv_in_system services_efv_installed services_other services_other_1_in_or_less services_other_1_to_2_in services_other_2_to_4_in services_other_4_to_8_in services_other_alt services_other_alt_1_in_or_less services_other_alt_1_to_2_in services_other_alt_2_to_4_in services_other_alt_4_to_8_in services_other_alt_over_8_in services_other_alt_total \\\n", - "25 0.0 0.0 0.0 9.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "1539 0.0 0.0 0.0 9.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "3627 0.0 0.0 0.0 9.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "4645 0.0 0.0 0.0 10.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "6214 0.0 0.0 0.0 12.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", - "\n", - " services_other_alt_unknown services_other_material_detail services_other_over_8_in services_other_plastic_1_in_or_less services_other_plastic_1_to_2_in services_other_plastic_2_to_4_in services_other_plastic_4_to_8_in services_other_plastic_over_8_in services_other_plastic_total services_other_plastic_unknown services_other_total services_other_unknown services_pe_1_in_or_less services_pe_1_to_2_in services_pe_2_to_4_in services_pe_4_to_8_in services_pe_over_8_in services_pe_total services_pe_unknown services_plastic services_pre_1940 services_pvc_1_in_or_less services_pvc_1_to_2_in services_pvc_2_to_4_in services_pvc_4_to_8_in services_pvc_over_8_in services_pvc_total services_pvc_unknown services_reconditioned_cast_iron services_reconditioned_cast_iron_1_in_or_less services_reconditioned_cast_iron_1_to_2_in services_reconditioned_cast_iron_2_to_4_in services_reconditioned_cast_iron_4_to_8_in services_reconditioned_cast_iron_over_8_in \\\n", - "25 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", - "1539 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", - "3627 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", - "4645 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", - "6214 0.0 NaN 0.0 NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN 0.0 0.0 0.0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN NaN NaN \n", - "\n", - " services_reconditioned_cast_iron_total services_reconditioned_cast_iron_unknown services_shutoff_valve_in_system services_shutoff_valve_installed services_steel_1_in_or_less services_steel_1_to_2_in services_steel_2_to_4_in services_steel_4_to_8_in services_steel_over_8_in services_steel_total services_steel_unknown services_total services_unknown_decade services_unprotected_steel_bare services_unprotected_steel_coated supplemental_report_number supplementary_report \n", - "25 NaN NaN NaN NaN 0.0 9.0 0.0 0.0 0.0 9.0 0.0 9.0 NaN 0.0 0.0 NaN NaN \n", - "1539 NaN NaN NaN NaN 0.0 9.0 0.0 0.0 0.0 9.0 0.0 9.0 NaN 0.0 0.0 NaN NaN \n", - "3627 NaN NaN NaN NaN 0.0 9.0 0.0 0.0 0.0 9.0 0.0 9.0 NaN 0.0 0.0 NaN NaN \n", - "4645 NaN NaN NaN NaN 0.0 10.0 0.0 0.0 0.0 10.0 0.0 10.0 NaN 0.0 0.0 NaN NaN \n", - "6214 NaN NaN NaN NaN 0.0 10.0 2.0 0.0 0.0 12.0 0.0 12.0 NaN 0.0 0.0 NaN NaN " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "raw_df[raw_df.operator_id_phmsa==383.0].head()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'all_known_leaks_scheduled_for_repair': '0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0',\n", - " 'all_leaks_excavation_damage_mains': 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, nan, nan, 0.0, nan, '\n", - " 'nan, nan, nan, nan, nan, 2.0, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " '1.0, 1.0, nan, nan',\n", - " 'all_leaks_natural_force_damage_mains': 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, nan, nan, 0.0, nan, nan, '\n", - " 'nan, nan, nan, nan, 1.0, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan',\n", - " 'all_leaks_other_outside_force_mains': 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, nan, nan, 0.0, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " '1.0, nan, nan, nan, nan',\n", - " 'all_leaks_pipe_weld_joint_failure_mains': 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, nan, nan, 0.0, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, 1.0, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, 1.0, nan, 1.0, '\n", - " 'nan, 1.0',\n", - " 'all_leaks_pipe_weld_joint_failure_services': 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '2.0, 0.0, nan, nan, 0.0, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan',\n", - " 'all_leaks_third_party_services': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 1.0, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan',\n", - " 'average_service_length_feet': '2.0, 2.0, 2.0, 2.0, 2, 2, 4, 4.0, 2.0, 4.0, '\n", - " '2.0, 2.0, 4.0, 2.0, 2.0, 4.0, 2.0, 15.0, '\n", - " '50.0, 15.0, 0.0, 20.0, 0.0, 15.0, 0.0, 0.0, '\n", - " '15.0, 0.0, 0.0, 15.0, 0.0, 15.0, 0.0, 0.0, '\n", - " '0.0, 15.0, 0.0, 15.0, 0.0, 0.0, 15.0, 20.0, '\n", - " '0.0, 20.0, 20.0, 8.0, 20.0, 8.0, 8.0, 20.0, '\n", - " '8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, '\n", - " '8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0',\n", - " 'correction_date': '1991-07-24T00:00:00.000000000, '\n", - " '1992-05-21T00:00:00.000000000, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, NaT, NaT, NaT, NaT, NaT',\n", - " 'data_date': 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, 2024-08-01T09:00:10.000000000, '\n", - " '2024-08-01T09:00:10.000000000, 2024-08-01T09:00:10.000000000, '\n", - " '2024-08-01T09:00:49.000000000, 2024-08-01T09:00:49.000000000, '\n", - " '2024-08-01T09:00:49.000000000, 2024-08-01T09:01:11.000000000, '\n", - " '2024-08-01T09:05:45.000000000, 2024-08-01T09:05:45.000000000, '\n", - " '2024-08-01T09:06:05.000000000, 2024-08-01T09:06:05.000000000, '\n", - " '2024-08-01T09:06:26.000000000, 2024-08-01T09:06:26.000000000, '\n", - " '2024-08-01T09:06:26.000000000, 2024-08-01T09:06:59.000000000, '\n", - " '2024-08-01T09:06:59.000000000, 2024-08-01T09:06:59.000000000, '\n", - " '2024-08-01T09:07:21.000000000, 2024-08-01T09:07:21.000000000, '\n", - " '2024-08-01T09:08:57.000000000, 2024-08-01T09:08:57.000000000, '\n", - " '2024-08-01T09:10:46.000000000, 2024-08-01T09:10:46.000000000, '\n", - " '2024-08-01T09:13:02.000000000, 2024-08-01T09:13:02.000000000, '\n", - " '2024-08-01T09:14:22.000000000, 2024-08-01T09:14:22.000000000, '\n", - " '2024-08-01T09:15:59.000000000, 2024-08-01T09:15:59.000000000, '\n", - " '2024-08-01T09:17:51.000000000, 2024-08-01T09:17:51.000000000',\n", - " 'excavation_damage_locating_practices': 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, 0.0, '\n", - " '0.0, nan, 0.0, 0.0, 1.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 1.0, 0.0, 0.0',\n", - " 'excavation_damage_one_call_notification': 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, '\n", - " '0.0, 0.0, nan, 0.0, 0.0, nan, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 1.0, 0.0, '\n", - " '0.0, 0.0',\n", - " 'excavation_damage_other': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 0.0, '\n", - " '2.0, 0.0, 0.0, nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0',\n", - " 'excavation_damage_total': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '2.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0',\n", - " 'excavation_tickets': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, 0.0, 3.0, 0.0, 0.0, 4.0, 853.0, '\n", - " '4.0, 0.0, 537.0, 3.0, 1028.0, 7.0, 2.0, 729.0, 8.0, '\n", - " '7.0, 624.0, 2.0, 985.0, 10.0, 924.0, 3.0, 937.0, 12.0, '\n", - " '374.0, 19.0, 378.0, 11.0, 435.0, 46.0, 394.0',\n", - " 'filing_date': '1991-06-20T00:00:00.000000000, 1992-04-27T00:00:00.000000000, '\n", - " '1993-06-23T00:00:00.000000000, 1994-06-03T00:00:00.000000000, '\n", - " '1995-04-20T00:00:00.000000000, 1996-07-11T00:00:00.000000000, '\n", - " '1996-07-11T00:00:00.000000000, 1997-02-18T00:00:00.000000000, '\n", - " '1997-02-18T00:00:00.000000000, 1998-06-10T00:00:00.000000000, '\n", - " '1998-06-10T00:00:00.000000000, 1999-06-04T00:00:00.000000000, '\n", - " '1999-06-04T00:00:00.000000000, 2000-04-13T00:00:00.000000000, '\n", - " '2001-01-18T00:00:00.000000000, 2002-05-03T00:00:00.000000000, '\n", - " '2002-05-03T00:00:00.000000000, 2003-04-22T00:00:00.000000000, '\n", - " '2004-02-26T00:00:00.000000000, 2005-04-13T14:07:34.000000000, '\n", - " '2005-09-29T14:03:38.000000000, 2005-04-13T00:00:00.000000000, '\n", - " '2006-07-18T14:58:14.000000000, 2006-04-18T13:35:27.000000000, '\n", - " '2006-05-03T13:58:18.000000000, 2007-03-09T00:00:00.000000000, '\n", - " '2007-03-09T00:00:00.000000000, 2007-03-09T00:00:00.000000000, '\n", - " '2008-02-26T10:28:22.000000000, 2008-02-26T10:33:32.000000000, '\n", - " '2008-05-05T15:33:46.000000000, 2009-03-10T13:40:20.000000000, '\n", - " '2009-03-10T11:59:24.000000000, 2009-03-10T13:38:14.000000000, '\n", - " '2010-02-23T11:14:27.000000000, 2010-02-23T11:22:55.000000000, '\n", - " '2010-02-23T11:28:47.000000000, 2011-10-17T15:19:46.000000000, '\n", - " '2011-10-17T14:34:14.000000000, 2012-01-24T12:21:54.000000000, '\n", - " '2012-04-11T11:15:41.000000000, 2012-05-01T10:31:20.000000000, '\n", - " '2012-05-04T12:47:26.000000000, 2013-06-18T15:21:40.000000000, '\n", - " '2014-03-26T09:20:57.000000000, 2014-04-08T09:54:00.000000000, '\n", - " '2015-02-25T13:22:26.000000000, 2015-02-25T17:01:24.000000000, '\n", - " '2016-02-01T18:29:14.000000000, 2016-02-01T18:21:56.000000000, '\n", - " '2016-02-01T18:13:46.000000000, 2017-03-13T16:25:03.000000000, '\n", - " '2017-03-13T16:28:26.000000000, 2017-03-13T16:19:22.000000000, '\n", - " '2018-03-13T13:33:57.000000000, 2018-03-13T13:07:28.000000000, '\n", - " '2019-03-07T17:57:13.000000000, 2019-03-07T17:52:05.000000000, '\n", - " '2020-03-04T11:48:30.000000000, 2020-03-04T11:52:12.000000000, '\n", - " '2021-04-07T14:45:26.000000000, 2021-03-02T11:12:17.000000000, '\n", - " '2022-03-14T11:44:59.000000000, 2022-03-14T11:40:59.000000000, '\n", - " '2023-01-30T13:25:30.000000000, 2023-01-30T13:18:49.000000000, '\n", - " '2024-01-25T13:30:10.000000000, 2024-01-25T13:28:48.000000000',\n", - " 'form_revision': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, 7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. 01-2011), '\n", - " '7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. 01-2011), 7100.1-1 '\n", - " '(Rev. 01-2011), 7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. '\n", - " '01-2011), 7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. 01-2011), '\n", - " '7100.1-1 (Rev. 01-2011), 7100.1-1 (Rev. 01-2011), 7100.1-1 '\n", - " '(Rev. 05-2015), 7100.1-1 (Rev. 05-2015), 7100.1-1 (Rev. '\n", - " '05-2015), 7100.1-1 (Rev. 05-2015), 7100.1-1 (Rev. 05-2015), '\n", - " '7100.1-1 (Rev. 05-2015), 7100.1-1 (Rev. 01-2017), 7100.1-1 '\n", - " '(Rev. 01-2017), 7100.1-1 (Rev. 10-2018), 7100.1-1 (Rev. '\n", - " '10-2018), 7100.1-1 (Rev. 10-2018), 7100.1-1 (Rev. 10-2018), '\n", - " '7100.1-1 (Rev. 10-2018), 7100.1-1 (Rev. 10-2018), 7100.1-1 '\n", - " '(Rev. 05-2021), 7100.1-1 (Rev. 05-2021), 7100.1-1 (Rev. '\n", - " '05-2021), 7100.1-1 (Rev. 05-2021), 7100.1-1 (Rev. 06-2023), '\n", - " '7100.1-1 (Rev. 06-2023)',\n", - " 'headquarters_address_city': 'nan, nan, nan, nan, '\n", - " ', '\n", - " ', '\n", - " ', '\n", - " ', '\n", - " ', '\n", - " ', , nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, Amarillo, AMARILLO, '\n", - " 'Amarillo, Amarillo, AMARILLO, Amarillo, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO',\n", - " 'headquarters_address_county': 'nan, nan, nan, nan, '\n", - " ', '\n", - " ', '\n", - " ', '\n", - " ', '\n", - " ', '\n", - " ', , nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, US, US, US, US, nan, US, US, '\n", - " 'nan, US, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan',\n", - " 'headquarters_address_state': 'nan, nan, nan, nan, , , , , , , '\n", - " ', nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, TX, '\n", - " 'TX, TX, TX, TX, TX, TX, TX, TX, TX, TX, TX, '\n", - " 'TX, TX, TX, TX, TX, TX, TX, TX, TX, TX, TX, '\n", - " 'TX, TX, TX, TX, TX, TX, TX, TX',\n", - " 'headquarters_address_street': 'nan, nan, nan, '\n", - " 'nan, '\n", - " ', '\n", - " ', '\n", - " ', '\n", - " ', '\n", - " ', '\n", - " ', , '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 2915 '\n", - " '1-40 West, 2915 I-40 West, 2915 I-40 West, '\n", - " '2915 1-40 West, 2915 I-40 West, 2915 I-40 '\n", - " 'West, 2915 I-40 West, 2915 I-40 WEST, 2915 '\n", - " 'I-40 WEST, 2915 I-40 WEST, 2915 I-40 WEST, '\n", - " '2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", - " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 '\n", - " 'WEST INTERSTATE 40, 2915 WEST INTERSTATE 40, '\n", - " '2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", - " '40, 2915 WEST INTERSTATE 40, 2915 WEST '\n", - " 'INTERSTATE 40, 2915 WEST INTERSTATE 40, 2915 '\n", - " 'WEST INTERSTATE 40, 2915 WEST INTERSTATE 40, '\n", - " '5800 ARNOT ROAD, 5800 ARNOT ROAD, 5800 ARNOT '\n", - " 'ROAD, 5800 ARNOT ROAD, 5800 ARNOT ROAD, 5800 '\n", - " 'ARNOT ROAD',\n", - " 'headquarters_address_zip': 'nan, nan, nan, nan, , , , '\n", - " ', , , , nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, 79109, 79109, 79109, 79109, '\n", - " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", - " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", - " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", - " '79119, 79119, 79119, 79119, 79119, 79119',\n", - " 'log': 'nan, nan, nan, nan, 173.0, 757.0, 758.0, 70.0, 74.0, 980.0, 981.0, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan',\n", - " 'main_1950s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 38.2, 0.0, '\n", - " '38.2, 0.0, 0.0, 0.0, 0.0, 38.2, 0.0, 0.0, 38.2, 0.0, '\n", - " '0.0, 38.2, 38.2, 0.0, 0.0, 0.0, 0.0, 38.2, 0.0, 0.0, '\n", - " '38.2, 0.0, 0.0, 38.2, 0.0, 38.2, 0.0, 0.0, 38.2, 0.0, '\n", - " '0.0, 38.2, 0.0, 19.0, 0.0, 38.5, 0.0, 38.5, 0.0, 38.5, '\n", - " '0.0, 38.5, 0.0, 38.5, 0.0, 38.5',\n", - " 'main_1960s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 34.02, 0.0, '\n", - " '34.02, 0.0, 0.0, 0.0, 0.0, 34.02, 0.0, 0.0, 34.02, 0.0, '\n", - " '0.0, 34.12, 34.02, 0.0, 0.0, 0.0, 0.0, 34.02, 0.0, 0.0, '\n", - " '34.02, 0.0, 0.0, 34.02, 0.0, 34.02, 0.0, 0.0, 34.02, '\n", - " '0.0, 0.0, 34.02, 0.0, 24.1, 0.0, 29.71, 0.0, 29.71, 0.0, '\n", - " '29.71, 0.0, 29.64, 0.0, 29.64, 0.0, 32.04',\n", - " 'main_1980s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 3.94, 0.0, '\n", - " '3.94, 0.0, 0.0, 0.0, 0.0, 3.94, 0.0, 0.0, 3.94, 0.0, '\n", - " '0.0, 3.94, 3.94, 0.0, 0.0, 0.0, 0.0, 3.94, 0.0, 0.0, '\n", - " '15.94, 0.0, 0.0, 15.94, 0.0, 15.94, 0.0, 0.0, 15.94, '\n", - " '0.0, 0.0, 15.94, 0.0, 45.85, 0.0, 19.82, 0.0, 19.82, '\n", - " '0.0, 19.82, 0.0, 19.72, 0.0, 19.72, 0.0, 19.72',\n", - " 'main_1990s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 26.43, 7.6, '\n", - " '26.43, 0.0, 7.6, 7.6, 0.0, 26.43, 7.6, 0.0, 26.43, 0.0, '\n", - " '7.6, 26.43, 26.43, 0.0, 7.6, 0.0, 7.6, 26.43, 0.0, 7.6, '\n", - " '31.8, 7.609, 7.609, 31.8, 7.609, 31.8, 0.0, 7.609, 31.8, '\n", - " '0.0, 7.609, 31.8, 12.25, 40.15, 9.87, 36.525, 9.87, '\n", - " '36.525, 9.87, 36.525, 9.206, 36.39, 9.206, 36.39, 9.206, '\n", - " '36.29',\n", - " 'main_2000s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 2.0, 5.0, 0.0, '\n", - " '5.0, 2.0, 0.0, 0.0, 2.0, 5.0, 0.0, 2.0, 5.0, 3.7, 0.0, '\n", - " '5.0, 5.0, 3.7, 0.0, 3.7, 0.0, 5.0, 3.7, 0.0, 5.0, 0.0, '\n", - " '0.0, 5.0, 0.0, 5.0, 3.7, 0.0, 5.0, 3.7, 0.0, 5.0, 0.0, '\n", - " '0.93, 2.38, 2.1, 2.38, 2.1, 2.38, 2.1, 2.38, 2.1, 2.38, '\n", - " '4.17, 2.38, 4.14',\n", - " 'main_2010s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.038, '\n", - " '5.038, 1.0, 5.038, 1.0, 0.0, 5.038, 1.0, 0.0, 5.038, '\n", - " '1.0, 0.0, 3.04, 0.0, 5.57, 0.0, 5.57, 0.0, 5.57, 0.0, '\n", - " '2.02, 0.0, 2.02, 0.0, 2.02',\n", - " 'main_2020s_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, 0.0, 0.0, 0.0, 7.45, 0.0, 9.87, '\n", - " '0.0, 13.81',\n", - " 'main_all_materials_2_in_or_less_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 22.0, 17.0, 0.0, '\n", - " '17.24, 1.1, 17.24, 0.0, 1.1, 1.1, '\n", - " '0.0, 17.24, 1.1, 0.0, 17.24, 0.0, '\n", - " '1.1, 17.24, 17.24, 0.0, 1.1, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, 0.0, 0.527, 7.5, '\n", - " '0.0, 0.527, 8.4, 0.0, 11.07, 0.0, '\n", - " '21.915, 0.664, 21.915, 0.664, '\n", - " '21.915, 0.0, 16.83, 0.0, 16.83, '\n", - " '0.0, 21.01',\n", - " 'main_all_materials_2_to_4_in_miles': '4.0, 4.0, 8.0, 4.0, 5.0, 7.0, 18.0, '\n", - " '19, 7, 22.0, 7.0, 7.0, 22.0, 7.0, 7.0, '\n", - " '22.0, 7.0, 105.0, 90.0, 2.0, 90.35, '\n", - " '6.5, 90.35, 2.0, 6.5, 6.5, 2.0, 90.35, '\n", - " '6.5, 2.0, 90.35, 3.7, 6.5, 90.35, '\n", - " '90.35, 3.7, 6.5, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " '3.7, 12.12, 117.56, 3.7, 12.12, '\n", - " '117.56, 12.25, 116.3, 12.25, 110.31, '\n", - " '11.586, 110.31, 11.586, 110.31, '\n", - " '11.586, 118.99, 11.586, 123.48, '\n", - " '11.586, 125.51',\n", - " 'main_all_materials_4_to_8_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.7, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0',\n", - " 'main_all_materials_8_to_12_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, 0.0, '\n", - " '0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0',\n", - " 'main_all_materials_total_miles': '4.0, 4.0, 8.0, 4.0, 5.0, 7.0, 18.0, 19, 7, '\n", - " '22.0, 7.0, 7.0, 22.0, 7.0, 7.0, 22.0, 7.0, '\n", - " '127.0, 107.0, 2.0, 107.59, 7.6, 107.59, '\n", - " '2.0, 7.6, 7.6, 2.0, 107.59, 7.6, 2.0, '\n", - " '107.59, 3.7, 7.6, 107.59, 107.59, 3.7, '\n", - " '7.6, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, 3.7, 12.647, 125.96, '\n", - " '3.7, 12.647, 125.96, 12.25, 133.07, 12.25, '\n", - " '132.225, 12.25, 132.225, 12.25, 132.225, '\n", - " '11.586, 135.82, 11.586, 140.31, 11.586, '\n", - " '146.52',\n", - " 'main_all_time_miles': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, 2.0, '\n", - " '107.59, 7.6, 107.59, 2.0, 7.6, 7.6, 2.0, 107.59, 7.6, '\n", - " '2.0, 107.59, 3.7, 7.6, 107.69, 107.59, 3.7, 7.6, 3.7, '\n", - " '7.6, 107.59, 3.7, 7.6, 124.96, 12.647, 12.647, '\n", - " '125.96, 12.647, 125.96, 3.7, 12.647, 125.96, 3.7, '\n", - " '12.647, 125.96, 12.25, 133.07, 12.25, 132.225, 12.25, '\n", - " '132.225, 12.25, 132.225, 11.586, 135.82, 11.586, '\n", - " '140.31, 11.586, 146.52',\n", - " 'main_cathodically_protected_steel_bare_miles': '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, nan, 0.0, '\n", - " '0.0, nan, 0.0, nan, nan, '\n", - " 'nan, nan, 4.64, nan, 4.64, '\n", - " 'nan, 4.64, nan, 4.64, nan, '\n", - " '4.64, nan, 4.64',\n", - " 'main_cathodically_protected_steel_coated_miles': '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 79.0, 59.0, 0.0, '\n", - " '73.22, 0.0, 73.22, 0.0, '\n", - " '0.0, 0.0, 0.0, 73.22, 0.0, '\n", - " '0.0, 73.22, 0.0, 0.0, '\n", - " '73.22, 73.22, 0.0, 0.0, '\n", - " '0.0, 0.0, 72.22, 0.0, 0.0, '\n", - " '93.16, 0.0, 0.0, 93.16, '\n", - " '0.0, 93.16, nan, 0.0, '\n", - " '93.16, nan, 0.0, 93.16, '\n", - " 'nan, 86.05, nan, 78.85, '\n", - " 'nan, 78.85, nan, 78.85, '\n", - " 'nan, 78.85, nan, 78.85, '\n", - " 'nan, 81.22',\n", - " 'main_other_alt_2_to_4_in_miles': '0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan',\n", - " 'main_other_alt_total_miles': '0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan',\n", - " 'main_other_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 18.0, 19, 7, 22.0, 7.0, '\n", - " '7.0, 22.0, 7.0, 7.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, 0.0, nan, nan, '\n", - " 'nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0',\n", - " 'main_pe_2_in_or_less_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, '\n", - " '7.0, 0.0, 6.84, 1.1, 6.84, 0.0, 1.1, 1.1, 0.0, '\n", - " '6.84, 1.1, 0.0, 6.84, 0.0, 1.1, 6.84, 6.84, '\n", - " '0.0, 1.1, 0.0, 1.1, 6.84, 0.0, 1.1, 0.1, '\n", - " '0.527, 0.527, 0.1, 0.527, 0.1, 0.0, 0.527, '\n", - " '0.1, 0.0, 0.527, 0.1, 0.0, 5.55, 0.0, 16.395, '\n", - " '0.664, 16.395, 0.664, 16.395, 0.0, 11.31, 0.0, '\n", - " '11.31, 0.0, 13.09',\n", - " 'main_pe_2_to_4_in_miles': '4.0, 4.0, 4.0, 4.0, 5.0, 7.0, 18.0, 19.0, 7.0, '\n", - " '22.0, 7.0, 7.0, 22.0, 7.0, 7.0, 22.0, 7.0, 40.0, '\n", - " '41.0, 2.0, 28.53, 6.5, 28.53, 2.0, 6.5, 6.5, 2.0, '\n", - " '28.53, 6.5, 2.0, 28.53, 3.7, 6.5, 28.53, 28.53, '\n", - " '3.7, 6.5, 3.7, 6.5, 28.53, 3.7, 6.5, 31.7, 12.12, '\n", - " '12.12, 32.7, 12.12, 32.7, 3.7, 12.12, 32.7, 3.7, '\n", - " '12.12, 32.7, 12.25, 41.47, 12.25, 32.34, 11.586, '\n", - " '32.34, 11.586, 32.34, 11.586, 41.02, 11.586, '\n", - " '45.51, 11.586, 47.57',\n", - " 'main_pe_total_miles': '4.0, 4.0, 4.0, 4.0, 5.0, 7.0, 18.0, 19.0, 7.0, 22.0, '\n", - " '7.0, 7.0, 22.0, 7.0, 7.0, 22.0, 7.0, 48.0, 48.0, 2.0, '\n", - " '35.37, 7.6, 35.37, 2.0, 7.6, 7.6, 2.0, 35.37, 7.6, '\n", - " '2.0, 35.37, 3.7, 7.6, 35.37, 35.37, 3.7, 7.6, 3.7, '\n", - " '7.6, 35.37, 3.7, 7.6, 31.8, 12.647, 12.647, 32.8, '\n", - " '12.647, 32.8, 3.7, 12.647, 32.8, 3.7, 12.647, 32.8, '\n", - " '12.25, 47.02, 12.25, 48.735, 12.25, 48.735, 12.25, '\n", - " '48.735, 11.586, 52.33, 11.586, 56.82, 11.586, 60.66',\n", - " 'main_plastic_miles': '4.0, 4.0, 4.0, 4.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 48.0, 48.0, 2.0, 34.37, '\n", - " '7.6, 34.37, 2.0, 7.6, 7.6, 2.0, 34.37, 7.6, 2.0, '\n", - " '34.37, 3.7, 7.6, 34.37, 34.37, 3.7, 7.6, 3.7, 7.6, '\n", - " '35.37, 3.7, 7.6, 31.8, 12.647, 12.647, 32.8, 12.647, '\n", - " '32.8, 3.7, 12.647, 32.8, 3.7, 12.647, 32.8, 12.25, '\n", - " '47.02, 12.25, 48.735, 12.25, 48.735, 12.25, 48.735, '\n", - " '11.586, 52.33, 11.586, 56.82, 11.586, 60.66',\n", - " 'main_steel_2_in_or_less_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 14.0, 10.0, 0.0, 10.4, 0.0, 10.4, 0.0, '\n", - " '0.0, 0.0, 0.0, 10.4, 0.0, 0.0, 10.4, 0.0, '\n", - " '0.0, 10.4, 10.4, 0.0, 0.0, 0.0, 0.0, 10.4, '\n", - " '0.0, 0.0, 7.4, 0.0, 0.0, 7.4, 0.0, 7.4, '\n", - " '0.0, 0.0, 7.4, 0.0, 0.0, 8.3, 0.0, 5.52, '\n", - " '0.0, 5.52, 0.0, 5.52, 0.0, 5.52, 0.0, 5.52, '\n", - " '0.0, 5.52, 0.0, 7.92',\n", - " 'main_steel_2_to_4_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 65.0, '\n", - " '49.0, 0.0, 61.82, 0.0, 61.82, 0.0, 0.0, 0.0, '\n", - " '0.0, 61.82, 0.0, 0.0, 61.82, 0.0, 0.0, 61.82, '\n", - " '61.82, 0.0, 0.0, 0.0, 0.0, 61.82, 0.0, 0.0, '\n", - " '84.86, 0.0, 0.0, 84.86, 0.0, 84.86, 0.0, 0.0, '\n", - " '84.86, 0.0, 0.0, 84.86, 0.0, 74.83, 0.0, '\n", - " '77.97, 0.0, 77.97, 0.0, 77.97, 0.0, 77.97, '\n", - " '0.0, 77.97, 0.0, 77.94',\n", - " 'main_steel_4_to_8_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '5.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0',\n", - " 'main_steel_8_to_12_in_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0, '\n", - " '0.9, 0.0, 0.9, 0.0, 0.0, 0.9, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0',\n", - " 'main_steel_total_miles': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 79.0, 59.0, 0.0, '\n", - " '72.22, 0.0, 72.22, 0.0, 0.0, 0.0, 0.0, 72.22, 0.0, '\n", - " '0.0, 72.22, 0.0, 0.0, 72.22, 72.22, 0.0, 0.0, 0.0, '\n", - " '0.0, 72.22, 0.0, 0.0, 93.16, 0.0, 0.0, 93.16, 0.0, '\n", - " '93.16, 0.0, 0.0, 93.16, 0.0, 0.0, 93.16, 0.0, '\n", - " '86.05, 0.0, 83.49, 0.0, 83.49, 0.0, 83.49, 0.0, '\n", - " '83.49, 0.0, 83.49, 0.0, 85.86',\n", - " 'main_total_miles': '4.0, 4.0, 4.0, 4.0, 5.0, 7.0, 18.0, 19, 7, 22.0, 7.0, '\n", - " '7.0, 22.0, 7.0, 7.0, 22.0, 0.0, 127.0, 107.0, 2.0, '\n", - " '107.59, 7.6, 107.59, 2.0, 7.6, 7.6, 2.0, 107.59, 7.6, '\n", - " '2.0, 107.59, 3.7, 7.6, 107.59, 107.59, 3.7, 7.6, 3.7, '\n", - " '7.6, 107.59, 3.7, 7.6, 124.96, 12.647, 12.647, 125.96, '\n", - " '12.647, 125.96, 3.7, 12.647, 125.96, 3.7, 12.647, '\n", - " '125.96, 12.25, 133.07, 12.25, 132.225, 12.25, 132.225, '\n", - " '12.25, 132.225, 11.586, 135.82, 11.586, 140.31, 11.586, '\n", - " '146.52',\n", - " 'office_address_city': 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO , AMARILLO , '\n", - " 'AMARILLO , AMARILLO , '\n", - " 'AMARILLO , AMARILLO , '\n", - " 'AMARILLO , AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO, '\n", - " 'AMARILLO, AMARILLO, AMARILLO, AMARILLO, AMARILLO',\n", - " 'office_address_county': 'POTTER, POTTER, POTTER, POTTER, '\n", - " 'POTTER , POTTER '\n", - " ', POTTER , '\n", - " 'POTTER , POTTER '\n", - " ', POTTER , '\n", - " 'POTTER , POTTER, POTTER, POTTER, '\n", - " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", - " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", - " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", - " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", - " 'POTTER, POTTER, POTTER, POTTER, POTTER, POTTER, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, POTTER, nan, '\n", - " 'POTTER, nan, Potter, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, RANDALL, nan, RANDALL, nan, RANDALL',\n", - " 'office_address_street': '6601 I-40 WEST, #2, 6601 1-40 WEST #2, 6601 1-40 '\n", - " 'WEST #2, 6601 1-40 WEST #2, 6601 1-40 WEST '\n", - " '#2 , 6601 1-40 WEST '\n", - " '#2 , 6601 1-40 WEST '\n", - " '#2 , 6601 1-40 WEST '\n", - " '#2 , 6601 1-40 WEST '\n", - " '#2 , 6601 1-40 WEST '\n", - " '#2 , 6601 1-40 WEST '\n", - " '#2 , 6601 1-40 WEST #2, 6601 '\n", - " '1-40 WEST #2, 6601 1-40 WEST #2, 6601 1-40 WEST #2, '\n", - " '6601 1-40 WEST #2, 6601 1-40 WEST #2, 4500 I-40 '\n", - " 'WEST BUILDING C, 4500 I-40 WEST BUILDING C, 4500 '\n", - " 'I-40 WEST BLDG C, 4500 1-40 WEST SUITE C, 4500 I-40 '\n", - " 'WEST BLDG. C, 4500 1-40 WEST BLDG C & D, 4500 1-40 '\n", - " 'WEST SUITE C, 4500 1-40 WEST BLDG C & D, 4500 I-40 '\n", - " 'WEST BLDG C, 4500 I-40 WEST BLDG C, 4500 I-40 WEST '\n", - " 'BLDG C, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", - " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", - " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", - " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", - " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", - " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I-40 '\n", - " 'WEST, 2915 I-40 WEST, 2915 I-40 WEST, 2915 I- 40 '\n", - " 'WEST, 2915 I-40 WEST, 2915 WEST INTERSTATE 40, 2915 '\n", - " 'I- 40 WEST, 2915 I-40 WEST, 2915 WEST INTERSTATE '\n", - " '40, 2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", - " '40, 2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", - " '40, 2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", - " '40, 2915 WEST INTERSTATE 40, 2915 WEST INTERSTATE '\n", - " '40, 5800 ARNOT ROAD, 5800 ARNOT ROAD, 5800 ARNOT '\n", - " 'ROAD, 5800 ARNOT ROAD, 5800 ARNOT ROAD, 5800 ARNOT '\n", - " 'ROAD',\n", - " 'office_address_zip': '79106.0, 79106, 79106.0, 79106.0, 79106, 79106.0, '\n", - " '79106.0, 79106, 79106, 79106, 79106, 79106, 79106, '\n", - " '79106, 79106, 79106, 79106, 79106, 79106, 79106, '\n", - " '79106, 79106, 79106, 79106, 79106, 79106, 79106, '\n", - " '79106, 79109, 79109, 79109, 79109, 79109, 79109, '\n", - " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", - " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", - " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", - " '79109, 79109, 79109, 79109, 79109, 79109, 79109, '\n", - " '79119, 79119, 79119, 79119, 79119, 79119',\n", - " 'operating_state': 'TX, TX, TX, TX, TX OK , '\n", - " 'OK , '\n", - " 'TX , '\n", - " 'TX , '\n", - " 'OK , '\n", - " 'TX , '\n", - " 'OK , OK, TX, TX, TX, '\n", - " 'TX, OK, OK TX KS, OK TX KS, KS, TX, OK, TX, KS, OK, OK, '\n", - " 'KS, TX, OK, KS, TX, KS, OK, TX, TX, KS, OK, KS, OK, TX, '\n", - " 'KS, OK, TX, OK, OK, TX, OK, TX, KS, OK, TX, KS, OK, TX, '\n", - " 'OK, TX, OK, TX, OK, TX, OK, TX, OK, TX, OK, TX, OK, TX',\n", - " 'operator_name_phmsa': 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC , '\n", - " 'AMARILLO NATURAL GAS INC , '\n", - " 'AMARILLO NATURAL GAS INC , '\n", - " 'AMARILLO NATURAL GAS INC , '\n", - " 'AMARILLO NATURAL GAS INC , '\n", - " 'AMARILLO NATURAL GAS INC , '\n", - " 'AMARILLO NATURAL GAS INC , '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS, INC., AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS, INC, AMARILLO NATURAL GAS, INC, '\n", - " 'AMARILLO NATURAL GAS, INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC, AMARILLO NATURAL GAS INC, '\n", - " 'AMARILLO NATURAL GAS INC',\n", - " 'original_report': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, N, N, N, N, Y, Y, '\n", - " 'Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan',\n", - " 'percent_unaccounted_for_gas': '0.0, 0.0, nan, 0.0, 0.0, 0, 0, 0, 0, 0, 0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.5, 1.5, 0.0, '\n", - " '0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.5, 0.05, 4.0, '\n", - " '5.0, 0.0, 0.0, 0.02, 0.0, 0.0, 0.28, 0.23, '\n", - " '0.61, 0.12, 0.24, 0.0, 0.21, 0.34, 0.61, 0.0, '\n", - " '0.12, 0.0, 0.1, 2.0, 0.24',\n", - " 'preparer_email': '8063525271, 8063525271, 8063525271, 8063525271.0, '\n", - " '8063525271, 8063525271, 8063525271, 8063525271, '\n", - " '8063525271, 8063525271, 8063525271, 8063525271.0, '\n", - " '8063525271.0, 8063525271.0, 8063525271.0, 8063525271.0, '\n", - " '8063525271.0, 8063525271, 8063525271.0, 8063525271.0, '\n", - " '8063525271.0, 8063525271.0, 8063525271.0, 8063525271.0, '\n", - " '8063525271.0, 8063525271.0, 8063525271.0, 8063525271.0, '\n", - " '8063525271, 8063525271, 8063525271, 8063525271, '\n", - " '8063525271, 8063525271, 8063525271, 8063525271, '\n", - " '8063525271, (806) 352-3721, (806) 352-3721, (806) '\n", - " '352-3721, (806) 352-3721, (806) 352-3721, (806) 352-3721, '\n", - " 'nan, nan, nan, (806) 352-3721, (806) 352-3721, (806) '\n", - " '352-3721, (806) 352-3721, (806) 352-3721, (806) 352-3721, '\n", - " '(806) 352-3721, (806) 352-3721, (806) 352-3721, (806) '\n", - " '352-3721, (806) 352-3721, (806) 352-3721, (806) 352-3721, '\n", - " '(806) 352-3721, (806) 352-3721, (806) 352-3721, (806) '\n", - " '352-3721, nan, (000) 000-0000, (000) 000-0000, (000) '\n", - " '000-0000, (000) 000-0000',\n", - " 'preparer_fax': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, trena@anginc.net, trena@anginc.net, trena@anginc.net, '\n", - " 'trena@anginc.net, trena@anginc.net, trena@anginc.net, '\n", - " 'charles@anginc.net, charles@anginc.net, charles@anginc.net, '\n", - " 'trena@anginc.net, trena@anginc.net, mwprice@anginc.net, '\n", - " 'mwprice@anginc.net, mwprice@anginc.net, mwprice@anginc.net, '\n", - " 'mwprice@anginc.net, mwprice@anginc.net, mwprice@anginc.net, '\n", - " 'mwprice@anginc.net, mwprice@anginc.net, mwprice@anginc.net, '\n", - " 'contact@anginc.net, contact@anginc.net, contact@anginc.net, '\n", - " 'contact@anginc.net, akila@anginc.net, akila@anginc.net, '\n", - " 'akila@anginc.net, akila@anginc.net, contact@anginc.net, '\n", - " 'contact@anginc.net',\n", - " 'preparer_name': 'KELLY LOVVORN - GAS SUPPLY, KELLY LOVVORN, JERRY SIMMONS, '\n", - " 'JERRY SIMMONS, JERRY '\n", - " 'SIMMONS , '\n", - " 'JERRY SIMMONS '\n", - " ', JERRY '\n", - " 'SIMMONS , '\n", - " 'JERRY SIMMONS '\n", - " ', JERRY '\n", - " 'SIMMONS , '\n", - " 'JERRY SIMMONS '\n", - " ', JERRY '\n", - " 'SIMMONS , JP '\n", - " 'DAVIS, JP DAVIS, JP DAVIS, JP DAVIS, DEAN MATTHEWS, DEAN '\n", - " 'MATTHEWS, SCOTT C. SMITH, SCOTT C. SMITH, J P DAVIS, J P '\n", - " 'DAVIS, J P DAVIS, TRENA HILTBRUNNER, ADM ASST, TRENA '\n", - " 'HILTBRUNNER, TRENA HILTBRUNNER, ADM ASST, TRENA '\n", - " 'HILTBRUNNER, COMPLIANCE AGENT, TRENA HILTBRUNNER, '\n", - " 'COMPLIANCE AGENT, TRENA HILTBRUNNER, COMPLIANCE AGENT, '\n", - " 'TRENA MATTHEWS, TRENA MATTHEWS, TRENA MATTHEWS, TRENA '\n", - " 'MATTHEWS COMPLIANCE AGENT, TREMA MATTHEWS COMPLIANCE AGENT, '\n", - " 'TRENA MATTHEWS COMPLIANCE AGENT, TRENA MATTHEWS, TRENA '\n", - " 'MATTHEWS, TRENA MATTHEWS, Trena Matthews, Trena Matthews, '\n", - " 'Trena Matthews, Trena Matthews, Trena Matthews, Trena '\n", - " 'Matthews, Charles Davis, Charles Davis, Charles Davis, '\n", - " 'Trena Becker, Trena Becker, MONTE PRICE, MONTE PRICE, MONTE '\n", - " 'PRICE, Monte Price, Monte Price, Monte Price, Monte Price, '\n", - " 'Monte Price, Monte Price, Monte Price, Monte Price, Monte '\n", - " 'Price, Monte Price, Monte Price, AKILA ADDESSO, AKILA '\n", - " 'ADDESSO, Akila Addesso, Akila Addesso, Akila Addesso, Akila '\n", - " 'Addesso',\n", - " 'preparer_phone': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 8063523721.0, '\n", - " '8063525271.0, 8063523721.0, 8063523721.0, 8063523721.0, '\n", - " '8063523721.0, 8063523721.0, 8063523721.0, 8063523721.0, '\n", - " '8063523712, 8063523712, 8063523712, 8063523721, '\n", - " '8063523721, 8063523721, 8063523721, 8063523721, '\n", - " '8063523721, (806) 352-5271, (806) 352-5271, (806) '\n", - " '352-5271, (806) 352-5271, (806) 352-5271, (806) 352-5271, '\n", - " '(806)352-5271, (806)352-5271, (806)352-5271, (806) '\n", - " '352-5271, (806) 352-5271, (806) 352-5271, (806) 352-5271, '\n", - " '(806) 352-5271, (806) 352-5271, (806) 352-5271, (806) '\n", - " '352-5271, (806) 352-5271, (806) 352-5271, (806) 352-5271, '\n", - " '(806) 352-5271, (806) 352-5271, (806) 352-5271, (806) '\n", - " '352-5271, (806) 352-5271, (806) 352-5271, (806) 352-5271, '\n", - " '(806) 352-5271, (806) 352-5271, (806) 352-5271, (806) '\n", - " '352-5271',\n", - " 'preparer_title': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'ANG.DAVIS@AMAONLINE.COM, ANG.DAVIS@AMAONLINE.COM, '\n", - " 'ANG.DAVIS@AMAONLINE.COM, ANG.HILTBRUNNER@ARMAONLINE.COM, '\n", - " 'ANG.HILTBRUNNER@AMAONLINE.COM, '\n", - " 'ANG.HILTBRUNNER@AMAONLINE.COM, TRENA@ANGINC.NET, '\n", - " 'TRENA@ANGINC.NET, TRENA@ANGINC.NET, TRENA@ANGINC.NET, '\n", - " 'TRENA@ANGINC.NET, TRENA@ANGINC.NET, TRENA@ANGINC.NET, '\n", - " 'TREAN@ANGINC.NET, TREAN@ANGINC.NET, TRENA@ANGINC.NET, '\n", - " 'TRENA@ANGINC.NET, TRENA@ANGINC.NET, nan, nan, nan, nan, '\n", - " 'nan, nan, Agent, Agent, Agent, Administrative Assistant, '\n", - " 'Administrative Assistant, PRESIDENT, PRESIDENT, PRESIDENT, '\n", - " 'President, President, President, operator, operator, '\n", - " 'President, President, operator, operator, President, '\n", - " 'President, nan, nan, Corporate Manager, Corporate Manager, '\n", - " 'nan, nan',\n", - " 'report_date': 'NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, NaT, '\n", - " 'NaT, NaT, 2001-01-12T00:00:00.000000000, '\n", - " '2002-04-29T00:00:00.000000000, 2002-04-29T00:00:00.000000000, '\n", - " '2003-03-14T00:00:00.000000000, 2004-02-11T00:00:00.000000000, '\n", - " '2005-02-24T00:00:00.000000000, 2005-03-29T00:00:00.000000000, '\n", - " '2005-02-24T00:00:00.000000000, 2006-03-10T00:00:00.000000000, '\n", - " '2006-04-04T00:00:00.000000000, 2006-03-10T00:00:00.000000000, '\n", - " '2007-03-09T00:00:00.000000000, 2007-03-09T00:00:00.000000000, '\n", - " '2007-03-09T00:00:00.000000000, 2008-02-25T00:00:00.000000000, '\n", - " '2008-02-25T00:00:00.000000000, 2008-05-05T00:00:00.000000000, '\n", - " '2009-03-06T00:00:00.000000000, 2009-03-06T00:00:00.000000000, '\n", - " '2009-03-06T00:00:00.000000000, 2010-02-23T00:00:00.000000000, '\n", - " '2010-02-23T00:00:00.000000000, 2010-02-23T00:00:00.000000000, '\n", - " '2011-10-17T15:19:46.000000000, 2011-10-17T14:34:14.000000000, '\n", - " '2012-01-24T12:21:54.000000000, 2012-04-11T11:15:41.000000000, '\n", - " '2012-04-30T16:05:08.000000000, 2012-05-04T12:47:26.000000000, '\n", - " '2013-03-07T11:40:03.000000000, 2014-03-26T09:20:57.000000000, '\n", - " '2014-04-08T09:54:00.000000000, 2015-02-25T13:22:26.000000000, '\n", - " '2015-02-25T17:01:24.000000000, 2016-02-01T18:29:14.000000000, '\n", - " '2016-02-01T18:21:56.000000000, 2016-02-01T18:13:46.000000000, '\n", - " '2017-03-13T16:25:03.000000000, 2017-03-13T16:28:26.000000000, '\n", - " '2017-03-13T16:19:22.000000000, 2018-03-13T13:33:57.000000000, '\n", - " '2018-03-13T13:07:28.000000000, 2019-03-07T17:57:13.000000000, '\n", - " '2019-03-07T17:52:05.000000000, 2020-03-04T11:48:30.000000000, '\n", - " '2020-03-04T11:52:12.000000000, 2021-03-02T11:07:08.000000000, '\n", - " '2021-03-02T11:12:17.000000000, 2022-03-14T11:44:59.000000000, '\n", - " '2022-03-14T11:40:59.000000000, 2023-01-30T13:25:30.000000000, '\n", - " '2023-01-30T13:18:49.000000000, 2024-01-25T13:30:10.000000000, '\n", - " '2024-01-25T13:28:48.000000000',\n", - " 'report_number': '19901333.0, 19910511.0, 19920584.0, 19930521.0, 19940173.0, '\n", - " '19950757.0, 19950758.0, 19960070.0, 19960074.0, 19970980.0, '\n", - " '19970981.0, 19980870.0, 19980875.0, 19991381.0, 20000045.0, '\n", - " '20011330.0, 20011331.0, 20020854.0, 20030170.0, 20040315.0, '\n", - " '20041077.0, 20040313.0, 20051379.0, 20051179.0, 20051380.0, '\n", - " '20060625.0, 20060623.0, 20060624.0, 20070479.0, 20070480.0, '\n", - " '20071440.0, 20080753.0, 20080743.0, 20080752.0, 20090387.0, '\n", - " '20090388.0, 20090391.0, 20111332.0, 20111331.0, 20120067.0, '\n", - " '20121311.0, 20121382.0, 20121395.0, 20130628.0, 20142819.0, '\n", - " '20142877.0, 20153436.0, 20153447.0, 20164679.0, 20164678.0, '\n", - " '20164677.0, 20177051.0, 20177054.0, 20177048.0, 20188536.0, '\n", - " '20188533.0, 20190432.0, 20190431.0, 20200701.0, 20200702.0, '\n", - " '20210578.0, 20210579.0, 20221011.0, 20221007.0, 20230131.0, '\n", - " '20230130.0, 20240087.0, 20240086.0',\n", - " 'report_submission_type': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, INITIAL, '\n", - " 'INITIAL, INITIAL, INITIAL, SUPPLEMENTAL, INITIAL, '\n", - " 'SUPPLEMENTAL, INITIAL, INITIAL, INITIAL, INITIAL, '\n", - " 'INITIAL, INITIAL, INITIAL, INITIAL, INITIAL, '\n", - " 'INITIAL, INITIAL, INITIAL, INITIAL, INITIAL, '\n", - " 'INITIAL, INITIAL, SUPPLEMENTAL, INITIAL, INITIAL, '\n", - " 'INITIAL, INITIAL, INITIAL, INITIAL, INITIAL',\n", - " 'report_year': '1990.0, 1991.0, 1992.0, 1993.0, 94.0, 95.0, 95.0, 96.0, 96.0, '\n", - " '97.0, 97.0, 1998.0, 1998.0, 1999.0, 2000.0, 2001.0, 2001.0, '\n", - " '2002.0, 2003.0, 2004.0, 2004.0, 2004.0, 2005.0, 2005.0, '\n", - " '2005.0, 2006.0, 2006.0, 2006.0, 2007.0, 2007.0, 2007.0, '\n", - " '2008.0, 2008.0, 2008.0, 2009.0, 2009.0, 2009.0, 2010.0, '\n", - " '2010.0, 2010.0, 2011.0, 2011.0, 2011.0, 2012.0, 2013.0, '\n", - " '2013.0, 2014.0, 2014.0, 2015.0, 2015.0, 2015.0, 2016.0, '\n", - " '2016.0, 2016.0, 2017.0, 2017.0, 2018.0, 2018.0, 2019.0, '\n", - " '2019.0, 2020.0, 2020.0, 2021.0, 2021.0, 2022.0, 2022.0, '\n", - " '2023.0, 2023.0',\n", - " 'services_1950s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 15.0, 0.0, '\n", - " '15.0, 0.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, 0.0, '\n", - " '15.0, 15.0, 0.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, '\n", - " '0.0, 15.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, '\n", - " '20.0, 0.0, 70.0, 0.0, 70.0, 0.0, 70.0, 0.0, 73.0, 0.0, '\n", - " '73.0, 0.0, 73.0',\n", - " 'services_1960s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 15.0, 0.0, '\n", - " '15.0, 0.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, 0.0, '\n", - " '15.0, 15.0, 0.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, '\n", - " '0.0, 15.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, 0.0, 15.0, 0.0, '\n", - " '57.0, 0.0, 22.0, 0.0, 22.0, 0.0, 22.0, 0.0, 21.0, 0.0, '\n", - " '21.0, 0.0, 23.0',\n", - " 'services_1980s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 12.0, 0.0, '\n", - " '12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 12.0, 0.0, 0.0, '\n", - " '12.0, 12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 12.0, 0.0, '\n", - " '0.0, 12.0, 0.0, 12.0, 0.0, 0.0, 12.0, 0.0, 0.0, 12.0, 0.0, '\n", - " '85.0, 0.0, 68.0, 0.0, 68.0, 0.0, 68.0, 0.0, 66.0, 0.0, '\n", - " '66.0, 0.0, 66.0',\n", - " 'services_1990s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 12.0, 4.0, '\n", - " '12.0, 0.0, 4.0, 4.0, 0.0, 12.0, 4.0, 0.0, 12.0, 0.0, 4.0, '\n", - " '12.0, 12.0, 0.0, 4.0, 0.0, 4.0, 12.0, 0.0, 4.0, 192.0, '\n", - " '4.0, 4.0, 192.0, 4.0, 192.0, 0.0, 4.0, 192.0, 0.0, 4.0, '\n", - " '192.0, 8.0, 59.0, 8.0, 50.0, 8.0, 50.0, 16.0, 50.0, 8.0, '\n", - " '52.0, 8.0, 52.0, 8.0, 50.0',\n", - " 'services_2000s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 1.0, 225.0, 0.0, '\n", - " '225.0, 1.0, 0.0, 0.0, 1.0, 225.0, 0.0, 1.0, 225.0, 3.0, '\n", - " '0.0, 225.0, 225.0, 3.0, 0.0, 3.0, 0.0, 225.0, 3.0, 0.0, '\n", - " '1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 3.0, 0.0, 1.0, 4.0, 0.0, '\n", - " '1.0, 0.0, 3.0, 0.0, 8.0, 0.0, 8.0, 0.0, 8.0, 0.0, 8.0, '\n", - " '0.0, 14.0, 0.0, 13.0',\n", - " 'services_2010s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 2.0, 0.0, 2.0, 0.0, 0.0, 3.0, 0.0, 0.0, 3.0, 0.0, '\n", - " '6.0, 0.0, 8.0, 0.0, 8.0, 0.0, 8.0, 0.0, 4.0, 0.0, 4.0, '\n", - " '0.0, 4.0',\n", - " 'services_2020s': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, 0.0, 0.0, 0.0, 7.0, 0.0, 9.0, '\n", - " '0.0, 12.0',\n", - " 'services_all_materials_1_in_or_less': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 255.0, '\n", - " '0.0, 255.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '255.0, 0.0, 0.0, 255.0, 0.0, 0.0, '\n", - " '255.0, 255.0, 0.0, 0.0, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0',\n", - " 'services_all_materials_1_to_2_in': '9.0, 9.0, 9.0, 10.0, 10.0, 0.0, 42.0, '\n", - " '43.0, 0.0, 44.0, 0.0, 0.0, 44.0, 0.0, '\n", - " '0.0, 44.0, 0.0, 99.0, 99.0, 1.0, 17.0, '\n", - " '4.0, 17.0, 1.0, 4.0, 4.0, 1.0, 17.0, '\n", - " '0.0, 1.0, 17.0, 2.0, 0.0, 17.0, 17.0, '\n", - " '2.0, 0.0, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, 2.0, 2.0, 12.0, '\n", - " '2.0, 2.0, 12.0, 0.0, 19.0, 0.0, 21.0, '\n", - " '0.0, 21.0, 0.0, 21.0, 0.0, 13.0, 0.0, '\n", - " '13.0, 0.0, 13.0',\n", - " 'services_all_materials_2_to_4_in': '0.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, '\n", - " '4.0, 0.0, 4.0, 4.0, 0.0, 4.0, 4.0, 0.0, '\n", - " '4.0, 1.0, 1.0, 0.0, 7.0, 0.0, 7.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 7.0, 4.0, 0.0, 7.0, 1.0, '\n", - " '4.0, 7.0, 7.0, 1.0, 4.0, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " '1.0, 2.0, 226.0, 2.0, 2.0, 226.0, 8.0, '\n", - " '205.0, 8.0, 204.0, 8.0, 204.0, 16.0, '\n", - " '204.0, 8.0, 217.0, 8.0, 225.0, 8.0, '\n", - " '227.0',\n", - " 'services_all_materials_4_to_8_in': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, '\n", - " '0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, '\n", - " '0.0, 1.0, 0.0, 1.0',\n", - " 'services_all_materials_total': '9.0, 9.0, 9.0, 10.0, 12.0, 3.0, 42.0, 43.0, '\n", - " '4.0, 44.0, 4.0, 4.0, 44.0, 4.0, 4.0, 44.0, '\n", - " '4.0, 100.0, 100.0, 1.0, 279.0, 4.0, 279.0, '\n", - " '1.0, 4.0, 4.0, 1.0, 279.0, 4.0, 1.0, 279.0, '\n", - " '3.0, 4.0, 279.0, 279.0, 3.0, 4.0, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " '3.0, 4.0, 238.0, 4.0, 4.0, 238.0, 8.0, '\n", - " '230.0, 8.0, 226.0, 8.0, 226.0, 16.0, 226.0, '\n", - " '8.0, 231.0, 8.0, 239.0, 8.0, 241.0',\n", - " 'services_all_time': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, 1.0, 279.0, '\n", - " '4.0, 279.0, 1.0, 4.0, 4.0, 1.0, 279.0, 4.0, 1.0, 279.0, '\n", - " '3.0, 4.0, 279.0, 279.0, 3.0, 4.0, 3.0, 4.0, 279.0, 3.0, '\n", - " '4.0, 235.0, 4.0, 4.0, 237.0, 4.0, 237.0, 3.0, 4.0, '\n", - " '238.0, 4.0, 4.0, 238.0, 8.0, 230.0, 8.0, 226.0, 8.0, '\n", - " '226.0, 16.0, 226.0, 8.0, 231.0, 8.0, 239.0, 8.0, 241.0',\n", - " 'services_cathodically_protected_steel_bare': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " 'nan, 0.0, 0.0, nan, 0.0, nan, '\n", - " 'nan, nan, nan, 4.0, nan, 4.0, '\n", - " 'nan, 4.0, nan, 4.0, nan, 4.0, '\n", - " 'nan, 4.0',\n", - " 'services_cathodically_protected_steel_coated': '9.0, 9.0, 9.0, 10.0, 12.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0, 0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 100.0, 100.0, 1.0, '\n", - " '279.0, 4.0, 279.0, 1.0, 4.0, '\n", - " '4.0, 1.0, 279.0, 4.0, 1.0, '\n", - " '279.0, 0.0, 4.0, 279.0, '\n", - " '279.0, 0.0, 4.0, 0.0, 0.0, '\n", - " '279.0, 0.0, 0.0, 180.0, 0.0, '\n", - " '0.0, 180.0, 0.0, 180.0, nan, '\n", - " '0.0, 181.0, nan, 0.0, 181.0, '\n", - " 'nan, 152.0, nan, 139.0, nan, '\n", - " '139.0, nan, 139.0, nan, '\n", - " '142.0, nan, 142.0, nan, '\n", - " '143.0',\n", - " 'services_efv_in_system': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '2.0, 0.0, 4.0, 2.0, 4.0, 2.0, 8.0, 226.0, 8.0, '\n", - " '226.0, 0.0, 226.0, 0.0, 0.0, 0.0, 0.0, nan, nan',\n", - " 'services_other': '0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 42.0, 43.0, 4.0, 44.0, 4.0, '\n", - " '4.0, 44.0, 4.0, 4.0, 44.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, 0.0, nan, nan, '\n", - " 'nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0',\n", - " 'services_pe_1_to_2_in': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 2.0, 2.0, 0.0, '\n", - " '2.0, 2.0, 0.0, 2.0, 2.0, 0.0, 2.0, 0.0, 2.0, 2.0, '\n", - " '0.0, 2.0, 2.0, 0.0, 0.0, 10.0, 0.0, 12.0, 0.0, '\n", - " '12.0, 0.0, 12.0, 0.0, 4.0, 0.0, 4.0, 0.0, 2.0',\n", - " 'services_pe_2_to_4_in': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 2.0, 0.0, '\n", - " '1.0, 2.0, 55.0, 2.0, 2.0, 57.0, 2.0, 57.0, 1.0, '\n", - " '2.0, 57.0, 2.0, 2.0, 57.0, 8.0, 68.0, 8.0, 70.0, '\n", - " '8.0, 70.0, 16.0, 70.0, 8.0, 80.0, 8.0, 88.0, 8.0, '\n", - " '91.0',\n", - " 'services_pe_total': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, '\n", - " '0.0, 0.0, 3.0, 0.0, 3.0, 4.0, 0.0, 3.0, 4.0, 55.0, 4.0, '\n", - " '4.0, 57.0, 4.0, 57.0, 3.0, 4.0, 57.0, 4.0, 4.0, 57.0, '\n", - " '8.0, 78.0, 8.0, 82.0, 8.0, 82.0, 16.0, 82.0, 8.0, 84.0, '\n", - " '8.0, 92.0, 8.0, 93.0',\n", - " 'services_plastic': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, '\n", - " '0.0, 0.0, 3.0, 0.0, 3.0, 4.0, 0.0, 3.0, 4.0, 55.0, 4.0, '\n", - " '4.0, 57.0, 4.0, 57.0, 3.0, 4.0, 57.0, 4.0, 4.0, 57.0, '\n", - " '8.0, 78.0, 8.0, 82.0, 8.0, 82.0, 16.0, 82.0, 8.0, 84.0, '\n", - " '8.0, 92.0, 8.0, 93.0',\n", - " 'services_shutoff_valve_in_system': 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, 8.0, '\n", - " '230.0, 8.0, 226.0, 0.0, 0.0, 0.0, 226.0, '\n", - " '8.0, 231.0, 0.0, 0.0, nan, nan',\n", - " 'services_shutoff_valve_installed': 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, '\n", - " '0.0, 0.0, nan, nan',\n", - " 'services_steel_1_in_or_less': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 255.0, 0.0, 255.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 255.0, 0.0, 0.0, 255.0, 0.0, 0.0, 255.0, '\n", - " '255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0',\n", - " 'services_steel_1_to_2_in': '9.0, 9.0, 9.0, 10.0, 10.0, 0.0, 42.0, 43.0, 0.0, '\n", - " '44.0, 0.0, 0.0, 44.0, 0.0, 0.0, 44.0, 0.0, 99.0, '\n", - " '99.0, 1.0, 17.0, 4.0, 17.0, 1.0, 4.0, 4.0, 1.0, '\n", - " '17.0, 0.0, 1.0, 17.0, 0.0, 0.0, 17.0, 17.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 17.0, 0.0, 0.0, 11.0, 0.0, 0.0, '\n", - " '11.0, 0.0, 11.0, 0.0, 0.0, 12.0, 0.0, 0.0, 12.0, '\n", - " '0.0, 9.0, 0.0, 9.0, 0.0, 9.0, 0.0, 9.0, 0.0, '\n", - " '9.0, 0.0, 9.0, 0.0, 11.0',\n", - " 'services_steel_2_to_4_in': '0.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, 4.0, '\n", - " '0.0, 4.0, 4.0, 0.0, 4.0, 4.0, 0.0, 0.0, 1.0, '\n", - " '1.0, 0.0, 7.0, 0.0, 7.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '7.0, 4.0, 0.0, 7.0, 0.0, 4.0, 7.0, 7.0, 0.0, '\n", - " '4.0, 0.0, 0.0, 7.0, 0.0, 0.0, 169.0, 0.0, 0.0, '\n", - " '169.0, 0.0, 169.0, 0.0, 0.0, 169.0, 0.0, 0.0, '\n", - " '169.0, 0.0, 137.0, 0.0, 134.0, 0.0, 134.0, 0.0, '\n", - " '134.0, 0.0, 137.0, 0.0, 137.0, 0.0, 136.0',\n", - " 'services_steel_4_to_8_in': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 6.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, '\n", - " '1.0, 0.0, 1.0, 0.0, 1.0',\n", - " 'services_steel_total': '9.0, 9.0, 9.0, 10.0, 12.0, 3.0, 42.0, 43.0, 4.0, '\n", - " '44.0, 4.0, 4.0, 44.0, 4.0, 4.0, 44.0, 0.0, 100.0, '\n", - " '100.0, 1.0, 279.0, 4.0, 279.0, 1.0, 4.0, 4.0, 1.0, '\n", - " '279.0, 4.0, 1.0, 279.0, 0.0, 4.0, 279.0, 279.0, 0.0, '\n", - " '4.0, 0.0, 0.0, 279.0, 0.0, 0.0, 180.0, 0.0, 0.0, '\n", - " '180.0, 0.0, 180.0, 0.0, 0.0, 181.0, 0.0, 0.0, 181.0, '\n", - " '0.0, 152.0, 0.0, 144.0, 0.0, 144.0, 0.0, 144.0, 0.0, '\n", - " '147.0, 0.0, 147.0, 0.0, 148.0',\n", - " 'services_total': '9.0, 9.0, 9.0, 10.0, 12.0, 3.0, 42.0, 43, 4, 44, 4, 4.0, '\n", - " '44.0, 4.0, 4.0, 44.0, 0.0, 100.0, 100.0, 1.0, 279.0, 4.0, '\n", - " '279.0, 1.0, 4.0, 4.0, 1.0, 279.0, 4.0, 1.0, 279.0, 3.0, '\n", - " '4.0, 279.0, 279.0, 3.0, 4.0, 3.0, 4.0, 279.0, 3.0, 4.0, '\n", - " '235.0, 4.0, 4.0, 237.0, 4.0, 237.0, 3.0, 4.0, 238.0, 4.0, '\n", - " '4.0, 238.0, 8.0, 230.0, 8.0, 226.0, 8.0, 226.0, 16.0, '\n", - " '226.0, 8.0, 231.0, 8.0, 239.0, 8.0, 241.0',\n", - " 'services_unprotected_steel_bare': '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " '0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, '\n", - " 'nan, 0.0, 0.0, nan, 0.0, nan, nan, nan, '\n", - " 'nan, 1.0, nan, 1.0, nan, 1.0, nan, 1.0, '\n", - " 'nan, 1.0, nan, 1.0',\n", - " 'supplemental_report_number': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, 1264.0, 1959.0, 1263.0, 3904.0, 3382.0, '\n", - " '3605.0, 5121.0, 5119.0, 5120.0, 7267.0, '\n", - " '7268.0, 8449.0, 10135.0, 10125.0, 10134.0, '\n", - " '12987.0, 12988.0, 12992.0, 16574.0, 16573.0, '\n", - " '15070.0, 16430.0, 16524.0, 16535.0, 19244.0, '\n", - " '21893.0, 22018.0, 23855.0, 23867.0, 26768.0, '\n", - " '26767.0, 26766.0, 31773.0, 31776.0, 31770.0, '\n", - " '35673.0, 35670.0, 37854.0, 37853.0, 39948.0, '\n", - " '39949.0, 42977.0, 41980.0, 46134.0, 46130.0, '\n", - " '49242.0, 49241.0, 55521.0, 55520.0',\n", - " 'supplementary_report': 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, Y, Y, '\n", - " 'Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, '\n", - " 'nan, nan, nan, nan, nan, nan, nan, nan, nan, nan'}\n", - "additional_information\n", - "all_known_leaks_scheduled_for_repair\n", - "all_leaks_construction_defect_mains\n", - "all_leaks_construction_defect_services\n", - "all_leaks_corrosion_failure_mains\n", - "all_leaks_corrosion_failure_services\n", - "all_leaks_equipment_failure_mains\n", - "all_leaks_equipment_failure_services\n", - "all_leaks_excavation_damage_mains\n", - "all_leaks_excavation_damage_services\n", - "all_leaks_incorrect_operation_mains\n", - "all_leaks_incorrect_operation_services\n", - "all_leaks_material_defect_mains\n", - "all_leaks_material_defect_services\n", - "all_leaks_natural_force_damage_mains\n", - "all_leaks_natural_force_damage_services\n", - "all_leaks_other_mains\n", - "all_leaks_other_outside_force_mains\n", - "all_leaks_other_outside_force_services\n", - "all_leaks_other_services\n", - "all_leaks_outside_force_mains\n", - "all_leaks_outside_force_services\n", - "all_leaks_pipe_weld_joint_failure_mains\n", - "all_leaks_pipe_weld_joint_failure_services\n", - "all_leaks_third_party_mains\n", - "all_leaks_third_party_services\n", - "average_service_length_feet\n", - "commodity\n", - "correction_date\n", - "data_date\n", - "data_maturity\n", - "excavation_damage_excavation_practices\n", - "excavation_damage_locating_practices\n", - "excavation_damage_one_call_notification\n", - "excavation_damage_other\n", - "excavation_damage_total\n", - "excavation_tickets\n", - "federal_land_leaks_repaired_or_scheduled\n", - "filing_date\n", - "form_revision\n", - "hazardous_leaks_corrosion_failure_mains\n", - "hazardous_leaks_corrosion_failure_services\n", - "hazardous_leaks_equipment_failure_mains\n", - "hazardous_leaks_equipment_failure_services\n", - "hazardous_leaks_excavation_damage_mains\n", - "hazardous_leaks_excavation_damage_services\n", - "hazardous_leaks_incorrect_operation_mains\n", - "hazardous_leaks_incorrect_operation_services\n", - "hazardous_leaks_mechanical_joint_failure\n", - "hazardous_leaks_natural_force_damage_mains\n", - "hazardous_leaks_natural_force_damage_services\n", - "hazardous_leaks_other_mains\n", - "hazardous_leaks_other_outside_force_mains\n", - "hazardous_leaks_other_outside_force_services\n", - "hazardous_leaks_other_services\n", - "hazardous_leaks_pipe_weld_joint_failure_mains\n", - "hazardous_leaks_pipe_weld_joint_failure_services\n", - "headquarters_address_city\n", - "headquarters_address_county\n", - "headquarters_address_state\n", - "headquarters_address_street\n", - "headquarters_address_zip\n", - "log\n", - "main_1940s_miles\n", - "main_1950s_miles\n", - "main_1960s_miles\n", - "main_1970s_miles\n", - "main_1980s_miles\n", - "main_1990s_miles\n", - "main_2000s_miles\n", - "main_2010s_miles\n", - "main_2020s_miles\n", - "main_abs_2_in_or_less_miles\n", - "main_abs_2_to_4_in_miles\n", - "main_abs_4_to_8_in_miles\n", - "main_abs_8_to_12_in_miles\n", - "main_abs_over_12_in_miles\n", - "main_abs_total_miles\n", - "main_abs_unknown_miles\n", - "main_all_materials_2_in_or_less_miles\n", - "main_all_materials_2_to_4_in_miles\n", - "main_all_materials_4_to_8_in_miles\n", - "main_all_materials_8_to_12_in_miles\n", - "main_all_materials_over_12_in_miles\n", - "main_all_materials_total_miles\n", - "main_all_materials_unknown_miles\n", - "main_all_time_miles\n", - "main_cast_or_wrought_iron_2_in_or_less_miles\n", - "main_cast_or_wrought_iron_2_to_4_in_miles\n", - "main_cast_or_wrought_iron_4_to_8_in_miles\n", - "main_cast_or_wrought_iron_8_to_12_in_miles\n", - "main_cast_or_wrought_iron_miles\n", - "main_cast_or_wrought_iron_over_12_in_miles\n", - "main_cast_or_wrought_iron_total_miles\n", - "main_cast_or_wrought_iron_unknown_miles\n", - "main_cathodically_protected_steel_bare_miles\n", - "main_cathodically_protected_steel_coated_miles\n", - "main_copper_2_in_or_less_miles\n", - "main_copper_2_to_4_in_miles\n", - "main_copper_4_to_8_in_miles\n", - "main_copper_8_to_12_in_miles\n", - "main_copper_miles\n", - "main_copper_over_12_in_miles\n", - "main_copper_total_miles\n", - "main_copper_unknown_miles\n", - "main_ductile_iron_2_in_or_less_miles\n", - "main_ductile_iron_2_to_4_in_miles\n", - "main_ductile_iron_4_to_8_in_miles\n", - "main_ductile_iron_8_to_12_in_miles\n", - "main_ductile_iron_miles\n", - "main_ductile_iron_over_12_in_miles\n", - "main_ductile_iron_total_miles\n", - "main_ductile_iron_unknown_miles\n", - "main_other_2_in_or_less_miles\n", - "main_other_2_to_4_in_miles\n", - "main_other_4_to_8_in_miles\n", - "main_other_8_to_12_in_miles\n", - "main_other_alt_2_in_or_less_miles\n", - "main_other_alt_2_to_4_in_miles\n", - "main_other_alt_4_to_8_in_miles\n", - "main_other_alt_8_to_12_in_miles\n", - "main_other_alt_miles\n", - "main_other_alt_over_12_in_miles\n", - "main_other_alt_total_miles\n", - "main_other_alt_unknown_miles\n", - "main_other_material_detail_miles\n", - "main_other_miles\n", - "main_other_over_12_in_miles\n", - "main_other_plastic_2_in_or_less_miles\n", - "main_other_plastic_2_to_4_in_miles\n", - "main_other_plastic_4_to_8_in_miles\n", - "main_other_plastic_8_to_12_in_miles\n", - "main_other_plastic_over_12_in_miles\n", - "main_other_plastic_total_miles\n", - "main_other_plastic_unknown_miles\n", - "main_other_total_miles\n", - "main_other_unknown_miles\n", - "main_pe_2_in_or_less_miles\n", - "main_pe_2_to_4_in_miles\n", - "main_pe_4_to_8_in_miles\n", - "main_pe_8_to_12_in_miles\n", - "main_pe_over_12_in_miles\n", - "main_pe_total_miles\n", - "main_pe_unknown_miles\n", - "main_plastic_miles\n", - "main_pre_1940_miles\n", - "main_pvc_2_in_or_less_miles\n", - "main_pvc_2_to_4_in_miles\n", - "main_pvc_4_to_8_in_miles\n", - "main_pvc_8_to_12_in_miles\n", - "main_pvc_over_12_in_miles\n", - "main_pvc_total_miles\n", - "main_pvc_unknown_miles\n", - "main_reconditioned_cast_iron_2_in_or_less_miles\n", - "main_reconditioned_cast_iron_2_to_4_in_miles\n", - "main_reconditioned_cast_iron_4_to_8_in_miles\n", - "main_reconditioned_cast_iron_8_to_12_in_miles\n", - "main_reconditioned_cast_iron_miles\n", - "main_reconditioned_cast_iron_over_12_in_miles\n", - "main_reconditioned_cast_iron_total_miles\n", - "main_reconditioned_cast_iron_unknown_miles\n", - "main_steel_2_in_or_less_miles\n", - "main_steel_2_to_4_in_miles\n", - "main_steel_4_to_8_in_miles\n", - "main_steel_8_to_12_in_miles\n", - "main_steel_over_12_in_miles\n", - "main_steel_total_miles\n", - "main_steel_unknown_miles\n", - "main_total_miles\n", - "main_unknown_decade_miles\n", - "main_unprotected_steel_bare_miles\n", - "main_unprotected_steel_coated_miles\n", - "office_address_city\n", - "office_address_county\n", - "office_address_state\n", - "office_address_street\n", - "office_address_zip\n", - "operating_state\n", - "operator_id_phmsa\n", - "operator_name_phmsa\n", - "operator_type\n", - "original_report\n", - "percent_unaccounted_for_gas\n", - "preparer_email\n", - "preparer_fax\n", - "preparer_name\n", - "preparer_phone\n", - "preparer_title\n", - "report_date\n", - "report_number\n", - "report_submission_type\n", - "report_year\n", - "services_1940s\n", - "services_1950s\n", - "services_1960s\n", - "services_1970s\n", - "services_1980s\n", - "services_1990s\n", - "services_2000s\n", - "services_2010s\n", - "services_2020s\n", - "services_abs_1_in_or_less\n", - "services_abs_1_to_2_in\n", - "services_abs_2_to_4_in\n", - "services_abs_4_to_8_in\n", - "services_abs_over_8_in\n", - "services_abs_total\n", - "services_abs_unknown\n", - "services_all_materials_1_in_or_less\n", - "services_all_materials_1_to_2_in\n", - "services_all_materials_2_to_4_in\n", - "services_all_materials_4_to_8_in\n", - "services_all_materials_over_8_in\n", - "services_all_materials_total\n", - "services_all_materials_unknown\n", - "services_all_time\n", - "services_cast_or_wrought_iron\n", - "services_cast_or_wrought_iron_1_in_or_less\n", - "services_cast_or_wrought_iron_1_to_2_in\n", - "services_cast_or_wrought_iron_2_to_4_in\n", - "services_cast_or_wrought_iron_4_to_8_in\n", - "services_cast_or_wrought_iron_over_8_in\n", - "services_cast_or_wrought_iron_total\n", - "services_cast_or_wrought_iron_unknown\n", - "services_cathodically_protected_steel_bare\n", - "services_cathodically_protected_steel_coated\n", - "services_copper\n", - "services_copper_1_in_or_less\n", - "services_copper_1_to_2_in\n", - "services_copper_2_to_4_in\n", - "services_copper_4_to_8_in\n", - "services_copper_over_8_in\n", - "services_copper_total\n", - "services_copper_unknown\n", - "services_ductile_iron\n", - "services_ductile_iron_1_in_or_less\n", - "services_ductile_iron_1_to_2_in\n", - "services_ductile_iron_2_to_4_in\n", - "services_ductile_iron_4_to_8_in\n", - "services_ductile_iron_over_8_in\n", - "services_ductile_iron_total\n", - "services_ductile_iron_unknown\n", - "services_efv_in_system\n", - "services_efv_installed\n", - "services_other\n", - "services_other_1_in_or_less\n", - "services_other_1_to_2_in\n", - "services_other_2_to_4_in\n", - "services_other_4_to_8_in\n", - "services_other_alt\n", - "services_other_alt_1_in_or_less\n", - "services_other_alt_1_to_2_in\n", - "services_other_alt_2_to_4_in\n", - "services_other_alt_4_to_8_in\n", - "services_other_alt_over_8_in\n", - "services_other_alt_total\n", - "services_other_alt_unknown\n", - "services_other_material_detail\n", - "services_other_over_8_in\n", - "services_other_plastic_1_in_or_less\n", - "services_other_plastic_1_to_2_in\n", - "services_other_plastic_2_to_4_in\n", - "services_other_plastic_4_to_8_in\n", - "services_other_plastic_over_8_in\n", - "services_other_plastic_total\n", - "services_other_plastic_unknown\n", - "services_other_total\n", - "services_other_unknown\n", - "services_pe_1_in_or_less\n", - "services_pe_1_to_2_in\n", - "services_pe_2_to_4_in\n", - "services_pe_4_to_8_in\n", - "services_pe_over_8_in\n", - "services_pe_total\n", - "services_pe_unknown\n", - "services_plastic\n", - "services_pre_1940\n", - "services_pvc_1_in_or_less\n", - "services_pvc_1_to_2_in\n", - "services_pvc_2_to_4_in\n", - "services_pvc_4_to_8_in\n", - "services_pvc_over_8_in\n", - "services_pvc_total\n", - "services_pvc_unknown\n", - "services_reconditioned_cast_iron\n", - "services_reconditioned_cast_iron_1_in_or_less\n", - "services_reconditioned_cast_iron_1_to_2_in\n", - "services_reconditioned_cast_iron_2_to_4_in\n", - "services_reconditioned_cast_iron_4_to_8_in\n", - "services_reconditioned_cast_iron_over_8_in\n", - "services_reconditioned_cast_iron_total\n", - "services_reconditioned_cast_iron_unknown\n", - "services_shutoff_valve_in_system\n", - "services_shutoff_valve_installed\n", - "services_steel_1_in_or_less\n", - "services_steel_1_to_2_in\n", - "services_steel_2_to_4_in\n", - "services_steel_4_to_8_in\n", - "services_steel_over_8_in\n", - "services_steel_total\n", - "services_steel_unknown\n", - "services_total\n", - "services_unknown_decade\n", - "services_unprotected_steel_bare\n", - "services_unprotected_steel_coated\n", - "supplemental_report_number\n", - "supplementary_report\n" - ] - } - ], - "source": [ - "# What values are different when we look at AMARILLO NATURAL GAS INC (ID 383)\n", - "filtered_df = raw_df[raw_df.operator_id_phmsa==383.0]\n", - "\n", - "columns_with_differences = filtered_df.loc[:, filtered_df.nunique() > 1]\n", - "\n", - "result_dict = {\n", - " col: \", \".join(map(str, columns_with_differences[col].values))\n", - " for col in columns_with_differences.columns\n", - "}\n", - "\n", - "# Step 4: Pretty print the dictionary\n", - "import pprint\n", - "pprint.pprint(result_dict)\n", - "sorted_columns = sorted(raw_df.columns)\n", - "\n", - "# Pretty print the sorted columns\n", - "for col in sorted_columns:\n", - " print(col)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "additional_information\n", - "all_known_leaks_scheduled_for_repair\n", - "all_leaks_construction_defect_mains\n", - "all_leaks_construction_defect_services\n", - "all_leaks_corrosion_failure_mains\n", - "all_leaks_corrosion_failure_services\n", - "all_leaks_equipment_failure_mains\n", - "all_leaks_equipment_failure_services\n", - "all_leaks_excavation_damage_mains\n", - "all_leaks_excavation_damage_services\n", - "all_leaks_incorrect_operation_mains\n", - "all_leaks_incorrect_operation_services\n", - "all_leaks_material_defect_mains\n", - "all_leaks_material_defect_services\n", - "all_leaks_natural_force_damage_mains\n", - "all_leaks_natural_force_damage_services\n", - "all_leaks_other_mains\n", - "all_leaks_other_outside_force_mains\n", - "all_leaks_other_outside_force_services\n", - "all_leaks_other_services\n", - "all_leaks_outside_force_mains\n", - "all_leaks_outside_force_services\n", - "all_leaks_pipe_weld_joint_failure_mains\n", - "all_leaks_pipe_weld_joint_failure_services\n", - "all_leaks_third_party_mains\n", - "all_leaks_third_party_services\n", - "average_service_length_feet\n", - "commodity\n", - "correction_date\n", - "data_date\n", - "data_maturity\n", - "excavation_damage_excavation_practices\n", - "excavation_damage_locating_practices\n", - "excavation_damage_one_call_notification\n", - "excavation_damage_other\n", - "excavation_damage_total\n", - "excavation_tickets\n", - "federal_land_leaks_repaired_or_scheduled\n", - "filing_date\n", - "form_revision\n", - "hazardous_leaks_corrosion_failure_mains\n", - "hazardous_leaks_corrosion_failure_services\n", - "hazardous_leaks_equipment_failure_mains\n", - "hazardous_leaks_equipment_failure_services\n", - "hazardous_leaks_excavation_damage_mains\n", - "hazardous_leaks_excavation_damage_services\n", - "hazardous_leaks_incorrect_operation_mains\n", - "hazardous_leaks_incorrect_operation_services\n", - "hazardous_leaks_mechanical_joint_failure\n", - "hazardous_leaks_natural_force_damage_mains\n", - "hazardous_leaks_natural_force_damage_services\n", - "hazardous_leaks_other_mains\n", - "hazardous_leaks_other_outside_force_mains\n", - "hazardous_leaks_other_outside_force_services\n", - "hazardous_leaks_other_services\n", - "hazardous_leaks_pipe_weld_joint_failure_mains\n", - "hazardous_leaks_pipe_weld_joint_failure_services\n", - "headquarters_address_city\n", - "headquarters_address_county\n", - "headquarters_address_state\n", - "headquarters_address_street\n", - "headquarters_address_zip\n", - "log\n", - "main_1940s_miles\n", - "main_1950s_miles\n", - "main_1960s_miles\n", - "main_1970s_miles\n", - "main_1980s_miles\n", - "main_1990s_miles\n", - "main_2000s_miles\n", - "main_2010s_miles\n", - "main_2020s_miles\n", - "main_abs_2_in_or_less_miles\n", - "main_abs_2_to_4_in_miles\n", - "main_abs_4_to_8_in_miles\n", - "main_abs_8_to_12_in_miles\n", - "main_abs_over_12_in_miles\n", - "main_abs_total_miles\n", - "main_abs_unknown_miles\n", - "main_all_materials_2_in_or_less_miles\n", - "main_all_materials_2_to_4_in_miles\n", - "main_all_materials_4_to_8_in_miles\n", - "main_all_materials_8_to_12_in_miles\n", - "main_all_materials_over_12_in_miles\n", - "main_all_materials_total_miles\n", - "main_all_materials_unknown_miles\n", - "main_all_time_miles\n", - "main_cast_or_wrought_iron_2_in_or_less_miles\n", - "main_cast_or_wrought_iron_2_to_4_in_miles\n", - "main_cast_or_wrought_iron_4_to_8_in_miles\n", - "main_cast_or_wrought_iron_8_to_12_in_miles\n", - "main_cast_or_wrought_iron_miles\n", - "main_cast_or_wrought_iron_over_12_in_miles\n", - "main_cast_or_wrought_iron_total_miles\n", - "main_cast_or_wrought_iron_unknown_miles\n", - "main_cathodically_protected_steel_bare_miles\n", - "main_cathodically_protected_steel_coated_miles\n", - "main_copper_2_in_or_less_miles\n", - "main_copper_2_to_4_in_miles\n", - "main_copper_4_to_8_in_miles\n", - "main_copper_8_to_12_in_miles\n", - "main_copper_miles\n", - "main_copper_over_12_in_miles\n", - "main_copper_total_miles\n", - "main_copper_unknown_miles\n", - "main_ductile_iron_2_in_or_less_miles\n", - "main_ductile_iron_2_to_4_in_miles\n", - "main_ductile_iron_4_to_8_in_miles\n", - "main_ductile_iron_8_to_12_in_miles\n", - "main_ductile_iron_miles\n", - "main_ductile_iron_over_12_in_miles\n", - "main_ductile_iron_total_miles\n", - "main_ductile_iron_unknown_miles\n", - "main_other_2_in_or_less_miles\n", - "main_other_2_to_4_in_miles\n", - "main_other_4_to_8_in_miles\n", - "main_other_8_to_12_in_miles\n", - "main_other_alt_2_in_or_less_miles\n", - "main_other_alt_2_to_4_in_miles\n", - "main_other_alt_4_to_8_in_miles\n", - "main_other_alt_8_to_12_in_miles\n", - "main_other_alt_miles\n", - "main_other_alt_over_12_in_miles\n", - "main_other_alt_total_miles\n", - "main_other_alt_unknown_miles\n", - "main_other_material_detail_miles\n", - "main_other_miles\n", - "main_other_over_12_in_miles\n", - "main_other_plastic_2_in_or_less_miles\n", - "main_other_plastic_2_to_4_in_miles\n", - "main_other_plastic_4_to_8_in_miles\n", - "main_other_plastic_8_to_12_in_miles\n", - "main_other_plastic_over_12_in_miles\n", - "main_other_plastic_total_miles\n", - "main_other_plastic_unknown_miles\n", - "main_other_total_miles\n", - "main_other_unknown_miles\n", - "main_pe_2_in_or_less_miles\n", - "main_pe_2_to_4_in_miles\n", - "main_pe_4_to_8_in_miles\n", - "main_pe_8_to_12_in_miles\n", - "main_pe_over_12_in_miles\n", - "main_pe_total_miles\n", - "main_pe_unknown_miles\n", - "main_plastic_miles\n", - "main_pre_1940_miles\n", - "main_pvc_2_in_or_less_miles\n", - "main_pvc_2_to_4_in_miles\n", - "main_pvc_4_to_8_in_miles\n", - "main_pvc_8_to_12_in_miles\n", - "main_pvc_over_12_in_miles\n", - "main_pvc_total_miles\n", - "main_pvc_unknown_miles\n", - "main_reconditioned_cast_iron_2_in_or_less_miles\n", - "main_reconditioned_cast_iron_2_to_4_in_miles\n", - "main_reconditioned_cast_iron_4_to_8_in_miles\n", - "main_reconditioned_cast_iron_8_to_12_in_miles\n", - "main_reconditioned_cast_iron_miles\n", - "main_reconditioned_cast_iron_over_12_in_miles\n", - "main_reconditioned_cast_iron_total_miles\n", - "main_reconditioned_cast_iron_unknown_miles\n", - "main_steel_2_in_or_less_miles\n", - "main_steel_2_to_4_in_miles\n", - "main_steel_4_to_8_in_miles\n", - "main_steel_8_to_12_in_miles\n", - "main_steel_over_12_in_miles\n", - "main_steel_total_miles\n", - "main_steel_unknown_miles\n", - "main_total_miles\n", - "main_unknown_decade_miles\n", - "main_unprotected_steel_bare_miles\n", - "main_unprotected_steel_coated_miles\n", - "office_address_city\n", - "office_address_county\n", - "office_address_state\n", - "office_address_street\n", - "office_address_zip\n", - "operating_state\n", - "operator_id_phmsa\n", - "operator_name_phmsa\n", - "operator_type\n", - "original_report\n", - "percent_unaccounted_for_gas\n", - "preparer_email\n", - "preparer_fax\n", - "preparer_name\n", - "preparer_phone\n", - "preparer_title\n", - "report_date\n", - "report_number\n", - "report_submission_type\n", - "report_year\n", - "services_1940s\n", - "services_1950s\n", - "services_1960s\n", - "services_1970s\n", - "services_1980s\n", - "services_1990s\n", - "services_2000s\n", - "services_2010s\n", - "services_2020s\n", - "services_abs_1_in_or_less\n", - "services_abs_1_to_2_in\n", - "services_abs_2_to_4_in\n", - "services_abs_4_to_8_in\n", - "services_abs_over_8_in\n", - "services_abs_total\n", - "services_abs_unknown\n", - "services_all_materials_1_in_or_less\n", - "services_all_materials_1_to_2_in\n", - "services_all_materials_2_to_4_in\n", - "services_all_materials_4_to_8_in\n", - "services_all_materials_over_8_in\n", - "services_all_materials_total\n", - "services_all_materials_unknown\n", - "services_all_time\n", - "services_cast_or_wrought_iron\n", - "services_cast_or_wrought_iron_1_in_or_less\n", - "services_cast_or_wrought_iron_1_to_2_in\n", - "services_cast_or_wrought_iron_2_to_4_in\n", - "services_cast_or_wrought_iron_4_to_8_in\n", - "services_cast_or_wrought_iron_over_8_in\n", - "services_cast_or_wrought_iron_total\n", - "services_cast_or_wrought_iron_unknown\n", - "services_cathodically_protected_steel_bare\n", - "services_cathodically_protected_steel_coated\n", - "services_copper\n", - "services_copper_1_in_or_less\n", - "services_copper_1_to_2_in\n", - "services_copper_2_to_4_in\n", - "services_copper_4_to_8_in\n", - "services_copper_over_8_in\n", - "services_copper_total\n", - "services_copper_unknown\n", - "services_ductile_iron\n", - "services_ductile_iron_1_in_or_less\n", - "services_ductile_iron_1_to_2_in\n", - "services_ductile_iron_2_to_4_in\n", - "services_ductile_iron_4_to_8_in\n", - "services_ductile_iron_over_8_in\n", - "services_ductile_iron_total\n", - "services_ductile_iron_unknown\n", - "services_efv_in_system\n", - "services_efv_installed\n", - "services_other\n", - "services_other_1_in_or_less\n", - "services_other_1_to_2_in\n", - "services_other_2_to_4_in\n", - "services_other_4_to_8_in\n", - "services_other_alt\n", - "services_other_alt_1_in_or_less\n", - "services_other_alt_1_to_2_in\n", - "services_other_alt_2_to_4_in\n", - "services_other_alt_4_to_8_in\n", - "services_other_alt_over_8_in\n", - "services_other_alt_total\n", - "services_other_alt_unknown\n", - "services_other_material_detail\n", - "services_other_over_8_in\n", - "services_other_plastic_1_in_or_less\n", - "services_other_plastic_1_to_2_in\n", - "services_other_plastic_2_to_4_in\n", - "services_other_plastic_4_to_8_in\n", - "services_other_plastic_over_8_in\n", - "services_other_plastic_total\n", - "services_other_plastic_unknown\n", - "services_other_total\n", - "services_other_unknown\n", - "services_pe_1_in_or_less\n", - "services_pe_1_to_2_in\n", - "services_pe_2_to_4_in\n", - "services_pe_4_to_8_in\n", - "services_pe_over_8_in\n", - "services_pe_total\n", - "services_pe_unknown\n", - "services_plastic\n", - "services_pre_1940\n", - "services_pvc_1_in_or_less\n", - "services_pvc_1_to_2_in\n", - "services_pvc_2_to_4_in\n", - "services_pvc_4_to_8_in\n", - "services_pvc_over_8_in\n", - "services_pvc_total\n", - "services_pvc_unknown\n", - "services_reconditioned_cast_iron\n", - "services_reconditioned_cast_iron_1_in_or_less\n", - "services_reconditioned_cast_iron_1_to_2_in\n", - "services_reconditioned_cast_iron_2_to_4_in\n", - "services_reconditioned_cast_iron_4_to_8_in\n", - "services_reconditioned_cast_iron_over_8_in\n", - "services_reconditioned_cast_iron_total\n", - "services_reconditioned_cast_iron_unknown\n", - "services_shutoff_valve_in_system\n", - "services_shutoff_valve_installed\n", - "services_steel_1_in_or_less\n", - "services_steel_1_to_2_in\n", - "services_steel_2_to_4_in\n", - "services_steel_4_to_8_in\n", - "services_steel_over_8_in\n", - "services_steel_total\n", - "services_steel_unknown\n", - "services_total\n", - "services_unknown_decade\n", - "services_unprotected_steel_bare\n", - "services_unprotected_steel_coated\n", - "supplemental_report_number\n", - "supplementary_report\n" - ] - } - ], - "source": [ - "# Let's look at all the columns that are available\n", - "sorted_cols = sorted(raw_df.columns)\n", - "\n", - "for col in sorted_cols:\n", - " print(col)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## core_phmsagas__yearly_distribution_operators" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_titleheadquarters_address_cityheadquarters_address_countyheadquarters_address_stateheadquarters_address_streetheadquarters_address_zip
0NaT19901506.0NaN1990.018.0ABBYVILLE, CITY OFP O BOX 100ABBYVILLEKS67510.0RENONaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.0NaNNaN3162865404NaNDEBRA EHLINGNaNNaNNaNNaNNaNNaNNaN
1NaT19900095.0NaN1990.027.0ABITA SPRINGS NAT GAS & WATERLEVEL STREETABITA SPRINGSLA70420.0ST. TAMMANYNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.04.0NaN5048920711NaNBARBARA GIANCONTIERINaNNaNNaNNaNNaNNaNNaN
2NaT19900947.0NaN1990.045.0ADAIRSVILLE, CITY OFP.O. BOX 830ADAIRSVILLEGA30103.0BARTOWNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.00.0NaN4044221902NaNCHRIS STRIPPELHOFF - CONSULTANTNaNNaNNaNNaNNaNNaNNaN
3NaT19901193.0NaN1990.049.0ADAMSVILLE GAS DEPT, TOWN OF231 EAST MAIN STREETADAMSVILLETN38310.0MCNAIRYNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.03.8NaN9016324214NaNE. GEORGE LECKNER, JR. - GAS SYSTEM ANALYSTNaNNaNNaNNaNNaNNaNNaN
4NaT19900948.0NaN1990.054.0ADEL GAS DEPT, CITY OFCITY HALL - P.O. BOX 658ADELGA31620.0COOKNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.03.5NaN4044221902NaNCHRIS STRIPPELHOFF - CONSULTANTNaNNaNNaNNaNNaNNaNNaNTX508 3RD STREET PO BOX 102276951-1022
\n", + "

28535 rows × 34 columns

\n", "
" ], "text/plain": [ - " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip\n", - "0 NaT 19901506.0 NaN 1990.0 18.0 ABBYVILLE, CITY OF P O BOX 100 ABBYVILLE KS 67510.0 RENO NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 NaN NaN 3162865404 NaN DEBRA EHLING NaN NaN NaN NaN NaN NaN NaN\n", - "1 NaT 19900095.0 NaN 1990.0 27.0 ABITA SPRINGS NAT GAS & WATER LEVEL STREET ABITA SPRINGS LA 70420.0 ST. TAMMANY NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 4.0 NaN 5048920711 NaN BARBARA GIANCONTIERI NaN NaN NaN NaN NaN NaN NaN\n", - "2 NaT 19900947.0 NaN 1990.0 45.0 ADAIRSVILLE, CITY OF P.O. BOX 830 ADAIRSVILLE GA 30103.0 BARTOW NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 0.0 NaN 4044221902 NaN CHRIS STRIPPELHOFF - CONSULTANT NaN NaN NaN NaN NaN NaN NaN\n", - "3 NaT 19901193.0 NaN 1990.0 49.0 ADAMSVILLE GAS DEPT, TOWN OF 231 EAST MAIN STREET ADAMSVILLE TN 38310.0 MCNAIRY NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 3.8 NaN 9016324214 NaN E. GEORGE LECKNER, JR. - GAS SYSTEM ANALYST NaN NaN NaN NaN NaN NaN NaN\n", - "4 NaT 19900948.0 NaN 1990.0 54.0 ADEL GAS DEPT, CITY OF CITY HALL - P.O. BOX 658 ADEL GA 31620.0 COOK NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0 3.5 NaN 4044221902 NaN CHRIS STRIPPELHOFF - CONSULTANT NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "core_phmsagas__yearly_distribution_operators = raw_df[[\n", - " \"report_date\",\n", - " \"report_number\",\n", - " \"report_submission_type\",\n", - " \"report_year\",\n", - " \"operator_id_phmsa\",\n", - " \"operator_name_phmsa\",\n", - " \"office_address_street\",\n", - " \"office_address_city\",\n", - " \"office_address_state\",\n", - " \"office_address_zip\",\n", - " \"office_address_county\",\n", - " \"excavation_damage_excavation_practices\",\n", - " \"excavation_damage_locating_practices\",\n", - " \"excavation_damage_one_call_notification\",\n", - " \"excavation_damage_other\",\n", - " \"excavation_damage_total\",\n", - " \"excavation_tickets\",\n", - " \"services_efv_in_system\",\n", - " \"services_efv_installed\",\n", - " \"services_shutoff_valve_in_system\",\n", - " \"services_shutoff_valve_installed\",\n", - " \"federal_land_leaks_repaired_or_scheduled\",\n", - " \"percent_unaccounted_for_gas\",\n", - " \"additional_information\",\n", - " \"preparer_email\",\n", - " \"preparer_fax\",\n", - " \"preparer_name\",\n", - " \"preparer_phone\",\n", - " \"preparer_title\",\n", - " # Adding these fields temporarily for transformation cleanup\n", - " \"headquarters_address_city\",\n", - " \"headquarters_address_county\",\n", - " \"headquarters_address_state\",\n", - " \"headquarters_address_street\",\n", - " \"headquarters_address_zip\"\n", - "]]\n", - "\n", - "core_phmsagas__yearly_distribution_operators.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Operator Table Tasks" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Standardize NAs\n", - "\n", - "Based on the analysis below, I'm not seeing any major issues with nans. \n", - "\n", - "* No empty strings. Just nans.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analyzing column: report_date\n", - "Column 'report_date' is of type datetime64[ns].\n", - "\n", - "Analyzing column: report_number\n", - "Column 'report_number' is numeric.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: report_submission_type\n", - "Column 'report_submission_type' is a string type.\n", - "Rows with None values: 30059\n", - "Rows with empty strings: 0\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: report_year\n", - "Column 'report_year' is numeric.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: operator_id_phmsa\n", - "Column 'operator_id_phmsa' is numeric.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: operator_name_phmsa\n", - "Column 'operator_name_phmsa' is a string type.\n", - "Found nothing worth reporting here\n", - "\n", - "Analyzing column: office_address_street\n", - "Column 'office_address_street' is a string type.\n", - "Rows with None values: 59\n", - "Rows with empty strings: 3\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: office_address_city\n", - "Column 'office_address_city' is a string type.\n", - "Rows with None values: 45\n", - "Rows with empty strings: 0\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: office_address_state\n", - "Column 'office_address_state' is a string type.\n", - "Rows with None values: 46\n", - "Rows with empty strings: 0\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: office_address_zip\n", - "Column 'office_address_zip' is a string type.\n", - "Rows with None values: 134\n", - "Rows with empty strings: 8\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: office_address_county\n", - "Column 'office_address_county' is a string type.\n", - "Rows with None values: 10729\n", - "Rows with empty strings: 291\n", - "Rows with custom missing values: 13\n", - "\n", - "Analyzing column: excavation_damage_excavation_practices\n", - "Column 'excavation_damage_excavation_practices' is numeric.\n", - "Min value: 0.0\n", - "Max value: 2349.0\n", - "Rows with NA values: 38393\n", - "Custom missing values (e.g., 0): 6719\n", - "\n", - "Analyzing column: excavation_damage_locating_practices\n", - "Column 'excavation_damage_locating_practices' is numeric.\n", - "Min value: 0.0\n", - "Max value: 1338.0\n", - "Rows with NA values: 38495\n", - "Custom missing values (e.g., 0): 8147\n", - "\n", - "Analyzing column: excavation_damage_one_call_notification\n", - "Column 'excavation_damage_one_call_notification' is numeric.\n", - "Min value: 0.0\n", - "Max value: 2813.0\n", - "Rows with NA values: 38148\n", - "Custom missing values (e.g., 0): 8006\n", - "\n", - "Analyzing column: excavation_damage_other\n", - "Column 'excavation_damage_other' is numeric.\n", - "Min value: 0.0\n", - "Max value: 1293.0\n", - "Rows with NA values: 39250\n", - "Custom missing values (e.g., 0): 9266\n", - "\n", - "Analyzing column: excavation_damage_total\n", - "Column 'excavation_damage_total' is numeric.\n", - "Min value: 0.0\n", - "Max value: 6500.0\n", - "Rows with NA values: 30059\n", - "Custom missing values (e.g., 0): 9756\n", - "\n", - "Analyzing column: excavation_tickets\n", - "Column 'excavation_tickets' is numeric.\n", - "Min value: 0.0\n", - "Max value: 1673545.0\n", - "Rows with NA values: 30059\n", - "Custom missing values (e.g., 0): 1548\n", - "\n", - "Analyzing column: services_efv_in_system\n", - "Column 'services_efv_in_system' is numeric.\n", - "Min value: 0.0\n", - "Max value: 670273.0\n", - "Rows with NA values: 31491\n", - "Custom missing values (e.g., 0): 4095\n", - "\n", - "Analyzing column: services_efv_installed\n", - "Column 'services_efv_installed' is numeric.\n", - "Min value: 0.0\n", - "Max value: 83927.0\n", - "Rows with NA values: 31491\n", - "Custom missing values (e.g., 0): 6183\n", - "\n", - "Analyzing column: services_shutoff_valve_in_system\n", - "Column 'services_shutoff_valve_in_system' is numeric.\n", - "Min value: 0.0\n", - "Max value: 985017.0\n", - "Rows with NA values: 41831\n", - "Custom missing values (e.g., 0): 4040\n", - "\n", - "Analyzing column: services_shutoff_valve_installed\n", - "Column 'services_shutoff_valve_installed' is numeric.\n", - "Min value: 0.0\n", - "Max value: 321645.0\n", - "Rows with NA values: 41831\n", - "Custom missing values (e.g., 0): 5357\n", - "\n", - "Analyzing column: federal_land_leaks_repaired_or_scheduled\n", - "Column 'federal_land_leaks_repaired_or_scheduled' is numeric.\n", - "Min value: 0.0\n", - "Max value: 3941.0\n", - "Rows with NA values: 0\n", - "Custom missing values (e.g., 0): 49328\n", - "\n", - "Analyzing column: percent_unaccounted_for_gas\n", - "Column 'percent_unaccounted_for_gas' is a string type.\n", - "Rows with None values: 1049\n", - "Rows with empty strings: 44\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: additional_information\n", - "Column 'additional_information' is a string type.\n", - "Rows with None values: 43785\n", - "Rows with empty strings: 5\n", - "Rows with custom missing values: 4\n", - "\n", - "Analyzing column: preparer_email\n", - "Column 'preparer_email' is a string type.\n", - "Rows with None values: 5210\n", - "Rows with empty strings: 8\n", - "Rows with custom missing values: 1\n", - "\n", - "Analyzing column: preparer_fax\n", - "Column 'preparer_fax' is a string type.\n", - "Rows with None values: 30059\n", - "Rows with empty strings: 0\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: preparer_name\n", - "Column 'preparer_name' is a string type.\n", - "Rows with None values: 29\n", - "Rows with empty strings: 3\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: preparer_phone\n", - "Column 'preparer_phone' is a string type.\n", - "Rows with None values: 22108\n", - "Rows with empty strings: 1\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: preparer_title\n", - "Column 'preparer_title' is a string type.\n", - "Rows with None values: 24220\n", - "Rows with empty strings: 1\n", - "Rows with custom missing values: 1\n", - "\n", - "Analyzing column: headquarters_address_city\n", - "Column 'headquarters_address_city' is a string type.\n", - "Rows with None values: 18640\n", - "Rows with empty strings: 5070\n", - "Rows with custom missing values: 23\n", - "\n", - "Analyzing column: headquarters_address_county\n", - "Column 'headquarters_address_county' is a string type.\n", - "Rows with None values: 35446\n", - "Rows with empty strings: 5783\n", - "Rows with custom missing values: 14\n", - "\n", - "Analyzing column: headquarters_address_state\n", - "Column 'headquarters_address_state' is a string type.\n", - "Rows with None values: 18578\n", - "Rows with empty strings: 5046\n", - "Rows with custom missing values: 0\n", - "\n", - "Analyzing column: headquarters_address_street\n", - "Column 'headquarters_address_street' is a string type.\n", - "Rows with None values: 18671\n", - "Rows with empty strings: 5074\n", - "Rows with custom missing values: 19\n", - "\n", - "Analyzing column: headquarters_address_zip\n", - "Column 'headquarters_address_zip' is a string type.\n", - "Rows with None values: 18612\n", - "Rows with empty strings: 5054\n", - "Rows with custom missing values: 0\n", - "\n" - ] - } - ], - "source": [ - "nan_cols = []\n", - "exception_cols = []\n", - "\n", - "# Define custom missing value markers\n", - "custom_missing_values = ['', ' ', 'NA', 'N/A', 'NULL', '-', 'None', 'NaN', '?', '*', '#']\n", - "\n", - "# Standardize NAs and analyze columns\n", - "for col in core_phmsagas__yearly_distribution_operators.columns:\n", - " try:\n", - " print(f\"Analyzing column: {col}\")\n", - " \n", - " # Get the column values\n", - " col_data = core_phmsagas__yearly_distribution_operators[col]\n", - " \n", - " # Check if the column is of string (object) type\n", - " if col_data.dtype == 'object':\n", - " # Count rows where the value is NaN, None, empty string, or custom missing values\n", - " none_count = col_data.isna().sum() # Count None (NaN)\n", - " empty_string_count = (col_data.str.strip() == '').sum() # Count empty strings\n", - " custom_missing_count = col_data.isin(custom_missing_values).sum() # Count custom missing values\n", - " \n", - " total_nan_count = none_count + empty_string_count + custom_missing_count\n", - " \n", - " if total_nan_count > 0:\n", - " nan_cols.append(col)\n", - " \n", - " # Output counts\n", - " print(f\"Column '{col}' is a string type.\")\n", - " if none_count > 0 or empty_string_count > 0 or custom_missing_count > 0:\n", - " print(f\"Rows with None values: {none_count}\")\n", - " print(f\"Rows with empty strings: {empty_string_count}\")\n", - " print(f\"Rows with custom missing values: {custom_missing_count}\")\n", - " else:\n", - " print(\"Found nothing worth reporting here\")\n", - " \n", - " # Check if the column is numeric (int or float)\n", - " elif pd.api.types.is_numeric_dtype(col_data):\n", - " # Output min, max, out-of-range values, and NA count\n", - " print(f\"Column '{col}' is numeric.\")\n", - "\n", - " # Count NA values in the column\n", - " na_count = col_data.isna().sum()\n", - " # Count custom missing values in numeric columns (if applicable)\n", - " custom_missing_numeric_count = col_data.isin([0]).sum() # Assuming 0 is considered a missing value\n", - " \n", - " if na_count > 0 or custom_missing_numeric_count > 0:\n", - " nan_cols.append(col)\n", - " \n", - " # Handle the non-NA data for further analysis\n", - " col_data_cleaned = col_data.dropna()\n", - " \n", - " if not col_data_cleaned.empty:\n", - " # Calculate min and max\n", - " min_val = col_data_cleaned.min()\n", - " max_val = col_data_cleaned.max()\n", - " \n", - " if min_val < 0 or na_count > 0 or custom_missing_numeric_count > 0:\n", - " print(f\"Min value: {min_val}\")\n", - " print(f\"Max value: {max_val}\")\n", - " print(f\"Rows with NA values: {na_count}\")\n", - " print(f\"Custom missing values (e.g., 0): {custom_missing_numeric_count}\")\n", - " else:\n", - " print(\"Found nothing worth reporting here\")\n", - " else:\n", - " print(f\"Column '{col}' is numeric but contains only NA values.\")\n", - " \n", - " # If the column is of some other type, simply note the type\n", - " else:\n", - " print(f\"Column '{col}' is of type {col_data.dtype}.\")\n", - " print(\"\")\n", - " except Exception as e:\n", - " exception_cols.append(col)\n", - " print(f\"Caught exception for column {col}: {e}\\n\")\n", - " continue\n" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title headquarters_address_city headquarters_address_county headquarters_address_state headquarters_address_street headquarters_address_zip\n", + "21069 2009-12-03 00:00:00 20081542 NaN 2004 7130 HASKELL PUBLIC WORKS AUTH P.O. BOX 9, 109 S. BROADWAY HASKELL OK 74436 MUSKOGEE 0 0 0 0 0 0 0 0 0 0 0.0 3.0 NaN 9184825518.0 NaN MARILYNN TUCKER 918-482-3148 TOWNOFHASKELL@VALORNET.COM NaN NaN NaN NaN NaN\n", + "21070 2009-12-16 00:00:00 20081562 NaN 2004 19090 TANGIPAHOA, VILLAGE OF 12616 JACKSON ST. TANGIPAHOA LA 70465 TANGIPAHOA 0 0 0 0 0 0 0 0 0 0 0.0 0.0 NaN 9852298300.0 NaN FREDRIKA M. RUFFIN, CLERK 985-229-4423 ROTPD@BELLSOUTH.NET NaN NaN NaN NaN NaN\n", + "21071 2009-07-08 00:00:00 20081404 NaN 2004 18160 SEALY GAS DEPT, CITY OF 415 MAIN ST. SEALY TX 77474 AUSTIN 0 0 0 0 0 0 0 0 0 0 0.0 1.0 NaN 9798853511.0 NaN JOHN MARESH, CITY MANAGER 979-885-3513 JMARESH@CI.SEALY.TX.US NaN NaN NaN NaN NaN\n", + "21073 2005-03-21 00:00:00 20041246 NaN 2004 5040 CITY OF FAIRHOPE 555 SOUTH SECTION STREET FAIRHOPE AL 36532 BALDWIN 0 0 0 0 0 0 0 0 0 0 0.0 3.0 NaN 2519288003.0 NaN STEVE SEAY SUPERINTENDENT 251-990-0388 STEVE.SEAY@COFAIRHOPE.COM NaN NaN NaN NaN NaN\n", + "21074 2005-02-24 00:00:00 20040546 NaN 2004 12510 VILLAGE OF MILFORD 15 S WEST AVE MILFORD IL 60953 IROQUOIS 0 0 0 0 0 0 0 0 0 0 0.0 4.0 NaN 8158894249.0 NaN TRICIA HUFF 815-889-5589 MILFORDCITY@DTNSPEED.NET NaN NaN NaN NaN NaN\n", + "... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", + "50640 2024-03-15 11:54:14 20241206 INITIAL 2023 40711 BRIGHTMARK KIRKMAN RNG LLC 9720 CYPRESSWOOD DRIVE HOUSTON TX 77070 NaN 0 0 0 0 0 0 0 0 0 0 0.0 0.0 NaN (000) 000-0000 schuyler.dickerson@everlineus.com Schuyler Dickerson 832-386-5484 Regulatory Consultant SAN FRANCISCO NaN CA 1725 MONTGOMERY ST FL 3 94111\n", + "50641 2024-03-15 12:56:29 20241215 INITIAL 2023 40712 BRIGHTMARK VAN ESS RNG LLC 9720 CYPRESSWOOD DRIVE HOUSTON TX 77070 NaN 0 0 0 0 0 0 0 0 0 0 0.0 0.0 NaN (000) 000-0000 schuyler.dickerson@everlineus.com Schuyler Dickerson 832-386-5484 Regulator Consultant SAN FRANCISCO NaN CA 1725 MONTGOMERY ST FL 3 94111\n", + "50642 2024-03-15 12:50:23 20241214 INITIAL 2023 40713 BRIGHTMARK ROORDA RNG LLC 3405 Eide Drive Sioux Falls SD 57107 NaN 0 0 0 0 0 0 0 0 0 0 0.0 0.0 NaN (000) 000-0000 schuyler.dickerson@everlineus.com Schuyler Dickerson 832-386-5484 Regulatory Consultant SAN FRANCISCO NaN CA 1725 MONTGOMERY ST FL 3 94111\n", + "50643 2024-07-15 15:54:36 20241437 INITIAL 2023 40732 ABBS VALLEY PIPELINE P.O. BOX 225 PINEVILLE WV 24874 WYOMING 0 0 0 0 0 0 0 0 0 0 0.0 -0.005 NaN (000) 000-0000 sgillespie@bgpartners.net Stevens Gillespie 703-963-0048 Agent CORPUS CHRISTI NaN TX 615 N UPPER BROADWAY STE. 525 78401\n", + "50644 2024-03-07 16:05:22 20240713 INITIAL 2023 40804 STERLING CITY GAS DEPT 508 3RD STREET STERLING CITY TX Sterling 0 0 0 0 0 0 0 0 0 0 0.0 45.0 The Sterling City Gas Dept. took over the gas ... (325) 378-2334 secretary@sterlingcitytexas.com MARLA ARIZOLA 325-378-2811 City Secretary STERLING CITY NaN TX 508 3RD STREET PO BOX 1022 76951-1022\n", + "\n", + "[28535 rows x 34 columns]" ] }, - "execution_count": 11, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "exception_cols" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### percent_unaccounted_for_gas\n", - "\n", - "The one thing that did stick out somewhat was the \"percent_unaccounted_for_gas\" column having negative values.\n", - "\n", - "This comes from Part G of the PHMSA form, which defines this value as:\n", - "\n", - "```\n", - "Unaccounted for gas as a percent of total consumption for the 12 months ending June 30 of the reporting year.\n", - "[(Purchased gas + produced gas) minus (customer use + company use + appropriate adjustments)] divided by (customer use + company use + appropriate adjustments) times 100 equals percent unaccounted for.\n", - "```\n", - "\n", - "Based on that description, it sounds like negative values here suggest that a company produced/purchased less gas than was consumed. But also it's hard to tell exactly what these figures mean (especially the \"appropriate adjustments\" part).\n", - "\n", - "So the question is: are we okay with these negative values? Or do we want to manually clean them up somehow?" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "'<' not supported between instances of 'str' and 'int'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[12], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m core_phmsagas__yearly_distribution_operators[\u001b[43mcore_phmsagas__yearly_distribution_operators\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpercent_unaccounted_for_gas\u001b[49m\u001b[38;5;241;43m<\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m][[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpercent_unaccounted_for_gas\u001b[39m\u001b[38;5;124m\"\u001b[39m]]\n", - "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/common.py:76\u001b[0m, in \u001b[0;36m_unpack_zerodim_and_defer..new_method\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mNotImplemented\u001b[39m\n\u001b[1;32m 74\u001b[0m other \u001b[38;5;241m=\u001b[39m item_from_zerodim(other)\n\u001b[0;32m---> 76\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmethod\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mother\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/arraylike.py:48\u001b[0m, in \u001b[0;36mOpsMixin.__lt__\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[38;5;129m@unpack_zerodim_and_defer\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m__lt__\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__lt__\u001b[39m(\u001b[38;5;28mself\u001b[39m, other):\n\u001b[0;32m---> 48\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_cmp_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mother\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moperator\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlt\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/series.py:6119\u001b[0m, in \u001b[0;36mSeries._cmp_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 6116\u001b[0m lvalues \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_values\n\u001b[1;32m 6117\u001b[0m rvalues \u001b[38;5;241m=\u001b[39m extract_array(other, extract_numpy\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, extract_range\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m-> 6119\u001b[0m res_values \u001b[38;5;241m=\u001b[39m \u001b[43mops\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcomparison_op\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 6121\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_construct_result(res_values, name\u001b[38;5;241m=\u001b[39mres_name)\n", - "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/array_ops.py:344\u001b[0m, in \u001b[0;36mcomparison_op\u001b[0;34m(left, right, op)\u001b[0m\n\u001b[1;32m 341\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m invalid_comparison(lvalues, rvalues, op)\n\u001b[1;32m 343\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m lvalues\u001b[38;5;241m.\u001b[39mdtype \u001b[38;5;241m==\u001b[39m \u001b[38;5;28mobject\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(rvalues, \u001b[38;5;28mstr\u001b[39m):\n\u001b[0;32m--> 344\u001b[0m res_values \u001b[38;5;241m=\u001b[39m \u001b[43mcomp_method_OBJECT_ARRAY\u001b[49m\u001b[43m(\u001b[49m\u001b[43mop\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrvalues\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 346\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 347\u001b[0m res_values \u001b[38;5;241m=\u001b[39m _na_arithmetic_op(lvalues, rvalues, op, is_cmp\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n", - "File \u001b[0;32m~/miniforge3/envs/pudl-dev/lib/python3.12/site-packages/pandas/core/ops/array_ops.py:129\u001b[0m, in \u001b[0;36mcomp_method_OBJECT_ARRAY\u001b[0;34m(op, x, y)\u001b[0m\n\u001b[1;32m 127\u001b[0m result \u001b[38;5;241m=\u001b[39m libops\u001b[38;5;241m.\u001b[39mvec_compare(x\u001b[38;5;241m.\u001b[39mravel(), y\u001b[38;5;241m.\u001b[39mravel(), op)\n\u001b[1;32m 128\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 129\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mlibops\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscalar_compare\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mravel\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 130\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\u001b[38;5;241m.\u001b[39mreshape(x\u001b[38;5;241m.\u001b[39mshape)\n", - "File \u001b[0;32mops.pyx:107\u001b[0m, in \u001b[0;36mpandas._libs.ops.scalar_compare\u001b[0;34m()\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: '<' not supported between instances of 'str' and 'int'" - ] - } - ], - "source": [ - "core_phmsagas__yearly_distribution_operators[core_phmsagas__yearly_distribution_operators.percent_unaccounted_for_gas<0][[\"percent_unaccounted_for_gas\"]]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Standardize usage of office vs HQ address over time." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "core_phmsagas__yearly_distribution_operators.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "core_phmsagas__yearly_distribution_operators.columns" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "core_phmsagas__yearly_distribution_operators[['report_date', 'report_number', 'report_submission_type', 'report_year', 'operator_id_phmsa', 'operator_name_phmsa', 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_county', 'headquarters_address_city', 'headquarters_address_county', 'headquarters_address_state', 'headquarters_address_street', 'headquarters_address_zip', 'additional_information']].head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Assuming 'core_phmsagas__yearly_distribution_operators' is your dataframe\n", - "df = core_phmsagas__yearly_distribution_operators\n", - "\n", - "# Selecting the relevant columns\n", - "address_cols = [\n", - " 'operator_id_phmsa', 'report_year',\n", - " 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip',\n", - " 'headquarters_address_street', 'headquarters_address_city', 'headquarters_address_state', 'headquarters_address_zip'\n", - "]\n", - "\n", - "df_addresses = df[address_cols]\n", - "\n", - "# Create a concatenated address string for easier comparison\n", - "df_addresses['office_address'] = df_addresses['office_address_street'] + ', ' + df_addresses['office_address_city'] + ', ' + df_addresses['office_address_state'] + ' ' + df_addresses['office_address_zip']\n", - "df_addresses['headquarters_address'] = df_addresses['headquarters_address_street'] + ', ' + df_addresses['headquarters_address_city'] + ', ' + df_addresses['headquarters_address_state'] + ' ' + df_addresses['headquarters_address_zip']\n", - "\n", - "# Group by operator and sort by year\n", - "df_addresses = df_addresses.sort_values(by=['operator_id_phmsa', 'report_year'])\n", - "\n", - "# Create flags for overlap or switch\n", - "df_addresses['address_overlap'] = df_addresses['office_address'] == df_addresses['headquarters_address']\n", - "df_addresses['address_switch'] = df_addresses.groupby('operator_id_phmsa').apply(\n", - " lambda x: (x['office_address'].shift() == x['headquarters_address']) & \n", - " (x['headquarters_address'].shift() == x['office_address'])\n", - ").reset_index(drop=True)\n", - "\n", - "# Display the results where overlap or switch occurred\n", - "df_overlap_switch = df_addresses[(df_addresses['address_overlap'] == True) | (df_addresses['address_switch'] == True)]\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_overlap_switch.head()\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# df_overlap_switch[df_overlap_switch.address_switch==True]\n", - "df_overlap_switch[(df_overlap_switch.operator_id_phmsa==383)&(core_phmsagas__yearly_distribution_operators.report_year>=2021)]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(core_phmsagas__yearly_distribution_operators.report_year.min())\n", - "print(core_phmsagas__yearly_distribution_operators.report_year.max())" + "df = standardize_phone_column(df, \"preparer_phone\")\n", + "df[df.preparer_phone.notna()]" ] }, { diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 9a2c493f55..8ea65bfdab 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -1009,11 +1009,11 @@ def remove_leading_zeros_from_numeric_strings( return df -def fix_eia_na(df: pd.DataFrame) -> pd.DataFrame: +def fix_na(df: pd.DataFrame) -> pd.DataFrame: """Replace common ill-posed EIA NA spreadsheet values with np.nan. Currently replaces empty string, single decimal points with no numbers, - and any single whitespace character with np.nan. + any single whitespace character, and hyphens with np.nan. Args: df: The DataFrame to clean. @@ -1021,7 +1021,7 @@ def fix_eia_na(df: pd.DataFrame) -> pd.DataFrame: Returns: DataFrame with regularized NA values. """ - return df.replace(regex=r"(^\.$|^\s*$)", value=np.nan) + return df.replace(regex=r"(^\.$|^\s*$|^-+$)", value=np.nan) def simplify_columns(df: pd.DataFrame) -> pd.DataFrame: @@ -2170,3 +2170,205 @@ def retry( ) time.sleep(delay) return func(**kwargs) + +def standardize_phone_column( + df: pd.DataFrame, + col_name: str +) -> pd.DataFrame: + """Standardize phone numbers in the specified column of the DataFrame. + + US numbers: ###-###-#### + International numbers with the international code at the beginning. + Numbers with extensions will be appended with "x#". + + Non-numeric entries will be returned as np.nan. Entries with fewer than + 10 digits will be returned with no hyphens. + + Args: + df: The DataFrame to modify. + col_name: The name of the column with phone numbers to standardize. + + Returns: + The modified DataFrame with standardized phone numbers in the same column. + """ + + # Function to clean and standardize phone numbers + def standardize_phone_number(phone: str) -> str: + # Check if the value is NaN, return it as is + if pd.isna(phone): + return phone + + # Split phone number and extension, if present + phone_parts = re.split(r'[xX]', str(phone)) + phone_main = phone_parts[0] # Main phone number + extension = phone_parts[1].strip() if len(phone_parts) > 1 else None # Extension, if it exists + + # Remove unwanted characters (parentheses, spaces, periods, and dashes) from the main phone number + phone_main = re.sub(r'[^\d]', '', phone_main.replace(".0", "")) # Keep only digits + + # If phone_main is not numeric, return np.nan + if not phone_main.isdigit(): + return np.nan + + # If phone_main is all zeroes, return np.nan + if phone_main == '0' * len(phone_main): + return np.nan + + # If the phone number has fewer than 10 digits, return it as a plain string + if len(phone_main) < 10: + return phone_main + + # If the phone number has exactly 10 digits, format it as XXX-XXX-XXXX + if len(phone_main) == 10: + formatted_phone = f'{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}' + + # If the phone number has more than 10 digits, treat the additional digits as international code + elif len(phone_main) > 10: + intl_code = phone_main[:-10] # Digits before the last 10 + main_number = phone_main[-10:] # Last 10 digits are the phone number + formatted_phone = f'+{intl_code}-{main_number[:3]}-{main_number[3:6]}-{main_number[6:]}' + + # Add the extension back if present + if extension: + return f'{formatted_phone}x{extension}' + + return formatted_phone + + # Apply the standardization function directly to the specified column + df[col_name] = df[col_name].apply(standardize_phone_number) + + return df + +def analyze_missing_values( + df: pd.DataFrame +) -> list[str]: + """ + Analyze columns of a DataFrame for missing or invalid values. Note that this is purely for analysis + and does not perform any data transformation or cleaning. + + This function checks each column for missing or custom missing values and prints + a summary of the findings for string (object), numeric, and datetime columns. + + Args: + df: The DataFrame to analyze. + + Returns: + exception_cols: List of names of columns that couldn't be analyzed due to a caught exception. + """ + + nan_cols = [] + exception_cols = [] + + # Define custom missing value markers + custom_missing_values = ['', ' ', 'NA', 'N/A', 'NULL', '-', 'None', 'NaN', '?', '*', '#'] + + # Analyze columns for missing values + for col in df.columns: + try: + print(f"Analyzing column: {col}") + + # Get the column values + col_data = df[col] + + # Check if the column is of string (object) type + if col_data.dtype == 'object': + # Count rows where the value is NaN, None, empty string, or custom missing values + none_count = col_data.isna().sum() # Count None (NaN) + empty_string_count = (col_data.str.strip() == '').sum() # Count empty strings + custom_missing_count = col_data.isin(custom_missing_values).sum() # Count custom missing values + + total_nan_count = none_count + empty_string_count + custom_missing_count + + if total_nan_count > 0: + nan_cols.append(col) + + # Output counts + print(f"Column '{col}' is a string type.") + if none_count > 0: + print(f"Rows with None values: {none_count}") + print(df[df[col].isna()].head()) + if empty_string_count > 0: + print(f"Rows with empty strings: {empty_string_count}") + print(df[df[col].str.strip() == ''].head()) + if custom_missing_count > 0: + print(f"Rows with custom missing values: {custom_missing_count}") + print(df[df[col].isin(custom_missing_values)].head()) + if none_count == 0 and empty_string_count == 0 and custom_missing_count == 0: + print("Found nothing worth reporting here") + + # Check if the column is numeric (int or float) + elif pd.api.types.is_numeric_dtype(col_data): + # Count NA values in the column + na_count = col_data.isna().sum() + # Count custom missing values in numeric columns (if applicable) + custom_missing_numeric_count = col_data.isin([0]).sum() # Assuming 0 is considered a missing value + + if na_count > 0 or custom_missing_numeric_count > 0: + nan_cols.append(col) + + # Handle the non-NA data for further analysis + col_data_cleaned = col_data.dropna() + + if not col_data_cleaned.empty: + # Calculate min and max + min_val = col_data_cleaned.min() + max_val = col_data_cleaned.max() + + if min_val < 0 or na_count > 0 or custom_missing_numeric_count > 0: + print(f"Min value: {min_val}") + print(f"Max value: {max_val}") + if na_count > 0: + print(f"Rows with NA values: {na_count}") + print(df[df[col].isna()].head()) + if custom_missing_numeric_count > 0: + print(f"Custom missing values (e.g., 0): {custom_missing_numeric_count}") + print(df[df[col].isin([0])].head()) + if min_val > 0 and na_count == 0 and custom_missing_numeric_count == 0: + print("Found nothing worth reporting here") + else: + print(f"Column '{col}' is numeric but contains only NA values.") + + # Check if the column is a datetime type + elif pd.api.types.is_datetime64_any_dtype(col_data): + # Count NA values in the datetime column + na_count = col_data.isna().sum() + # Assuming custom missing values might be present in string form before conversion + custom_missing_count = col_data.isin(custom_missing_values).sum() + + if na_count > 0 or custom_missing_count > 0: + nan_cols.append(col) + + # Handle the non-NA data for further analysis + col_data_cleaned = col_data.dropna() + + if not col_data_cleaned.empty: + # Output min and max datetime values + min_date = col_data_cleaned.min() + max_date = col_data_cleaned.max() + + if na_count > 0 or custom_missing_count > 0: + print(f"Min date: {min_date}") + print(f"Max date: {max_date}") + print(f"Rows with NA values: {na_count}") + print(df[df[col].isna()].head()) + print(f"Custom missing values: {custom_missing_count}") + print(df[df[col].isin(custom_missing_values)].head()) + if na_count == 0 and custom_missing_count == 0: + print("Found nothing worth reporting here") + else: + print(f"Column '{col}' is datetime but contains only NA values.") + + # If the column is of some other type, simply note the type + else: + print(f"Column '{col}' is of type {col_data.dtype}.") + print("") + + except Exception as e: + exception_cols.append(col) + print(f"Caught exception for column {col}: {e}\n") + continue + + print(f"Columns with NaNs or custom missing values: {nan_cols}") + print(f"Columns with exceptions during processing: {exception_cols}") + + return exception_cols diff --git a/src/pudl/transform/eia860.py b/src/pudl/transform/eia860.py index f8a27e2bf4..812a1c1853 100644 --- a/src/pudl/transform/eia860.py +++ b/src/pudl/transform/eia860.py @@ -35,7 +35,7 @@ def _core_eia860__ownership(raw_eia860__ownership: pd.DataFrame) -> pd.DataFrame # Preliminary clean and get rid of unnecessary 'year' column own_df = ( raw_eia860__ownership.copy() - .pipe(pudl.helpers.fix_eia_na) + .pipe(pudl.helpers.fix_na) .pipe(pudl.helpers.convert_to_date) .drop(columns=["year"]) ) @@ -278,7 +278,7 @@ def _core_eia860__generators( gens_df = ( pd.concat([ge_df, gp_df, gr_df, g_df], sort=True) .dropna(subset=["generator_id", "plant_id_eia"]) - .pipe(pudl.helpers.fix_eia_na) + .pipe(pudl.helpers.fix_na) .pipe( pudl.helpers.fix_boolean_columns, boolean_columns_to_fix=boolean_columns_to_fix, @@ -357,7 +357,7 @@ def _core_eia860__generators_solar( ) solar_df = ( pd.concat([solar_existing, solar_retired], sort=True) - .pipe(pudl.helpers.fix_eia_na) + .pipe(pudl.helpers.fix_na) .pipe(pudl.helpers.fix_boolean_columns, boolean_columns_to_fix) .pipe(pudl.helpers.month_year_to_date) .pipe(pudl.helpers.convert_to_date) @@ -395,7 +395,7 @@ def _core_eia860__generators_energy_storage( storage_df = ( pd.concat([storage_ex, storage_pr, storage_re], sort=True) - .pipe(pudl.helpers.fix_eia_na) + .pipe(pudl.helpers.fix_na) .pipe(pudl.helpers.month_year_to_date) .pipe(pudl.helpers.convert_to_date) .pipe( @@ -446,7 +446,7 @@ def _core_eia860__generators_wind( wind_df = ( pd.concat([wind_ex, wind_re], sort=True) - .pipe(pudl.helpers.fix_eia_na) + .pipe(pudl.helpers.fix_na) .pipe(pudl.helpers.month_year_to_date) .pipe(pudl.helpers.convert_to_date) .pipe( @@ -491,7 +491,7 @@ def _core_eia860__plants(raw_eia860__plant: pd.DataFrame) -> pd.DataFrame: """ # Populating the '_core_eia860__plants' table p_df = ( - raw_eia860__plant.pipe(pudl.helpers.fix_eia_na) + raw_eia860__plant.pipe(pudl.helpers.fix_na) .astype({"zip_code": str}) .drop("iso_rto", axis="columns") ) @@ -600,7 +600,7 @@ def _core_eia860__utilities(raw_eia860__utility: pd.DataFrame) -> pd.DataFrame: u_df = raw_eia860__utility # Replace empty strings, whitespace, and '.' fields with real NA values - u_df = pudl.helpers.fix_eia_na(u_df) + u_df = pudl.helpers.fix_na(u_df) u_df["state"] = u_df.state.str.upper() u_df["state"] = u_df.state.replace( { @@ -694,7 +694,7 @@ def _core_eia860__boilers( b_df = ( pd.concat([b_df, ecs], sort=True) .dropna(subset=["boiler_id", "plant_id_eia"]) - .pipe(pudl.helpers.fix_eia_na) + .pipe(pudl.helpers.fix_na) ) # Defensive check: if any values in boiler_fuel_code_5 - boiler_fuel_code_8, @@ -866,7 +866,7 @@ def _core_eia860__emissions_control_equipment( ) -> pd.DataFrame: """Pull and transform the emissions control equipment table.""" # Replace empty strings, whitespace, and '.' fields with real NA values - emce_df = pudl.helpers.fix_eia_na(raw_eia860__emissions_control_equipment) + emce_df = pudl.helpers.fix_na(raw_eia860__emissions_control_equipment) # Spot fix bad months emce_df["emission_control_operating_month"] = emce_df[ @@ -1072,7 +1072,7 @@ def _core_eia860__boiler_cooling( A cleaned and normalized version of the EIA boiler to cooler ID table. """ # Replace empty strings, whitespace, and '.' fields with real NA values - bc_assn = pudl.helpers.fix_eia_na(raw_eia860__boiler_cooling) + bc_assn = pudl.helpers.fix_na(raw_eia860__boiler_cooling) # Replace the report year col with a report date col for the harvesting process bc_assn = pudl.helpers.convert_to_date( df=bc_assn, year_col="report_year", date_col="report_date" @@ -1097,7 +1097,7 @@ def _core_eia860__boiler_stack_flue( A cleaned and normalized version of the EIA boiler to stack flue ID table. """ # Replace empty strings, whitespace, and '.' fields with real NA values - bsf_assn = pudl.helpers.fix_eia_na(raw_eia860__boiler_stack_flue) + bsf_assn = pudl.helpers.fix_na(raw_eia860__boiler_stack_flue) # Replace the report year col with a report date col for the harvesting process bsf_assn = pudl.helpers.convert_to_date( df=bsf_assn, year_col="report_year", date_col="report_date" @@ -1156,7 +1156,7 @@ def _core_eia860__cooling_equipment( ce_df = raw_eia860__cooling_equipment # Generic cleaning - ce_df = ce_df.pipe(pudl.helpers.fix_eia_na).pipe(pudl.helpers.add_fips_ids) + ce_df = ce_df.pipe(pudl.helpers.fix_na).pipe(pudl.helpers.add_fips_ids) # Spot cleaning and date conversion ce_df.loc[ @@ -1271,7 +1271,7 @@ def _core_eia860__fgd_equipment( fgd_df = raw_eia860__fgd_equipment # Generic cleaning - fgd_df = fgd_df.pipe(pudl.helpers.fix_eia_na).pipe(pudl.helpers.add_fips_ids) + fgd_df = fgd_df.pipe(pudl.helpers.fix_na).pipe(pudl.helpers.add_fips_ids) # Spot cleaning and date conversion fgd_df = fgd_df.pipe(pudl.helpers.month_year_to_date).pipe( diff --git a/src/pudl/transform/eia861.py b/src/pudl/transform/eia861.py index 983f9c3958..f0c4920a68 100644 --- a/src/pudl/transform/eia861.py +++ b/src/pudl/transform/eia861.py @@ -13,7 +13,7 @@ clean_eia_counties, convert_cols_dtypes, convert_to_date, - fix_eia_na, + fix_na, ) from pudl.metadata import PUDL_PACKAGE from pudl.metadata.enums import ( @@ -544,7 +544,7 @@ def _pre_process(df: pd.DataFrame) -> pd.DataFrame: * Convert report_year column to report_date. """ return ( - fix_eia_na(df) + fix_na(df) .drop(columns=["early_release"], errors="ignore") .pipe(convert_to_date) ) diff --git a/src/pudl/transform/eia923.py b/src/pudl/transform/eia923.py index 64cf1b33e2..280658a618 100644 --- a/src/pudl/transform/eia923.py +++ b/src/pudl/transform/eia923.py @@ -658,7 +658,7 @@ def _core_eia923__pre_generation_fuel(raw_eia923__generation_fuel: pd.DataFrame) # Convert the EIA923 DataFrame from yearly to monthly records. gen_fuel = _yearly_to_monthly_records(gen_fuel) # Replace the EIA923 NA value ('.') with a real NA value. - gen_fuel = pudl.helpers.fix_eia_na(gen_fuel) + gen_fuel = pudl.helpers.fix_na(gen_fuel) # Remove "State fuel-level increment" records... which don't pertain to # any particular plant (they have plant_id_eia == operator_id == 99999) gen_fuel = gen_fuel[gen_fuel.plant_id_eia != 99999] @@ -871,7 +871,7 @@ def _core_eia923__boiler_fuel(raw_eia923__boiler_fuel: pd.DataFrame) -> pd.DataF bf_df = _yearly_to_monthly_records(bf_df) # Replace the EIA923 NA value ('.') with a real NA value. - bf_df = pudl.helpers.fix_eia_na(bf_df) + bf_df = pudl.helpers.fix_na(bf_df) # Convert Year/Month columns into a single Date column... bf_df = pudl.helpers.convert_to_date(bf_df) @@ -977,7 +977,7 @@ def _core_eia923__generation(raw_eia923__generator: pd.DataFrame) -> pd.DataFram axis="columns", ) .pipe(_yearly_to_monthly_records) - .pipe(pudl.helpers.fix_eia_na) + .pipe(pudl.helpers.fix_na) .pipe(pudl.helpers.convert_to_date) ) # There are a few records that contain (literal) "nan"s in the generator_id @@ -1148,7 +1148,7 @@ def _core_eia923__fuel_receipts_costs( ) .drop(cols_to_drop, axis=1) # Replace the EIA923 NA value ('.') with a real NA value. - .pipe(pudl.helpers.fix_eia_na) + .pipe(pudl.helpers.fix_na) # These come in ALL CAPS from EIA... .pipe(pudl.helpers.simplify_strings, columns=["supplier_name"]) .pipe( @@ -1235,7 +1235,7 @@ def _core_eia923__cooling_system_information( second, with precision of 0.1 cfs." """ csi_df = raw_eia923__cooling_system_information - csi_df = csi_df.pipe(pudl.helpers.fix_eia_na).pipe(pudl.helpers.convert_to_date) + csi_df = csi_df.pipe(pudl.helpers.fix_na).pipe(pudl.helpers.convert_to_date) # cooling_id_eia is sometimes NA, but we also want to use it as a primary # key. fortunately it's a string so we can just convert all NA values to @@ -1386,7 +1386,7 @@ def _core_eia923__fgd_operation_maintenance( fgd_df = fgd_df.drop_duplicates() # Replace the EIA923 NA value ('.') with a real NA value. - fgd_df = pudl.helpers.fix_eia_na(fgd_df).pipe(pudl.helpers.convert_to_date) + fgd_df = pudl.helpers.fix_na(fgd_df).pipe(pudl.helpers.convert_to_date) # Convert thousands of dollars to dollars fgd_df.loc[:, fgd_df.columns.str.endswith("_1000_dollars")] *= 1000 @@ -1520,7 +1520,7 @@ def _core_eia923__energy_storage( """ es_df = ( - pudl.helpers.fix_eia_na(raw_eia923__energy_storage) + pudl.helpers.fix_na(raw_eia923__energy_storage) .pipe(pudl.helpers.fix_boolean_columns, ["associated_combined_heat_power"]) .pipe(pudl.helpers.simplify_strings, ["fuel_unit"]) .assign( diff --git a/test/unit/helpers_test.py b/test/unit/helpers_test.py index 2b63670855..a3ad636dd5 100644 --- a/test/unit/helpers_test.py +++ b/test/unit/helpers_test.py @@ -19,7 +19,7 @@ dedupe_and_drop_nas, diff_wide_tables, expand_timeseries, - fix_eia_na, + fix_na, flatten_list, remove_leading_zeros_from_numeric_strings, retry, @@ -443,7 +443,7 @@ def test_convert_to_date(): assert_frame_equal(out_df, expected_df) -def test_fix_eia_na(): +def test_fix_na(): """Test cleanup of bad EIA spreadsheet NA values.""" in_df = pd.DataFrame( { @@ -479,7 +479,7 @@ def test_fix_eia_na(): ] } ) - out_df = fix_eia_na(in_df) + out_df = fix_na(in_df) assert_frame_equal(out_df, expected_df) From b5c7acde43c92b0ce6856156f0b6994edc783d03 Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 11 Oct 2024 17:24:46 -0400 Subject: [PATCH 09/39] Update column mappings --- .../phmsagas_distribution.ipynb | 227 +++++++++++++++--- src/pudl/helpers.py | 45 +++- .../column_maps/yearly_distribution.csv | 8 +- 3 files changed, 231 insertions(+), 49 deletions(-) diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index f27ee0f7c9..259914a00e 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -9,17 +9,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from dagster import AssetKey\n", "from pudl.etl import defs\n", "import pandas as pd\n", - "from pudl.helpers import zero_pad_numeric_string, organize_cols, standardize_phone_column, fix_na, analyze_missing_values\n", + "from pudl.helpers import zero_pad_numeric_string, organize_cols, standardize_phone_column, fix_na, analyze_missing_values, standardize_state_columns\n", "import numpy as np\n", - "import re\n", - "\n", + "import re" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", + "2024-10-11 17:22:13 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + ] + } + ], + "source": [ "raw_df = defs.load_asset_value(AssetKey(\"raw_phmsagas__yearly_distribution\"))" ] }, @@ -32,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -81,10 +97,6 @@ "metadata": {}, "outputs": [], "source": [ - "# Clean up office zip codes\n", - "df[\"office_address_zip\"] = zero_pad_numeric_string(df[\"office_address_zip\"], 5)\n", - "df.head()\n", - "\n", "# Convert columns to ints\n", "# Would have included \"federal_land_leaks_repaired_or_scheduled\" in this list but there were a couple rows with decimal values\n", "columns_to_convert = [\n", @@ -106,7 +118,12 @@ "\n", "# Ensure all \"report_year\" values have four digits\n", "mask = df[\"report_year\"] < 100\n", - "df.loc[mask, \"report_year\"] = df.loc[mask, \"report_year\"].astype(int).astype(str).str[:4].astype(int)" + "\n", + "# Convert 2-digit years to appropriate 4-digit format (assume cutoff at year 50)\n", + "# We could also use the first 4 digits of the \"report_number\" but there was at least one anomaly here with an invalid year\n", + "df.loc[mask, \"report_year\"] = df.loc[mask, \"report_year\"].apply(\n", + " lambda x: 2000 + x if x < 50 else 1900 + x\n", + ")" ] }, { @@ -145,7 +162,36 @@ " \"services_shutoff_valve_installed\",\n", " \"federal_land_leaks_repaired_or_scheduled\"\n", "]\n", - "df[columns_to_fill] = df[columns_to_fill].fillna(0)" + "df[columns_to_fill] = df[columns_to_fill].fillna(0)\n", + "\n", + "# Fill in bad strings\n", + "df = fix_na(df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Standardize case for city, county, operator name, etc." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Capitalize the first letter of each word in all object-type columns except the excluded ones\n", + "exclude_columns = ['headquarters_address_state', 'office_address_state']\n", + "df[df.select_dtypes(include=['object']).columns.difference(exclude_columns)] = \\\n", + " df[df.select_dtypes(include=['object']).columns.difference(exclude_columns)].apply(lambda col: col.str.title())\n", + "\n", + "# List of state columns to standardize\n", + "state_columns_to_standardize = ['headquarters_address_state', 'office_address_state']\n", + "df = standardize_state_columns(df, state_columns_to_standardize)\n", + "\n", + "# Trim all the object-type columns\n", + "df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x)" ] }, { @@ -154,21 +200,31 @@ "source": [ "#### Standardize usage of office vs HQ address over time\n", "\n", - "- Make sure to use \"clean_eia_counties\" from helpers at some point\n", - "- Also maybe \"zero_pad_numeric_string\"\n" + "- Make sure to use \"clean_eia_counties\" from helpers at some point" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ - "# Selecting the relevant columns\n", + "# Clean up office zip codes\n", + "df[\"office_address_zip_clean\"] = zero_pad_numeric_string(df[\"office_address_zip\"], 5).astype(\"object\")\n", + "df[\"headquarters_address_zip_clean\"] = zero_pad_numeric_string(df[\"headquarters_address_zip\"], 5).astype(\"object\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Create an address DF\n", "address_cols = [\n", " 'operator_id_phmsa', 'report_year',\n", - " 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip',\n", - " 'headquarters_address_street', 'headquarters_address_city', 'headquarters_address_state', 'headquarters_address_zip'\n", + " 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_zip_clean',\n", + " 'headquarters_address_street', 'headquarters_address_city', 'headquarters_address_state', 'headquarters_address_zip', 'headquarters_address_zip_clean'\n", "]\n", "\n", "df_addresses = df[address_cols]" @@ -180,7 +236,17 @@ "metadata": {}, "outputs": [], "source": [ - "df_addresses.dtypes" + "# Create a concatenated address string for office address\n", + "df_addresses['office_address'] = df_addresses['office_address_street'].astype(str) + ', ' + \\\n", + " df_addresses['office_address_city'].astype(str) + ', ' + \\\n", + " df_addresses['office_address_state'].astype(str) + ' ' + \\\n", + " df_addresses['office_address_zip_clean'].astype(str)\n", + "\n", + "# Create a concatenated address string for headquarters address\n", + "df_addresses['headquarters_address'] = df_addresses['headquarters_address_street'].astype(str) + ', ' + \\\n", + " df_addresses['headquarters_address_city'].astype(str) + ', ' + \\\n", + " df_addresses['headquarters_address_state'].astype(str) + ' ' + \\\n", + " df_addresses['headquarters_address_zip_clean'].astype(str)\n" ] }, { @@ -189,7 +255,19 @@ "metadata": {}, "outputs": [], "source": [ - "df.office_address_zip.head()" + "def standardize_address(address: str) -> str:\n", + " if pd.isna(address): # Handle missing addresses\n", + " return address\n", + " address = address.upper() # Convert to uppercase\n", + " address = address.replace('P O BOX', 'PO BOX') # Standardize \"P O BOX\"\n", + " address = address.replace('ST.', 'STREET').replace('RD.', 'ROAD') # Example replacements\n", + " address = address.replace(',', '') # Remove commas for consistent comparison\n", + " address = re.sub(r'\\s+', ' ', address).strip() # Replace multiple spaces with a single space and trim\n", + " return address\n", + "\n", + "# Step 4: Apply the standardization to the concatenated addresses\n", + "df_addresses['office_address_std'] = df_addresses['office_address'].apply(standardize_address)\n", + "df_addresses['headquarters_address_std'] = df_addresses['headquarters_address'].apply(standardize_address)\n" ] }, { @@ -198,7 +276,12 @@ "metadata": {}, "outputs": [], "source": [ - "df_addresses['office_address'] = df_addresses['office_address_street'] + ', ' + df_addresses['office_address_city'] + ', ' + df_addresses['office_address_state'] + ' ' + df_addresses['office_address_zip']" + "df_unique_addresses = df_addresses.groupby('operator_id_phmsa').agg(\n", + " unique_office_addresses=('office_address', 'nunique'),\n", + " unique_headquarters_addresses=('headquarters_address', 'nunique')\n", + ").reset_index()\n", + "\n", + "df_unique_addresses.head()" ] }, { @@ -207,29 +290,70 @@ "metadata": {}, "outputs": [], "source": [ - "# Create a concatenated address string for easier comparison\n", - "df_addresses['office_address'] = df_addresses['office_address_street'] + ', ' + df_addresses['office_address_city'] + ', ' + df_addresses['office_address_state'] + ' ' + df_addresses['office_address_zip']\n", - "df_addresses['headquarters_address'] = df_addresses['headquarters_address_street'] + ', ' + df_addresses['headquarters_address_city'] + ', ' + df_addresses['headquarters_address_state'] + ' ' + df_addresses['headquarters_address_zip']\n", - "\n", - "# Group by operator and sort by year\n", - "df_addresses = df_addresses.sort_values(by=['operator_id_phmsa', 'report_year'])\n", + "df_unique_addresses[df_unique_addresses.unique_headquarters_addresses>df_unique_addresses.unique_office_addresses].count()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_unique_addresses[df_unique_addresses.unique_headquarters_addresses>df_unique_addresses.unique_office_addresses].head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_addresses[df_addresses.operator_id_phmsa == 728][\"headquarters_address\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_addresses[df_addresses.operator_id_phmsa == 728][\"office_address\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Temporarily increase the max column width to display full content\n", + "pd.set_option('display.max_colwidth', None)\n", "\n", - "# Create flags for overlap or switch\n", - "df_addresses['address_overlap'] = df_addresses['office_address'] == df_addresses['headquarters_address']\n", - "df_addresses['address_switch'] = df_addresses.groupby('operator_id_phmsa').apply(\n", - " lambda x: (x['office_address'].shift() == x['headquarters_address']) & \n", - " (x['headquarters_address'].shift() == x['office_address'])\n", - ").reset_index(drop=True)\n", + "# Now print the desired values\n", + "print(df_addresses[df_addresses.operator_id_phmsa == 728][[\"headquarters_address\"]])\n", "\n", - "# Display the results where overlap or switch occurred\n", - "df_overlap_switch = df_addresses[(df_addresses['address_overlap'] == True) | (df_addresses['address_switch'] == True)]\n" + "# Reset the column width option if needed\n", + "pd.reset_option('display.max_colwidth')" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 20, "metadata": {}, + "outputs": [], "source": [ - "#### Standardize case for city, county, operator name, etc." + "# # Group by operator and sort by year\n", + "# df_addresses = df_addresses.sort_values(by=['operator_id_phmsa', 'report_year'])\n", + "\n", + "# # Create flags for overlap or switch\n", + "# df_addresses['address_overlap'] = df_addresses['office_address'] == df_addresses['headquarters_address']\n", + "# df_addresses['address_switch'] = df_addresses.groupby('operator_id_phmsa').apply(\n", + "# lambda x: (x['office_address'].shift() == x['headquarters_address']) & \n", + "# (x['headquarters_address'].shift() == x['office_address'])\n", + "# ).reset_index(drop=True)\n", + "\n", + "# # Display the results where overlap or switch occurred\n", + "# df_overlap_switch = df_addresses[(df_addresses['address_overlap'] == True) | (df_addresses['address_switch'] == True)]\n" ] }, { @@ -239,14 +363,41 @@ "#### Standardize telephone and fax number format and drop (000)-000-0000\n" ] }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "# df = standardize_phone_column(df, \"preparer_phone\")\n", + "# df[df.preparer_phone.notna()]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df[df.preparer_fax.notnull()]['report_year'].unique()" + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "df = standardize_phone_column(df, \"preparer_phone\")\n", - "df[df.preparer_phone.notna()]" + "df[~df['preparer_fax'].str.contains('@', na=False)]['preparer_fax'].unique()" ] }, { diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index f69a7fe254..2458318bc9 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2171,10 +2171,7 @@ def retry( time.sleep(delay) return func(**kwargs) -def standardize_phone_column( - df: pd.DataFrame, - col_name: str -) -> pd.DataFrame: +def standardize_phone_column(df: pd.DataFrame, col_name: str) -> pd.DataFrame: """Standardize phone numbers in the specified column of the DataFrame. US numbers: ###-###-#### @@ -2239,9 +2236,7 @@ def standardize_phone_number(phone: str) -> str: return df -def analyze_missing_values( - df: pd.DataFrame -) -> list[str]: +def analyze_missing_values(df: pd.DataFrame) -> list[str]: """ Analyze columns of a DataFrame for missing or invalid values. Note that this is purely for analysis and does not perform any data transformation or cleaning. @@ -2372,3 +2367,39 @@ def analyze_missing_values( print(f"Columns with exceptions during processing: {exception_cols}") return exception_cols + +def standardize_state_columns(df: pd.DataFrame, state_columns: list) -> pd.DataFrame: + """ + Standardizes the state strings in the specified columns by replacing full state names + with their two-letter abbreviations and capitalizing the strings. + + Args: + df: The DataFrame containing the state columns to standardize. + state_columns: A list of column names where state standardization should be applied. + + Returns: + The DataFrame with standardized state columns. + """ + + # Dictionary mapping full state names to their two-letter abbreviations + state_abbreviations = { + "Alabama": "AL", "Alaska": "AK", "Arizona": "AZ", "Arkansas": "AR", + "California": "CA", "Colorado": "CO", "Connecticut": "CT", "Delaware": "DE", + "Florida": "FL", "Georgia": "GA", "Hawaii": "HI", "Idaho": "ID", + "Illinois": "IL", "Indiana": "IN", "Iowa": "IA", "Kansas": "KS", + "Kentucky": "KY", "Louisiana": "LA", "Maine": "ME", "Maryland": "MD", + "Massachusetts": "MA", "Michigan": "MI", "Minnesota": "MN", "Mississippi": "MS", + "Missouri": "MO", "Montana": "MT", "Nebraska": "NE", "Nevada": "NV", + "New Hampshire": "NH", "New Jersey": "NJ", "New Mexico": "NM", "New York": "NY", + "North Carolina": "NC", "North Dakota": "ND", "Ohio": "OH", "Oklahoma": "OK", + "Oregon": "OR", "Pennsylvania": "PA", "Rhode Island": "RI", "South Carolina": "SC", + "South Dakota": "SD", "Tennessee": "TN", "Texas": "TX", "Utah": "UT", + "Vermont": "VT", "Virginia": "VA", "Washington": "WA", "West Virginia": "WV", + "Wisconsin": "WI", "Wyoming": "WY" + } + + for col in state_columns: + df[col] = df[col].replace(state_abbreviations).str.upper() + + return df + diff --git a/src/pudl/package_data/phmsagas/column_maps/yearly_distribution.csv b/src/pudl/package_data/phmsagas/column_maps/yearly_distribution.csv index f7ff9504a6..d832238a45 100644 --- a/src/pudl/package_data/phmsagas/column_maps/yearly_distribution.csv +++ b/src/pudl/package_data/phmsagas/column_maps/yearly_distribution.csv @@ -294,10 +294,10 @@ federal_land_leaks_repaired_or_scheduled,fedlk,fedlk,fedlk,fedlk,fedlk,fedlk,fed percent_unaccounted_for_gas,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,unacc,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas,percent_unacc_gas additional_information,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,comments,,,,,,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information,additional_information preparer_name,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,pname,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name,preparers_name -preparer_title,,,,,,,,,,,,,,,pemail,pemail,pemail,pemail,pemail,pemail,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title -preparer_phone,,,,,,,,,,,,,,,pfax,pfax,pfax,pfax,pfax,pfax,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone -preparer_email,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,pphone,pphone,pphone,pphone,pphone,pphone,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax -preparer_fax,,,,,,,,,,,,,,,,,,,,,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email +preparer_title,,,,,,,,,,,,,,,,,,,,,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title,preparers_title +preparer_phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,phone,pphone,pphone,pphone,pphone,pphone,pphone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone,preparers_phone +preparer_email,,,,,,,,,,,,,,,pemail,pemail,pemail,pemail,pemail,pemail,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email,preparers_email +preparer_fax,,,,,,,,,,,,,,,pfax,pfax,pfax,pfax,pfax,pfax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax,preparers_fax report_submission_type,,,,,,,,,,,,,,,,,,,,,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type,report_submission_type report_date,,,,,,,,,,,dor,dor,dor,dor,dor,dor,dor,dor,dor,dor,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date,report_date filing_date,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,doe,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date,filing_date From 9518e8339a68a5aa02712ab1d6f22de6373a0b68 Mon Sep 17 00:00:00 2001 From: sam Date: Thu, 24 Oct 2024 08:57:11 -0400 Subject: [PATCH 10/39] Update notebook and add draft transform script --- .../phmsagas_distribution.ipynb | 560 ++++++++++++------ src/pudl/helpers.py | 22 +- src/pudl/transform/phmsagas.py | 153 +++++ 3 files changed, 531 insertions(+), 204 deletions(-) create mode 100644 src/pudl/transform/phmsagas.py diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index 259914a00e..cb7429f3fb 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -31,7 +31,7 @@ "output_type": "stream", "text": [ "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-10-11 17:22:13 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + "2024-10-24 08:29:46 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" ] } ], @@ -64,6 +64,11 @@ " \"office_address_state\",\n", " \"office_address_zip\",\n", " \"office_address_county\",\n", + " \"headquarters_address_street\",\n", + " \"headquarters_address_city\",\n", + " \"headquarters_address_state\",\n", + " \"headquarters_address_zip\",\n", + " \"headquarters_address_county\",\n", " \"excavation_damage_excavation_practices\",\n", " \"excavation_damage_locating_practices\",\n", " \"excavation_damage_one_call_notification\",\n", @@ -81,24 +86,31 @@ " \"preparer_fax\",\n", " \"preparer_name\",\n", " \"preparer_phone\",\n", - " \"preparer_title\",\n", - " # Adding these fields temporarily for transformation cleanup\n", - " \"headquarters_address_city\",\n", - " \"headquarters_address_county\",\n", - " \"headquarters_address_state\",\n", - " \"headquarters_address_street\",\n", - " \"headquarters_address_zip\"\n", + " \"preparer_title\"\n", "]]" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_21894/230972868.py:18: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df[columns_to_convert] = df[columns_to_convert].astype(\"Int64\")\n" + ] + } + ], "source": [ "# Convert columns to ints\n", - "# Would have included \"federal_land_leaks_repaired_or_scheduled\" in this list but there were a couple rows with decimal values\n", + "# Excluded \"federal_land_leaks_repaired_or_scheduled\" from this list since there were a couple rows with decimal values\n", "columns_to_convert = [\n", " \"report_year\",\n", " \"report_number\",\n", @@ -142,9 +154,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_21894/2053832042.py:17: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df[columns_to_fill] = df[columns_to_fill].fillna(0)\n", + "/Users/sam/Documents/pudl/src/pudl/helpers.py:1024: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " return df.replace(regex=r\"(^\\.$|^\\s*$|^-+$)\", value=np.nan)\n" + ] + } + ], "source": [ "# Fill NA values with zeroes because these columns are simply counts.\n", "# Note that \"excavation_damage...\" columns should sum up to the value in \"excavation_damage_total\". However, many rows\n", @@ -177,9 +204,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_21894/869871702.py:11: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n", + " df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x)\n" + ] + } + ], "source": [ "# Capitalize the first letter of each word in all object-type columns except the excluded ones\n", "exclude_columns = ['headquarters_address_state', 'office_address_state']\n", @@ -194,168 +230,6 @@ "df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x)" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Standardize usage of office vs HQ address over time\n", - "\n", - "- Make sure to use \"clean_eia_counties\" from helpers at some point" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Clean up office zip codes\n", - "df[\"office_address_zip_clean\"] = zero_pad_numeric_string(df[\"office_address_zip\"], 5).astype(\"object\")\n", - "df[\"headquarters_address_zip_clean\"] = zero_pad_numeric_string(df[\"headquarters_address_zip\"], 5).astype(\"object\")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Create an address DF\n", - "address_cols = [\n", - " 'operator_id_phmsa', 'report_year',\n", - " 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_zip_clean',\n", - " 'headquarters_address_street', 'headquarters_address_city', 'headquarters_address_state', 'headquarters_address_zip', 'headquarters_address_zip_clean'\n", - "]\n", - "\n", - "df_addresses = df[address_cols]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a concatenated address string for office address\n", - "df_addresses['office_address'] = df_addresses['office_address_street'].astype(str) + ', ' + \\\n", - " df_addresses['office_address_city'].astype(str) + ', ' + \\\n", - " df_addresses['office_address_state'].astype(str) + ' ' + \\\n", - " df_addresses['office_address_zip_clean'].astype(str)\n", - "\n", - "# Create a concatenated address string for headquarters address\n", - "df_addresses['headquarters_address'] = df_addresses['headquarters_address_street'].astype(str) + ', ' + \\\n", - " df_addresses['headquarters_address_city'].astype(str) + ', ' + \\\n", - " df_addresses['headquarters_address_state'].astype(str) + ' ' + \\\n", - " df_addresses['headquarters_address_zip_clean'].astype(str)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def standardize_address(address: str) -> str:\n", - " if pd.isna(address): # Handle missing addresses\n", - " return address\n", - " address = address.upper() # Convert to uppercase\n", - " address = address.replace('P O BOX', 'PO BOX') # Standardize \"P O BOX\"\n", - " address = address.replace('ST.', 'STREET').replace('RD.', 'ROAD') # Example replacements\n", - " address = address.replace(',', '') # Remove commas for consistent comparison\n", - " address = re.sub(r'\\s+', ' ', address).strip() # Replace multiple spaces with a single space and trim\n", - " return address\n", - "\n", - "# Step 4: Apply the standardization to the concatenated addresses\n", - "df_addresses['office_address_std'] = df_addresses['office_address'].apply(standardize_address)\n", - "df_addresses['headquarters_address_std'] = df_addresses['headquarters_address'].apply(standardize_address)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_unique_addresses = df_addresses.groupby('operator_id_phmsa').agg(\n", - " unique_office_addresses=('office_address', 'nunique'),\n", - " unique_headquarters_addresses=('headquarters_address', 'nunique')\n", - ").reset_index()\n", - "\n", - "df_unique_addresses.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_unique_addresses[df_unique_addresses.unique_headquarters_addresses>df_unique_addresses.unique_office_addresses].count()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_unique_addresses[df_unique_addresses.unique_headquarters_addresses>df_unique_addresses.unique_office_addresses].head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_addresses[df_addresses.operator_id_phmsa == 728][\"headquarters_address\"].unique()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_addresses[df_addresses.operator_id_phmsa == 728][\"office_address\"].unique()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Temporarily increase the max column width to display full content\n", - "pd.set_option('display.max_colwidth', None)\n", - "\n", - "# Now print the desired values\n", - "print(df_addresses[df_addresses.operator_id_phmsa == 728][[\"headquarters_address\"]])\n", - "\n", - "# Reset the column width option if needed\n", - "pd.reset_option('display.max_colwidth')" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "# # Group by operator and sort by year\n", - "# df_addresses = df_addresses.sort_values(by=['operator_id_phmsa', 'report_year'])\n", - "\n", - "# # Create flags for overlap or switch\n", - "# df_addresses['address_overlap'] = df_addresses['office_address'] == df_addresses['headquarters_address']\n", - "# df_addresses['address_switch'] = df_addresses.groupby('operator_id_phmsa').apply(\n", - "# lambda x: (x['office_address'].shift() == x['headquarters_address']) & \n", - "# (x['headquarters_address'].shift() == x['office_address'])\n", - "# ).reset_index(drop=True)\n", - "\n", - "# # Display the results where overlap or switch occurred\n", - "# df_overlap_switch = df_addresses[(df_addresses['address_overlap'] == True) | (df_addresses['address_switch'] == True)]\n" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -365,39 +239,335 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "# df = standardize_phone_column(df, \"preparer_phone\")\n", - "# df[df.preparer_phone.notna()]" - ] - }, - { - "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ - "df.head()" + "df = standardize_phone_column(df, [\"preparer_phone\", \"preparer_fax\"])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "report_date datetime64[ns]\n", + "report_number Int64\n", + "report_submission_type object\n", + "report_year Int64\n", + "operator_id_phmsa Int64\n", + "operator_name_phmsa object\n", + "office_address_street object\n", + "office_address_city object\n", + "office_address_state object\n", + "office_address_zip object\n", + "office_address_county object\n", + "headquarters_address_street object\n", + "headquarters_address_city object\n", + "headquarters_address_state object\n", + "headquarters_address_zip object\n", + "headquarters_address_county object\n", + "excavation_damage_excavation_practices Int64\n", + "excavation_damage_locating_practices Int64\n", + "excavation_damage_one_call_notification Int64\n", + "excavation_damage_other Int64\n", + "excavation_damage_total Int64\n", + "excavation_tickets Int64\n", + "services_efv_in_system Int64\n", + "services_efv_installed Int64\n", + "services_shutoff_valve_in_system Int64\n", + "services_shutoff_valve_installed Int64\n", + "federal_land_leaks_repaired_or_scheduled float64\n", + "percent_unaccounted_for_gas float64\n", + "additional_information object\n", + "preparer_email object\n", + "preparer_fax object\n", + "preparer_name object\n", + "preparer_phone object\n", + "preparer_title object\n", + "dtype: object" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df[df.preparer_fax.notnull()]['report_year'].unique()" + "df.dtypes" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipheadquarters_address_countyexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_title
153292000-12-2820000002NaN200021170Velma Public Works AuthPo Box 5, Main & HargroveVelmaOKNaNStephensNaNNaNOKNaNNaN00000000000.04.0NaNNaNNaNPaula LynnNaNNaN
153302000-12-2720000003NaN200030584Pentex Pipeline Company579 Brighton WayPhoenixvillePANaNNaN3131 Mckinney Ave #100DallasTXNaNNaN00000000000.0NaN1.5 Mile 3\" Pipeline Service Customer At A Cus...NaNNaNMark D CasadayNaNNaN
153312000-12-2720000004NaN200022588Whittemore, Town Of310 Fourth StreetWhittemoreIANaNKossuthNaNNaNNaNNaNNaN00000000000.04.0NaNNaNNaNLinda K. FarrellNaNNaN
153322000-12-2620000005NaN200018676Sturgis Natural Gas SystemNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN00000000000.0NaNNaNNaNNaNMike DemossNaNNaN
153332000-12-2620000006NaN200030865St. Robert, City Of115 Plattner St.St RobertMONaNPulaskiNaNNaNNaNNaNNaN00000000000.01.0NaNNaNNaNMatt F WoodNaNNaN
\n", + "
" + ], + "text/plain": [ + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip headquarters_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", + "15329 2000-12-28 20000002 NaN 2000 21170 Velma Public Works Auth Po Box 5, Main & Hargrove Velma OK NaN Stephens NaN NaN OK NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 4.0 NaN NaN NaN Paula Lynn NaN NaN\n", + "15330 2000-12-27 20000003 NaN 2000 30584 Pentex Pipeline Company 579 Brighton Way Phoenixville PA NaN NaN 3131 Mckinney Ave #100 Dallas TX NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 NaN 1.5 Mile 3\" Pipeline Service Customer At A Cus... NaN NaN Mark D Casaday NaN NaN\n", + "15331 2000-12-27 20000004 NaN 2000 22588 Whittemore, Town Of 310 Fourth Street Whittemore IA NaN Kossuth NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 4.0 NaN NaN NaN Linda K. Farrell NaN NaN\n", + "15332 2000-12-26 20000005 NaN 2000 18676 Sturgis Natural Gas System NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 NaN NaN NaN NaN Mike Demoss NaN NaN\n", + "15333 2000-12-26 20000006 NaN 2000 30865 St. Robert, City Of 115 Plattner St. St Robert MO NaN Pulaski NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 1.0 NaN NaN NaN Matt F Wood NaN NaN" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df[~df['preparer_fax'].str.contains('@', na=False)]['preparer_fax'].unique()" + "df[df.report_date.notna()].head()" ] }, { diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 2458318bc9..eda279beb3 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2171,8 +2171,8 @@ def retry( time.sleep(delay) return func(**kwargs) -def standardize_phone_column(df: pd.DataFrame, col_name: str) -> pd.DataFrame: - """Standardize phone numbers in the specified column of the DataFrame. +def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFrame: + """Standardize phone numbers in the specified columns of the DataFrame. US numbers: ###-###-#### International numbers with the international code at the beginning. @@ -2183,7 +2183,7 @@ def standardize_phone_column(df: pd.DataFrame, col_name: str) -> pd.DataFrame: Args: df: The DataFrame to modify. - col_name: The name of the column with phone numbers to standardize. + columns: A list of the names of the columns that need to be standardized Returns: The modified DataFrame with standardized phone numbers in the same column. @@ -2206,21 +2206,24 @@ def standardize_phone_number(phone: str) -> str: # If phone_main is not numeric, return np.nan if not phone_main.isdigit(): return np.nan + + # Grab the length for the next series of formatting steps + phone_main_len = len(phone_main) # If phone_main is all zeroes, return np.nan - if phone_main == '0' * len(phone_main): + if phone_main == '0' * phone_main_len: return np.nan # If the phone number has fewer than 10 digits, return it as a plain string - if len(phone_main) < 10: + if phone_main_len < 10: return phone_main # If the phone number has exactly 10 digits, format it as XXX-XXX-XXXX - if len(phone_main) == 10: + if phone_main_len == 10: formatted_phone = f'{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}' # If the phone number has more than 10 digits, treat the additional digits as international code - elif len(phone_main) > 10: + elif phone_main_len > 10: intl_code = phone_main[:-10] # Digits before the last 10 main_number = phone_main[-10:] # Last 10 digits are the phone number formatted_phone = f'+{intl_code}-{main_number[:3]}-{main_number[3:6]}-{main_number[6:]}' @@ -2231,8 +2234,9 @@ def standardize_phone_number(phone: str) -> str: return formatted_phone - # Apply the standardization function directly to the specified column - df[col_name] = df[col_name].apply(standardize_phone_number) + # Apply the standardization function directly to the specified columns + for column in columns: + df[column] = df[column].apply(standardize_phone_number) return df diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py new file mode 100644 index 0000000000..ca9ff1271f --- /dev/null +++ b/src/pudl/transform/phmsagas.py @@ -0,0 +1,153 @@ +"""Classes & functions to process PHMSA natural gas data before loading into the PUDL DB. +""" + +import importlib +import re +from dataclasses import dataclass +from typing import Literal + +import numpy as np +import pandas as pd +from dagster import AssetCheckResult, AssetChecksDefinition, AssetIn, asset, asset_check + +from pudl.helpers import zero_pad_numeric_string, standardize_phone_column, fix_na, standardize_state_columns +import pudl.logging_helpers +from pudl.extract.ferc714 import TABLE_NAME_MAP_FERC714 +from pudl.settings import PhmsaGasSettings + +logger = pudl.logging_helpers.get_logger(__name__) + +############################################################################## +# Constants required for transforming PHMSAGAS +############################################################################## + +YEARLY_DISTRIBUTION_OPERATORS_COLUMNS = { + "columns_to_keep": [ + "report_date", + "report_number", # not in pudl/metadata/fields.py + "report_submission_type", # not in pudl/metadata/fields.py + "report_year", + # None of the columns below are in pudl/metadata/fields.py + "operator_id_phmsa", + "operator_name_phmsa", + "office_address_street", + "office_address_city", + "office_address_state", + "office_address_zip", + "office_address_county", + "headquarters_address_street", + "headquarters_address_city", + "headquarters_address_state", + "headquarters_address_zip", + "headquarters_address_county", + "excavation_damage_excavation_practices", + "excavation_damage_locating_practices", + "excavation_damage_one_call_notification", + "excavation_damage_other", + "excavation_damage_total", + "excavation_tickets", + "services_efv_in_system", + "services_efv_installed", + "services_shutoff_valve_in_system", + "services_shutoff_valve_installed", + "federal_land_leaks_repaired_or_scheduled", + "percent_unaccounted_for_gas", + "additional_information", + "preparer_email", + "preparer_fax", + "preparer_name", + "preparer_phone", + "preparer_title"], + "columns_to_convert_to_ints": [ + "report_year", + "report_number", + "operator_id_phmsa", + "excavation_damage_excavation_practices", + "excavation_damage_locating_practices", + "excavation_damage_one_call_notification", + "excavation_damage_other", + "excavation_damage_total", + "excavation_tickets", + "services_efv_in_system", + "services_efv_installed", + "services_shutoff_valve_in_system", + "services_shutoff_valve_installed" + ], + "columns_with_nas_to_fill": [ + "excavation_damage_excavation_practices", + "excavation_damage_locating_practices", + "excavation_damage_one_call_notification", + "excavation_damage_other", + "excavation_damage_total", + "excavation_tickets", + "services_efv_in_system", + "services_efv_installed", + "services_shutoff_valve_in_system", + "services_shutoff_valve_installed", + "federal_land_leaks_repaired_or_scheduled" + ], + "capitalization_exclusion": [ + "headquarters_address_state", + "office_address_state" + ], + "cols_for_state_standardization": [ + "headquarters_address_state", + "office_address_state" + ] +} + +############################################################################## +# PHMSAGAS transformation logic +############################################################################## + +@asset( + ins={ + "raw_data": AssetIn(key="raw_phmsagas__yearly_distribution") + }, + io_manager_key=None, # TODO: check on this one ("pudl_io_manager"? something else?) + compute_kind=None, # TODO: check on this one +) +def core_phmsagas__yearly_distribution_operators( + raw_data: pd.DataFrame, +) -> pd.DataFrame: + """Build the :ref:`core_phmsagas__yearly_distribution_operators`. + """ + df = raw_data[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_keep"]] + df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"]] = df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"]].astype("Int64") + + # Ensure all "report_year" values have four digits + mask = df["report_year"] < 100 + + # Convert 2-digit years to appropriate 4-digit format (assume cutoff at year 50) + # We could also use the first 4 digits of the "report_number" but there was at least one anomaly here with an invalid year + df.loc[mask, "report_year"] = df.loc[mask, "report_year"].apply( + lambda x: 2000 + x if x < 50 else 1900 + x + ) + + # Fill NA values with zeroes because these columns are simply counts. + # Note that "excavation_damage..." columns should sum up to the value in "excavation_damage_total". However, many rows + # (on the scale of thousands) do not actually sum up to "excavation_damage_total". + df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_with_nas_to_fill"]] = df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_with_nas_to_fill"]].fillna(0) + + # Fill in bad strings + df = fix_na(df) + + # Standardize case for city, county, operator name, etc. + # Capitalize the first letter of each word in all object-type columns except the excluded ones + df[df.select_dtypes(include=['object']).columns.difference(YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"])] = \ + df[df.select_dtypes(include=['object']).columns.difference(YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"])].apply(lambda col: col.str.title()) + + # List of state columns to standardize + df = standardize_state_columns(df, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["cols_for_state_standardization"]) + + # Trim all the object-type columns + df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x) + + # Standardize telephone and fax number format and drop (000)-000-0000 + df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) + + # Standardize zip codes + df["office_address_zip"] = zero_pad_numeric_string(df["office_address_zip"], n_digits=5) + df["headquarters_address_zip"] = zero_pad_numeric_string(df["headquarters_address_zip"], n_digits=5) + + return df From 66b63b234c5c98475474ea4f234661e7eaebef1f Mon Sep 17 00:00:00 2001 From: sam Date: Thu, 24 Oct 2024 09:17:05 -0400 Subject: [PATCH 11/39] Remove old files and cleanup helpers --- docs/dev/index.rst | 1 - docs/dev/naming_conventions.rst | 16 +-- docs/dev/troubleshooting.rst | 40 -------- docs/images/asset_groups.png | Bin 558937 -> 0 bytes src/pudl/helpers.py | 97 +++++++++--------- src/pudl/package_data/phmsagas/csv-updater.py | 31 ------ 6 files changed, 56 insertions(+), 129 deletions(-) delete mode 100644 docs/dev/troubleshooting.rst delete mode 100644 docs/images/asset_groups.png delete mode 100644 src/pudl/package_data/phmsagas/csv-updater.py diff --git a/docs/dev/index.rst b/docs/dev/index.rst index 5479c6dbc8..681501894e 100644 --- a/docs/dev/index.rst +++ b/docs/dev/index.rst @@ -20,4 +20,3 @@ Development data_guidelines nightly_data_builds infrastructure_as_code - troubleshooting diff --git a/docs/dev/naming_conventions.rst b/docs/dev/naming_conventions.rst index d40cd55db1..b52c4a0447 100644 --- a/docs/dev/naming_conventions.rst +++ b/docs/dev/naming_conventions.rst @@ -13,17 +13,11 @@ Asset Naming Conventions --------------------------------------------------- PUDL's data processing is divided into three layers of Dagster assets: Raw, Core -and Output. Dagster assets, which are the core unit of computation in PUDL, are -organized into groups. PUDL's asset groups look like this: - -.. image:: ../images/asset_groups.png - :width: 800 - :alt: Asset groups in Dagster UI - -The outputs of individual assets can be persisted to any type of storage though PUDL -outputs are typically tables in a SQLite database, parquet files or pickle files -(read more about this here: :doc:`../index`). The asset name is used for the table -or parquet file name. Asset names should generally follow this naming convention: +and Output. Dagster assets are the core unit of computation in PUDL. The outputs +of assets can be persisted to any type of storage though PUDL outputs are typically +tables in a SQLite database, parquet files or pickle files (read more about this here: +:doc:`../index`). The asset name is used for the table or parquet file name. Asset +names should generally follow this naming convention: .. code-block:: diff --git a/docs/dev/troubleshooting.rst b/docs/dev/troubleshooting.rst deleted file mode 100644 index 2f668e3b64..0000000000 --- a/docs/dev/troubleshooting.rst +++ /dev/null @@ -1,40 +0,0 @@ -=============================================================================== -Development Troubleshooting -=============================================================================== - -Having trouble working on a ticket or with a new asset? Look below for -recommendations on how to handle specific issues that might pop up. (Note that -this list is evolving over time.) - -------------------------------------------------------------------------------- -Extracting all years of data from a Zenodo archive -------------------------------------------------------------------------------- - -Let's say you're working with raw data from PUDL's :ref:`Zenodo archive -`. You downloaded the raw data and now you want to materialize -all years available in the archive. In this case, you need to make sure to -materialize the asset group - not just the relevant "...__all_dfs" asset. - -------------------------------------------------------------------------------- -Catch up to the current state of PUDL -------------------------------------------------------------------------------- - -Maybe you haven't worked on PUDL for a while or you're working on a ticket but -you want to make sure that your version of the repo is up-to-date with the -production version. Once you've activated your local environment, run the -following commands to make sure you have the latest code: - -.. code-block:: console - - $ git fetch upstream - $ git merge upstream/main - -Then, download the latest validated data from AWS S3 storage buckets into your -local PUDL output folder with: - -.. code-block:: console - - $ aws s3 cp s3://pudl.catalyst.coop/nightly/pudl.sqlite.zip $PUDL_OUTPUT - --no-sign-request - $ unzip $PUDL_OUTPUT/pudl.sqlite.zip -d $PUDL_OUTPUT - diff --git a/docs/images/asset_groups.png b/docs/images/asset_groups.png deleted file mode 100644 index 8455271bb1e9667beb8c75cfa45b7cf14b28b167..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558937 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

@_qv0Sz=M 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 z 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%0D)UU3p>g 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

Jx;89ik!;7o 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 str | None: + """Get either the unique source in a group or return mixed. + + Custom function for groupby.agg. Written specifically for + aggregating records with fuel_cost_per_mmbtu_source. + """ + sources = [source for source in x.tolist() if isinstance(source, str)] + if len(sources) > 1: + source = "mixed" + elif len(sources) == 1: + source = sources[0] + else: + source = pd.NA + return source + + def count_records( df: pd.DataFrame, cols: list[str], new_count_col_name: str ) -> pd.DataFrame: @@ -2173,28 +2188,24 @@ def retry( def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFrame: """Standardize phone numbers in the specified columns of the DataFrame. - US numbers: ###-###-#### International numbers with the international code at the beginning. Numbers with extensions will be appended with "x#". - Non-numeric entries will be returned as np.nan. Entries with fewer than 10 digits will be returned with no hyphens. - Args: df: The DataFrame to modify. columns: A list of the names of the columns that need to be standardized - Returns: The modified DataFrame with standardized phone numbers in the same column. """ - + # Function to clean and standardize phone numbers def standardize_phone_number(phone: str) -> str: # Check if the value is NaN, return it as is if pd.isna(phone): return phone - + # Split phone number and extension, if present phone_parts = re.split(r'[xX]', str(phone)) phone_main = phone_parts[0] # Main phone number @@ -2202,11 +2213,11 @@ def standardize_phone_number(phone: str) -> str: # Remove unwanted characters (parentheses, spaces, periods, and dashes) from the main phone number phone_main = re.sub(r'[^\d]', '', phone_main.replace(".0", "")) # Keep only digits - + # If phone_main is not numeric, return np.nan if not phone_main.isdigit(): return np.nan - + # Grab the length for the next series of formatting steps phone_main_len = len(phone_main) @@ -2221,17 +2232,17 @@ def standardize_phone_number(phone: str) -> str: # If the phone number has exactly 10 digits, format it as XXX-XXX-XXXX if phone_main_len == 10: formatted_phone = f'{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}' - + # If the phone number has more than 10 digits, treat the additional digits as international code elif phone_main_len > 10: intl_code = phone_main[:-10] # Digits before the last 10 main_number = phone_main[-10:] # Last 10 digits are the phone number formatted_phone = f'+{intl_code}-{main_number[:3]}-{main_number[3:6]}-{main_number[6:]}' - + # Add the extension back if present if extension: return f'{formatted_phone}x{extension}' - + return formatted_phone # Apply the standardization function directly to the specified columns @@ -2244,43 +2255,40 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: """ Analyze columns of a DataFrame for missing or invalid values. Note that this is purely for analysis and does not perform any data transformation or cleaning. - This function checks each column for missing or custom missing values and prints a summary of the findings for string (object), numeric, and datetime columns. - Args: df: The DataFrame to analyze. - Returns: exception_cols: List of names of columns that couldn't be analyzed due to a caught exception. """ - + nan_cols = [] exception_cols = [] - + # Define custom missing value markers custom_missing_values = ['', ' ', 'NA', 'N/A', 'NULL', '-', 'None', 'NaN', '?', '*', '#'] - + # Analyze columns for missing values for col in df.columns: try: print(f"Analyzing column: {col}") - + # Get the column values col_data = df[col] - + # Check if the column is of string (object) type if col_data.dtype == 'object': # Count rows where the value is NaN, None, empty string, or custom missing values none_count = col_data.isna().sum() # Count None (NaN) empty_string_count = (col_data.str.strip() == '').sum() # Count empty strings custom_missing_count = col_data.isin(custom_missing_values).sum() # Count custom missing values - + total_nan_count = none_count + empty_string_count + custom_missing_count - + if total_nan_count > 0: nan_cols.append(col) - + # Output counts print(f"Column '{col}' is a string type.") if none_count > 0: @@ -2294,25 +2302,25 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: print(df[df[col].isin(custom_missing_values)].head()) if none_count == 0 and empty_string_count == 0 and custom_missing_count == 0: print("Found nothing worth reporting here") - + # Check if the column is numeric (int or float) elif pd.api.types.is_numeric_dtype(col_data): # Count NA values in the column na_count = col_data.isna().sum() # Count custom missing values in numeric columns (if applicable) custom_missing_numeric_count = col_data.isin([0]).sum() # Assuming 0 is considered a missing value - + if na_count > 0 or custom_missing_numeric_count > 0: nan_cols.append(col) - + # Handle the non-NA data for further analysis col_data_cleaned = col_data.dropna() - + if not col_data_cleaned.empty: # Calculate min and max min_val = col_data_cleaned.min() max_val = col_data_cleaned.max() - + if min_val < 0 or na_count > 0 or custom_missing_numeric_count > 0: print(f"Min value: {min_val}") print(f"Max value: {max_val}") @@ -2326,25 +2334,25 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: print("Found nothing worth reporting here") else: print(f"Column '{col}' is numeric but contains only NA values.") - + # Check if the column is a datetime type elif pd.api.types.is_datetime64_any_dtype(col_data): # Count NA values in the datetime column na_count = col_data.isna().sum() # Assuming custom missing values might be present in string form before conversion custom_missing_count = col_data.isin(custom_missing_values).sum() - + if na_count > 0 or custom_missing_count > 0: nan_cols.append(col) - + # Handle the non-NA data for further analysis col_data_cleaned = col_data.dropna() - + if not col_data_cleaned.empty: # Output min and max datetime values min_date = col_data_cleaned.min() max_date = col_data_cleaned.max() - + if na_count > 0 or custom_missing_count > 0: print(f"Min date: {min_date}") print(f"Max date: {max_date}") @@ -2356,12 +2364,12 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: print("Found nothing worth reporting here") else: print(f"Column '{col}' is datetime but contains only NA values.") - + # If the column is of some other type, simply note the type else: print(f"Column '{col}' is of type {col_data.dtype}.") print("") - + except Exception as e: exception_cols.append(col) print(f"Caught exception for column {col}: {e}\n") @@ -2376,15 +2384,13 @@ def standardize_state_columns(df: pd.DataFrame, state_columns: list) -> pd.DataF """ Standardizes the state strings in the specified columns by replacing full state names with their two-letter abbreviations and capitalizing the strings. - Args: df: The DataFrame containing the state columns to standardize. state_columns: A list of column names where state standardization should be applied. - Returns: The DataFrame with standardized state columns. """ - + # Dictionary mapping full state names to their two-letter abbreviations state_abbreviations = { "Alabama": "AL", "Alaska": "AK", "Arizona": "AZ", "Arkansas": "AR", @@ -2401,9 +2407,8 @@ def standardize_state_columns(df: pd.DataFrame, state_columns: list) -> pd.DataF "Vermont": "VT", "Virginia": "VA", "Washington": "WA", "West Virginia": "WV", "Wisconsin": "WI", "Wyoming": "WY" } - + for col in state_columns: df[col] = df[col].replace(state_abbreviations).str.upper() - - return df + return df diff --git a/src/pudl/package_data/phmsagas/csv-updater.py b/src/pudl/package_data/phmsagas/csv-updater.py deleted file mode 100644 index b07ac86562..0000000000 --- a/src/pudl/package_data/phmsagas/csv-updater.py +++ /dev/null @@ -1,31 +0,0 @@ -import pandas as pd -import glob -import os - -# Path to your CSV files, assuming they are all in the same directory -csv_files = glob.glob('/Users/sam/Documents/pudl/src/pudl/package_data/phmsagas/column_maps/*.csv') - -for file in csv_files: - # Get the base name of the file (excluding the path) to compare with 'page_part.csv' - if os.path.basename(file) == 'page_part_map.csv': - print(f"Skipping {file}.") - continue # Skip this file - - # Load the CSV file into a dataframe - df = pd.read_csv(file) - - # Ensure the last column in the header is for 2022, before adding 2023 - if df.columns[-1] == '2022': - # Create a new "2023" column by copying the "2022" column - df['2023'] = df['2022'] - - # Replace occurrences of '2022' with '2023' and '22' with '23' in the new "2023" column - df['2023'] = df['2023'].astype(str).replace('2022', '2023', regex=True) - df['2023'] = df['2023'].astype(str).replace(r'\b22\b', '23', regex=True) - - # Save the modified dataframe back to the CSV file (overwrite) - df.to_csv(file, index=False) - - print(f"Updated {file} successfully.") - else: - print(f"Skipped {file}, as the last column is not 2022.") From cfc62d48abd845abbc080abf6fea33f1e910eebc Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 13:22:43 +0000 Subject: [PATCH 12/39] [pre-commit.ci] auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pudl/helpers.py | 145 +++++++++++++++++++++++++-------- src/pudl/transform/phmsagas.py | 91 ++++++++++++--------- 2 files changed, 161 insertions(+), 75 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index f5c3c94a0e..164c0b9f57 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2186,6 +2186,7 @@ def retry( time.sleep(delay) return func(**kwargs) + def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFrame: """Standardize phone numbers in the specified columns of the DataFrame. US numbers: ###-###-#### @@ -2193,6 +2194,7 @@ def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFra Numbers with extensions will be appended with "x#". Non-numeric entries will be returned as np.nan. Entries with fewer than 10 digits will be returned with no hyphens. + Args: df: The DataFrame to modify. columns: A list of the names of the columns that need to be standardized @@ -2207,12 +2209,16 @@ def standardize_phone_number(phone: str) -> str: return phone # Split phone number and extension, if present - phone_parts = re.split(r'[xX]', str(phone)) + phone_parts = re.split(r"[xX]", str(phone)) phone_main = phone_parts[0] # Main phone number - extension = phone_parts[1].strip() if len(phone_parts) > 1 else None # Extension, if it exists + extension = ( + phone_parts[1].strip() if len(phone_parts) > 1 else None + ) # Extension, if it exists # Remove unwanted characters (parentheses, spaces, periods, and dashes) from the main phone number - phone_main = re.sub(r'[^\d]', '', phone_main.replace(".0", "")) # Keep only digits + phone_main = re.sub( + r"[^\d]", "", phone_main.replace(".0", "") + ) # Keep only digits # If phone_main is not numeric, return np.nan if not phone_main.isdigit(): @@ -2222,7 +2228,7 @@ def standardize_phone_number(phone: str) -> str: phone_main_len = len(phone_main) # If phone_main is all zeroes, return np.nan - if phone_main == '0' * phone_main_len: + if phone_main == "0" * phone_main_len: return np.nan # If the phone number has fewer than 10 digits, return it as a plain string @@ -2231,17 +2237,19 @@ def standardize_phone_number(phone: str) -> str: # If the phone number has exactly 10 digits, format it as XXX-XXX-XXXX if phone_main_len == 10: - formatted_phone = f'{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}' + formatted_phone = f"{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}" # If the phone number has more than 10 digits, treat the additional digits as international code elif phone_main_len > 10: intl_code = phone_main[:-10] # Digits before the last 10 main_number = phone_main[-10:] # Last 10 digits are the phone number - formatted_phone = f'+{intl_code}-{main_number[:3]}-{main_number[3:6]}-{main_number[6:]}' + formatted_phone = ( + f"+{intl_code}-{main_number[:3]}-{main_number[3:6]}-{main_number[6:]}" + ) # Add the extension back if present if extension: - return f'{formatted_phone}x{extension}' + return f"{formatted_phone}x{extension}" return formatted_phone @@ -2251,23 +2259,36 @@ def standardize_phone_number(phone: str) -> str: return df + def analyze_missing_values(df: pd.DataFrame) -> list[str]: - """ - Analyze columns of a DataFrame for missing or invalid values. Note that this is purely for analysis + """Analyze columns of a DataFrame for missing or invalid values. Note that this is purely for analysis and does not perform any data transformation or cleaning. This function checks each column for missing or custom missing values and prints a summary of the findings for string (object), numeric, and datetime columns. + Args: df: The DataFrame to analyze. + Returns: exception_cols: List of names of columns that couldn't be analyzed due to a caught exception. """ - nan_cols = [] exception_cols = [] # Define custom missing value markers - custom_missing_values = ['', ' ', 'NA', 'N/A', 'NULL', '-', 'None', 'NaN', '?', '*', '#'] + custom_missing_values = [ + "", + " ", + "NA", + "N/A", + "NULL", + "-", + "None", + "NaN", + "?", + "*", + "#", + ] # Analyze columns for missing values for col in df.columns: @@ -2278,11 +2299,15 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: col_data = df[col] # Check if the column is of string (object) type - if col_data.dtype == 'object': + if col_data.dtype == "object": # Count rows where the value is NaN, None, empty string, or custom missing values none_count = col_data.isna().sum() # Count None (NaN) - empty_string_count = (col_data.str.strip() == '').sum() # Count empty strings - custom_missing_count = col_data.isin(custom_missing_values).sum() # Count custom missing values + empty_string_count = ( + col_data.str.strip() == "" + ).sum() # Count empty strings + custom_missing_count = col_data.isin( + custom_missing_values + ).sum() # Count custom missing values total_nan_count = none_count + empty_string_count + custom_missing_count @@ -2296,11 +2321,15 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: print(df[df[col].isna()].head()) if empty_string_count > 0: print(f"Rows with empty strings: {empty_string_count}") - print(df[df[col].str.strip() == ''].head()) + print(df[df[col].str.strip() == ""].head()) if custom_missing_count > 0: print(f"Rows with custom missing values: {custom_missing_count}") print(df[df[col].isin(custom_missing_values)].head()) - if none_count == 0 and empty_string_count == 0 and custom_missing_count == 0: + if ( + none_count == 0 + and empty_string_count == 0 + and custom_missing_count == 0 + ): print("Found nothing worth reporting here") # Check if the column is numeric (int or float) @@ -2308,7 +2337,9 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: # Count NA values in the column na_count = col_data.isna().sum() # Count custom missing values in numeric columns (if applicable) - custom_missing_numeric_count = col_data.isin([0]).sum() # Assuming 0 is considered a missing value + custom_missing_numeric_count = col_data.isin( + [0] + ).sum() # Assuming 0 is considered a missing value if na_count > 0 or custom_missing_numeric_count > 0: nan_cols.append(col) @@ -2328,9 +2359,15 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: print(f"Rows with NA values: {na_count}") print(df[df[col].isna()].head()) if custom_missing_numeric_count > 0: - print(f"Custom missing values (e.g., 0): {custom_missing_numeric_count}") + print( + f"Custom missing values (e.g., 0): {custom_missing_numeric_count}" + ) print(df[df[col].isin([0])].head()) - if min_val > 0 and na_count == 0 and custom_missing_numeric_count == 0: + if ( + min_val > 0 + and na_count == 0 + and custom_missing_numeric_count == 0 + ): print("Found nothing worth reporting here") else: print(f"Column '{col}' is numeric but contains only NA values.") @@ -2380,32 +2417,70 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: return exception_cols + def standardize_state_columns(df: pd.DataFrame, state_columns: list) -> pd.DataFrame: - """ - Standardizes the state strings in the specified columns by replacing full state names + """Standardizes the state strings in the specified columns by replacing full state names with their two-letter abbreviations and capitalizing the strings. + Args: df: The DataFrame containing the state columns to standardize. state_columns: A list of column names where state standardization should be applied. + Returns: The DataFrame with standardized state columns. """ - # Dictionary mapping full state names to their two-letter abbreviations state_abbreviations = { - "Alabama": "AL", "Alaska": "AK", "Arizona": "AZ", "Arkansas": "AR", - "California": "CA", "Colorado": "CO", "Connecticut": "CT", "Delaware": "DE", - "Florida": "FL", "Georgia": "GA", "Hawaii": "HI", "Idaho": "ID", - "Illinois": "IL", "Indiana": "IN", "Iowa": "IA", "Kansas": "KS", - "Kentucky": "KY", "Louisiana": "LA", "Maine": "ME", "Maryland": "MD", - "Massachusetts": "MA", "Michigan": "MI", "Minnesota": "MN", "Mississippi": "MS", - "Missouri": "MO", "Montana": "MT", "Nebraska": "NE", "Nevada": "NV", - "New Hampshire": "NH", "New Jersey": "NJ", "New Mexico": "NM", "New York": "NY", - "North Carolina": "NC", "North Dakota": "ND", "Ohio": "OH", "Oklahoma": "OK", - "Oregon": "OR", "Pennsylvania": "PA", "Rhode Island": "RI", "South Carolina": "SC", - "South Dakota": "SD", "Tennessee": "TN", "Texas": "TX", "Utah": "UT", - "Vermont": "VT", "Virginia": "VA", "Washington": "WA", "West Virginia": "WV", - "Wisconsin": "WI", "Wyoming": "WY" + "Alabama": "AL", + "Alaska": "AK", + "Arizona": "AZ", + "Arkansas": "AR", + "California": "CA", + "Colorado": "CO", + "Connecticut": "CT", + "Delaware": "DE", + "Florida": "FL", + "Georgia": "GA", + "Hawaii": "HI", + "Idaho": "ID", + "Illinois": "IL", + "Indiana": "IN", + "Iowa": "IA", + "Kansas": "KS", + "Kentucky": "KY", + "Louisiana": "LA", + "Maine": "ME", + "Maryland": "MD", + "Massachusetts": "MA", + "Michigan": "MI", + "Minnesota": "MN", + "Mississippi": "MS", + "Missouri": "MO", + "Montana": "MT", + "Nebraska": "NE", + "Nevada": "NV", + "New Hampshire": "NH", + "New Jersey": "NJ", + "New Mexico": "NM", + "New York": "NY", + "North Carolina": "NC", + "North Dakota": "ND", + "Ohio": "OH", + "Oklahoma": "OK", + "Oregon": "OR", + "Pennsylvania": "PA", + "Rhode Island": "RI", + "South Carolina": "SC", + "South Dakota": "SD", + "Tennessee": "TN", + "Texas": "TX", + "Utah": "UT", + "Vermont": "VT", + "Virginia": "VA", + "Washington": "WA", + "West Virginia": "WV", + "Wisconsin": "WI", + "Wyoming": "WY", } for col in state_columns: diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index ca9ff1271f..ca42cae772 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -1,19 +1,15 @@ -"""Classes & functions to process PHMSA natural gas data before loading into the PUDL DB. -""" +"""Classes & functions to process PHMSA natural gas data before loading into the PUDL DB.""" -import importlib -import re -from dataclasses import dataclass -from typing import Literal - -import numpy as np import pandas as pd -from dagster import AssetCheckResult, AssetChecksDefinition, AssetIn, asset, asset_check +from dagster import AssetIn, asset -from pudl.helpers import zero_pad_numeric_string, standardize_phone_column, fix_na, standardize_state_columns import pudl.logging_helpers -from pudl.extract.ferc714 import TABLE_NAME_MAP_FERC714 -from pudl.settings import PhmsaGasSettings +from pudl.helpers import ( + fix_na, + standardize_phone_column, + standardize_state_columns, + zero_pad_numeric_string, +) logger = pudl.logging_helpers.get_logger(__name__) @@ -24,8 +20,8 @@ YEARLY_DISTRIBUTION_OPERATORS_COLUMNS = { "columns_to_keep": [ "report_date", - "report_number", # not in pudl/metadata/fields.py - "report_submission_type", # not in pudl/metadata/fields.py + "report_number", # not in pudl/metadata/fields.py + "report_submission_type", # not in pudl/metadata/fields.py "report_year", # None of the columns below are in pudl/metadata/fields.py "operator_id_phmsa", @@ -57,7 +53,8 @@ "preparer_fax", "preparer_name", "preparer_phone", - "preparer_title"], + "preparer_title", + ], "columns_to_convert_to_ints": [ "report_year", "report_number", @@ -71,7 +68,7 @@ "services_efv_in_system", "services_efv_installed", "services_shutoff_valve_in_system", - "services_shutoff_valve_installed" + "services_shutoff_valve_installed", ], "columns_with_nas_to_fill": [ "excavation_damage_excavation_practices", @@ -84,36 +81,33 @@ "services_efv_installed", "services_shutoff_valve_in_system", "services_shutoff_valve_installed", - "federal_land_leaks_repaired_or_scheduled" - ], - "capitalization_exclusion": [ - "headquarters_address_state", - "office_address_state" + "federal_land_leaks_repaired_or_scheduled", ], + "capitalization_exclusion": ["headquarters_address_state", "office_address_state"], "cols_for_state_standardization": [ - "headquarters_address_state", - "office_address_state" - ] + "headquarters_address_state", + "office_address_state", + ], } ############################################################################## # PHMSAGAS transformation logic ############################################################################## + @asset( - ins={ - "raw_data": AssetIn(key="raw_phmsagas__yearly_distribution") - }, - io_manager_key=None, # TODO: check on this one ("pudl_io_manager"? something else?) - compute_kind=None, # TODO: check on this one + ins={"raw_data": AssetIn(key="raw_phmsagas__yearly_distribution")}, + io_manager_key=None, # TODO: check on this one ("pudl_io_manager"? something else?) + compute_kind=None, # TODO: check on this one ) def core_phmsagas__yearly_distribution_operators( raw_data: pd.DataFrame, ) -> pd.DataFrame: - """Build the :ref:`core_phmsagas__yearly_distribution_operators`. - """ + """Build the :ref:`core_phmsagas__yearly_distribution_operators`.""" df = raw_data[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_keep"]] - df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"]] = df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"]].astype("Int64") + df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"]] = df[ + YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"] + ].astype("Int64") # Ensure all "report_year" values have four digits mask = df["report_year"] < 100 @@ -127,27 +121,44 @@ def core_phmsagas__yearly_distribution_operators( # Fill NA values with zeroes because these columns are simply counts. # Note that "excavation_damage..." columns should sum up to the value in "excavation_damage_total". However, many rows # (on the scale of thousands) do not actually sum up to "excavation_damage_total". - df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_with_nas_to_fill"]] = df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_with_nas_to_fill"]].fillna(0) + df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_with_nas_to_fill"]] = df[ + YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_with_nas_to_fill"] + ].fillna(0) # Fill in bad strings df = fix_na(df) # Standardize case for city, county, operator name, etc. # Capitalize the first letter of each word in all object-type columns except the excluded ones - df[df.select_dtypes(include=['object']).columns.difference(YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"])] = \ - df[df.select_dtypes(include=['object']).columns.difference(YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"])].apply(lambda col: col.str.title()) + df[ + df.select_dtypes(include=["object"]).columns.difference( + YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] + ) + ] = df[ + df.select_dtypes(include=["object"]).columns.difference( + YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] + ) + ].apply(lambda col: col.str.title()) # List of state columns to standardize - df = standardize_state_columns(df, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["cols_for_state_standardization"]) + df = standardize_state_columns( + df, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["cols_for_state_standardization"] + ) # Trim all the object-type columns - df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x) - + df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes( + include=["object"] + ).applymap(lambda x: x.strip() if isinstance(x, str) else x) + # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) # Standardize zip codes - df["office_address_zip"] = zero_pad_numeric_string(df["office_address_zip"], n_digits=5) - df["headquarters_address_zip"] = zero_pad_numeric_string(df["headquarters_address_zip"], n_digits=5) + df["office_address_zip"] = zero_pad_numeric_string( + df["office_address_zip"], n_digits=5 + ) + df["headquarters_address_zip"] = zero_pad_numeric_string( + df["headquarters_address_zip"], n_digits=5 + ) return df From 32256809132e23795c34992ef5f9aa6309657783 Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 1 Nov 2024 08:07:43 -0400 Subject: [PATCH 13/39] Resolved merge conflicts --- .../work-in-progress/eia861-transform.ipynb | 4 +- .../phmsagas_distribution.ipynb | 446 +++++------------- src/pudl/helpers.py | 90 +--- src/pudl/metadata/enums.py | 8 + src/pudl/metadata/fields.py | 4 +- src/pudl/transform/eia860.py | 26 +- src/pudl/transform/eia861.py | 4 +- src/pudl/transform/eia923.py | 14 +- src/pudl/transform/phmsagas.py | 69 +-- test/unit/helpers_test.py | 6 +- 10 files changed, 188 insertions(+), 483 deletions(-) diff --git a/notebooks/work-in-progress/eia861-transform.ipynb b/notebooks/work-in-progress/eia861-transform.ipynb index 4311e39209..debdcfbf18 100644 --- a/notebooks/work-in-progress/eia861-transform.ipynb +++ b/notebooks/work-in-progress/eia861-transform.ipynb @@ -1438,7 +1438,7 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/var/folders/tf/l271ymp92vvbty6j01j580xm0000gn/T/ipykernel_27389/914883076.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Prep raw data for comparison\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mraw_dfs_dict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0meia861_raw_dfs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mdf_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mraw_dfs_dict\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpudl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhelpers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfix_na\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/var/folders/tf/l271ymp92vvbty6j01j580xm0000gn/T/ipykernel_27389/914883076.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Prep raw data for comparison\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mraw_dfs_dict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0meia861_raw_dfs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mdf_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mraw_dfs_dict\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpudl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhelpers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstandardize_na_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'eia861_raw_dfs' is not defined" ] } @@ -1448,7 +1448,7 @@ "raw_dfs_dict = eia861_raw_dfs.copy()\n", "\n", "for df_name, df in raw_dfs_dict.items():\n", - " df = pudl.helpers.fix_na(df)\n", + " df = pudl.helpers.standardize_na_values(df)\n", " df = pudl.helpers.convert_to_date(df)\n", " raw_dfs_dict[df_name] = df\n", " \n", diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index cb7429f3fb..cfe7af7efb 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -9,21 +9,22 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "from dagster import AssetKey\n", "from pudl.etl import defs\n", "import pandas as pd\n", - "from pudl.helpers import zero_pad_numeric_string, organize_cols, standardize_phone_column, fix_na, analyze_missing_values, standardize_state_columns\n", + "from pudl.helpers import zero_pad_numeric_string, standardize_phone_column, standardize_na_values, standardize_state_columns\n", "import numpy as np\n", - "import re" + "import re\n", + "from pudl.metadata.dfs import POLITICAL_SUBDIVISIONS" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -31,7 +32,7 @@ "output_type": "stream", "text": [ "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-10-24 08:29:46 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + "2024-10-31 09:05:47 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" ] } ], @@ -48,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -92,14 +93,14 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_21894/230972868.py:18: SettingWithCopyWarning: \n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_33478/333100233.py:18: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", @@ -126,8 +127,15 @@ " \"services_shutoff_valve_in_system\",\n", " \"services_shutoff_valve_installed\"\n", "]\n", - "df[columns_to_convert] = df[columns_to_convert].astype(\"Int64\")\n", - "\n", + "df[columns_to_convert] = df[columns_to_convert].astype(\"Int64\")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ "# Ensure all \"report_year\" values have four digits\n", "mask = df[\"report_year\"] < 100\n", "\n", @@ -154,14 +162,14 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_21894/2053832042.py:17: SettingWithCopyWarning: \n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_33478/3067155886.py:17: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", @@ -192,7 +200,7 @@ "df[columns_to_fill] = df[columns_to_fill].fillna(0)\n", "\n", "# Fill in bad strings\n", - "df = fix_na(df)" + "df = standardize_na_values(df)" ] }, { @@ -204,28 +212,96 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([nan, 'GA', 'PA', 'LA', 'AR', 'FL', 'TX', 'MS', 'MO', 'OK', 'AZ',\n", + " 'SC', 'MA', 'MN', 'KS', 'VA', 'DE', 'WY', 'CT', 'AL', 'NY', 'IL',\n", + " 'UT', 'IN', 'WV', 'OH', 'NM', 'HI', 'MI', 'NC', 'KY', 'CO', 'TN',\n", + " 'NE', 'NH', 'MT', 'NJ', 'RI', 'PR', 'NV', 'CA', 'ND', 'DC', 'WI',\n", + " 'AK', 'IA', 'WA', ' ', 'SD', 'ME', 'MD', 'VT', 'ID', 'OR',\n", + " 'Texas', 'California'], dtype=object)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_df['headquarters_address_state'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# Capitalize the first letter of each word in all object-type columns except the excluded ones\n", + "exclude_columns = ['headquarters_address_state', 'office_address_state']\n", + "df[df.select_dtypes(include=['object']).columns.difference(exclude_columns)] = \\\n", + " df[df.select_dtypes(include=['object']).columns.difference(exclude_columns)].apply(lambda col: col.str.title())" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Standardize state abbreviations\n", + "# First create a dictionary of state names to abbreviations\n", + "state_to_abbr = {\n", + " x.subdivision_name: x.subdivision_code\n", + " for x in POLITICAL_SUBDIVISIONS.itertuples()\n", + " if x.country_code == \"USA\" and x.subdivision_type == \"state\"\n", + "}\n", + "# Add abbreviations to the dictionary\n", + "state_to_abbr.update({\n", + " x.subdivision_code: x.subdivision_code\n", + " for x in POLITICAL_SUBDIVISIONS.itertuples()\n", + " if x.country_code == \"USA\" and x.subdivision_type == \"state\"\n", + "})\n", + "\n", + "def standardize_state(state):\n", + " if pd.isna(state):\n", + " return state\n", + " state = state.strip()\n", + " standardized_state = state_to_abbr.get(state, state)\n", + " if standardized_state not in state_to_abbr.values():\n", + " return np.nan\n", + " return standardized_state" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "df[\"headquarters_address_state\"] = df[\"headquarters_address_state\"].apply(standardize_state)\n", + "df[\"office_address_state\"] = df[\"office_address_state\"].apply(standardize_state)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_21894/869871702.py:11: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_33478/1870574866.py:6: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n", " df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x)\n" ] } ], "source": [ - "# Capitalize the first letter of each word in all object-type columns except the excluded ones\n", - "exclude_columns = ['headquarters_address_state', 'office_address_state']\n", - "df[df.select_dtypes(include=['object']).columns.difference(exclude_columns)] = \\\n", - " df[df.select_dtypes(include=['object']).columns.difference(exclude_columns)].apply(lambda col: col.str.title())\n", - "\n", - "# List of state columns to standardize\n", - "state_columns_to_standardize = ['headquarters_address_state', 'office_address_state']\n", - "df = standardize_state_columns(df, state_columns_to_standardize)\n", - "\n", "# Trim all the object-type columns\n", "df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x)" ] @@ -239,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -247,327 +323,21 @@ ] }, { - "cell_type": "code", - "execution_count": 8, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "report_date datetime64[ns]\n", - "report_number Int64\n", - "report_submission_type object\n", - "report_year Int64\n", - "operator_id_phmsa Int64\n", - "operator_name_phmsa object\n", - "office_address_street object\n", - "office_address_city object\n", - "office_address_state object\n", - "office_address_zip object\n", - "office_address_county object\n", - "headquarters_address_street object\n", - "headquarters_address_city object\n", - "headquarters_address_state object\n", - "headquarters_address_zip object\n", - "headquarters_address_county object\n", - "excavation_damage_excavation_practices Int64\n", - "excavation_damage_locating_practices Int64\n", - "excavation_damage_one_call_notification Int64\n", - "excavation_damage_other Int64\n", - "excavation_damage_total Int64\n", - "excavation_tickets Int64\n", - "services_efv_in_system Int64\n", - "services_efv_installed Int64\n", - "services_shutoff_valve_in_system Int64\n", - "services_shutoff_valve_installed Int64\n", - "federal_land_leaks_repaired_or_scheduled float64\n", - "percent_unaccounted_for_gas float64\n", - "additional_information object\n", - "preparer_email object\n", - "preparer_fax object\n", - "preparer_name object\n", - "preparer_phone object\n", - "preparer_title object\n", - "dtype: object" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "df.dtypes" + "### Other cleanup" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 23, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipheadquarters_address_countyexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_title
153292000-12-2820000002NaN200021170Velma Public Works AuthPo Box 5, Main & HargroveVelmaOKNaNStephensNaNNaNOKNaNNaN00000000000.04.0NaNNaNNaNPaula LynnNaNNaN
153302000-12-2720000003NaN200030584Pentex Pipeline Company579 Brighton WayPhoenixvillePANaNNaN3131 Mckinney Ave #100DallasTXNaNNaN00000000000.0NaN1.5 Mile 3\" Pipeline Service Customer At A Cus...NaNNaNMark D CasadayNaNNaN
153312000-12-2720000004NaN200022588Whittemore, Town Of310 Fourth StreetWhittemoreIANaNKossuthNaNNaNNaNNaNNaN00000000000.04.0NaNNaNNaNLinda K. FarrellNaNNaN
153322000-12-2620000005NaN200018676Sturgis Natural Gas SystemNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN00000000000.0NaNNaNNaNNaNMike DemossNaNNaN
153332000-12-2620000006NaN200030865St. Robert, City Of115 Plattner St.St RobertMONaNPulaskiNaNNaNNaNNaNNaN00000000000.01.0NaNNaNNaNMatt F WoodNaNNaN
\n", - "
" - ], - "text/plain": [ - " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip headquarters_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", - "15329 2000-12-28 20000002 NaN 2000 21170 Velma Public Works Auth Po Box 5, Main & Hargrove Velma OK NaN Stephens NaN NaN OK NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 4.0 NaN NaN NaN Paula Lynn NaN NaN\n", - "15330 2000-12-27 20000003 NaN 2000 30584 Pentex Pipeline Company 579 Brighton Way Phoenixville PA NaN NaN 3131 Mckinney Ave #100 Dallas TX NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 NaN 1.5 Mile 3\" Pipeline Service Customer At A Cus... NaN NaN Mark D Casaday NaN NaN\n", - "15331 2000-12-27 20000004 NaN 2000 22588 Whittemore, Town Of 310 Fourth Street Whittemore IA NaN Kossuth NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 4.0 NaN NaN NaN Linda K. Farrell NaN NaN\n", - "15332 2000-12-26 20000005 NaN 2000 18676 Sturgis Natural Gas System NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 NaN NaN NaN NaN Mike Demoss NaN NaN\n", - "15333 2000-12-26 20000006 NaN 2000 30865 St. Robert, City Of 115 Plattner St. St Robert MO NaN Pulaski NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0.0 1.0 NaN NaN NaN Matt F Wood NaN NaN" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "df[df.report_date.notna()].head()" + "# Standardize zip codes\n", + "df[\"office_address_zip\"] = zero_pad_numeric_string(df[\"office_address_zip\"], n_digits=5)\n", + "df[\"headquarters_address_zip\"] = zero_pad_numeric_string(df[\"headquarters_address_zip\"], n_digits=5)" ] }, { diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 164c0b9f57..d5ff69c172 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -1009,7 +1009,7 @@ def remove_leading_zeros_from_numeric_strings( return df -def fix_na(df: pd.DataFrame) -> pd.DataFrame: +def standardize_na_values(df: pd.DataFrame) -> pd.DataFrame: """Replace common ill-posed EIA NA spreadsheet values with np.nan. Currently replaces empty string, single decimal points with no numbers, @@ -2231,21 +2231,12 @@ def standardize_phone_number(phone: str) -> str: if phone_main == "0" * phone_main_len: return np.nan - # If the phone number has fewer than 10 digits, return it as a plain string - if phone_main_len < 10: - return phone_main - # If the phone number has exactly 10 digits, format it as XXX-XXX-XXXX if phone_main_len == 10: - formatted_phone = f"{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}" - - # If the phone number has more than 10 digits, treat the additional digits as international code - elif phone_main_len > 10: - intl_code = phone_main[:-10] # Digits before the last 10 - main_number = phone_main[-10:] # Last 10 digits are the phone number - formatted_phone = ( - f"+{intl_code}-{main_number[:3]}-{main_number[3:6]}-{main_number[6:]}" - ) + formatted_phone = f'{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}' + # Return all numbers that are not 10 digits as-is + else: + formatted_phone = phone_main # Add the extension back if present if extension: @@ -2416,74 +2407,3 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: print(f"Columns with exceptions during processing: {exception_cols}") return exception_cols - - -def standardize_state_columns(df: pd.DataFrame, state_columns: list) -> pd.DataFrame: - """Standardizes the state strings in the specified columns by replacing full state names - with their two-letter abbreviations and capitalizing the strings. - - Args: - df: The DataFrame containing the state columns to standardize. - state_columns: A list of column names where state standardization should be applied. - - Returns: - The DataFrame with standardized state columns. - """ - # Dictionary mapping full state names to their two-letter abbreviations - state_abbreviations = { - "Alabama": "AL", - "Alaska": "AK", - "Arizona": "AZ", - "Arkansas": "AR", - "California": "CA", - "Colorado": "CO", - "Connecticut": "CT", - "Delaware": "DE", - "Florida": "FL", - "Georgia": "GA", - "Hawaii": "HI", - "Idaho": "ID", - "Illinois": "IL", - "Indiana": "IN", - "Iowa": "IA", - "Kansas": "KS", - "Kentucky": "KY", - "Louisiana": "LA", - "Maine": "ME", - "Maryland": "MD", - "Massachusetts": "MA", - "Michigan": "MI", - "Minnesota": "MN", - "Mississippi": "MS", - "Missouri": "MO", - "Montana": "MT", - "Nebraska": "NE", - "Nevada": "NV", - "New Hampshire": "NH", - "New Jersey": "NJ", - "New Mexico": "NM", - "New York": "NY", - "North Carolina": "NC", - "North Dakota": "ND", - "Ohio": "OH", - "Oklahoma": "OK", - "Oregon": "OR", - "Pennsylvania": "PA", - "Rhode Island": "RI", - "South Carolina": "SC", - "South Dakota": "SD", - "Tennessee": "TN", - "Texas": "TX", - "Utah": "UT", - "Vermont": "VT", - "Virginia": "VA", - "Washington": "WA", - "West Virginia": "WV", - "Wisconsin": "WI", - "Wyoming": "WY", - } - - for col in state_columns: - df[col] = df[col].replace(state_abbreviations).str.upper() - - return df diff --git a/src/pudl/metadata/enums.py b/src/pudl/metadata/enums.py index dcdb53565a..c9e6f883b2 100644 --- a/src/pudl/metadata/enums.py +++ b/src/pudl/metadata/enums.py @@ -640,3 +640,11 @@ "utility_operating_expenses", ] """Income types for FERC Form 1 data.""" + +US_STATE_CODES: set[str] = set( + POLITICAL_SUBDIVISIONS.loc[ + (POLITICAL_SUBDIVISIONS.country_code == "USA") & + (POLITICAL_SUBDIVISIONS.subdivision_type == "state"), + "subdivision_name" + ] +) \ No newline at end of file diff --git a/src/pudl/metadata/fields.py b/src/pudl/metadata/fields.py index 6f1554b40d..e2087f95af 100644 --- a/src/pudl/metadata/fields.py +++ b/src/pudl/metadata/fields.py @@ -8,7 +8,7 @@ from pudl.metadata.codes import CODE_METADATA from pudl.metadata.constants import FIELD_DTYPES_PANDAS -from pudl.metadata.dfs import BALANCING_AUTHORITY_SUBREGIONS_EIA +from pudl.metadata.dfs import BALANCING_AUTHORITY_SUBREGIONS_EIA, POLITICAL_SUBDIVISIONS from pudl.metadata.enums import ( ASSET_TYPES_FERC1, COUNTRY_CODES_ISO3166, @@ -35,6 +35,7 @@ TECH_DESCRIPTIONS, TECH_DESCRIPTIONS_EIAAEO, TECH_DESCRIPTIONS_NRELATB, + US_STATE_CODES, US_TIMEZONES, UTILITY_PLANT_ASSET_TYPES_FERC1, ) @@ -4249,6 +4250,7 @@ # different tables. E.g. state of the utility's HQ address vs. state that a # plant is located in vs. state in which a utility provides service. "description": "Two letter US state abbreviation.", + "constraints": {"enum": US_STATE_CODES}, }, "state_id_fips": { "type": "string", diff --git a/src/pudl/transform/eia860.py b/src/pudl/transform/eia860.py index 812a1c1853..d119fcd3d2 100644 --- a/src/pudl/transform/eia860.py +++ b/src/pudl/transform/eia860.py @@ -35,7 +35,7 @@ def _core_eia860__ownership(raw_eia860__ownership: pd.DataFrame) -> pd.DataFrame # Preliminary clean and get rid of unnecessary 'year' column own_df = ( raw_eia860__ownership.copy() - .pipe(pudl.helpers.fix_na) + .pipe(pudl.helpers.standardize_na_values) .pipe(pudl.helpers.convert_to_date) .drop(columns=["year"]) ) @@ -278,7 +278,7 @@ def _core_eia860__generators( gens_df = ( pd.concat([ge_df, gp_df, gr_df, g_df], sort=True) .dropna(subset=["generator_id", "plant_id_eia"]) - .pipe(pudl.helpers.fix_na) + .pipe(pudl.helpers.standardize_na_values) .pipe( pudl.helpers.fix_boolean_columns, boolean_columns_to_fix=boolean_columns_to_fix, @@ -357,7 +357,7 @@ def _core_eia860__generators_solar( ) solar_df = ( pd.concat([solar_existing, solar_retired], sort=True) - .pipe(pudl.helpers.fix_na) + .pipe(pudl.helpers.standardize_na_values) .pipe(pudl.helpers.fix_boolean_columns, boolean_columns_to_fix) .pipe(pudl.helpers.month_year_to_date) .pipe(pudl.helpers.convert_to_date) @@ -395,7 +395,7 @@ def _core_eia860__generators_energy_storage( storage_df = ( pd.concat([storage_ex, storage_pr, storage_re], sort=True) - .pipe(pudl.helpers.fix_na) + .pipe(pudl.helpers.standardize_na_values) .pipe(pudl.helpers.month_year_to_date) .pipe(pudl.helpers.convert_to_date) .pipe( @@ -446,7 +446,7 @@ def _core_eia860__generators_wind( wind_df = ( pd.concat([wind_ex, wind_re], sort=True) - .pipe(pudl.helpers.fix_na) + .pipe(pudl.helpers.standardize_na_values) .pipe(pudl.helpers.month_year_to_date) .pipe(pudl.helpers.convert_to_date) .pipe( @@ -491,7 +491,7 @@ def _core_eia860__plants(raw_eia860__plant: pd.DataFrame) -> pd.DataFrame: """ # Populating the '_core_eia860__plants' table p_df = ( - raw_eia860__plant.pipe(pudl.helpers.fix_na) + raw_eia860__plant.pipe(pudl.helpers.standardize_na_values) .astype({"zip_code": str}) .drop("iso_rto", axis="columns") ) @@ -600,7 +600,7 @@ def _core_eia860__utilities(raw_eia860__utility: pd.DataFrame) -> pd.DataFrame: u_df = raw_eia860__utility # Replace empty strings, whitespace, and '.' fields with real NA values - u_df = pudl.helpers.fix_na(u_df) + u_df = pudl.helpers.standardize_na_values(u_df) u_df["state"] = u_df.state.str.upper() u_df["state"] = u_df.state.replace( { @@ -694,7 +694,7 @@ def _core_eia860__boilers( b_df = ( pd.concat([b_df, ecs], sort=True) .dropna(subset=["boiler_id", "plant_id_eia"]) - .pipe(pudl.helpers.fix_na) + .pipe(pudl.helpers.standardize_na_values) ) # Defensive check: if any values in boiler_fuel_code_5 - boiler_fuel_code_8, @@ -866,7 +866,7 @@ def _core_eia860__emissions_control_equipment( ) -> pd.DataFrame: """Pull and transform the emissions control equipment table.""" # Replace empty strings, whitespace, and '.' fields with real NA values - emce_df = pudl.helpers.fix_na(raw_eia860__emissions_control_equipment) + emce_df = pudl.helpers.standardize_na_values(raw_eia860__emissions_control_equipment) # Spot fix bad months emce_df["emission_control_operating_month"] = emce_df[ @@ -1072,7 +1072,7 @@ def _core_eia860__boiler_cooling( A cleaned and normalized version of the EIA boiler to cooler ID table. """ # Replace empty strings, whitespace, and '.' fields with real NA values - bc_assn = pudl.helpers.fix_na(raw_eia860__boiler_cooling) + bc_assn = pudl.helpers.standardize_na_values(raw_eia860__boiler_cooling) # Replace the report year col with a report date col for the harvesting process bc_assn = pudl.helpers.convert_to_date( df=bc_assn, year_col="report_year", date_col="report_date" @@ -1097,7 +1097,7 @@ def _core_eia860__boiler_stack_flue( A cleaned and normalized version of the EIA boiler to stack flue ID table. """ # Replace empty strings, whitespace, and '.' fields with real NA values - bsf_assn = pudl.helpers.fix_na(raw_eia860__boiler_stack_flue) + bsf_assn = pudl.helpers.standardize_na_values(raw_eia860__boiler_stack_flue) # Replace the report year col with a report date col for the harvesting process bsf_assn = pudl.helpers.convert_to_date( df=bsf_assn, year_col="report_year", date_col="report_date" @@ -1156,7 +1156,7 @@ def _core_eia860__cooling_equipment( ce_df = raw_eia860__cooling_equipment # Generic cleaning - ce_df = ce_df.pipe(pudl.helpers.fix_na).pipe(pudl.helpers.add_fips_ids) + ce_df = ce_df.pipe(pudl.helpers.standardize_na_values).pipe(pudl.helpers.add_fips_ids) # Spot cleaning and date conversion ce_df.loc[ @@ -1271,7 +1271,7 @@ def _core_eia860__fgd_equipment( fgd_df = raw_eia860__fgd_equipment # Generic cleaning - fgd_df = fgd_df.pipe(pudl.helpers.fix_na).pipe(pudl.helpers.add_fips_ids) + fgd_df = fgd_df.pipe(pudl.helpers.standardize_na_values).pipe(pudl.helpers.add_fips_ids) # Spot cleaning and date conversion fgd_df = fgd_df.pipe(pudl.helpers.month_year_to_date).pipe( diff --git a/src/pudl/transform/eia861.py b/src/pudl/transform/eia861.py index e93b922734..4cdd9b1ecf 100644 --- a/src/pudl/transform/eia861.py +++ b/src/pudl/transform/eia861.py @@ -13,7 +13,7 @@ clean_eia_counties, convert_cols_dtypes, convert_to_date, - fix_na, + standardize_na_values, ) from pudl.metadata import PUDL_PACKAGE from pudl.metadata.enums import ( @@ -544,7 +544,7 @@ def _pre_process(df: pd.DataFrame) -> pd.DataFrame: * Convert report_year column to report_date. """ return ( - fix_na(df) + standardize_na_values(df) .drop(columns=["early_release"], errors="ignore") .pipe(convert_to_date) ) diff --git a/src/pudl/transform/eia923.py b/src/pudl/transform/eia923.py index e7e9ebc8c4..4068f209eb 100644 --- a/src/pudl/transform/eia923.py +++ b/src/pudl/transform/eia923.py @@ -658,7 +658,7 @@ def _core_eia923__pre_generation_fuel(raw_eia923__generation_fuel: pd.DataFrame) # Convert the EIA923 DataFrame from yearly to monthly records. gen_fuel = _yearly_to_monthly_records(gen_fuel) # Replace the EIA923 NA value ('.') with a real NA value. - gen_fuel = pudl.helpers.fix_na(gen_fuel) + gen_fuel = pudl.helpers.standardize_na_values(gen_fuel) # Remove "State fuel-level increment" records... which don't pertain to # any particular plant (they have plant_id_eia == operator_id == 99999) gen_fuel = gen_fuel[gen_fuel.plant_id_eia != 99999] @@ -871,7 +871,7 @@ def _core_eia923__boiler_fuel(raw_eia923__boiler_fuel: pd.DataFrame) -> pd.DataF bf_df = _yearly_to_monthly_records(bf_df) # Replace the EIA923 NA value ('.') with a real NA value. - bf_df = pudl.helpers.fix_na(bf_df) + bf_df = pudl.helpers.standardize_na_values(bf_df) # Convert Year/Month columns into a single Date column... bf_df = pudl.helpers.convert_to_date(bf_df) @@ -977,7 +977,7 @@ def _core_eia923__generation(raw_eia923__generator: pd.DataFrame) -> pd.DataFram axis="columns", ) .pipe(_yearly_to_monthly_records) - .pipe(pudl.helpers.fix_na) + .pipe(pudl.helpers.standardize_na_values) .pipe(pudl.helpers.convert_to_date) ) # There are a few records that contain (literal) "nan"s in the generator_id @@ -1148,7 +1148,7 @@ def _core_eia923__fuel_receipts_costs( ) .drop(cols_to_drop, axis=1) # Replace the EIA923 NA value ('.') with a real NA value. - .pipe(pudl.helpers.fix_na) + .pipe(pudl.helpers.standardize_na_values) # These come in ALL CAPS from EIA... .pipe(pudl.helpers.simplify_strings, columns=["supplier_name"]) .pipe( @@ -1235,7 +1235,7 @@ def _core_eia923__cooling_system_information( second, with precision of 0.1 cfs." """ csi_df = raw_eia923__cooling_system_information - csi_df = csi_df.pipe(pudl.helpers.fix_na).pipe(pudl.helpers.convert_to_date) + csi_df = csi_df.pipe(pudl.helpers.standardize_na_values).pipe(pudl.helpers.convert_to_date) # cooling_id_eia is sometimes NA, but we also want to use it as a primary # key. fortunately it's a string so we can just convert all NA values to @@ -1386,7 +1386,7 @@ def _core_eia923__fgd_operation_maintenance( fgd_df = fgd_df.drop_duplicates() # Replace the EIA923 NA value ('.') with a real NA value. - fgd_df = pudl.helpers.fix_na(fgd_df).pipe(pudl.helpers.convert_to_date) + fgd_df = pudl.helpers.standardize_na_values(fgd_df).pipe(pudl.helpers.convert_to_date) # Convert thousands of dollars to dollars fgd_df.loc[:, fgd_df.columns.str.endswith("_1000_dollars")] *= 1000 @@ -1520,7 +1520,7 @@ def _core_eia923__energy_storage( """ es_df = ( - pudl.helpers.fix_na(raw_eia923__energy_storage) + pudl.helpers.standardize_na_values(raw_eia923__energy_storage) .pipe(pudl.helpers.fix_boolean_columns, ["associated_combined_heat_power"]) .pipe(pudl.helpers.simplify_strings, ["fuel_unit"]) .assign( diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index ca42cae772..2550444e30 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -3,13 +3,11 @@ import pandas as pd from dagster import AssetIn, asset +from pudl.helpers import zero_pad_numeric_string, standardize_phone_column, standardize_na_values, standardize_state_columns import pudl.logging_helpers -from pudl.helpers import ( - fix_na, - standardize_phone_column, - standardize_state_columns, - zero_pad_numeric_string, -) +from pudl.extract.ferc714 import TABLE_NAME_MAP_FERC714 +from pudl.settings import PhmsaGasSettings +from pudl.metadata.dfs import POLITICAL_SUBDIVISIONS logger = pudl.logging_helpers.get_logger(__name__) @@ -118,38 +116,45 @@ def core_phmsagas__yearly_distribution_operators( lambda x: 2000 + x if x < 50 else 1900 + x ) - # Fill NA values with zeroes because these columns are simply counts. - # Note that "excavation_damage..." columns should sum up to the value in "excavation_damage_total". However, many rows - # (on the scale of thousands) do not actually sum up to "excavation_damage_total". - df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_with_nas_to_fill"]] = df[ - YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_with_nas_to_fill"] - ].fillna(0) - # Fill in bad strings - df = fix_na(df) + df = standardize_na_values(df) # Standardize case for city, county, operator name, etc. # Capitalize the first letter of each word in all object-type columns except the excluded ones - df[ - df.select_dtypes(include=["object"]).columns.difference( - YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] - ) - ] = df[ - df.select_dtypes(include=["object"]).columns.difference( - YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] - ) - ].apply(lambda col: col.str.title()) - - # List of state columns to standardize - df = standardize_state_columns( - df, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["cols_for_state_standardization"] - ) + df[df.select_dtypes(include=["object"]).columns.difference(YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"])] = \ + df[df.select_dtypes(include=["object"]).columns.difference(YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"])].apply(lambda col: col.str.title()) + + # Standardize state abbreviations + # First create a dictionary of state names to abbreviations + state_to_abbr = { + x.subdivision_name: x.subdivision_code + for x in POLITICAL_SUBDIVISIONS.itertuples() + if x.country_code == "USA" and x.subdivision_type == "state" + } + # Add abbreviations to the dictionary so we can make sure the abbreviations in the raw data exist + state_to_abbr.update({ + x.subdivision_code: x.subdivision_code + for x in POLITICAL_SUBDIVISIONS.itertuples() + if x.country_code == "USA" and x.subdivision_type == "state" + }) + + # Function for looking up state names and abbreviations + def standardize_state(state): + if pd.isna(state): + return state + state = state.strip() + standardized_state = state_to_abbr.get(state, state) + if standardized_state not in state_to_abbr.values(): + return np.nan + return standardized_state + + # Apply the function to your DataFrame columns + df["headquarters_address_state"] = df["headquarters_address_state"].apply(standardize_state) + df["office_address_state"] = df["office_address_state"].apply(standardize_state) # Trim all the object-type columns - df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes( - include=["object"] - ).applymap(lambda x: x.strip() if isinstance(x, str) else x) - + df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes(include=["object"]).applymap(lambda x: x.strip() if isinstance(x, str) else x) + # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) diff --git a/test/unit/helpers_test.py b/test/unit/helpers_test.py index 977c587b09..fd0675bd64 100644 --- a/test/unit/helpers_test.py +++ b/test/unit/helpers_test.py @@ -19,7 +19,7 @@ dedupe_and_drop_nas, diff_wide_tables, expand_timeseries, - fix_na, + standardize_na_values, flatten_list, remove_leading_zeros_from_numeric_strings, retry, @@ -443,7 +443,7 @@ def test_convert_to_date(): assert_frame_equal(out_df, expected_df) -def test_fix_na(): +def test_standardize_na_values(): """Test cleanup of bad EIA spreadsheet NA values.""" in_df = pd.DataFrame( { @@ -479,7 +479,7 @@ def test_fix_na(): ] } ) - out_df = fix_na(in_df) + out_df = standardize_na_values(in_df) assert_frame_equal(out_df, expected_df) From f276746655312c54a2222f2e337ec5ceaf0ae3b9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 12:24:42 +0000 Subject: [PATCH 14/39] [pre-commit.ci] auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pudl/helpers.py | 2 +- src/pudl/metadata/enums.py | 8 +++---- src/pudl/metadata/fields.py | 2 +- src/pudl/transform/eia860.py | 12 +++++++--- src/pudl/transform/eia923.py | 8 +++++-- src/pudl/transform/phmsagas.py | 41 +++++++++++++++++++++++----------- test/unit/helpers_test.py | 2 +- 7 files changed, 50 insertions(+), 25 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index d5ff69c172..a965bb1552 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2233,7 +2233,7 @@ def standardize_phone_number(phone: str) -> str: # If the phone number has exactly 10 digits, format it as XXX-XXX-XXXX if phone_main_len == 10: - formatted_phone = f'{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}' + formatted_phone = f"{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}" # Return all numbers that are not 10 digits as-is else: formatted_phone = phone_main diff --git a/src/pudl/metadata/enums.py b/src/pudl/metadata/enums.py index c9e6f883b2..d97dde7408 100644 --- a/src/pudl/metadata/enums.py +++ b/src/pudl/metadata/enums.py @@ -643,8 +643,8 @@ US_STATE_CODES: set[str] = set( POLITICAL_SUBDIVISIONS.loc[ - (POLITICAL_SUBDIVISIONS.country_code == "USA") & - (POLITICAL_SUBDIVISIONS.subdivision_type == "state"), - "subdivision_name" + (POLITICAL_SUBDIVISIONS.country_code == "USA") + & (POLITICAL_SUBDIVISIONS.subdivision_type == "state"), + "subdivision_name", ] -) \ No newline at end of file +) diff --git a/src/pudl/metadata/fields.py b/src/pudl/metadata/fields.py index e2087f95af..6ef9e1af6d 100644 --- a/src/pudl/metadata/fields.py +++ b/src/pudl/metadata/fields.py @@ -8,7 +8,7 @@ from pudl.metadata.codes import CODE_METADATA from pudl.metadata.constants import FIELD_DTYPES_PANDAS -from pudl.metadata.dfs import BALANCING_AUTHORITY_SUBREGIONS_EIA, POLITICAL_SUBDIVISIONS +from pudl.metadata.dfs import BALANCING_AUTHORITY_SUBREGIONS_EIA from pudl.metadata.enums import ( ASSET_TYPES_FERC1, COUNTRY_CODES_ISO3166, diff --git a/src/pudl/transform/eia860.py b/src/pudl/transform/eia860.py index d119fcd3d2..dcd7592c71 100644 --- a/src/pudl/transform/eia860.py +++ b/src/pudl/transform/eia860.py @@ -866,7 +866,9 @@ def _core_eia860__emissions_control_equipment( ) -> pd.DataFrame: """Pull and transform the emissions control equipment table.""" # Replace empty strings, whitespace, and '.' fields with real NA values - emce_df = pudl.helpers.standardize_na_values(raw_eia860__emissions_control_equipment) + emce_df = pudl.helpers.standardize_na_values( + raw_eia860__emissions_control_equipment + ) # Spot fix bad months emce_df["emission_control_operating_month"] = emce_df[ @@ -1156,7 +1158,9 @@ def _core_eia860__cooling_equipment( ce_df = raw_eia860__cooling_equipment # Generic cleaning - ce_df = ce_df.pipe(pudl.helpers.standardize_na_values).pipe(pudl.helpers.add_fips_ids) + ce_df = ce_df.pipe(pudl.helpers.standardize_na_values).pipe( + pudl.helpers.add_fips_ids + ) # Spot cleaning and date conversion ce_df.loc[ @@ -1271,7 +1275,9 @@ def _core_eia860__fgd_equipment( fgd_df = raw_eia860__fgd_equipment # Generic cleaning - fgd_df = fgd_df.pipe(pudl.helpers.standardize_na_values).pipe(pudl.helpers.add_fips_ids) + fgd_df = fgd_df.pipe(pudl.helpers.standardize_na_values).pipe( + pudl.helpers.add_fips_ids + ) # Spot cleaning and date conversion fgd_df = fgd_df.pipe(pudl.helpers.month_year_to_date).pipe( diff --git a/src/pudl/transform/eia923.py b/src/pudl/transform/eia923.py index 4068f209eb..74d77e0d5a 100644 --- a/src/pudl/transform/eia923.py +++ b/src/pudl/transform/eia923.py @@ -1235,7 +1235,9 @@ def _core_eia923__cooling_system_information( second, with precision of 0.1 cfs." """ csi_df = raw_eia923__cooling_system_information - csi_df = csi_df.pipe(pudl.helpers.standardize_na_values).pipe(pudl.helpers.convert_to_date) + csi_df = csi_df.pipe(pudl.helpers.standardize_na_values).pipe( + pudl.helpers.convert_to_date + ) # cooling_id_eia is sometimes NA, but we also want to use it as a primary # key. fortunately it's a string so we can just convert all NA values to @@ -1386,7 +1388,9 @@ def _core_eia923__fgd_operation_maintenance( fgd_df = fgd_df.drop_duplicates() # Replace the EIA923 NA value ('.') with a real NA value. - fgd_df = pudl.helpers.standardize_na_values(fgd_df).pipe(pudl.helpers.convert_to_date) + fgd_df = pudl.helpers.standardize_na_values(fgd_df).pipe( + pudl.helpers.convert_to_date + ) # Convert thousands of dollars to dollars fgd_df.loc[:, fgd_df.columns.str.endswith("_1000_dollars")] *= 1000 diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 2550444e30..08606b29d1 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -3,10 +3,12 @@ import pandas as pd from dagster import AssetIn, asset -from pudl.helpers import zero_pad_numeric_string, standardize_phone_column, standardize_na_values, standardize_state_columns import pudl.logging_helpers -from pudl.extract.ferc714 import TABLE_NAME_MAP_FERC714 -from pudl.settings import PhmsaGasSettings +from pudl.helpers import ( + standardize_na_values, + standardize_phone_column, + zero_pad_numeric_string, +) from pudl.metadata.dfs import POLITICAL_SUBDIVISIONS logger = pudl.logging_helpers.get_logger(__name__) @@ -121,8 +123,15 @@ def core_phmsagas__yearly_distribution_operators( # Standardize case for city, county, operator name, etc. # Capitalize the first letter of each word in all object-type columns except the excluded ones - df[df.select_dtypes(include=["object"]).columns.difference(YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"])] = \ - df[df.select_dtypes(include=["object"]).columns.difference(YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"])].apply(lambda col: col.str.title()) + df[ + df.select_dtypes(include=["object"]).columns.difference( + YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] + ) + ] = df[ + df.select_dtypes(include=["object"]).columns.difference( + YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] + ) + ].apply(lambda col: col.str.title()) # Standardize state abbreviations # First create a dictionary of state names to abbreviations @@ -132,11 +141,13 @@ def core_phmsagas__yearly_distribution_operators( if x.country_code == "USA" and x.subdivision_type == "state" } # Add abbreviations to the dictionary so we can make sure the abbreviations in the raw data exist - state_to_abbr.update({ - x.subdivision_code: x.subdivision_code - for x in POLITICAL_SUBDIVISIONS.itertuples() - if x.country_code == "USA" and x.subdivision_type == "state" - }) + state_to_abbr.update( + { + x.subdivision_code: x.subdivision_code + for x in POLITICAL_SUBDIVISIONS.itertuples() + if x.country_code == "USA" and x.subdivision_type == "state" + } + ) # Function for looking up state names and abbreviations def standardize_state(state): @@ -149,12 +160,16 @@ def standardize_state(state): return standardized_state # Apply the function to your DataFrame columns - df["headquarters_address_state"] = df["headquarters_address_state"].apply(standardize_state) + df["headquarters_address_state"] = df["headquarters_address_state"].apply( + standardize_state + ) df["office_address_state"] = df["office_address_state"].apply(standardize_state) # Trim all the object-type columns - df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes(include=["object"]).applymap(lambda x: x.strip() if isinstance(x, str) else x) - + df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes( + include=["object"] + ).applymap(lambda x: x.strip() if isinstance(x, str) else x) + # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) diff --git a/test/unit/helpers_test.py b/test/unit/helpers_test.py index fd0675bd64..7243c8066e 100644 --- a/test/unit/helpers_test.py +++ b/test/unit/helpers_test.py @@ -19,10 +19,10 @@ dedupe_and_drop_nas, diff_wide_tables, expand_timeseries, - standardize_na_values, flatten_list, remove_leading_zeros_from_numeric_strings, retry, + standardize_na_values, standardize_percentages_ratio, zero_pad_numeric_string, ) From ac67b396d6c718df1e008377cc19df58f54f03cd Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 1 Nov 2024 09:11:07 -0400 Subject: [PATCH 15/39] Resolve merge conflicts --- .../phmsagas_distribution.ipynb | 59 ++++++------------- src/pudl/helpers.py | 12 +++- src/pudl/transform/phmsagas.py | 37 +++++++++--- 3 files changed, 56 insertions(+), 52 deletions(-) diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index cfe7af7efb..2f0004fb22 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -9,14 +9,14 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from dagster import AssetKey\n", "from pudl.etl import defs\n", "import pandas as pd\n", - "from pudl.helpers import zero_pad_numeric_string, standardize_phone_column, standardize_na_values, standardize_state_columns\n", + "from pudl.helpers import zero_pad_numeric_string, standardize_phone_column, standardize_na_values\n", "import numpy as np\n", "import re\n", "from pudl.metadata.dfs import POLITICAL_SUBDIVISIONS" @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -32,7 +32,7 @@ "output_type": "stream", "text": [ "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-10-31 09:05:47 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + "2024-11-01 08:12:44 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" ] } ], @@ -49,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -93,14 +93,14 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_33478/333100233.py:18: SettingWithCopyWarning: \n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_34150/333100233.py:18: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", @@ -132,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -162,14 +162,14 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_33478/3067155886.py:17: SettingWithCopyWarning: \n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_34150/3067155886.py:17: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", @@ -212,32 +212,7 @@ }, { "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([nan, 'GA', 'PA', 'LA', 'AR', 'FL', 'TX', 'MS', 'MO', 'OK', 'AZ',\n", - " 'SC', 'MA', 'MN', 'KS', 'VA', 'DE', 'WY', 'CT', 'AL', 'NY', 'IL',\n", - " 'UT', 'IN', 'WV', 'OH', 'NM', 'HI', 'MI', 'NC', 'KY', 'CO', 'TN',\n", - " 'NE', 'NH', 'MT', 'NJ', 'RI', 'PR', 'NV', 'CA', 'ND', 'DC', 'WI',\n", - " 'AK', 'IA', 'WA', ' ', 'SD', 'ME', 'MD', 'VT', 'ID', 'OR',\n", - " 'Texas', 'California'], dtype=object)" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "raw_df['headquarters_address_state'].unique()" - ] - }, - { - "cell_type": "code", - "execution_count": 18, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -249,7 +224,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -279,7 +254,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -289,14 +264,14 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_33478/1870574866.py:6: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_34150/2203460441.py:2: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n", " df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x)\n" ] } @@ -315,7 +290,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -331,7 +306,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index a965bb1552..672833a8f1 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -1013,7 +1013,9 @@ def standardize_na_values(df: pd.DataFrame) -> pd.DataFrame: """Replace common ill-posed EIA NA spreadsheet values with np.nan. Currently replaces empty string, single decimal points with no numbers, - any single whitespace character, and hyphens with np.nan. + any single whitespace character, and hyphens with np.nan. Also converts + columns to their original types where possible (using 'infer_objects') + to avoid unintended data type changes. Args: df: The DataFrame to clean. @@ -1021,7 +1023,13 @@ def standardize_na_values(df: pd.DataFrame) -> pd.DataFrame: Returns: DataFrame with regularized NA values. """ - return df.replace(regex=r"(^\.$|^\s*$|^-+$)", value=np.nan) + def replace_with_nan(value): + if pd.isna(value) or bool(re.match(r"(^\.$|^\s*$|^-+$)", str(value))): + return np.nan + return value + + # Apply the function column-wise using apply(), which handles each column as a series + return df.apply(lambda col: col.map(replace_with_nan)) def simplify_columns(df: pd.DataFrame) -> pd.DataFrame: diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 08606b29d1..53f0e20aec 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -1,8 +1,10 @@ """Classes & functions to process PHMSA natural gas data before loading into the PUDL DB.""" +import numpy as np import pandas as pd from dagster import AssetIn, asset +from pudl.helpers import zero_pad_numeric_string, standardize_phone_column, standardize_na_values import pudl.logging_helpers from pudl.helpers import ( standardize_na_values, @@ -11,6 +13,8 @@ ) from pudl.metadata.dfs import POLITICAL_SUBDIVISIONS +import pdb + logger = pudl.logging_helpers.get_logger(__name__) ############################################################################## @@ -104,10 +108,13 @@ def core_phmsagas__yearly_distribution_operators( raw_data: pd.DataFrame, ) -> pd.DataFrame: """Build the :ref:`core_phmsagas__yearly_distribution_operators`.""" - df = raw_data[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_keep"]] - df[YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"]] = df[ - YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"] - ].astype("Int64") + df = raw_data.loc[:, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_keep"]].copy() + + # Specify the columns to convert to integer type + cols_to_convert = YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"] + + # Fill NaN values with pd.NA, then cast to "Int64" nullable integer type + df[cols_to_convert] = df[cols_to_convert].apply(lambda col: col.where(col.notna(), pd.NA)).astype("Int64") # Ensure all "report_year" values have four digits mask = df["report_year"] < 100 @@ -165,10 +172,10 @@ def standardize_state(state): ) df["office_address_state"] = df["office_address_state"].apply(standardize_state) - # Trim all the object-type columns - df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes( - include=["object"] - ).applymap(lambda x: x.strip() if isinstance(x, str) else x) + # Strip whitespace from all object (string) columns in the DataFrame + df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes(include=["object"]).apply( + lambda col: col.map(lambda x: x.strip() if isinstance(x, str) else x) + ) # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) @@ -182,3 +189,17 @@ def standardize_state(state): ) return df + +# EVERYTHING BELOW WILL COME OUT - JUST FOR LOCAL DEV +# Get the value of DAGSTER_HOME from environment variables +import os +dagster_home = os.getenv('DAGSTER_HOME') + +# Define the file name +file_name = "storage/raw_phmsagas__yearly_distribution" + +# Construct the full file path +file_path = os.path.join(dagster_home, file_name) +# Load the pickle file into a DataFrame +df = pd.read_pickle(file_path) +core_phmsagas__yearly_distribution_operators(df) \ No newline at end of file From 57209e9c0f3adc0ebc72b8db839144085fef79e0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 13:11:52 +0000 Subject: [PATCH 16/39] [pre-commit.ci] auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pudl/helpers.py | 1 + src/pudl/transform/phmsagas.py | 31 +++++++++++++++++++------------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 672833a8f1..c49a4de011 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -1023,6 +1023,7 @@ def standardize_na_values(df: pd.DataFrame) -> pd.DataFrame: Returns: DataFrame with regularized NA values. """ + def replace_with_nan(value): if pd.isna(value) or bool(re.match(r"(^\.$|^\s*$|^-+$)", str(value))): return np.nan diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 53f0e20aec..08cfe493d6 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -4,7 +4,6 @@ import pandas as pd from dagster import AssetIn, asset -from pudl.helpers import zero_pad_numeric_string, standardize_phone_column, standardize_na_values import pudl.logging_helpers from pudl.helpers import ( standardize_na_values, @@ -13,8 +12,6 @@ ) from pudl.metadata.dfs import POLITICAL_SUBDIVISIONS -import pdb - logger = pudl.logging_helpers.get_logger(__name__) ############################################################################## @@ -108,13 +105,21 @@ def core_phmsagas__yearly_distribution_operators( raw_data: pd.DataFrame, ) -> pd.DataFrame: """Build the :ref:`core_phmsagas__yearly_distribution_operators`.""" - df = raw_data.loc[:, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_keep"]].copy() + df = raw_data.loc[ + :, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_keep"] + ].copy() # Specify the columns to convert to integer type - cols_to_convert = YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_convert_to_ints"] - + cols_to_convert = YEARLY_DISTRIBUTION_OPERATORS_COLUMNS[ + "columns_to_convert_to_ints" + ] + # Fill NaN values with pd.NA, then cast to "Int64" nullable integer type - df[cols_to_convert] = df[cols_to_convert].apply(lambda col: col.where(col.notna(), pd.NA)).astype("Int64") + df[cols_to_convert] = ( + df[cols_to_convert] + .apply(lambda col: col.where(col.notna(), pd.NA)) + .astype("Int64") + ) # Ensure all "report_year" values have four digits mask = df["report_year"] < 100 @@ -173,9 +178,9 @@ def standardize_state(state): df["office_address_state"] = df["office_address_state"].apply(standardize_state) # Strip whitespace from all object (string) columns in the DataFrame - df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes(include=["object"]).apply( - lambda col: col.map(lambda x: x.strip() if isinstance(x, str) else x) - ) + df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes( + include=["object"] + ).apply(lambda col: col.map(lambda x: x.strip() if isinstance(x, str) else x)) # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) @@ -190,10 +195,12 @@ def standardize_state(state): return df + # EVERYTHING BELOW WILL COME OUT - JUST FOR LOCAL DEV # Get the value of DAGSTER_HOME from environment variables import os -dagster_home = os.getenv('DAGSTER_HOME') + +dagster_home = os.getenv("DAGSTER_HOME") # Define the file name file_name = "storage/raw_phmsagas__yearly_distribution" @@ -202,4 +209,4 @@ def standardize_state(state): file_path = os.path.join(dagster_home, file_name) # Load the pickle file into a DataFrame df = pd.read_pickle(file_path) -core_phmsagas__yearly_distribution_operators(df) \ No newline at end of file +core_phmsagas__yearly_distribution_operators(df) From 6b2747e099f864d73eaec29e418f5fa2631d15cb Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 1 Nov 2024 09:14:14 -0400 Subject: [PATCH 17/39] Remove list of columns --- src/pudl/transform/phmsagas.py | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 08cfe493d6..33ae649250 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -71,19 +71,6 @@ "services_shutoff_valve_in_system", "services_shutoff_valve_installed", ], - "columns_with_nas_to_fill": [ - "excavation_damage_excavation_practices", - "excavation_damage_locating_practices", - "excavation_damage_one_call_notification", - "excavation_damage_other", - "excavation_damage_total", - "excavation_tickets", - "services_efv_in_system", - "services_efv_installed", - "services_shutoff_valve_in_system", - "services_shutoff_valve_installed", - "federal_land_leaks_repaired_or_scheduled", - ], "capitalization_exclusion": ["headquarters_address_state", "office_address_state"], "cols_for_state_standardization": [ "headquarters_address_state", From d6bb6ea80ff9da55ddb127102be895aadd86563d Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 1 Nov 2024 09:23:25 -0400 Subject: [PATCH 18/39] Remove '.0' logic --- src/pudl/helpers.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index c49a4de011..1c04689b1f 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2225,13 +2225,7 @@ def standardize_phone_number(phone: str) -> str: ) # Extension, if it exists # Remove unwanted characters (parentheses, spaces, periods, and dashes) from the main phone number - phone_main = re.sub( - r"[^\d]", "", phone_main.replace(".0", "") - ) # Keep only digits - - # If phone_main is not numeric, return np.nan - if not phone_main.isdigit(): - return np.nan + phone_main = re.sub(r"[^\d]", "", phone_main) # Keep only digits # Grab the length for the next series of formatting steps phone_main_len = len(phone_main) From 176948768e8e7ea321da07bf4d2a07133a3323b3 Mon Sep 17 00:00:00 2001 From: sam Date: Sat, 2 Nov 2024 11:37:58 -0400 Subject: [PATCH 19/39] Updates in response to comments --- .../phmsagas_distribution.ipynb | 48 ++++++----- src/pudl/helpers.py | 82 ++++++++----------- src/pudl/transform/phmsagas.py | 22 +---- 3 files changed, 68 insertions(+), 84 deletions(-) diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index 2f0004fb22..2d151ef9cf 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -32,7 +32,7 @@ "output_type": "stream", "text": [ "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-11-01 08:12:44 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + "2024-11-02 09:21:06 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" ] } ], @@ -49,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -93,14 +93,14 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_34150/333100233.py:18: SettingWithCopyWarning: \n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_38807/333100233.py:18: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", @@ -132,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -162,21 +162,19 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_34150/3067155886.py:17: SettingWithCopyWarning: \n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_38807/3067155886.py:17: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " df[columns_to_fill] = df[columns_to_fill].fillna(0)\n", - "/Users/sam/Documents/pudl/src/pudl/helpers.py:1024: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", - " return df.replace(regex=r\"(^\\.$|^\\s*$|^-+$)\", value=np.nan)\n" + " df[columns_to_fill] = df[columns_to_fill].fillna(0)\n" ] } ], @@ -212,7 +210,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -224,7 +222,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -254,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -264,14 +262,14 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_34150/2203460441.py:2: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n", + "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_38807/2203460441.py:2: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n", " df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x)\n" ] } @@ -290,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -306,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -315,6 +313,18 @@ "df[\"headquarters_address_zip\"] = zero_pad_numeric_string(df[\"headquarters_address_zip\"], n_digits=5)" ] }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Strip whitespace from all object (string) columns\n", + "df[df.select_dtypes(include=[\"object\"]).columns] = df.select_dtypes(\n", + " include=[\"object\"]\n", + ").apply(lambda col: col.map(lambda x: x.strip() if isinstance(x, str) else x))\n" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 1c04689b1f..3503109be9 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2254,14 +2254,16 @@ def standardize_phone_number(phone: str) -> str: return df -def analyze_missing_values(df: pd.DataFrame) -> list[str]: +def analyze_missing_values(df: pd.DataFrame, custom_missing_values: list[str] = None) -> list[str]: """Analyze columns of a DataFrame for missing or invalid values. Note that this is purely for analysis and does not perform any data transformation or cleaning. - This function checks each column for missing or custom missing values and prints + This function checks each column for missing or custom missing values and logs a summary of the findings for string (object), numeric, and datetime columns. Args: df: The DataFrame to analyze. + custom_missing_values: Optional list of custom values to consider as "missing" (e.g., empty strings, + specific strings like "NA", "NULL", etc.). If not provided, defaults to a standard set. Returns: exception_cols: List of names of columns that couldn't be analyzed due to a caught exception. @@ -2269,25 +2271,14 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: nan_cols = [] exception_cols = [] - # Define custom missing value markers - custom_missing_values = [ - "", - " ", - "NA", - "N/A", - "NULL", - "-", - "None", - "NaN", - "?", - "*", - "#", - ] + # Use a default set of custom missing values if none are provided + if custom_missing_values is None: + custom_missing_values = ["", " ", "NA", "N/A", "NULL", "-", "None", "NaN", "?", "*", "#"] # Analyze columns for missing values for col in df.columns: try: - print(f"Analyzing column: {col}") + logger.info(f"Analyzing column: {col}") # Get the column values col_data = df[col] @@ -2309,22 +2300,22 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: nan_cols.append(col) # Output counts - print(f"Column '{col}' is a string type.") + logger.info(f"Column '{col}' is a string type.") if none_count > 0: - print(f"Rows with None values: {none_count}") - print(df[df[col].isna()].head()) + logger.warning(f"Rows with None values: {none_count}") + logger.warning(df[df[col].isna()].head()) if empty_string_count > 0: - print(f"Rows with empty strings: {empty_string_count}") - print(df[df[col].str.strip() == ""].head()) + logger.warning(f"Rows with empty strings: {empty_string_count}") + logger.warning(df[df[col].str.strip() == ""].head()) if custom_missing_count > 0: - print(f"Rows with custom missing values: {custom_missing_count}") - print(df[df[col].isin(custom_missing_values)].head()) + logger.warning(f"Rows with custom missing values: {custom_missing_count}") + logger.warning(df[df[col].isin(custom_missing_values)].head()) if ( none_count == 0 and empty_string_count == 0 and custom_missing_count == 0 ): - print("Found nothing worth reporting here") + logger.info("Found nothing worth reporting here") # Check if the column is numeric (int or float) elif pd.api.types.is_numeric_dtype(col_data): @@ -2347,24 +2338,24 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: max_val = col_data_cleaned.max() if min_val < 0 or na_count > 0 or custom_missing_numeric_count > 0: - print(f"Min value: {min_val}") - print(f"Max value: {max_val}") + logger.warning(f"Min value: {min_val}") + logger.warning(f"Max value: {max_val}") if na_count > 0: - print(f"Rows with NA values: {na_count}") - print(df[df[col].isna()].head()) + logger.warning(f"Rows with NA values: {na_count}") + logger.warning(df[df[col].isna()].head()) if custom_missing_numeric_count > 0: - print( + logger.warning( f"Custom missing values (e.g., 0): {custom_missing_numeric_count}" ) - print(df[df[col].isin([0])].head()) + logger.warning(df[df[col].isin([0])].head()) if ( min_val > 0 and na_count == 0 and custom_missing_numeric_count == 0 ): - print("Found nothing worth reporting here") + logger.info("Found nothing worth reporting here") else: - print(f"Column '{col}' is numeric but contains only NA values.") + logger.warning(f"Column '{col}' is numeric but contains only NA values.") # Check if the column is a datetime type elif pd.api.types.is_datetime64_any_dtype(col_data): @@ -2385,28 +2376,27 @@ def analyze_missing_values(df: pd.DataFrame) -> list[str]: max_date = col_data_cleaned.max() if na_count > 0 or custom_missing_count > 0: - print(f"Min date: {min_date}") - print(f"Max date: {max_date}") - print(f"Rows with NA values: {na_count}") - print(df[df[col].isna()].head()) - print(f"Custom missing values: {custom_missing_count}") - print(df[df[col].isin(custom_missing_values)].head()) + logger.warning(f"Min date: {min_date}") + logger.warning(f"Max date: {max_date}") + logger.warning(f"Rows with NA values: {na_count}") + logger.warning(df[df[col].isna()].head()) + logger.warning(f"Custom missing values: {custom_missing_count}") + logger.warning(df[df[col].isin(custom_missing_values)].head()) if na_count == 0 and custom_missing_count == 0: - print("Found nothing worth reporting here") + logger.info("Found nothing worth reporting here") else: - print(f"Column '{col}' is datetime but contains only NA values.") + logger.warning(f"Column '{col}' is datetime but contains only NA values.") # If the column is of some other type, simply note the type else: - print(f"Column '{col}' is of type {col_data.dtype}.") - print("") + logger.info(f"Column '{col}' is of type {col_data.dtype}.") except Exception as e: exception_cols.append(col) - print(f"Caught exception for column {col}: {e}\n") + logger.warning(f"Caught exception for column {col}: {e}\n") continue - print(f"Columns with NaNs or custom missing values: {nan_cols}") - print(f"Columns with exceptions during processing: {exception_cols}") + logger.info(f"Columns with NaNs or custom missing values: {nan_cols}") + logger.info(f"Columns with exceptions during processing: {exception_cols}") return exception_cols diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 33ae649250..e3ccedfc70 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -155,16 +155,16 @@ def standardize_state(state): state = state.strip() standardized_state = state_to_abbr.get(state, state) if standardized_state not in state_to_abbr.values(): - return np.nan + return pd.NA return standardized_state - # Apply the function to your DataFrame columns + # Standardizing state columns with abbreviations df["headquarters_address_state"] = df["headquarters_address_state"].apply( standardize_state ) df["office_address_state"] = df["office_address_state"].apply(standardize_state) - # Strip whitespace from all object (string) columns in the DataFrame + # Strip whitespace from all object (string) columns df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes( include=["object"] ).apply(lambda col: col.map(lambda x: x.strip() if isinstance(x, str) else x)) @@ -181,19 +181,3 @@ def standardize_state(state): ) return df - - -# EVERYTHING BELOW WILL COME OUT - JUST FOR LOCAL DEV -# Get the value of DAGSTER_HOME from environment variables -import os - -dagster_home = os.getenv("DAGSTER_HOME") - -# Define the file name -file_name = "storage/raw_phmsagas__yearly_distribution" - -# Construct the full file path -file_path = os.path.join(dagster_home, file_name) -# Load the pickle file into a DataFrame -df = pd.read_pickle(file_path) -core_phmsagas__yearly_distribution_operators(df) From 405cc1c6dfc274f0edd2e63ac1cf1cc10b25f4cf Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 2 Nov 2024 15:38:26 +0000 Subject: [PATCH 20/39] [pre-commit.ci] auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pudl/helpers.py | 30 +++++++++++++++++++++++++----- src/pudl/transform/phmsagas.py | 1 - 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 3503109be9..8db35ee504 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2254,7 +2254,9 @@ def standardize_phone_number(phone: str) -> str: return df -def analyze_missing_values(df: pd.DataFrame, custom_missing_values: list[str] = None) -> list[str]: +def analyze_missing_values( + df: pd.DataFrame, custom_missing_values: list[str] = None +) -> list[str]: """Analyze columns of a DataFrame for missing or invalid values. Note that this is purely for analysis and does not perform any data transformation or cleaning. This function checks each column for missing or custom missing values and logs @@ -2273,7 +2275,19 @@ def analyze_missing_values(df: pd.DataFrame, custom_missing_values: list[str] = # Use a default set of custom missing values if none are provided if custom_missing_values is None: - custom_missing_values = ["", " ", "NA", "N/A", "NULL", "-", "None", "NaN", "?", "*", "#"] + custom_missing_values = [ + "", + " ", + "NA", + "N/A", + "NULL", + "-", + "None", + "NaN", + "?", + "*", + "#", + ] # Analyze columns for missing values for col in df.columns: @@ -2308,7 +2322,9 @@ def analyze_missing_values(df: pd.DataFrame, custom_missing_values: list[str] = logger.warning(f"Rows with empty strings: {empty_string_count}") logger.warning(df[df[col].str.strip() == ""].head()) if custom_missing_count > 0: - logger.warning(f"Rows with custom missing values: {custom_missing_count}") + logger.warning( + f"Rows with custom missing values: {custom_missing_count}" + ) logger.warning(df[df[col].isin(custom_missing_values)].head()) if ( none_count == 0 @@ -2355,7 +2371,9 @@ def analyze_missing_values(df: pd.DataFrame, custom_missing_values: list[str] = ): logger.info("Found nothing worth reporting here") else: - logger.warning(f"Column '{col}' is numeric but contains only NA values.") + logger.warning( + f"Column '{col}' is numeric but contains only NA values." + ) # Check if the column is a datetime type elif pd.api.types.is_datetime64_any_dtype(col_data): @@ -2385,7 +2403,9 @@ def analyze_missing_values(df: pd.DataFrame, custom_missing_values: list[str] = if na_count == 0 and custom_missing_count == 0: logger.info("Found nothing worth reporting here") else: - logger.warning(f"Column '{col}' is datetime but contains only NA values.") + logger.warning( + f"Column '{col}' is datetime but contains only NA values." + ) # If the column is of some other type, simply note the type else: diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index e3ccedfc70..d91bc62fd3 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -1,6 +1,5 @@ """Classes & functions to process PHMSA natural gas data before loading into the PUDL DB.""" -import numpy as np import pandas as pd from dagster import AssetIn, asset From 78cf151819fc469060ec5bea10eb6bb527050056 Mon Sep 17 00:00:00 2001 From: sam Date: Sat, 2 Nov 2024 12:01:22 -0400 Subject: [PATCH 21/39] Clean up documentation and logic --- src/pudl/helpers.py | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 8db35ee504..f091c68256 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2196,8 +2196,12 @@ def retry( return func(**kwargs) -def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFrame: +def standardize_phone_column( + df: pd.DataFrame, + columns: list[str] +) -> pd.DataFrame: """Standardize phone numbers in the specified columns of the DataFrame. + US numbers: ###-###-#### International numbers with the international code at the beginning. Numbers with extensions will be appended with "x#". @@ -2205,10 +2209,11 @@ def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFra 10 digits will be returned with no hyphens. Args: - df: The DataFrame to modify. - columns: A list of the names of the columns that need to be standardized + df: The DataFrame to modify. + columns: A list of the names of the columns that need to be standardized. + Returns: - The modified DataFrame with standardized phone numbers in the same column. + The modified DataFrame with standardized phone numbers in the same column. """ # Function to clean and standardize phone numbers @@ -2255,20 +2260,25 @@ def standardize_phone_number(phone: str) -> str: def analyze_missing_values( - df: pd.DataFrame, custom_missing_values: list[str] = None + df: pd.DataFrame, + custom_missing_values: list[str] = None ) -> list[str]: - """Analyze columns of a DataFrame for missing or invalid values. Note that this is purely for analysis - and does not perform any data transformation or cleaning. - This function checks each column for missing or custom missing values and logs - a summary of the findings for string (object), numeric, and datetime columns. + """Analyze columns of a DataFrame for missing or invalid values. + + Note that this is purely for analysis and does not perform any data + transformation or cleaning. This function checks each column for missing + or custom missing values and logs a summary of the findings for + string (object), numeric, and datetime columns. Args: df: The DataFrame to analyze. - custom_missing_values: Optional list of custom values to consider as "missing" (e.g., empty strings, - specific strings like "NA", "NULL", etc.). If not provided, defaults to a standard set. + custom_missing_values: Optional list of custom values to consider + as "missing" (e.g., empty strings, specific strings like "NA", + "NULL", etc.). If not provided, defaults to a standard set. Returns: - exception_cols: List of names of columns that couldn't be analyzed due to a caught exception. + exception_cols: List of names of columns that couldn't be analyzed + due to a caught exception. """ nan_cols = [] exception_cols = [] @@ -2286,7 +2296,7 @@ def analyze_missing_values( "NaN", "?", "*", - "#", + "#" ] # Analyze columns for missing values From 0c69a8466b31ed3bd87bae6acdd6cee5f5e72436 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 2 Nov 2024 16:03:38 +0000 Subject: [PATCH 22/39] [pre-commit.ci] auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pudl/helpers.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index f091c68256..a3fd9d0fba 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2196,10 +2196,7 @@ def retry( return func(**kwargs) -def standardize_phone_column( - df: pd.DataFrame, - columns: list[str] -) -> pd.DataFrame: +def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFrame: """Standardize phone numbers in the specified columns of the DataFrame. US numbers: ###-###-#### @@ -2260,19 +2257,18 @@ def standardize_phone_number(phone: str) -> str: def analyze_missing_values( - df: pd.DataFrame, - custom_missing_values: list[str] = None + df: pd.DataFrame, custom_missing_values: list[str] = None ) -> list[str]: - """Analyze columns of a DataFrame for missing or invalid values. - + """Analyze columns of a DataFrame for missing or invalid values. + Note that this is purely for analysis and does not perform any data transformation or cleaning. This function checks each column for missing - or custom missing values and logs a summary of the findings for + or custom missing values and logs a summary of the findings for string (object), numeric, and datetime columns. Args: df: The DataFrame to analyze. - custom_missing_values: Optional list of custom values to consider + custom_missing_values: Optional list of custom values to consider as "missing" (e.g., empty strings, specific strings like "NA", "NULL", etc.). If not provided, defaults to a standard set. @@ -2296,7 +2292,7 @@ def analyze_missing_values( "NaN", "?", "*", - "#" + "#", ] # Analyze columns for missing values From 044dcd52cae0c7944655113fdf1f7ad445aeb101 Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 3 Nov 2024 16:16:53 -0500 Subject: [PATCH 23/39] Use bulk series str ops --- src/pudl/helpers.py | 80 +++++++++++++++----------------- src/pudl/transform/phmsagas.py | 84 ++++++++++++++-------------------- 2 files changed, 72 insertions(+), 92 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index a3fd9d0fba..be42ea21fd 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -1023,14 +1023,19 @@ def standardize_na_values(df: pd.DataFrame) -> pd.DataFrame: Returns: DataFrame with regularized NA values. """ + # Define a regex pattern to match ill-posed NA values + na_patterns = r"(^\.$|^\s*$|^-+$)" - def replace_with_nan(value): - if pd.isna(value) or bool(re.match(r"(^\.$|^\s*$|^-+$)", str(value))): - return np.nan - return value + # Replace empty strings with np.nan + df = df.replace("", np.nan) - # Apply the function column-wise using apply(), which handles each column as a series - return df.apply(lambda col: col.map(replace_with_nan)) + # Replace matching patterns in all object columns with np.nan + df = df.replace(na_patterns, np.nan, regex=True) + + # Attempt to infer original types where possible to avoid unwanted type changes + df = df.infer_objects() + + return df def simplify_columns(df: pd.DataFrame) -> pd.DataFrame: @@ -2212,46 +2217,35 @@ def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFra Returns: The modified DataFrame with standardized phone numbers in the same column. """ + # Define a regex pattern to identify and separate extensions + extension_pattern = r"[xX](\d+)$" - # Function to clean and standardize phone numbers - def standardize_phone_number(phone: str) -> str: - # Check if the value is NaN, return it as is - if pd.isna(phone): - return phone - - # Split phone number and extension, if present - phone_parts = re.split(r"[xX]", str(phone)) - phone_main = phone_parts[0] # Main phone number - extension = ( - phone_parts[1].strip() if len(phone_parts) > 1 else None - ) # Extension, if it exists - - # Remove unwanted characters (parentheses, spaces, periods, and dashes) from the main phone number - phone_main = re.sub(r"[^\d]", "", phone_main) # Keep only digits - - # Grab the length for the next series of formatting steps - phone_main_len = len(phone_main) - - # If phone_main is all zeroes, return np.nan - if phone_main == "0" * phone_main_len: - return np.nan - - # If the phone number has exactly 10 digits, format it as XXX-XXX-XXXX - if phone_main_len == 10: - formatted_phone = f"{phone_main[:3]}-{phone_main[3:6]}-{phone_main[6:]}" - # Return all numbers that are not 10 digits as-is - else: - formatted_phone = phone_main - - # Add the extension back if present - if extension: - return f"{formatted_phone}x{extension}" + # Standardize each specified column + for column in columns: + # Convert column to string type for consistent processing + df[column] = df[column].astype("string") + + # Separate phone number from extension, if present + phone_main = df[column].str.extract(r"^(.*?)(?:[xX].*)?$")[0] + extension = df[column].str.extract(extension_pattern)[0] + + # Remove non-digit characters from the main phone number + phone_main = phone_main.str.replace(r"[^\d]", "", regex=True) + + # Handle numbers with exactly 10 digits (US format) + df[column] = ( + phone_main.where(phone_main.str.len() != 10, + phone_main.str.slice(0, 3) + "-" + + phone_main.str.slice(3, 6) + "-" + + phone_main.str.slice(6, 10)) + ) - return formatted_phone + # For numbers with an extension, append it back + df[column] = df[column].where(extension.isna(), df[column] + "x" + extension) - # Apply the standardization function directly to the specified columns - for column in columns: - df[column] = df[column].apply(standardize_phone_number) + # Replace invalid or empty phone numbers with NaN + invalid_mask = (phone_main.isna()) | (phone_main.str.fullmatch(r"0+") == True) | (phone_main == "") + df[column] = df[column].mask(invalid_mask, np.nan) return df diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index d91bc62fd3..29a5546bfd 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -70,11 +70,7 @@ "services_shutoff_valve_in_system", "services_shutoff_valve_installed", ], - "capitalization_exclusion": ["headquarters_address_state", "office_address_state"], - "cols_for_state_standardization": [ - "headquarters_address_state", - "office_address_state", - ], + "capitalization_exclusion": ["headquarters_address_state", "office_address_state"] } ############################################################################## @@ -101,44 +97,32 @@ def core_phmsagas__yearly_distribution_operators( ] # Fill NaN values with pd.NA, then cast to "Int64" nullable integer type - df[cols_to_convert] = ( - df[cols_to_convert] - .apply(lambda col: col.where(col.notna(), pd.NA)) - .astype("Int64") - ) + df[cols_to_convert] = df[cols_to_convert].fillna(pd.NA).astype("Int64") # Ensure all "report_year" values have four digits mask = df["report_year"] < 100 # Convert 2-digit years to appropriate 4-digit format (assume cutoff at year 50) # We could also use the first 4 digits of the "report_number" but there was at least one anomaly here with an invalid year - df.loc[mask, "report_year"] = df.loc[mask, "report_year"].apply( - lambda x: 2000 + x if x < 50 else 1900 + x - ) + df.loc[mask, "report_year"] = 2000 + df.loc[mask, "report_year"].where(df.loc[mask, "report_year"] < 50, 1900) - # Fill in bad strings + # Standardize NAs df = standardize_na_values(df) # Standardize case for city, county, operator name, etc. - # Capitalize the first letter of each word in all object-type columns except the excluded ones - df[ - df.select_dtypes(include=["object"]).columns.difference( - YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] - ) - ] = df[ - df.select_dtypes(include=["object"]).columns.difference( - YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] - ) - ].apply(lambda col: col.str.title()) + # Capitalize the first letter of each word in a list of columns + obj_cols = df.select_dtypes(include=["object"]).columns.difference( + YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] + ) + for col in obj_cols: + df[col] = df[col].str.title() # Standardize state abbreviations - # First create a dictionary of state names to abbreviations state_to_abbr = { x.subdivision_name: x.subdivision_code for x in POLITICAL_SUBDIVISIONS.itertuples() if x.country_code == "USA" and x.subdivision_type == "state" } - # Add abbreviations to the dictionary so we can make sure the abbreviations in the raw data exist state_to_abbr.update( { x.subdivision_code: x.subdivision_code @@ -147,29 +131,10 @@ def core_phmsagas__yearly_distribution_operators( } ) - # Function for looking up state names and abbreviations - def standardize_state(state): - if pd.isna(state): - return state - state = state.strip() - standardized_state = state_to_abbr.get(state, state) - if standardized_state not in state_to_abbr.values(): - return pd.NA - return standardized_state - - # Standardizing state columns with abbreviations - df["headquarters_address_state"] = df["headquarters_address_state"].apply( - standardize_state - ) - df["office_address_state"] = df["office_address_state"].apply(standardize_state) - - # Strip whitespace from all object (string) columns - df[df.select_dtypes(include=["object"]).columns] = df.select_dtypes( - include=["object"] - ).apply(lambda col: col.map(lambda x: x.strip() if isinstance(x, str) else x)) - - # Standardize telephone and fax number format and drop (000)-000-0000 - df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) + for state_col in ["headquarters_address_state", "office_address_state"]: + df[state_col] = df[state_col].str.strip().replace(state_to_abbr).where( + df[state_col].isin(state_to_abbr.values()), pd.NA + ) # Standardize zip codes df["office_address_zip"] = zero_pad_numeric_string( @@ -179,4 +144,25 @@ def standardize_state(state): df["headquarters_address_zip"], n_digits=5 ) + # Standardize telephone and fax number format and drop (000)-000-0000 + df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) + + # Strip whitespace from all object (string) columns + df[obj_cols] = df[obj_cols].apply(lambda col: col.str.strip()) + return df + +# EVERYTHING BELOW WILL COME OUT - JUST FOR LOCAL DEV +# Get the value of DAGSTER_HOME from environment variables +import os + +dagster_home = os.getenv("DAGSTER_HOME") + +# Define the file name +file_name = "storage/raw_phmsagas__yearly_distribution" + +# Construct the full file path +file_path = os.path.join(dagster_home, file_name) +# Load the pickle file into a DataFrame +df = pd.read_pickle(file_path) +core_phmsagas__yearly_distribution_operators(df) From d8be4749d73853eb3153f9c097818e36c35b0d20 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 3 Nov 2024 21:17:41 +0000 Subject: [PATCH 24/39] [pre-commit.ci] auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pudl/helpers.py | 18 ++++++++++++------ src/pudl/transform/phmsagas.py | 14 ++++++++++---- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index be42ea21fd..4163a67954 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2233,18 +2233,24 @@ def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFra phone_main = phone_main.str.replace(r"[^\d]", "", regex=True) # Handle numbers with exactly 10 digits (US format) - df[column] = ( - phone_main.where(phone_main.str.len() != 10, - phone_main.str.slice(0, 3) + "-" + - phone_main.str.slice(3, 6) + "-" + - phone_main.str.slice(6, 10)) + df[column] = phone_main.where( + phone_main.str.len() != 10, + phone_main.str.slice(0, 3) + + "-" + + phone_main.str.slice(3, 6) + + "-" + + phone_main.str.slice(6, 10), ) # For numbers with an extension, append it back df[column] = df[column].where(extension.isna(), df[column] + "x" + extension) # Replace invalid or empty phone numbers with NaN - invalid_mask = (phone_main.isna()) | (phone_main.str.fullmatch(r"0+") == True) | (phone_main == "") + invalid_mask = ( + (phone_main.isna()) + | (phone_main.str.fullmatch(r"0+") == True) + | (phone_main == "") + ) df[column] = df[column].mask(invalid_mask, np.nan) return df diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 29a5546bfd..b0cfcab87c 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -70,7 +70,7 @@ "services_shutoff_valve_in_system", "services_shutoff_valve_installed", ], - "capitalization_exclusion": ["headquarters_address_state", "office_address_state"] + "capitalization_exclusion": ["headquarters_address_state", "office_address_state"], } ############################################################################## @@ -104,7 +104,9 @@ def core_phmsagas__yearly_distribution_operators( # Convert 2-digit years to appropriate 4-digit format (assume cutoff at year 50) # We could also use the first 4 digits of the "report_number" but there was at least one anomaly here with an invalid year - df.loc[mask, "report_year"] = 2000 + df.loc[mask, "report_year"].where(df.loc[mask, "report_year"] < 50, 1900) + df.loc[mask, "report_year"] = 2000 + df.loc[mask, "report_year"].where( + df.loc[mask, "report_year"] < 50, 1900 + ) # Standardize NAs df = standardize_na_values(df) @@ -132,8 +134,11 @@ def core_phmsagas__yearly_distribution_operators( ) for state_col in ["headquarters_address_state", "office_address_state"]: - df[state_col] = df[state_col].str.strip().replace(state_to_abbr).where( - df[state_col].isin(state_to_abbr.values()), pd.NA + df[state_col] = ( + df[state_col] + .str.strip() + .replace(state_to_abbr) + .where(df[state_col].isin(state_to_abbr.values()), pd.NA) ) # Standardize zip codes @@ -152,6 +157,7 @@ def core_phmsagas__yearly_distribution_operators( return df + # EVERYTHING BELOW WILL COME OUT - JUST FOR LOCAL DEV # Get the value of DAGSTER_HOME from environment variables import os From c5aa116f304dd1fdb589d43a703a7883cad15471 Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 3 Nov 2024 16:26:34 -0500 Subject: [PATCH 25/39] Reorder transformations --- src/pudl/transform/phmsagas.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index b0cfcab87c..ecfd6b7184 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -91,6 +91,13 @@ def core_phmsagas__yearly_distribution_operators( :, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_keep"] ].copy() + # Standardize NAs + df = standardize_na_values(df) + + # Initial string cleaning + for col in df.select_dtypes(include=["object"]).columns: + df[col] = df[col].str.strip() + # Specify the columns to convert to integer type cols_to_convert = YEARLY_DISTRIBUTION_OPERATORS_COLUMNS[ "columns_to_convert_to_ints" @@ -108,15 +115,12 @@ def core_phmsagas__yearly_distribution_operators( df.loc[mask, "report_year"] < 50, 1900 ) - # Standardize NAs - df = standardize_na_values(df) - # Standardize case for city, county, operator name, etc. # Capitalize the first letter of each word in a list of columns - obj_cols = df.select_dtypes(include=["object"]).columns.difference( + cap_cols = df.select_dtypes(include=["object"]).columns.difference( YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["capitalization_exclusion"] ) - for col in obj_cols: + for col in cap_cols: df[col] = df[col].str.title() # Standardize state abbreviations @@ -152,9 +156,6 @@ def core_phmsagas__yearly_distribution_operators( # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) - # Strip whitespace from all object (string) columns - df[obj_cols] = df[obj_cols].apply(lambda col: col.str.strip()) - return df From aa3ac9cc207b09646d1f243387f6ea5fdb07c14e Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 3 Nov 2024 16:40:09 -0500 Subject: [PATCH 26/39] Remove .0 substring from phone numbers --- src/pudl/helpers.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 4163a67954..bef82bc9cc 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2225,6 +2225,9 @@ def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFra # Convert column to string type for consistent processing df[column] = df[column].astype("string") + # Remove ".0" from the end of phone numbers, if present + df[column] = df[column].str.replace(r"\.0$", "", regex=True) + # Separate phone number from extension, if present phone_main = df[column].str.extract(r"^(.*?)(?:[xX].*)?$")[0] extension = df[column].str.extract(extension_pattern)[0] From e3ec14e4f2a84924e93c3261d8dc72b64bce8329 Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 3 Nov 2024 16:42:59 -0500 Subject: [PATCH 27/39] Remove temp dev logic --- src/pudl/transform/phmsagas.py | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index ecfd6b7184..6423b16f1f 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -157,19 +157,3 @@ def core_phmsagas__yearly_distribution_operators( df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) return df - - -# EVERYTHING BELOW WILL COME OUT - JUST FOR LOCAL DEV -# Get the value of DAGSTER_HOME from environment variables -import os - -dagster_home = os.getenv("DAGSTER_HOME") - -# Define the file name -file_name = "storage/raw_phmsagas__yearly_distribution" - -# Construct the full file path -file_path = os.path.join(dagster_home, file_name) -# Load the pickle file into a DataFrame -df = pd.read_pickle(file_path) -core_phmsagas__yearly_distribution_operators(df) From 7f94d131bede6bb956806eb16270c9e41e305400 Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 3 Nov 2024 17:03:05 -0500 Subject: [PATCH 28/39] Cleanup notebook --- .../phmsagas_distribution.ipynb | 834 +++++++++++++++++- 1 file changed, 792 insertions(+), 42 deletions(-) diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index 2d151ef9cf..69538f3dad 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -32,7 +32,7 @@ "output_type": "stream", "text": [ "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-11-02 09:21:06 -0400 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" + "2024-11-03 16:45:36 -0500 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" ] } ], @@ -40,6 +40,791 @@ "raw_df = defs.load_asset_value(AssetKey(\"raw_phmsagas__yearly_distribution\"))" ] }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "YEARLY_DISTRIBUTION_OPERATORS_COLUMNS = {\n", + " \"columns_to_keep\": [\n", + " \"report_date\",\n", + " \"report_number\", # not in pudl/metadata/fields.py\n", + " \"report_submission_type\", # not in pudl/metadata/fields.py\n", + " \"report_year\",\n", + " # None of the columns below are in pudl/metadata/fields.py\n", + " \"operator_id_phmsa\",\n", + " \"operator_name_phmsa\",\n", + " \"office_address_street\",\n", + " \"office_address_city\",\n", + " \"office_address_state\",\n", + " \"office_address_zip\",\n", + " \"office_address_county\",\n", + " \"headquarters_address_street\",\n", + " \"headquarters_address_city\",\n", + " \"headquarters_address_state\",\n", + " \"headquarters_address_zip\",\n", + " \"headquarters_address_county\",\n", + " \"excavation_damage_excavation_practices\",\n", + " \"excavation_damage_locating_practices\",\n", + " \"excavation_damage_one_call_notification\",\n", + " \"excavation_damage_other\",\n", + " \"excavation_damage_total\",\n", + " \"excavation_tickets\",\n", + " \"services_efv_in_system\",\n", + " \"services_efv_installed\",\n", + " \"services_shutoff_valve_in_system\",\n", + " \"services_shutoff_valve_installed\",\n", + " \"federal_land_leaks_repaired_or_scheduled\",\n", + " \"percent_unaccounted_for_gas\",\n", + " \"additional_information\",\n", + " \"preparer_email\",\n", + " \"preparer_fax\",\n", + " \"preparer_name\",\n", + " \"preparer_phone\",\n", + " \"preparer_title\",\n", + " ],\n", + " \"columns_to_convert_to_ints\": [\n", + " \"report_year\",\n", + " \"report_number\",\n", + " \"operator_id_phmsa\",\n", + " \"excavation_damage_excavation_practices\",\n", + " \"excavation_damage_locating_practices\",\n", + " \"excavation_damage_one_call_notification\",\n", + " \"excavation_damage_other\",\n", + " \"excavation_damage_total\",\n", + " \"excavation_tickets\",\n", + " \"services_efv_in_system\",\n", + " \"services_efv_installed\",\n", + " \"services_shutoff_valve_in_system\",\n", + " \"services_shutoff_valve_installed\",\n", + " ],\n", + " \"capitalization_exclusion\": [\"headquarters_address_state\", \"office_address_state\"],\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/sam/Documents/pudl/src/pudl/helpers.py:1033: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " df = df.replace(na_patterns, np.nan, regex=True)\n" + ] + } + ], + "source": [ + "df = raw_df.loc[\n", + " :, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS[\"columns_to_keep\"]\n", + "].copy()\n", + "\n", + "# Standardize NAs\n", + "df = standardize_na_values(df)\n", + "\n", + "# Initial string cleaning\n", + "for col in df.select_dtypes(include=[\"object\"]).columns:\n", + " df[col] = df[col].str.strip()\n", + "\n", + "# Specify the columns to convert to integer type\n", + "cols_to_convert = YEARLY_DISTRIBUTION_OPERATORS_COLUMNS[\n", + " \"columns_to_convert_to_ints\"\n", + "]\n", + "\n", + "# Fill NaN values with pd.NA, then cast to \"Int64\" nullable integer type\n", + "df[cols_to_convert] = df[cols_to_convert].fillna(pd.NA).astype(\"Int64\")\n", + "\n", + "# Ensure all \"report_year\" values have four digits\n", + "mask = df[\"report_year\"] < 100\n", + "\n", + "# Convert 2-digit years to appropriate 4-digit format (assume cutoff at year 50)\n", + "# We could also use the first 4 digits of the \"report_number\" but there was at least one anomaly here with an invalid year\n", + "df.loc[mask, \"report_year\"] = 2000 + df.loc[mask, \"report_year\"].where(\n", + " df.loc[mask, \"report_year\"] < 50, 1900\n", + ")\n", + "\n", + "# Standardize case for city, county, operator name, etc.\n", + "# Capitalize the first letter of each word in a list of columns\n", + "cap_cols = df.select_dtypes(include=[\"object\"]).columns.difference(\n", + " YEARLY_DISTRIBUTION_OPERATORS_COLUMNS[\"capitalization_exclusion\"]\n", + ")\n", + "for col in cap_cols:\n", + " df[col] = df[col].str.title()\n", + "\n", + "# Standardize state abbreviations\n", + "state_to_abbr = {\n", + " x.subdivision_name: x.subdivision_code\n", + " for x in POLITICAL_SUBDIVISIONS.itertuples()\n", + " if x.country_code == \"USA\" and x.subdivision_type == \"state\"\n", + "}\n", + "state_to_abbr.update(\n", + " {\n", + " x.subdivision_code: x.subdivision_code\n", + " for x in POLITICAL_SUBDIVISIONS.itertuples()\n", + " if x.country_code == \"USA\" and x.subdivision_type == \"state\"\n", + " }\n", + ")\n", + "\n", + "for state_col in [\"headquarters_address_state\", \"office_address_state\"]:\n", + " df[state_col] = (\n", + " df[state_col]\n", + " .str.strip()\n", + " .replace(state_to_abbr)\n", + " .where(df[state_col].isin(state_to_abbr.values()), pd.NA)\n", + " )\n", + "\n", + "# Standardize zip codes\n", + "df[\"office_address_zip\"] = zero_pad_numeric_string(\n", + " df[\"office_address_zip\"], n_digits=5\n", + ")\n", + "df[\"headquarters_address_zip\"] = zero_pad_numeric_string(\n", + " df[\"headquarters_address_zip\"], n_digits=5\n", + ")\n", + "\n", + "# Standardize telephone and fax number format and drop (000)-000-0000\n", + "df = standardize_phone_column(df, [\"preparer_phone\", \"preparer_fax\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipheadquarters_address_countyexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_title
0NaT19901506NaN199018Abbyville, City OfP O Box 100AbbyvilleKS<NA>RenoNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0NaNNaNNaN<NA>Debra Ehling<NA>NaN
1NaT19900095NaN199027Abita Springs Nat Gas & WaterLevel StreetAbita SpringsLA<NA>St. TammanyNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.04.0NaNNaN<NA>Barbara Giancontieri<NA>NaN
2NaT19900947NaN199045Adairsville, City OfP.O. Box 830AdairsvilleGA<NA>BartowNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.00.0NaNNaN<NA>Chris Strippelhoff - Consultant<NA>NaN
3NaT19901193NaN199049Adamsville Gas Dept, Town Of231 East Main StreetAdamsvilleTN<NA>McnairyNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.03.8NaNNaN<NA>E. George Leckner, Jr. - Gas System Analyst<NA>NaN
4NaT19900948NaN199054Adel Gas Dept, City OfCity Hall - P.O. Box 658AdelGA<NA>CookNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.03.5NaNNaN<NA>Chris Strippelhoff - Consultant<NA>NaN
\n", + "
" + ], + "text/plain": [ + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip headquarters_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", + "0 NaT 19901506 NaN 1990 18 Abbyville, City Of P O Box 100 Abbyville KS Reno NaN NaN NaN 0.0 NaN NaN NaN Debra Ehling NaN\n", + "1 NaT 19900095 NaN 1990 27 Abita Springs Nat Gas & Water Level Street Abita Springs LA St. Tammany NaN NaN NaN 0.0 4.0 NaN NaN Barbara Giancontieri NaN\n", + "2 NaT 19900947 NaN 1990 45 Adairsville, City Of P.O. Box 830 Adairsville GA Bartow NaN NaN NaN 0.0 0.0 NaN NaN Chris Strippelhoff - Consultant NaN\n", + "3 NaT 19901193 NaN 1990 49 Adamsville Gas Dept, Town Of 231 East Main Street Adamsville TN Mcnairy NaN NaN NaN 0.0 3.8 NaN NaN E. George Leckner, Jr. - Gas System Analyst NaN\n", + "4 NaT 19900948 NaN 1990 54 Adel Gas Dept, City Of City Hall - P.O. Box 658 Adel GA Cook NaN NaN NaN 0.0 3.5 NaN NaN Chris Strippelhoff - Consultant NaN" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 NaN\n", + "1 4.0\n", + "2 0.0\n", + "3 3.8\n", + "4 3.5\n", + "Name: percent_unaccounted_for_gas, dtype: float64" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.percent_unaccounted_for_gas.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.033715048084940795\n" + ] + } + ], + "source": [ + "print(negative_count / (positive_count + negative_count)) " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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REREtV6tCU3vvvsufvvtNyQmJsrmlxxyAwA3Nze0b98eTk5O2LlzJwYNGlTh+oQQUKn+75DWw/9+kpqHRUdHY/r06RXvFBERET03asXhubCwMGzfvh0///wzGjZsWGmtvb09nJyccO7cOQCAVqtFYWEhcnJyZHXZ2dnSyJFWq8W1a9fKrOv69euymtIjSjk5OSgqKiozAlVi8uTJ0Ol00pSRkaFsh4mIiOiZU6OhSQiBd999F5s3b8a+ffvQpEmTRy5z48YNZGRkwN7eHgDg4eEBQ0NDJCQkSDWZmZlIS0tDx44dAQDe3t7Q6XQ4cuSIVHP48GHodDpZTVpaGjIzM6WaPXv2QK1Ww8PDo9y+qNVqWFhYyCYiIiJ6PtXo1XPjx4/HunXrsG3bNjg7O0vzNRoNTExMcPv2bURFRWHw4MGwt7fHxYsXMWXKFFy6dAnp6ekwNzcHALz99tvYsWMHYmNjYWVlhcjISNy4cQMpKSkwMDAA8ODcqKtXr2LZsmUAgLFjx8LJyQk//PADgAe3HGjTpg3s7OwwZ84c3Lx5E8HBwRgwYAAWLVqkaH949RxRzeHVc0RUVc/E1XNLly6FTqdD165dYW9vL00bNmwAABgYGODkyZPo378/mjdvjtGjR6N58+ZISkqSAhMALFiwAAMGDMCwYcPQqVMnmJqa4ocffpACEwCsXbsW7u7u8PX1ha+vL1q1aoXVq1dL7QYGBti5cyeMjY3RqVMnDBs2DAMGDMDcuXP/uSeEiIiIaq1adZ+mZx1HmohqDkeaiKiqnomRJiIiIqJnBUMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKVCjoSk6OhodOnSAubk5bG1t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kpKCoqIiWY2DgwPc3NykmqSkJGg0GikwAYCXlxc0Go1UUxG9Xo+8vDzZRERERM+nWh2aPD09sWrVKvz4449Yvnw5srKy0LFjR9y4cQNZWVkAADs7O9kydnZ2UltWVhaMjIxgaWlZaY2trW2Zbdva2ko1FYmOjpbOg9JoNHB0dKzyvhIREVHtVqtDU+/evTF48GC4u7vDx8cHO3fuBPDgMFwJlUolW0YIUWZeaaVryqtXsp7JkydDp9NJU0ZGxiP3iYiIiJ5NtTo0lWZmZgZ3d3ecO3dOOs+p9GhQdna2NPqk1WpRWFiInJycSmuuXbtWZlvXr18vM4pVmlqthoWFhWwiIiKi59MzFZr0ej3S09Nhb2+PJk2aQKvVIiEhQWovLCzEgQMH0LFjRwCAh4cHDA0NZTWZmZlIS0uTary9vaHT6XDkyBGp5vDhw9DpdFINERERUa2+ei4yMhIBAQFo1KgRsrOz8emnnyIvLw+jR4+GSqVCREQEZs6ciWbNmqFZs2aYOXMmTE1NERgYCADQaDQICQnBxIkTYW1tDSsrK0RGRkqH+wDAxcUFvXr1QmhoKJYtWwYAGDt2LPz9/XnlHBEREUlqdWi6fPkyRowYgb///hv169eHl5cXkpOT4eTkBACYNGkSCgoKMH78eOTk5MDT0xN79uyBubm5tI4FCxagbt26GDZsGAoKCtCjRw/ExsbCwMBAqlm7di3Cw8Olq+z69euHxYsX/7M7S0RERLWaSggharoTz4u8vDxoNBrodLpqP79JNb3yk9KJ/u3ENH6UEVHVKP3+fqbOaSIiIiKqKQxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESlQt6Y7QERED1GparoHRLWXEDW6eY40ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxN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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "positive_count = (df['percent_unaccounted_for_gas'] > 0).sum()\n", + "negative_count = (df['percent_unaccounted_for_gas'] < 0).sum()\n", + "\n", + "# Data for plotting\n", + "labels = ['Positive', 'Negative']\n", + "counts = [positive_count, negative_count]\n", + "\n", + "# Create the bar plot\n", + "plt.bar(labels, counts, color=['green', 'red'])\n", + "plt.title('Distribution of Positive vs Negative Values')\n", + "plt.xlabel('Value Type')\n", + "plt.ylabel('Count')\n", + "plt.xticks(rotation=0) # Rotate labels if necessary\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipheadquarters_address_countyexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_title
1047NaT19902721NaN199015233Pfg Gas, Inc55 S. Third StreetOxfordPA<NA>ChesterNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-0.90NaNNaN<NA>Robert Beard<NA>NaN
2146NaT19910719NaN19917650Humboldt Utilities - Gas Dept207 S 13Th Ave. P.O. Box 850HumboldtTN<NA>GibsonNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-1.67NaNNaN<NA>Gregory D Hall<NA>NaN
3545NaT19920497NaN199211064Lafayette Gas & Utilities Dept, City Of200 East Locust St.LafayetteTN<NA>MaconNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-4.00NaNNaN<NA>Phillip Brawner - Gas Supt.<NA>NaN
3904NaT19920894NaN199214130Ohio Gas Co200 West High StBryanOH<NA>WilliamsNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-0.62NaNNaN<NA>Anton H Jessberger<NA>NaN
4681NaT19930082NaN1993828Atmore Utilities Board, City Of201 E. Louisville AvenueAtmoreAL<NA>EscambiaNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-4.00NaNNaN<NA>Vickie M. James - Clerk Of The Board<NA>NaN
\n", + "
" + ], + "text/plain": [ + " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip headquarters_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", + "1047 NaT 19902721 NaN 1990 15233 Pfg Gas, Inc 55 S. Third Street Oxford PA Chester NaN NaN NaN 0.0 -0.90 NaN NaN Robert Beard NaN\n", + "2146 NaT 19910719 NaN 1991 7650 Humboldt Utilities - Gas Dept 207 S 13Th Ave. P.O. Box 850 Humboldt TN Gibson NaN NaN NaN 0.0 -1.67 NaN NaN Gregory D Hall NaN\n", + "3545 NaT 19920497 NaN 1992 11064 Lafayette Gas & Utilities Dept, City Of 200 East Locust St. Lafayette TN Macon NaN NaN NaN 0.0 -4.00 NaN NaN Phillip Brawner - Gas Supt. NaN\n", + "3904 NaT 19920894 NaN 1992 14130 Ohio Gas Co 200 West High St Bryan OH Williams NaN NaN NaN 0.0 -0.62 NaN NaN Anton H Jessberger NaN\n", + "4681 NaT 19930082 NaN 1993 828 Atmore Utilities Board, City Of 201 E. Louisville Avenue Atmore AL Escambia NaN NaN NaN 0.0 -4.00 NaN NaN Vickie M. James - Clerk Of The Board NaN" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[df.percent_unaccounted_for_gas<0]" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['report_date', 'report_number', 'report_submission_type', 'report_year', 'operator_id_phmsa', 'operator_name_phmsa', 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_county', 'headquarters_address_street', 'headquarters_address_city', 'headquarters_address_state', 'headquarters_address_zip', 'headquarters_address_county', 'excavation_damage_excavation_practices', 'excavation_damage_locating_practices', 'excavation_damage_one_call_notification', 'excavation_damage_other', 'excavation_damage_total', 'excavation_tickets', 'services_efv_in_system', 'services_efv_installed', 'services_shutoff_valve_in_system', 'services_shutoff_valve_installed', 'federal_land_leaks_repaired_or_scheduled', 'percent_unaccounted_for_gas', 'additional_information', 'preparer_email', 'preparer_fax', 'preparer_name', 'preparer_phone', 'preparer_title'], dtype='object')" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -93,22 +878,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_38807/333100233.py:18: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " df[columns_to_convert] = df[columns_to_convert].astype(\"Int64\")\n" - ] - } - ], + "outputs": [], "source": [ "# Convert columns to ints\n", "# Excluded \"federal_land_leaks_repaired_or_scheduled\" from this list since there were a couple rows with decimal values\n", @@ -162,22 +934,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_38807/3067155886.py:17: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " df[columns_to_fill] = df[columns_to_fill].fillna(0)\n" - ] - } - ], + "outputs": [], "source": [ "# Fill NA values with zeroes because these columns are simply counts.\n", "# Note that \"excavation_damage...\" columns should sum up to the value in \"excavation_damage_total\". However, many rows\n", @@ -262,18 +1021,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/0k/_f6292f54rd6y6x_3m47kq1h0000gp/T/ipykernel_38807/2203460441.py:2: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n", - " df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x)\n" - ] - } - ], + "outputs": [], "source": [ "# Trim all the object-type columns\n", "df[df.select_dtypes(include=['object']).columns] = df.select_dtypes(include=['object']).applymap(lambda x: x.strip() if isinstance(x, str) else x)" From cb6c7678cf8ffac224e7acc0fb192b38dac08f4b Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 24 Nov 2024 14:53:51 -0500 Subject: [PATCH 29/39] Make updates per PR feedback --- src/pudl/helpers.py | 16 +++---- src/pudl/metadata/enums.py | 18 ++++---- src/pudl/transform/phmsagas.py | 74 ++++++++++++++++++++++++++++++--- src/pudl/workspace/datastore.py | 2 +- 4 files changed, 88 insertions(+), 22 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index bef82bc9cc..d977a5210e 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -1032,9 +1032,6 @@ def standardize_na_values(df: pd.DataFrame) -> pd.DataFrame: # Replace matching patterns in all object columns with np.nan df = df.replace(na_patterns, np.nan, regex=True) - # Attempt to infer original types where possible to avoid unwanted type changes - df = df.infer_objects() - return df @@ -2264,14 +2261,17 @@ def analyze_missing_values( ) -> list[str]: """Analyze columns of a DataFrame for missing or invalid values. - Note that this is purely for analysis and does not perform any data - transformation or cleaning. This function checks each column for missing - or custom missing values and logs a summary of the findings for - string (object), numeric, and datetime columns. + PLEASE NOTE: No calls to this method should be included in any final + transformation scripts. This is purely for analysis and does not perform + any data transformation or cleaning. + + This function checks each column for missing or custom missing values + and logs a summary of the findings for string (object), numeric, and + datetime columns. Args: df: The DataFrame to analyze. - custom_missing_values: Optional list of custom values to consider + custom_missing_values: Optional list of custom values to consider as "missing" (e.g., empty strings, specific strings like "NA", "NULL", etc.). If not provided, defaults to a standard set. diff --git a/src/pudl/metadata/enums.py b/src/pudl/metadata/enums.py index d97dde7408..3bd2f64e9c 100644 --- a/src/pudl/metadata/enums.py +++ b/src/pudl/metadata/enums.py @@ -3,6 +3,16 @@ from pudl.metadata.dfs import POLITICAL_SUBDIVISIONS COUNTRY_CODES_ISO3166: set[str] = set(POLITICAL_SUBDIVISIONS.country_code) + +US_STATE_CODES: set[str] = set( + POLITICAL_SUBDIVISIONS.loc[ + (POLITICAL_SUBDIVISIONS.country_code == "USA") + & (POLITICAL_SUBDIVISIONS.subdivision_type == "state"), + "subdivision_name", + ] +) +""" Two-letter ANSI state codes.""" + SUBDIVISION_CODES_ISO3166: set[str] = set(POLITICAL_SUBDIVISIONS.subdivision_code) EPACEMS_STATES: set[str] = set( POLITICAL_SUBDIVISIONS.loc[ @@ -640,11 +650,3 @@ "utility_operating_expenses", ] """Income types for FERC Form 1 data.""" - -US_STATE_CODES: set[str] = set( - POLITICAL_SUBDIVISIONS.loc[ - (POLITICAL_SUBDIVISIONS.country_code == "USA") - & (POLITICAL_SUBDIVISIONS.subdivision_type == "state"), - "subdivision_name", - ] -) diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 6423b16f1f..578bd9a5ea 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -1,7 +1,8 @@ """Classes & functions to process PHMSA natural gas data before loading into the PUDL DB.""" import pandas as pd -from dagster import AssetIn, asset +from dagster import AssetCheckResult, AssetChecksDefinition, AssetIn, asset, asset_check +from dataclasses import dataclass import pudl.logging_helpers from pudl.helpers import ( @@ -69,8 +70,13 @@ "services_efv_installed", "services_shutoff_valve_in_system", "services_shutoff_valve_installed", + "federal_land_leaks_repaired_or_scheduled" ], - "capitalization_exclusion": ["headquarters_address_state", "office_address_state"], + "capitalization_exclusion": [ + "headquarters_address_state", + "office_address_state", + "preparer_email" + ] } ############################################################################## @@ -86,7 +92,24 @@ def core_phmsagas__yearly_distribution_operators( raw_data: pd.DataFrame, ) -> pd.DataFrame: - """Build the :ref:`core_phmsagas__yearly_distribution_operators`.""" + """Pull and transform the yearly distribution PHMSA data into operator-level data. + + Transformations include: + + * Standardize NAs. + * Strip blank spaces around string values. + * Convert specific columns to integers. + * Standardize report_year values. + * Standardize address columns. + * Standardize phone and fax numbers. + + Args: + raw_phmsagas__yearly_distribution: The raw ``raw_phmsagas__yearly_distribution`` dataframe. + + Returns: + Transformed ``core_phmsagas__yearly_distribution_operators`` dataframe. + + """ df = raw_data.loc[ :, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS["columns_to_keep"] ].copy() @@ -103,8 +126,8 @@ def core_phmsagas__yearly_distribution_operators( "columns_to_convert_to_ints" ] - # Fill NaN values with pd.NA, then cast to "Int64" nullable integer type - df[cols_to_convert] = df[cols_to_convert].fillna(pd.NA).astype("Int64") + # Use convert_dtypes() to convert columns to the most appropriate nullable types + df[cols_to_convert] = df[cols_to_convert].convert_dtypes() # Ensure all "report_year" values have four digits mask = df["report_year"] < 100 @@ -155,5 +178,46 @@ def core_phmsagas__yearly_distribution_operators( # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) + + pdb.set_trace() return df + +@dataclass +class PhmsagasCheckSpec: + """Define some simple checks that can run on FERC 714 assets.""" + + name: str + asset: str + percent_unaccounted_for_gas_negative_threshold: float + +check_specs = [ + PhmsagasCheckSpec( + name="phmsagas__yearly_distribution_check_spec", + asset="raw_phmsagas__yearly_distribution", + # Threshold to use when making sure we aren't seeing tons of negative values in percent_unaccounted_for_gas + percent_unaccounted_for_gas_negative_threshold = .05 + ) +] + +def make_check_phmsagas_yearly_distribution(spec: PhmsagasCheckSpec) -> AssetChecksDefinition: + """Turn the Ferc714CheckSpec into an actual Dagster asset check.""" + + @asset_check(asset=spec.asset, blocking=True) + def _check(df): + + # Count the rows where percent_unaccounted_for_gas is negative + negative_count = (df["percent_unaccounted_for_gas"] < 0).sum() + + # Calculate the percentage + negative_percentage = (negative_count / len(df)) + if negative_percentage > PhmsagasCheckSpec.percent_unaccounted_for_gas_negative_threshold: + error = "Percentage of rows with negative percent_unaccounted_for_gas values: {negative_percentage:.2f}" + logger.info(error) + + if error: + return AssetCheckResult(passed=False, metadata={"errors": error}) + + return AssetCheckResult(passed=True) + + return _check diff --git a/src/pudl/workspace/datastore.py b/src/pudl/workspace/datastore.py index 10dc723d0f..ef6fea58a7 100644 --- a/src/pudl/workspace/datastore.py +++ b/src/pudl/workspace/datastore.py @@ -206,7 +206,7 @@ class ZenodoDoiSettings(BaseSettings): ferc60: ZenodoDoi = "10.5281/zenodo.13149090" ferc714: ZenodoDoi = "10.5281/zenodo.13149091" gridpathratoolkit: ZenodoDoi = "10.5281/zenodo.10892394" - phmsagas: ZenodoDoi = "10.5281/zenodo.13624526" + phmsagas: ZenodoDoi = "10.5281/zenodo.14026420" nrelatb: ZenodoDoi = "10.5281/zenodo.12658647" vcerare: ZenodoDoi = "10.5281/zenodo.13937523" From 05cc8ce00a77281ce28d43f6eaf2b2baec77dff5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 24 Nov 2024 19:54:18 +0000 Subject: [PATCH 30/39] [pre-commit.ci] auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pudl/helpers.py | 4 ++-- src/pudl/transform/phmsagas.py | 34 +++++++++++++++++++++------------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index d977a5210e..26dab9d347 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2263,8 +2263,8 @@ def analyze_missing_values( PLEASE NOTE: No calls to this method should be included in any final transformation scripts. This is purely for analysis and does not perform - any data transformation or cleaning. - + any data transformation or cleaning. + This function checks each column for missing or custom missing values and logs a summary of the findings for string (object), numeric, and datetime columns. diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 578bd9a5ea..f5a0c36c9b 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -1,8 +1,9 @@ """Classes & functions to process PHMSA natural gas data before loading into the PUDL DB.""" +from dataclasses import dataclass + import pandas as pd from dagster import AssetCheckResult, AssetChecksDefinition, AssetIn, asset, asset_check -from dataclasses import dataclass import pudl.logging_helpers from pudl.helpers import ( @@ -70,13 +71,13 @@ "services_efv_installed", "services_shutoff_valve_in_system", "services_shutoff_valve_installed", - "federal_land_leaks_repaired_or_scheduled" + "federal_land_leaks_repaired_or_scheduled", ], "capitalization_exclusion": [ - "headquarters_address_state", + "headquarters_address_state", "office_address_state", - "preparer_email" - ] + "preparer_email", + ], } ############################################################################## @@ -92,8 +93,8 @@ def core_phmsagas__yearly_distribution_operators( raw_data: pd.DataFrame, ) -> pd.DataFrame: - """Pull and transform the yearly distribution PHMSA data into operator-level data. - + """Pull and transform the yearly distribution PHMSA data into operator-level data. + Transformations include: * Standardize NAs. @@ -178,11 +179,12 @@ def core_phmsagas__yearly_distribution_operators( # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) - + pdb.set_trace() return df + @dataclass class PhmsagasCheckSpec: """Define some simple checks that can run on FERC 714 assets.""" @@ -191,27 +193,33 @@ class PhmsagasCheckSpec: asset: str percent_unaccounted_for_gas_negative_threshold: float + check_specs = [ PhmsagasCheckSpec( name="phmsagas__yearly_distribution_check_spec", asset="raw_phmsagas__yearly_distribution", # Threshold to use when making sure we aren't seeing tons of negative values in percent_unaccounted_for_gas - percent_unaccounted_for_gas_negative_threshold = .05 + percent_unaccounted_for_gas_negative_threshold=0.05, ) ] -def make_check_phmsagas_yearly_distribution(spec: PhmsagasCheckSpec) -> AssetChecksDefinition: + +def make_check_phmsagas_yearly_distribution( + spec: PhmsagasCheckSpec, +) -> AssetChecksDefinition: """Turn the Ferc714CheckSpec into an actual Dagster asset check.""" @asset_check(asset=spec.asset, blocking=True) def _check(df): - # Count the rows where percent_unaccounted_for_gas is negative negative_count = (df["percent_unaccounted_for_gas"] < 0).sum() # Calculate the percentage - negative_percentage = (negative_count / len(df)) - if negative_percentage > PhmsagasCheckSpec.percent_unaccounted_for_gas_negative_threshold: + negative_percentage = negative_count / len(df) + if ( + negative_percentage + > PhmsagasCheckSpec.percent_unaccounted_for_gas_negative_threshold + ): error = "Percentage of rows with negative percent_unaccounted_for_gas values: {negative_percentage:.2f}" logger.info(error) From 9f57d77ebf82f24895728fe753642d477e753cfb Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 6 Dec 2024 13:06:14 -0500 Subject: [PATCH 31/39] Cleanup method description --- src/pudl/helpers.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index d977a5210e..47c2aecefe 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -1013,9 +1013,7 @@ def standardize_na_values(df: pd.DataFrame) -> pd.DataFrame: """Replace common ill-posed EIA NA spreadsheet values with np.nan. Currently replaces empty string, single decimal points with no numbers, - any single whitespace character, and hyphens with np.nan. Also converts - columns to their original types where possible (using 'infer_objects') - to avoid unintended data type changes. + any single whitespace character, and hyphens with np.nan. Args: df: The DataFrame to clean. From 6f504e5a2247bf2f6a12043a4d6ede09f7e891f6 Mon Sep 17 00:00:00 2001 From: sam Date: Sat, 7 Dec 2024 11:01:45 -0500 Subject: [PATCH 32/39] Update inits, classes, and fields --- src/pudl/etl/__init__.py | 1 + src/pudl/metadata/classes.py | 2 + src/pudl/metadata/fields.py | 146 ++++++++++++++++++++++++ src/pudl/metadata/resources/phmsagas.py | 54 +++++++++ src/pudl/transform/__init__.py | 1 + src/pudl/transform/phmsagas.py | 7 +- 6 files changed, 206 insertions(+), 5 deletions(-) create mode 100644 src/pudl/metadata/resources/phmsagas.py diff --git a/src/pudl/etl/__init__.py b/src/pudl/etl/__init__.py index 475c38970d..4ebb899f61 100644 --- a/src/pudl/etl/__init__.py +++ b/src/pudl/etl/__init__.py @@ -84,6 +84,7 @@ "core_gridpathratoolkit": [pudl.transform.gridpathratoolkit], "core_nrelatb": [pudl.transform.nrelatb], "core_vcerare": [pudl.transform.vcerare], + "core_phmsagas": [pudl.transform.phmsagas], } out_module_groups = { diff --git a/src/pudl/metadata/classes.py b/src/pudl/metadata/classes.py index 2939d47157..466943383b 100644 --- a/src/pudl/metadata/classes.py +++ b/src/pudl/metadata/classes.py @@ -1285,6 +1285,7 @@ class Resource(PudlMeta): "pudl", "nrelatb", "vcerare", + "phmsagas", ] | None ) = None @@ -1313,6 +1314,7 @@ class Resource(PudlMeta): "service_territories", "nrelatb", "vcerare", + "phmsagas", ] | None ) = None diff --git a/src/pudl/metadata/fields.py b/src/pudl/metadata/fields.py index 6ef9e1af6d..207843ee8f 100644 --- a/src/pudl/metadata/fields.py +++ b/src/pudl/metadata/fields.py @@ -57,6 +57,10 @@ "description": "Demand reduction actually achieved by demand response activities. Measured at the time of the company's annual system peak hour.", "unit": "MW", }, + "additional_information": { + "type": "string", + "description": "Field for any additional non-structured data supplied.", + }, "additions": { "type": "number", "description": "Cost of acquisition of items classified within the account.", @@ -1466,6 +1470,30 @@ "description": "Whether the reported technology data is estimated or actual.", "constraints": {"enum": list(ESTIMATED_OR_ACTUAL.values())}, }, + "excavation_damage_excavation_practices": { + "type": "integer", + "description": "Count of excavation practices resulting in excavation damage related to natural gas distribution.", + }, + "excavation_damage_locating_practices": { + "type": "integer", + "description": "Count of locating practices resulting in excavation damage related to natural gas distribution.", + }, + "excavation_damage_one_call_notification": { + "type": "integer", + "description": "Count of one-call notification practices resulting in excavation damage related to natural gas distribution.", + }, + "excavation_damage_other": { + "type": "integer", + "description": "Count of other excavation practices resulting in excavation damage related to natural gas distribution.", + }, + "excavation_damage_total": { + "type": "integer", + "description": "Count of reported instances excavation damage related to natural gas distribution.", + }, + "excavation_tickets": { + "type": "integer", + "description": "Count of excavation tickets related to natural gas distribution.", + }, "exchange_energy_delivered_mwh": { "type": "number", "description": ( @@ -1483,6 +1511,10 @@ "unit": "MWh", }, "expense_type": {"type": "string", "description": "The type of expense."}, + "federal_land_leaks_repaired_or_scheduled": { + "type": "number", + "description": "Total number of leaks on federal land repaired or scheduled for repair.", + }, "ferc1_generator_agg_id": { "type": "integer", "description": "ID dynamically assigned by PUDL to EIA records with multiple matches to a single FERC ID in the FERC-EIA manual matching process.", @@ -2028,6 +2060,26 @@ "description": "Average power in megawatts delivered during time interval measured.", "unit": "MW", }, + "headquarters_address_city": { + "type": "string", + "description": "City where an operator's headquarters are located.", + }, + "headquarters_address_county": { + "type": "string", + "description": "County where an operator's headquarters are located.", + }, + "headquarters_address_state": { + "type": "string", + "description": "State where an operator's headquarters are located.", + }, + "headquarters_address_street": { + "type": "string", + "description": "Street address for an operator's headquarters.", + }, + "headquarters_address_zip": { + "type": "string", + "description": "Zipcode where an operator's headquarters are located.", + }, "heat_content_mmbtu": { "type": "number", "description": "The energy contained in fuel burned, measured in million BTU.", @@ -2966,6 +3018,26 @@ "type": "integer", "description": "Number of circuits in a transmission line.", }, + "office_address_city": { + "type": "string", + "description": "City where an operator's office is located.", + }, + "office_address_county": { + "type": "string", + "description": "County where an operator's office is located.", + }, + "office_address_state": { + "type": "string", + "description": "State where an operator's office is located.", + }, + "office_address_street": { + "type": "string", + "description": "Street address of an operator's office.", + }, + "office_address_zip": { + "type": "string", + "description": "Zipcode where an operator's office is located.", + }, "oil_fraction_cost": { "type": "number", "description": "Oil cost as a percentage of overall fuel cost.", @@ -3017,6 +3089,14 @@ "description": "The operating status of the asset using PUDL categories of the record_id_eia_plant_gen record .", "constraints": {"enum": ["operating", "retired", "proposed"]}, }, + "operator_id_phmsa": { + "type": "integer", + "description": "PHMSA unique operator ID.", + }, + "operator_name_phmsa": { + "type": "string", + "description": "PHMSA operator name.", + }, "opex_allowances": {"type": "number", "description": "Allowances.", "unit": "USD"}, "opex_boiler": { "type": "number", @@ -3325,6 +3405,17 @@ # TODO Disambiguate column names. Usually this is over 60 minutes, but in # other tables it's not specified. }, + "percent_unaccounted_for_gas": { + "type": "number", + "description": ( + "Unaccounted for gas as a percent of total consumption " + "for the 12 months ending June 30 of the reporting year. " + "Percentage is calculated as follows: " + "Take the sum of: purchased gas + produced gas minus customer use + company use " + "+ appropriate adjustments. Then divide by the sum of customer use + company use " + "+ appropriate adjustments. Multiply the output by 100." + ), + }, "percent_dry_cooling": { "description": "Percent of cooling load served by dry cooling components", "type": "number", @@ -3536,6 +3627,26 @@ "type": "number", "unit": "MW", }, + "preparer_email": { + "type": "string", + "description": "Email address of representative who filed report.", + }, + "preparer_fax": { + "type": "string", + "description": "Fax number of representative who filed report.", + }, + "preparer_name": { + "type": "string", + "description": "Name of representative who filed report.", + }, + "preparer_phone": { + "type": "string", + "description": "Phone number of representative who filed report.", + }, + "preparer_title": { + "type": "string", + "description": "Title of representative who filed report.", + }, "previously_canceled": { "type": "boolean", "description": "Indicates whether the generator was previously reported as indefinitely postponed or canceled", @@ -3711,6 +3822,14 @@ "description": "Timezone used by the reporting entity. For use in localizing UTC times.", "constraints": {"enum": US_TIMEZONES}, }, + "report_number": { + "type": "integer", + "description": "Report number.", + }, + "report_submission_type": { + "type": "string", + "description": "Type of report submitted.", + }, "report_year": { "type": "integer", "description": "Four-digit year in which the data was reported.", @@ -3977,6 +4096,33 @@ "type": "string", "description": "Service area in which plant is located; for unregulated companies, it's the electric utility with which plant is interconnected", }, + "services_efv_in_system": { + "type": "integer", + "description": ( + "Estimated number of services with Excess Flow Valve " + "in the system at end of reported year related to " + "natural gas distribution." + ) + }, + "services_efv_installed": { + "type": "integer", + "description": ( + "Total number of services with Excess Flow Valve installed " + "during reported year related to natural gas distribution." + )}, + "services_shutoff_valve_in_system": { + "type": "integer", + "description": ( + "Estimated number of services with manual service line " + "shut-off valves installed in the system at end of report year " + "related to natural gas distribution." + )}, + "services_shutoff_valve_installed": { + "type": "integer", + "description": ( + "Total number of manual service line shut-off valves installed " + "during reported year related to natural gas distribution." + )}, "service_type": { "type": "string", "description": ( diff --git a/src/pudl/metadata/resources/phmsagas.py b/src/pudl/metadata/resources/phmsagas.py new file mode 100644 index 0000000000..c432d23b3d --- /dev/null +++ b/src/pudl/metadata/resources/phmsagas.py @@ -0,0 +1,54 @@ +"""Tables definitions for data coming from PHMSA natural gas data.""" + +from typing import Any + +RESOURCE_METADATA: dict[str, dict[str, Any]] = { + "core_phmsagas__yearly_distribution_operators": { + "description": "Operator-level natural gas distribution data. PHMSA gas distrubtion system annual report.", + "schema": { + "fields": [ + "report_date", + "report_number", + "report_submission_type", + "report_year", + "operator_id_phmsa", + "operator_name_phmsa", + "office_address_street", + "office_address_city", + "office_address_state", + "office_address_zip", + "office_address_county", + "headquarters_address_street", + "headquarters_address_city", + "headquarters_address_state", + "headquarters_address_zip", + "headquarters_address_county", + "excavation_damage_excavation_practices", + "excavation_damage_locating_practices", + "excavation_damage_one_call_notification", + "excavation_damage_other", + "excavation_damage_total", + "excavation_tickets", + "services_efv_in_system", + "services_efv_installed", + "services_shutoff_valve_in_system", + "services_shutoff_valve_installed", + "federal_land_leaks_repaired_or_scheduled", + "percent_unaccounted_for_gas", + "additional_information", + "preparer_email", + "preparer_fax", + "preparer_name", + "preparer_phone", + "preparer_title", + ], + "primary_key": [ + "operator_id_phmsa", + "report_number" + ], + }, + "sources": ["phmsagas"], + "field_namespace": "phmsagas", + "etl_group": "phmsagas", + } +} diff --git a/src/pudl/transform/__init__.py b/src/pudl/transform/__init__.py index 68451cc9b9..e3fc8b6c17 100644 --- a/src/pudl/transform/__init__.py +++ b/src/pudl/transform/__init__.py @@ -79,4 +79,5 @@ nrelatb, params, vcerare, + phmsagas, ) diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index f5a0c36c9b..0d830b4f79 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -22,10 +22,9 @@ YEARLY_DISTRIBUTION_OPERATORS_COLUMNS = { "columns_to_keep": [ "report_date", - "report_number", # not in pudl/metadata/fields.py - "report_submission_type", # not in pudl/metadata/fields.py + "report_number", + "report_submission_type", "report_year", - # None of the columns below are in pudl/metadata/fields.py "operator_id_phmsa", "operator_name_phmsa", "office_address_street", @@ -180,8 +179,6 @@ def core_phmsagas__yearly_distribution_operators( # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) - pdb.set_trace() - return df From 759f1e680ff3d2e09beb67116763bd747b3cf1d5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 7 Dec 2024 16:02:13 +0000 Subject: [PATCH 33/39] [pre-commit.ci] auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pudl/metadata/fields.py | 11 +++++++---- src/pudl/metadata/resources/phmsagas.py | 5 +---- src/pudl/transform/__init__.py | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/pudl/metadata/fields.py b/src/pudl/metadata/fields.py index 207843ee8f..d12cb157e4 100644 --- a/src/pudl/metadata/fields.py +++ b/src/pudl/metadata/fields.py @@ -4102,27 +4102,30 @@ "Estimated number of services with Excess Flow Valve " "in the system at end of reported year related to " "natural gas distribution." - ) + ), }, "services_efv_installed": { "type": "integer", "description": ( "Total number of services with Excess Flow Valve installed " "during reported year related to natural gas distribution." - )}, + ), + }, "services_shutoff_valve_in_system": { "type": "integer", "description": ( "Estimated number of services with manual service line " "shut-off valves installed in the system at end of report year " "related to natural gas distribution." - )}, + ), + }, "services_shutoff_valve_installed": { "type": "integer", "description": ( "Total number of manual service line shut-off valves installed " "during reported year related to natural gas distribution." - )}, + ), + }, "service_type": { "type": "string", "description": ( diff --git a/src/pudl/metadata/resources/phmsagas.py b/src/pudl/metadata/resources/phmsagas.py index c432d23b3d..bd513bf558 100644 --- a/src/pudl/metadata/resources/phmsagas.py +++ b/src/pudl/metadata/resources/phmsagas.py @@ -42,10 +42,7 @@ "preparer_phone", "preparer_title", ], - "primary_key": [ - "operator_id_phmsa", - "report_number" - ], + "primary_key": ["operator_id_phmsa", "report_number"], }, "sources": ["phmsagas"], "field_namespace": "phmsagas", diff --git a/src/pudl/transform/__init__.py b/src/pudl/transform/__init__.py index e3fc8b6c17..f2919927b8 100644 --- a/src/pudl/transform/__init__.py +++ b/src/pudl/transform/__init__.py @@ -78,6 +78,6 @@ gridpathratoolkit, nrelatb, params, - vcerare, phmsagas, + vcerare, ) From f1fa7a3f38cf02ec7fac5a55063f12148ccafa9b Mon Sep 17 00:00:00 2001 From: sam Date: Thu, 12 Dec 2024 11:31:11 -0500 Subject: [PATCH 34/39] Deduplication and test updates --- src/pudl/helpers.py | 2 +- src/pudl/transform/phmsagas.py | 127 +++++++++++++++++++++++++++++++-- 2 files changed, 122 insertions(+), 7 deletions(-) diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 1f31390759..7efc43ce9e 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2269,7 +2269,7 @@ def analyze_missing_values( Args: df: The DataFrame to analyze. - custom_missing_values: Optional list of custom values to consider + custom_missing_values: Optional list of custom values to consider as "missing" (e.g., empty strings, specific strings like "NA", "NULL", etc.). If not provided, defaults to a standard set. diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 0d830b4f79..7b425e6549 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -179,8 +179,96 @@ def core_phmsagas__yearly_distribution_operators( # Standardize telephone and fax number format and drop (000)-000-0000 df = standardize_phone_column(df, ["preparer_phone", "preparer_fax"]) + # Drop duplicates + df = df.drop_duplicates() + + # Identify non-unique groups based on our PKs + non_unique_groups = df[df.groupby(["operator_id_phmsa", "report_number"])["report_number"].transform('size') > 1] + + # Apply some custom filtering logic to non-unique groups + filtered_non_unique_rows = ( + non_unique_groups + .groupby(["operator_id_phmsa", "report_number"], group_keys=False) + .apply(combined_filter) + ) + + # Combine filtered non-unique rows with untouched unique rows + unique_rows = df.drop(non_unique_groups.index) + df = pd.concat([unique_rows, filtered_non_unique_rows], ignore_index=True) + return df +def filter_if_test_in_address(group: pd.DataFrame) -> pd.DataFrame: + """ + Filters out rows with "test" in address columns. The logic is as follows: + + 1. For any group of rows with the same combination of "operator_id_phmsa" + and "report_number": + - If at least one row in the group does not contain the string "test" + (case-insensitive) in either "office_address_street" or + "headquarters_address_street", keep only the rows in the group + that do not contain "test" in these columns. + - If all rows in the group contain "test" in either of the columns, + leave the group unchanged. + + Args: + group (DataFrame): A grouped subset of the DataFrame. + + Returns: + DataFrame: The filtered group of rows. + """ + # Check if at least one row in the group does NOT contain "test" in both of the specified columns + contains_test = group.apply( + lambda row: "test" in str(row["office_address_street"]).lower() or + "test" in str(row["headquarters_address_street"]).lower(), + axis=1 + ) + has_non_test = not contains_test.all() + + if has_non_test: + # Keep rows where "test" does NOT appear in either column + return group[~contains_test] + else: + # If all rows have "test", keep the group as is + return group + +def filter_by_city_in_name(group: pd.DataFrame) -> pd.DataFrame: + """ + Deduplication filter to only keep rows where "office_address_city" value + is contained in the "operator_name_phmsa" value (case insensitive). + + Args: + group (pd.DataFrame): A grouped subset of the DataFrame. + + Returns: + pd.DataFrame: The filtered group of rows. + """ + # Check if any row has "office_address_city" contained in "operator_name_phmsa" (case insensitive) + city_in_name = group["office_address_city"].str.lower().apply( + lambda city: any(city in name.lower() for name in group["operator_name_phmsa"]) + ) + + if city_in_name.any(): + # If any city is contained in the operator name, keep only those rows + return group[city_in_name] + else: + # If no city is contained in the operator name, return the group as-is + return group + +def combined_filter(group: pd.DataFrame) -> pd.DataFrame: + """ + Apply all required filters to DataFrame. + + Args: + group (pd.DataFrame): A grouped subset of the DataFrame. + + Returns: + pd.DataFrame: The filtered group of rows. + """ + # Apply filters + group = filter_by_city_in_name(group) + group = filter_if_test_in_address(group) + return group @dataclass class PhmsagasCheckSpec: @@ -189,6 +277,7 @@ class PhmsagasCheckSpec: name: str asset: str percent_unaccounted_for_gas_negative_threshold: float + pk_deduplication_theshold: int check_specs = [ @@ -197,17 +286,19 @@ class PhmsagasCheckSpec: asset="raw_phmsagas__yearly_distribution", # Threshold to use when making sure we aren't seeing tons of negative values in percent_unaccounted_for_gas percent_unaccounted_for_gas_negative_threshold=0.05, + # Threshold to use when making sure we aren't dropping a large number of rows based on non-unique PKs + pk_deduplication_theshold=10, ) ] def make_check_phmsagas_yearly_distribution( spec: PhmsagasCheckSpec, -) -> AssetChecksDefinition: - """Turn the Ferc714CheckSpec into an actual Dagster asset check.""" +) -> list[AssetChecksDefinition]: + """Turn the Ferc714CheckSpec into Dagster asset checks.""" @asset_check(asset=spec.asset, blocking=True) - def _check(df): + def _check_percent_unaccounted_for_gas(df): # Count the rows where percent_unaccounted_for_gas is negative negative_count = (df["percent_unaccounted_for_gas"] < 0).sum() @@ -219,10 +310,34 @@ def _check(df): ): error = "Percentage of rows with negative percent_unaccounted_for_gas values: {negative_percentage:.2f}" logger.info(error) - - if error: return AssetCheckResult(passed=False, metadata={"errors": error}) return AssetCheckResult(passed=True) - return _check + @asset_check(asset=spec.asset, blocking=True) + def _check_pk_deduplication(df): + """Check if the size of filtered non-unique rows exceeds the threshold.""" + # Identify non-unique groups + non_unique_groups = ( + df.groupby(["operator_id_phmsa", "report_number"]) + .filter(lambda group: len(group) > 1) + ) + + # Apply the filters to non-unique groups + filtered_non_unique_rows = ( + non_unique_groups + .groupby(["operator_id_phmsa", "report_number"], group_keys=False) + .apply(combined_filter) + ) + + if len(filtered_non_unique_rows) > spec.pk_deduplication_theshold: + error = ( + f"Number of filtered non-unique rows ({len(filtered_non_unique_rows)})\n" + f"Exceeds the threshold of {spec.pk_deduplication_theshold}" + ) + logger.info(error) + return AssetCheckResult(passed=False, metadata={"errors": error}) + + return AssetCheckResult(passed=True) + + return [_check_percent_unaccounted_for_gas, _check_pk_deduplication] From d5f5ffec6e0b5728f5c83dc45865a43f31271d11 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 12 Dec 2024 16:34:05 +0000 Subject: [PATCH 35/39] [pre-commit.ci] auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pudl/transform/phmsagas.py | 87 ++++++++++++++++++---------------- 1 file changed, 46 insertions(+), 41 deletions(-) diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 7b425e6549..1e94a37aea 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -183,14 +183,17 @@ def core_phmsagas__yearly_distribution_operators( df = df.drop_duplicates() # Identify non-unique groups based on our PKs - non_unique_groups = df[df.groupby(["operator_id_phmsa", "report_number"])["report_number"].transform('size') > 1] + non_unique_groups = df[ + df.groupby(["operator_id_phmsa", "report_number"])["report_number"].transform( + "size" + ) + > 1 + ] # Apply some custom filtering logic to non-unique groups - filtered_non_unique_rows = ( - non_unique_groups - .groupby(["operator_id_phmsa", "report_number"], group_keys=False) - .apply(combined_filter) - ) + filtered_non_unique_rows = non_unique_groups.groupby( + ["operator_id_phmsa", "report_number"], group_keys=False + ).apply(combined_filter) # Combine filtered non-unique rows with untouched unique rows unique_rows = df.drop(non_unique_groups.index) @@ -198,17 +201,17 @@ def core_phmsagas__yearly_distribution_operators( return df + def filter_if_test_in_address(group: pd.DataFrame) -> pd.DataFrame: - """ - Filters out rows with "test" in address columns. The logic is as follows: - - 1. For any group of rows with the same combination of "operator_id_phmsa" + """Filters out rows with "test" in address columns. The logic is as follows: + + 1. For any group of rows with the same combination of "operator_id_phmsa" and "report_number": - - If at least one row in the group does not contain the string "test" - (case-insensitive) in either "office_address_street" or - "headquarters_address_street", keep only the rows in the group + - If at least one row in the group does not contain the string "test" + (case-insensitive) in either "office_address_street" or + "headquarters_address_street", keep only the rows in the group that do not contain "test" in these columns. - - If all rows in the group contain "test" in either of the columns, + - If all rows in the group contain "test" in either of the columns, leave the group unchanged. Args: @@ -219,22 +222,21 @@ def filter_if_test_in_address(group: pd.DataFrame) -> pd.DataFrame: """ # Check if at least one row in the group does NOT contain "test" in both of the specified columns contains_test = group.apply( - lambda row: "test" in str(row["office_address_street"]).lower() or - "test" in str(row["headquarters_address_street"]).lower(), - axis=1 + lambda row: "test" in str(row["office_address_street"]).lower() + or "test" in str(row["headquarters_address_street"]).lower(), + axis=1, ) has_non_test = not contains_test.all() if has_non_test: # Keep rows where "test" does NOT appear in either column return group[~contains_test] - else: - # If all rows have "test", keep the group as is - return group + # If all rows have "test", keep the group as is + return group + def filter_by_city_in_name(group: pd.DataFrame) -> pd.DataFrame: - """ - Deduplication filter to only keep rows where "office_address_city" value + """Deduplication filter to only keep rows where "office_address_city" value is contained in the "operator_name_phmsa" value (case insensitive). Args: @@ -244,20 +246,25 @@ def filter_by_city_in_name(group: pd.DataFrame) -> pd.DataFrame: pd.DataFrame: The filtered group of rows. """ # Check if any row has "office_address_city" contained in "operator_name_phmsa" (case insensitive) - city_in_name = group["office_address_city"].str.lower().apply( - lambda city: any(city in name.lower() for name in group["operator_name_phmsa"]) + city_in_name = ( + group["office_address_city"] + .str.lower() + .apply( + lambda city: any( + city in name.lower() for name in group["operator_name_phmsa"] + ) + ) ) - + if city_in_name.any(): # If any city is contained in the operator name, keep only those rows return group[city_in_name] - else: - # If no city is contained in the operator name, return the group as-is - return group - + # If no city is contained in the operator name, return the group as-is + return group + + def combined_filter(group: pd.DataFrame) -> pd.DataFrame: - """ - Apply all required filters to DataFrame. + """Apply all required filters to DataFrame. Args: group (pd.DataFrame): A grouped subset of the DataFrame. @@ -270,6 +277,7 @@ def combined_filter(group: pd.DataFrame) -> pd.DataFrame: group = filter_if_test_in_address(group) return group + @dataclass class PhmsagasCheckSpec: """Define some simple checks that can run on FERC 714 assets.""" @@ -318,17 +326,14 @@ def _check_percent_unaccounted_for_gas(df): def _check_pk_deduplication(df): """Check if the size of filtered non-unique rows exceeds the threshold.""" # Identify non-unique groups - non_unique_groups = ( - df.groupby(["operator_id_phmsa", "report_number"]) - .filter(lambda group: len(group) > 1) + non_unique_groups = df.groupby(["operator_id_phmsa", "report_number"]).filter( + lambda group: len(group) > 1 ) # Apply the filters to non-unique groups - filtered_non_unique_rows = ( - non_unique_groups - .groupby(["operator_id_phmsa", "report_number"], group_keys=False) - .apply(combined_filter) - ) + filtered_non_unique_rows = non_unique_groups.groupby( + ["operator_id_phmsa", "report_number"], group_keys=False + ).apply(combined_filter) if len(filtered_non_unique_rows) > spec.pk_deduplication_theshold: error = ( @@ -337,7 +342,7 @@ def _check_pk_deduplication(df): ) logger.info(error) return AssetCheckResult(passed=False, metadata={"errors": error}) - + return AssetCheckResult(passed=True) - + return [_check_percent_unaccounted_for_gas, _check_pk_deduplication] From 875da71787ad1100e404c570d74736fcfa160d58 Mon Sep 17 00:00:00 2001 From: e-belfer Date: Tue, 7 Jan 2025 14:15:03 -0500 Subject: [PATCH 36/39] Extract new PHMSA data, fix state enum, add alembic migration --- ...4a_encode_state_column_and_write_phmsa_.py | 628 ++++++++++++++++++ src/pudl/metadata/enums.py | 2 +- src/pudl/transform/phmsagas.py | 26 +- src/pudl/workspace/datastore.py | 2 +- 4 files changed, 643 insertions(+), 15 deletions(-) create mode 100644 migrations/versions/1aa58750654a_encode_state_column_and_write_phmsa_.py diff --git a/migrations/versions/1aa58750654a_encode_state_column_and_write_phmsa_.py b/migrations/versions/1aa58750654a_encode_state_column_and_write_phmsa_.py new file mode 100644 index 0000000000..693570f9c0 --- /dev/null +++ b/migrations/versions/1aa58750654a_encode_state_column_and_write_phmsa_.py @@ -0,0 +1,628 @@ +"""Encode state column and write PHMSA operator table to DB + +Revision ID: 1aa58750654a +Revises: 450d100cd30b +Create Date: 2025-01-07 14:03:28.581586 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '1aa58750654a' +down_revision = '450d100cd30b' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('core_phmsagas__yearly_distribution_operators', + sa.Column('report_date', sa.Date(), nullable=True, comment='Date reported.'), + sa.Column('report_number', sa.Integer(), nullable=False, comment='Report number.'), + sa.Column('report_submission_type', sa.Text(), nullable=True, comment='Type of report submitted.'), + sa.Column('report_year', sa.Integer(), nullable=True, comment='Four-digit year in which the data was reported.'), + sa.Column('operator_id_phmsa', sa.Integer(), nullable=False, comment='PHMSA unique operator ID.'), + sa.Column('operator_name_phmsa', sa.Text(), nullable=True, comment='PHMSA operator name.'), + sa.Column('office_address_street', sa.Text(), nullable=True, comment="Street address of an operator's office."), + sa.Column('office_address_city', sa.Text(), nullable=True, comment="City where an operator's office is located."), + sa.Column('office_address_state', sa.Text(), nullable=True, comment="State where an operator's office is located."), + sa.Column('office_address_zip', sa.Text(), nullable=True, comment="Zipcode where an operator's office is located."), + sa.Column('office_address_county', sa.Text(), nullable=True, comment="County where an operator's office is located."), + sa.Column('headquarters_address_street', sa.Text(), nullable=True, comment="Street address for an operator's headquarters."), + sa.Column('headquarters_address_city', sa.Text(), nullable=True, comment="City where an operator's headquarters are located."), + sa.Column('headquarters_address_state', sa.Text(), nullable=True, comment="State where an operator's headquarters are located."), + sa.Column('headquarters_address_zip', sa.Text(), nullable=True, comment="Zipcode where an operator's headquarters are located."), + sa.Column('headquarters_address_county', sa.Text(), nullable=True, comment="County where an operator's headquarters are located."), + sa.Column('excavation_damage_excavation_practices', sa.Integer(), nullable=True, comment='Count of excavation practices resulting in excavation damage related to natural gas distribution.'), + sa.Column('excavation_damage_locating_practices', sa.Integer(), nullable=True, comment='Count of locating practices resulting in excavation damage related to natural gas distribution.'), + sa.Column('excavation_damage_one_call_notification', sa.Integer(), nullable=True, comment='Count of one-call notification practices resulting in excavation damage related to natural gas distribution.'), + sa.Column('excavation_damage_other', sa.Integer(), nullable=True, comment='Count of other excavation practices resulting in excavation damage related to natural gas distribution.'), + sa.Column('excavation_damage_total', sa.Integer(), nullable=True, comment='Count of reported instances excavation damage related to natural gas distribution.'), + sa.Column('excavation_tickets', sa.Integer(), nullable=True, comment='Count of excavation tickets related to natural gas distribution.'), + sa.Column('services_efv_in_system', sa.Integer(), nullable=True, comment='Estimated number of services with Excess Flow Valve in the system at end of reported year related to natural gas distribution.'), + sa.Column('services_efv_installed', sa.Integer(), nullable=True, comment='Total number of services with Excess Flow Valve installed during reported year related to natural gas distribution.'), + sa.Column('services_shutoff_valve_in_system', sa.Integer(), nullable=True, comment='Estimated number of services with manual service line shut-off valves installed in the system at end of report year related to natural gas distribution.'), + sa.Column('services_shutoff_valve_installed', sa.Integer(), nullable=True, comment='Total number of manual service line shut-off valves installed during reported year related to natural gas distribution.'), + sa.Column('federal_land_leaks_repaired_or_scheduled', sa.Float(), nullable=True, comment='Total number of leaks on federal land repaired or scheduled for repair.'), + sa.Column('percent_unaccounted_for_gas', sa.Float(), nullable=True, comment='Unaccounted for gas as a percent of total consumption for the 12 months ending June 30 of the reporting year. Percentage is calculated as follows: Take the sum of: purchased gas + produced gas minus customer use + company use + appropriate adjustments. Then divide by the sum of customer use + company use + appropriate adjustments. Multiply the output by 100.'), + sa.Column('additional_information', sa.Text(), nullable=True, comment='Field for any additional non-structured data supplied.'), + sa.Column('preparer_email', sa.Text(), nullable=True, comment='Email address of representative who filed report.'), + sa.Column('preparer_fax', sa.Text(), nullable=True, comment='Fax number of representative who filed report.'), + sa.Column('preparer_name', sa.Text(), nullable=True, comment='Name of representative who filed report.'), + sa.Column('preparer_phone', sa.Text(), nullable=True, comment='Phone number of representative who filed report.'), + sa.Column('preparer_title', sa.Text(), nullable=True, comment='Title of representative who filed report.'), + sa.PrimaryKeyConstraint('operator_id_phmsa', 'report_number', name=op.f('pk_core_phmsagas__yearly_distribution_operators')) + ) + with op.batch_alter_table('_core_eia860__cooling_equipment', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('_core_eia860__fgd_equipment', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('_out_eia__yearly_generators', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia860__scd_utilities', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia860m__changelog_generators', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__assn_balancing_authority', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__assn_utility', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_advanced_metering_infrastructure', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_demand_response', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_demand_response_water_heater', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_demand_side_management_ee_dr', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_demand_side_management_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_demand_side_management_sales', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_distributed_generation_fuel', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_distributed_generation_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_distributed_generation_tech', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_distribution_systems', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_dynamic_pricing', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_energy_efficiency', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_green_pricing', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_mergers', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_net_metering_customer_fuel_class', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_net_metering_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_non_net_metering_customer_fuel_class', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_non_net_metering_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_operational_data_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_operational_data_revenue', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_reliability', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_sales', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_service_territory', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_short_form', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_utility_data_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_utility_data_nerc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_utility_data_rto', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia923__entity_coalmine', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('core_eia__entity_plants', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia861__yearly_balancing_authority_service_territory', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia861__yearly_utility_service_territory', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia923__fuel_receipts_costs', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia923__monthly_fuel_receipts_costs', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia923__yearly_fuel_receipts_costs', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia__monthly_generators', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia__yearly_boilers', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia__yearly_generators', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia__yearly_plants', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_eia__yearly_utilities', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + with op.batch_alter_table('out_ferc714__respondents_with_fips', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.TEXT(), + type_=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + existing_nullable=True) + + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('out_ferc714__respondents_with_fips', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia__yearly_utilities', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia__yearly_plants', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia__yearly_generators', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia__yearly_boilers', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia__monthly_generators', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia923__yearly_fuel_receipts_costs', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia923__monthly_fuel_receipts_costs', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia923__fuel_receipts_costs', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia861__yearly_utility_service_territory', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('out_eia861__yearly_balancing_authority_service_territory', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia__entity_plants', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia923__entity_coalmine', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_utility_data_rto', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_utility_data_nerc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_utility_data_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_short_form', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_service_territory', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_sales', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_reliability', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_operational_data_revenue', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_operational_data_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_non_net_metering_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_non_net_metering_customer_fuel_class', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_net_metering_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_net_metering_customer_fuel_class', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_mergers', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_green_pricing', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_energy_efficiency', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_dynamic_pricing', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_distribution_systems', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_distributed_generation_tech', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_distributed_generation_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_distributed_generation_fuel', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_demand_side_management_sales', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_demand_side_management_misc', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_demand_side_management_ee_dr', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia861__yearly_demand_response_water_heater', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_demand_response', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__yearly_advanced_metering_infrastructure', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__assn_utility', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=False) + + with op.batch_alter_table('core_eia861__assn_balancing_authority', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=False) + + with op.batch_alter_table('core_eia860m__changelog_generators', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('core_eia860__scd_utilities', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('_out_eia__yearly_generators', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('_core_eia860__fgd_equipment', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + with op.batch_alter_table('_core_eia860__cooling_equipment', schema=None) as batch_op: + batch_op.alter_column('state', + existing_type=sa.Enum('IL', 'LA', 'MS', 'HI', 'VA', 'ID', 'NV', 'NY', 'MT', 'IA', 'ND', 'FL', 'AK', 'KY', 'MA', 'RI', 'TX', 'MO', 'ME', 'WA', 'MD', 'NJ', 'PA', 'CA', 'OH', 'MI', 'NE', 'GA', 'AR', 'UT', 'VT', 'DE', 'NM', 'AZ', 'CO', 'NC', 'OK', 'SD', 'WY', 'TN', 'OR', 'AL', 'WI', 'NH', 'MN', 'CT', 'IN', 'WV', 'KS', 'SC'), + type_=sa.TEXT(), + existing_nullable=True) + + op.drop_table('core_phmsagas__yearly_distribution_operators') + # ### end Alembic commands ### diff --git a/src/pudl/metadata/enums.py b/src/pudl/metadata/enums.py index 3bd2f64e9c..2aa3f7af11 100644 --- a/src/pudl/metadata/enums.py +++ b/src/pudl/metadata/enums.py @@ -8,7 +8,7 @@ POLITICAL_SUBDIVISIONS.loc[ (POLITICAL_SUBDIVISIONS.country_code == "USA") & (POLITICAL_SUBDIVISIONS.subdivision_type == "state"), - "subdivision_name", + "subdivision_code", ] ) """ Two-letter ANSI state codes.""" diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 1e94a37aea..5e47214152 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -86,8 +86,8 @@ @asset( ins={"raw_data": AssetIn(key="raw_phmsagas__yearly_distribution")}, - io_manager_key=None, # TODO: check on this one ("pudl_io_manager"? something else?) - compute_kind=None, # TODO: check on this one + io_manager_key="pudl_io_manager", + compute_kind="pandas", ) def core_phmsagas__yearly_distribution_operators( raw_data: pd.DataFrame, @@ -203,16 +203,14 @@ def core_phmsagas__yearly_distribution_operators( def filter_if_test_in_address(group: pd.DataFrame) -> pd.DataFrame: - """Filters out rows with "test" in address columns. The logic is as follows: + """Filters out rows with "test" in address columns. - 1. For any group of rows with the same combination of "operator_id_phmsa" - and "report_number": - - If at least one row in the group does not contain the string "test" - (case-insensitive) in either "office_address_street" or - "headquarters_address_street", keep only the rows in the group - that do not contain "test" in these columns. - - If all rows in the group contain "test" in either of the columns, - leave the group unchanged. + For any group of rows with the same combination of "operator_id_phmsa" + and "report_number", if at least one row in the group does not contain the string + "test" (case-insensitive) in either "office_address_street" or + "headquarters_address_street", keep only the rows in the group that do not contain + "test" in these columns. If all rows in the group contain "test" in either of the + columns, leave the group unchanged. Args: group (DataFrame): A grouped subset of the DataFrame. @@ -236,8 +234,10 @@ def filter_if_test_in_address(group: pd.DataFrame) -> pd.DataFrame: def filter_by_city_in_name(group: pd.DataFrame) -> pd.DataFrame: - """Deduplication filter to only keep rows where "office_address_city" value - is contained in the "operator_name_phmsa" value (case insensitive). + """Deduplication to keep duplicated rows where city and operator name overlap. + + Filter to only keep rows where "office_address_city" value is contained in the + "operator_name_phmsa" value (case insensitive). Args: group (pd.DataFrame): A grouped subset of the DataFrame. diff --git a/src/pudl/workspace/datastore.py b/src/pudl/workspace/datastore.py index ef6fea58a7..85eed993ac 100644 --- a/src/pudl/workspace/datastore.py +++ b/src/pudl/workspace/datastore.py @@ -206,7 +206,7 @@ class ZenodoDoiSettings(BaseSettings): ferc60: ZenodoDoi = "10.5281/zenodo.13149090" ferc714: ZenodoDoi = "10.5281/zenodo.13149091" gridpathratoolkit: ZenodoDoi = "10.5281/zenodo.10892394" - phmsagas: ZenodoDoi = "10.5281/zenodo.14026420" + phmsagas: ZenodoDoi = "10.5281/zenodo.14589677" nrelatb: ZenodoDoi = "10.5281/zenodo.12658647" vcerare: ZenodoDoi = "10.5281/zenodo.13937523" From 9ac7858f1d2569c08596a8375139e654b82219cb Mon Sep 17 00:00:00 2001 From: e-belfer Date: Tue, 7 Jan 2025 14:33:13 -0500 Subject: [PATCH 37/39] Address ruff failures and unit test failure, move analyzing code to notebook --- .../phmsagas_distribution.ipynb | 827 +++++------------- src/pudl/helpers.py | 179 +--- test/unit/metadata_test.py | 8 +- 3 files changed, 220 insertions(+), 794 deletions(-) diff --git a/notebooks/work-in-progress/phmsagas_distribution.ipynb b/notebooks/work-in-progress/phmsagas_distribution.ipynb index 69538f3dad..f746db056a 100644 --- a/notebooks/work-in-progress/phmsagas_distribution.ipynb +++ b/notebooks/work-in-progress/phmsagas_distribution.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -24,25 +24,16 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "No dagster instance configuration file (dagster.yaml) found at /Users/sam/Documents/pudl-data/dagster_home. Defaulting to loading and storing all metadata with /Users/sam/Documents/pudl-data/dagster_home. If this is the desired behavior, create an empty dagster.yaml file in /Users/sam/Documents/pudl-data/dagster_home.\n", - "2024-11-03 16:45:36 -0500 - dagster - DEBUG - system - Loading file from: /Users/sam/Documents/pudl-data/dagster_home/storage/raw_phmsagas__yearly_distribution using PickledObjectFilesystemIOManager...\n" - ] - } - ], + "outputs": [], "source": [ "raw_df = defs.load_asset_value(AssetKey(\"raw_phmsagas__yearly_distribution\"))" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -105,18 +96,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/sam/Documents/pudl/src/pudl/helpers.py:1033: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", - " df = df.replace(na_patterns, np.nan, regex=True)\n" - ] - } - ], + "outputs": [], "source": [ "df = raw_df.loc[\n", " :, YEARLY_DISTRIBUTION_OPERATORS_COLUMNS[\"columns_to_keep\"]\n", @@ -190,332 +172,36 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipheadquarters_address_countyexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_title
0NaT19901506NaN199018Abbyville, City OfP O Box 100AbbyvilleKS<NA>RenoNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0NaNNaNNaN<NA>Debra Ehling<NA>NaN
1NaT19900095NaN199027Abita Springs Nat Gas & WaterLevel StreetAbita SpringsLA<NA>St. TammanyNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.04.0NaNNaN<NA>Barbara Giancontieri<NA>NaN
2NaT19900947NaN199045Adairsville, City OfP.O. Box 830AdairsvilleGA<NA>BartowNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.00.0NaNNaN<NA>Chris Strippelhoff - Consultant<NA>NaN
3NaT19901193NaN199049Adamsville Gas Dept, Town Of231 East Main StreetAdamsvilleTN<NA>McnairyNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.03.8NaNNaN<NA>E. George Leckner, Jr. - Gas System Analyst<NA>NaN
4NaT19900948NaN199054Adel Gas Dept, City OfCity Hall - P.O. Box 658AdelGA<NA>CookNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.03.5NaNNaN<NA>Chris Strippelhoff - Consultant<NA>NaN
\n", - "
" - ], - "text/plain": [ - " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip headquarters_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", - "0 NaT 19901506 NaN 1990 18 Abbyville, City Of P O Box 100 Abbyville KS Reno NaN NaN NaN 0.0 NaN NaN NaN Debra Ehling NaN\n", - "1 NaT 19900095 NaN 1990 27 Abita Springs Nat Gas & Water Level Street Abita Springs LA St. Tammany NaN NaN NaN 0.0 4.0 NaN NaN Barbara Giancontieri NaN\n", - "2 NaT 19900947 NaN 1990 45 Adairsville, City Of P.O. Box 830 Adairsville GA Bartow NaN NaN NaN 0.0 0.0 NaN NaN Chris Strippelhoff - Consultant NaN\n", - "3 NaT 19901193 NaN 1990 49 Adamsville Gas Dept, Town Of 231 East Main Street Adamsville TN Mcnairy NaN NaN NaN 0.0 3.8 NaN NaN E. George Leckner, Jr. - Gas System Analyst NaN\n", - "4 NaT 19900948 NaN 1990 54 Adel Gas Dept, City Of City Hall - P.O. Box 658 Adel GA Cook NaN NaN NaN 0.0 3.5 NaN NaN Chris Strippelhoff - Consultant NaN" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.head()" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 NaN\n", - "1 4.0\n", - "2 0.0\n", - "3 3.8\n", - "4 3.5\n", - "Name: percent_unaccounted_for_gas, dtype: float64" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.percent_unaccounted_for_gas.head()" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.033715048084940795\n" - ] - } - ], + "outputs": [], "source": [ "print(negative_count / (positive_count + negative_count)) " ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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REREtV6tCU3vvvsufvvtNyQmJsrmlxxyAwA3Nze0b98eTk5O2LlzJwYNGlTh+oQQUKn+75DWw/9+kpqHRUdHY/r06RXvFBERET03asXhubCwMGzfvh0///wzGjZsWGmtvb09nJyccO7cOQCAVqtFYWEhcnJyZHXZ2dnSyJFWq8W1a9fKrOv69euymtIjSjk5OSgqKiozAlVi8uTJ0Ol00pSRkaFsh4mIiOiZU6OhSQiBd999F5s3b8a+ffvQpEmTRy5z48YNZGRkwN7eHgDg4eEBQ0NDJCQkSDWZmZlIS0tDx44dAQDe3t7Q6XQ4cuSIVHP48GHodDpZTVpaGjIzM6WaPXv2QK1Ww8PDo9y+qNVqWFhYyCYiIiJ6PtXo1XPjx4/HunXrsG3bNjg7O0vzNRoNTExMcPv2bURFRWHw4MGwt7fHxYsXMWXKFFy6dAnp6ekwNzcHALz99tvYsWMHYmNjYWVlhcjISNy4cQMpKSkwMDAA8ODcqKtXr2LZsmUAgLFjx8LJyQk//PADgAe3HGjTpg3s7OwwZ84c3Lx5E8HBwRgwYAAWLVqkaH949RxRzeHVc0RUVc/E1XNLly6FTqdD165dYW9vL00bNmwAABgYGODkyZPo378/mjdvjtGjR6N58+ZISkqSAhMALFiwAAMGDMCwYcPQqVMnmJqa4ocffpACEwCsXbsW7u7u8PX1ha+vL1q1aoXVq1dL7QYGBti5cyeMjY3RqVMnDBs2DAMGDMDcuXP/uSeEiIiIaq1adZ+mZx1HmohqDkeaiKiqnomRJiIiIqJnBUMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKVCjoSk6OhodOnSAubk5bG1tMWDAAJw9e1ZWI4RAVFQUHBwcYGJigq5du+LUqVOyGr1ej7CwMNjY2MDMzAz9+vXD5cuXZTU5OTkICgqCRqOBRqNBUFAQcnNzZTWXLl1CQEAAzMzMYGNjg/DwcBQWFj6VfSciIqJnS42GpgMHDuCdd95BcnIyEhIScO/ePfj6+iI/P1+qmT17NubPn4/Fixfj6NGj0Gq16NmzJ27duiXVREREYMuWLYiLi0NiYiJu374Nf39/FBcXSzWBgYFITU1FfHw84uPjkZqaiqCgIKm9uLgYffv2RX5+PhITExEXF4dNmzZh4sSJ/8yTQURERLWaSggharoTJa5fvw5bW1scOHAAnTt3hhACDg4OiIiIwAcffADgwaiSnZ0dZs2ahXHjxkGn06F+/fpYvXo1hg8fDgC4evUqHB0dsWvXLvj5+SE9PR2urq5ITk6Gp6cnACA5ORne3t44c+YMnJ2dsXv3bvj7+yMjIwMODg4AgLi4OAQHByM7OxsWFhaP7H9eXh40Gg10Op2i+sehmq6q1vURPW/EtFrzUUZEzxil39+16pwmnU4HALCysgIAXLhwAVlZWfD19ZVq1Go1unTpgkOHDgEAUlJSUFRUJKtxcHCAm5ubVJOUlASNRiMFJgDw8vKCRqOR1bi5uUmBCQD8/Pyg1+uRkpJSbn/1ej3y8vJkExERET2fqhSaXnzxRdy4caPM/NzcXLz44otV6ogQAhMmTMArr7wCNzc3AEBWVhYAwM7OTlZrZ2cntWVlZcHIyAiWlpaV1tja2pbZpq2traym9HYsLS1hZGQk1ZQWHR0tnSOl0Wjg6Oj4uLtNREREz4gqhaaLFy/KzhcqodfrceXKlSp15N1338Vvv/2G9evXl2lTqeSHpoQQZeaVVrqmvPqq1Dxs8uTJ0Ol00pSRkVFpn4iIiOjZVfdxirdv3y79+8cff4RGo5EeFxcX46effkLjxo0fuxNhYWHYvn07fvnlFzRs2FCar9VqATwYBbK3t5fmZ2dnS6NCWq0WhYWFyMnJkY02ZWdno2PHjlLNtWvXymz3+vXrsvUcPnxY1p6Tk4OioqIyI1Al1Go11Gr1Y+8vERERPXseKzQNGDAAwIMRmdGjR8vaDA0N0bhxY8ybN0/x+oQQCAsLw5YtW7B//340adJE1t6kSRNotVokJCSgbdu2AIDCwkIcOHAAs2bNAgB4eHjA0NAQCQkJGDZsGAAgMzMTaWlpmD17NgDA29sbOp0OR44cwcsvvwwAOHz4MHQ6nRSsvL298dlnnyEzM1MKaHv27IFarYaHh8fjPE1ERET0HHqs0HT//n0AD8LM0aNHYWNj80Qbf+edd7Bu3Tps27YN5ubm0rlDGo0GJiYmUKlUiIiIwMyZM9GsWTM0a9YMM2fOhKmpKQIDA6XakJAQTJw4EdbW1rCyskJkZCTc3d3h4+MDAHBxcUGvXr0QGhqKZcuWAQDGjh0Lf39/ODs7AwB8fX3h6uqKoKAgzJkzBzdv3kRkZCRCQ0Or/Uo4IiIievY8VmgqceHChWrZ+NKlSwEAXbt2lc2PiYlBcHAwAGDSpEkoKCjA+PHjkZOTA09PT+zZswfm5uZS/YIFC1C3bl0MGzYMBQUF6NGjB2JjY2FgYCDVrF27FuHh4dJVdv369cPixYuldgMDA+zcuRPjx49Hp06dYGJigsDAQMydO7da9pWIiIiebVW+T9NPP/2En376CdnZ2dIIVIkVK1ZUS+eeNbxPE1HN4X2aiKiqlH5/V2mkafr06ZgxYwbat28Pe3v7R17JRkRERPSsq1Jo+vrrrxEbGyv7GRIiIiKi51mV7tNUWFgoXXVGRERE9G9QpdD05ptvYt26ddXdFyIiIqJaq0qH5+7evYtvvvkGe/fuRatWrWBoaChrnz9/frV0joiIiKi2qFJo+u2339CmTRsAQFpamqyNJ4UTERHR86hKoennn3+u7n4QERER1WpVOqeJiIiI6N+mSiNN3bp1q/Qw3L59+6rcISIiIqLaqEqhqeR8phJFRUVITU1FWlpamR/yJSIiInoeVCk0LViwoNz5UVFRuH379hN1iIiIiKg2qtZzml5//fV/7e/OERER0fOtWkNTUlISjI2Nq3OVRERERLVClQ7PDRo0SPZYCIHMzEwcO3YMH330UbV0jIiIiKg2qVJo0mg0ssd16tSBs7MzZsyYAV9f32rpGBEREVFtUqXQFBMTU939ICIiIqrVqhSaSqSkpCA9PR0qlQqurq5o27ZtdfWLiIiIqFapUmjKzs7Ga6+9hv379+OFF16AEAI6nQ7dunVDXFwc6tevX939JCIiIqpRVbp6LiwsDHl5eTh16hRu3ryJnJwcpKWlIS8vD+Hh4dXdRyIiIqIaV6WRpvj4eOzduxcuLi7SPFdXV3z11Vc8EZyIiIieS1Uaabp//z4MDQ3LzDc0NMT9+/efuFNEREREtU2VQlP37t3x3nvv4erVq9K8K1eu4P3330ePHj2qrXNEREREtUWVQtPixYtx69YtNG7cGC+99BKaNm2KJk2a4NatW1i0aFF195GIiIioxlXpnCZHR0ccP34cCQkJOHPmDIQQcHV1hY+PT3X3j4iIiKhWeKyRpn379sHV1RV5eXkAgJ49eyIsLAzh4eHo0KEDWrZsiYMHDz6VjhIRERHVpMcKTQsXLkRoaCgsLCzKtGk0GowbNw7z58+vts4RERER1RaPFZpOnDiBXr16Vdju6+uLlJSUJ+4UERERUW3zWKHp2rVr5d5qoETdunVx/fr1J+4UERERUW3zWKGpQYMGOHnyZIXtv/32G+zt7Z+4U0RERES1zWOFpj59+uDjjz/G3bt3y7QVFBRg2rRp8Pf3r7bOEREREdUWKiGEUFp87do1tGvXDgYGBnj33Xfh7OwMlUqF9PR0fPXVVyguLsbx48dhZ2f3NPtca+Xl5UGj0UCn05V7svyTUE1XVev6iJ43YprijzIiIhml39+PdZ8mOzs7HDp0CG+//TYmT56MkrylUqng5+eHJUuW/GsDExERET3fHvvmlk5OTti1axdycnLwxx9/QAiBZs2awdLS8mn0j4iIiKhWqNIdwQHA0tISHTp0qM6+EBEREdVaVfrtOSIiIqJ/G4YmIiIiIgUYmoiIiIgUYGgiIiIiUoChiYiIiEgBhiYiIiIiBWo0NP3yyy8ICAiAg4MDVCoVtm7dKmsPDg6GSqWSTV5eXrIavV6PsLAw2NjYwMzMDP369cPly5dlNTk5OQgKCoJGo4FGo0FQUBByc3NlNZcuXUJAQADMzMxgY2OD8PBwFBYWPo3dJiIiomdQjYam/Px8tG7dGosXL66wplevXsjMzJSmXbt2ydojIiKwZcsWxMXFITExEbdv34a/vz+Ki4ulmsDAQKSmpiI+Ph7x8fFITU1FUFCQ1F5cXIy+ffsiPz8fiYmJiIuLw6ZNmzBx4sTq32kiIiJ6JlX55pbVoXfv3ujdu3elNWq1Glqtttw2nU6H7777DqtXr4aPjw8AYM2aNXB0dMTevXvh5+eH9PR0xMfHIzk5GZ6engCA5cuXw9vbG2fPnoWzszP27NmD06dPIyMjAw4ODgCAefPmITg4GJ999lm1/44cERERPXtq/TlN+/fvh62tLZo3b47Q0FBkZ2dLbSkpKSgqKoKvr680z8HBAW5ubjh06BAAICkpCRqNRgpMAODl5QWNRiOrcXNzkwITAPj5+UGv1yMlJaXCvun1euTl5ckmIiIiej7V6tDUu3dvrF27Fvv27cO8efNw9OhRdO/eHXq9HgCQlZUFIyOjMr97Z2dnh6ysLKnG1ta2zLptbW1lNaV/aNjS0hJGRkZSTXmio6Ol86Q0Gg0cHR2faH+JiIio9qrRw3OPMnz4cOnfbm5uaN++PZycnLBz504MGjSowuWEEFCpVNLjh//9JDWlTZ48GRMmTJAe5+XlMTgRERE9p2r1SFNp9vb2cHJywrlz5wAAWq0WhYWFyMnJkdVlZ2dLI0darRbXrl0rs67r16/LakqPKOXk5KCoqKjMCNTD1Go1LCwsZBMRERE9n56p0HTjxg1kZGTA3t4eAODh4QFDQ0MkJCRINZmZmUhLS0PHjh0BAN7e3tDpdDhy5IhUc/jwYeh0OllNWloaMjMzpZo9e/ZArVbDw8Pjn9g1IiIiquVq9PDc7du38ccff0iPL1y4gNTUVFhZWcHKygpRUVEYPHgw7O3tcfHiRUyZMgU2NjYYOHAgAECj0SAkJAQTJ06EtbU1rKysEBkZCXd3d+lqOhcXF/Tq1QuhoaFYtmwZAGDs2LHw9/eHs7MzAMDX1xeurq4ICgrCnDlzcPPmTURGRiI0NJSjR0RERASghkPTsWPH0K1bN+lxyflBo0ePxtKlS3Hy5EmsWrUKubm5sLe3R7du3bBhwwaYm5tLyyxYsAB169bFsGHDUFBQgB49eiA2NhYGBgZSzdq1axEeHi5dZdevXz/ZvaEMDAywc+dOjB8/Hp06dYKJiQkCAwMxd+7cp/0UEBER0TNCJYQQNd2J50VeXh40Gg10Ol21j1Cppld8QjoRAWIaP8qIqGqUfn8/U+c0EREREdUUhiYiIiIiBRiaiIiIiBRgaCIiIiJSgKGJiIiISAGGJiIiIiIFGJqIiIiIFGBoIiIiIlKAoYmIiIhIAYYmIiIiIgUYmoiIiIgUYGgiIiIiUoChiYiIiEgBhiYiIiIiBRiaiIiIiBRgaCIiIiJSgKGJiIiISAGGJiIiIiIFGJqIiIiIFGBoIiIiIlKAoYmIiIhIAYYmIiIiIgUYmoiIiIgUYGgiIiIiUoChiYiIiEgBhiYiIiIiBRiaiIiIiBRgaCIiIiJSgKGJiIiISAGGJiIiIiIFGJqIiIiIFGBoIiIiIlKAoYmIiIhIAYYmIiIiIgUYmoiIiIgUYGgiIiIiUoChiYiIiEgBhiYiIiIiBRiaiIiIiBSo0dD0yy+/ICAgAA4ODlCpVNi6dausXQiBqKgoODg4wMTEBF27dsWpU6dkNXq9HmFhYbCxsYGZmRn69euHy5cvy2pycnIQFBQEjUYDjUaDoKAg5ObmymouXbqEgIAAmJmZwcbGBuHh4SgsLHwau01ERETPoBoNTfn5+WjdujUWL15cbvvs2bMxf/58LF68GEePHoVWq0XPnj1x69YtqSYiIgJbtmxBXFwcEhMTcfv2bfj7+6O4uFiqCQwMRGpqKuLj4xEfH4/U1FQEBQVJ7cXFxejbty/y8/ORmJiIuLg4bNq0CRMnTnx6O09ERETPFJUQQtR0JwBApVJhy5YtGDBgAIAHo0wODg6IiIjABx98AODBqJKdnR1mzZqFcePGQafToX79+li9ejWGDx8OALh69SocHR2xa9cu+Pn5IT09Ha6urkhOToanpycAIDk5Gd7e3jhz5gycnZ2xe/du+Pv7IyMjAw4ODgCAuLg4BAcHIzs7GxYWFor2IS8vDxqNBjqdTvEyip+f6apqXR/R80ZMqxUfZUT0DFL6/V1rz2m6cOECsrKy4OvrK81Tq9Xo0qULDh06BABISUlBUVGRrMbBwQFubm5STVJSEjQajRSYAMDLywsajUZW4+bmJgUmAPDz84Ner0dKSkqFfdTr9cjLy5NNRERE9HyqtaEpKysLAGBnZyebb2dnJ7VlZWXByMgIlpaWldbY2tqWWb+tra2spvR2LC0tYWRkJNWUJzo6WjpPSqPRwNHR8TH3koiIiJ4VtTY0lVCp5IelhBBl5pVWuqa8+qrUlDZ58mTodDppysjIqLRfRERE9OyqtaFJq9UCQJmRnuzsbGlUSKvVorCwEDk5OZXWXLt2rcz6r1+/LqspvZ2cnBwUFRWVGYF6mFqthoWFhWwiIiKi51OtDU1NmjSBVqtFQkKCNK+wsBAHDhxAx44dAQAeHh4wNDSU1WRmZiItLU2q8fb2hk6nw5EjR6Saw4cPQ6fTyWrS0tKQmZkp1ezZswdqtRoeHh5PdT+JiIjo2VC3Jjd++/Zt/PHHH9LjCxcuIDU1FVZWVmjUqBEiIiIwc+ZMNGvWDM2aNcPMmTNhamqKwMBAAIBGo0FISAgmTpwIa2trWFlZITIyEu7u7vDx8QEAuLi4oFevXggNDcWyZcsAAGPHjoW/vz+cnZ0BAL6+vnB1dUVQUBDmzJmDmzdvIjIyEqGhoRw9IiIiIgA1HJqOHTuGbt26SY8nTJgAABg9ejRiY2MxadIkFBQUYPz48cjJyYGnpyf27NkDc3NzaZkFCxagbt26GDZsGAoKCtCjRw/ExsbCwMBAqlm7di3Cw8Olq+z69esnuzeUgYEBdu7cifHjx6NTp04wMTFBYGAg5s6d+7SfAiIiInpG1Jr7ND0PeJ8moprD+zQRUVU98/dpIiIiIqpNGJqIiIiIFGBoIiIiIlKAoYmIiIhIAYYmIiIiIgUYmoiIiIgUYGgiIiIiUoChiYiIiEgBhiYiIiIiBRiaiIiIiBRgaCIiIiJSgKGJiIiISAGGJiIiIiIFGJqIiIiIFGBoIiIiIlKAoYmIiIhIAYYmIiIiIgUYmoiIiIgUYGgiIiIiUoChiYiIiEgBhiYiIiIiBRiaiIiIiBRgaCIiIiJSgKGJiIiISAGGJiIiIiIFGJqIiIiIFGBoIiIiIlKAoYmIiIhIAYYmIiIiIgUYmoiIiIgUYGgiIiIiUoChiYiIiEgBhiYiIiIiBRiaiIiIiBRgaCIiIiJSgKGJiIiISAGGJiIiIiIFGJqIiIiIFGBoIiIiIlKAoYmIiIhIgVodmqKioqBSqWSTVquV2oUQiIqKgoODA0xMTNC1a1ecOnVKtg69Xo+wsDDY2NjAzMwM/fr1w+XLl2U1OTk5CAoKgkajgUajQVBQEHJzc/+JXSQiIqJnRK0OTQDQsmVLZGZmStPJkyelttmzZ2P+/PlYvHgxjh49Cq1Wi549e+LWrVtSTUREBLZs2YK4uDgkJibi9u3b8Pf3R3FxsVQTGBiI1NRUxMfHIz4+HqmpqQgKCvpH95OIiIhqt7o13YFHqVu3rmx0qYQQAgsXLsTUqVMxaNAgAMDKlSthZ2eHdevWYdy4cdDpdPjuu++wevVq+Pj4AADWrFkDR0dH7N27F35+fkhPT0d8fDySk5Ph6ekJAFi+fDm8vb1x9uxZODs7/3M7S0RERLVWrR9pOnfuHBwcHNCkSRO89tprOH/+PADgwoULyMrKgq+vr1SrVqvRpUsXHDp0CACQkpKCoqIiWY2DgwPc3NykmqSkJGg0GikwAYCXlxc0Go1UUxG9Xo+8vDzZRERERM+nWh2aPD09sWrVKvz4449Yvnw5srKy0LFjR9y4cQNZWVkAADs7O9kydnZ2UltWVhaMjIxgaWlZaY2trW2Zbdva2ko1FYmOjpbOg9JoNHB0dKzyvhIREVHtVqtDU+/evTF48GC4u7vDx8cHO3fuBPDgMFwJlUolW0YIUWZeaaVryqtXsp7JkydDp9NJU0ZGxiP3iYiIiJ5NtTo0lWZmZgZ3d3ecO3dOOs+p9GhQdna2NPqk1WpRWFiInJycSmuuXbtWZlvXr18vM4pVmlqthoWFhWwiIiKi59MzFZr0ej3S09Nhb2+PJk2aQKvVIiEhQWovLCzEgQMH0LFjRwCAh4cHDA0NZTWZmZlIS0uTary9vaHT6XDkyBGp5vDhw9DpdFINERERUa2+ei4yMhIBAQFo1KgRsrOz8emnnyIvLw+jR4+GSqVCREQEZs6ciWbNmqFZs2aYOXMmTE1NERgYCADQaDQICQnBxIkTYW1tDSsrK0RGRkqH+wDAxcUFvXr1QmhoKJYtWwYAGDt2LPz9/XnlHBEREUlqdWi6fPkyRowYgb///hv169eHl5cXkpOT4eTkBACYNGkSCgoKMH78eOTk5MDT0xN79uyBubm5tI4FCxagbt26GDZsGAoKCtCjRw/ExsbCwMBAqlm7di3Cw8Olq+z69euHxYsX/7M7S0RERLWaSggharoTz4u8vDxoNBrodLpqP79JNb3yk9KJ/u3ENH6UEVHVKP3+fqbOaSIiIiKqKQxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxNRERERAowNBEREREpwNBEREREpABDExEREZECDE1ERERECjA0ERERESlQt6Y7QERED1GparoHRLWXEDW6eY40ERERESnA0ERERESkAEMTERERkQIMTUREREQKMDQRERERKcDQRERERKQAQxMRERGRAgxN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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", @@ -537,290 +223,18 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
report_datereport_numberreport_submission_typereport_yearoperator_id_phmsaoperator_name_phmsaoffice_address_streetoffice_address_cityoffice_address_stateoffice_address_zipoffice_address_countyheadquarters_address_streetheadquarters_address_cityheadquarters_address_stateheadquarters_address_zipheadquarters_address_countyexcavation_damage_excavation_practicesexcavation_damage_locating_practicesexcavation_damage_one_call_notificationexcavation_damage_otherexcavation_damage_totalexcavation_ticketsservices_efv_in_systemservices_efv_installedservices_shutoff_valve_in_systemservices_shutoff_valve_installedfederal_land_leaks_repaired_or_scheduledpercent_unaccounted_for_gasadditional_informationpreparer_emailpreparer_faxpreparer_namepreparer_phonepreparer_title
1047NaT19902721NaN199015233Pfg Gas, Inc55 S. Third StreetOxfordPA<NA>ChesterNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-0.90NaNNaN<NA>Robert Beard<NA>NaN
2146NaT19910719NaN19917650Humboldt Utilities - Gas Dept207 S 13Th Ave. P.O. Box 850HumboldtTN<NA>GibsonNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-1.67NaNNaN<NA>Gregory D Hall<NA>NaN
3545NaT19920497NaN199211064Lafayette Gas & Utilities Dept, City Of200 East Locust St.LafayetteTN<NA>MaconNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-4.00NaNNaN<NA>Phillip Brawner - Gas Supt.<NA>NaN
3904NaT19920894NaN199214130Ohio Gas Co200 West High StBryanOH<NA>WilliamsNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-0.62NaNNaN<NA>Anton H Jessberger<NA>NaN
4681NaT19930082NaN1993828Atmore Utilities Board, City Of201 E. Louisville AvenueAtmoreAL<NA>EscambiaNaNNaN<NA><NA>NaN<NA><NA><NA><NA><NA><NA><NA><NA><NA><NA>0.0-4.00NaNNaN<NA>Vickie M. James - Clerk Of The Board<NA>NaN
\n", - "
" - ], - "text/plain": [ - " report_date report_number report_submission_type report_year operator_id_phmsa operator_name_phmsa office_address_street office_address_city office_address_state office_address_zip office_address_county headquarters_address_street headquarters_address_city headquarters_address_state headquarters_address_zip headquarters_address_county excavation_damage_excavation_practices excavation_damage_locating_practices excavation_damage_one_call_notification excavation_damage_other excavation_damage_total excavation_tickets services_efv_in_system services_efv_installed services_shutoff_valve_in_system services_shutoff_valve_installed federal_land_leaks_repaired_or_scheduled percent_unaccounted_for_gas additional_information preparer_email preparer_fax preparer_name preparer_phone preparer_title\n", - "1047 NaT 19902721 NaN 1990 15233 Pfg Gas, Inc 55 S. Third Street Oxford PA Chester NaN NaN NaN 0.0 -0.90 NaN NaN Robert Beard NaN\n", - "2146 NaT 19910719 NaN 1991 7650 Humboldt Utilities - Gas Dept 207 S 13Th Ave. P.O. Box 850 Humboldt TN Gibson NaN NaN NaN 0.0 -1.67 NaN NaN Gregory D Hall NaN\n", - "3545 NaT 19920497 NaN 1992 11064 Lafayette Gas & Utilities Dept, City Of 200 East Locust St. Lafayette TN Macon NaN NaN NaN 0.0 -4.00 NaN NaN Phillip Brawner - Gas Supt. NaN\n", - "3904 NaT 19920894 NaN 1992 14130 Ohio Gas Co 200 West High St Bryan OH Williams NaN NaN NaN 0.0 -0.62 NaN NaN Anton H Jessberger NaN\n", - "4681 NaT 19930082 NaN 1993 828 Atmore Utilities Board, City Of 201 E. Louisville Avenue Atmore AL Escambia NaN NaN NaN 0.0 -4.00 NaN NaN Vickie M. James - Clerk Of The Board NaN" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df[df.percent_unaccounted_for_gas<0]" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['report_date', 'report_number', 'report_submission_type', 'report_year', 'operator_id_phmsa', 'operator_name_phmsa', 'office_address_street', 'office_address_city', 'office_address_state', 'office_address_zip', 'office_address_county', 'headquarters_address_street', 'headquarters_address_city', 'headquarters_address_state', 'headquarters_address_zip', 'headquarters_address_county', 'excavation_damage_excavation_practices', 'excavation_damage_locating_practices', 'excavation_damage_one_call_notification', 'excavation_damage_other', 'excavation_damage_total', 'excavation_tickets', 'services_efv_in_system', 'services_efv_installed', 'services_shutoff_valve_in_system', 'services_shutoff_valve_installed', 'federal_land_leaks_repaired_or_scheduled', 'percent_unaccounted_for_gas', 'additional_information', 'preparer_email', 'preparer_fax', 'preparer_name', 'preparer_phone', 'preparer_title'], dtype='object')" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.columns" ] @@ -834,7 +248,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -904,7 +318,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -969,7 +383,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -981,7 +395,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1011,7 +425,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1038,7 +452,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1054,7 +468,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1065,7 +479,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1081,6 +495,195 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Below is code that can be used to analyze missing values in a dataset:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "def analyze_missing_values(\n", + " df: pd.DataFrame, custom_missing_values: list[str] = None\n", + ") -> list[str]:\n", + " \"\"\"Analyze columns of a DataFrame for missing or invalid values.\n", + "\n", + " PLEASE NOTE: No calls to this method should be included in any final\n", + " transformation scripts. This is purely for analysis and does not perform\n", + " any data transformation or cleaning.\n", + "\n", + " This function checks each column for missing or custom missing values\n", + " and logs a summary of the findings for string (object), numeric, and\n", + " datetime columns.\n", + "\n", + " Args:\n", + " df: The DataFrame to analyze.\n", + " custom_missing_values: Optional list of custom values to consider\n", + " as \"missing\" (e.g., empty strings, specific strings like \"NA\",\n", + " \"NULL\", etc.). If not provided, defaults to a standard set.\n", + "\n", + " Returns:\n", + " exception_cols: List of names of columns that couldn't be analyzed\n", + " due to a caught exception.\n", + " \"\"\"\n", + " nan_cols = []\n", + " exception_cols = []\n", + "\n", + " # Use a default set of custom missing values if none are provided\n", + " if custom_missing_values is None:\n", + " custom_missing_values = [\n", + " \"\",\n", + " \" \",\n", + " \"NA\",\n", + " \"N/A\",\n", + " \"NULL\",\n", + " \"-\",\n", + " \"None\",\n", + " \"NaN\",\n", + " \"?\",\n", + " \"*\",\n", + " \"#\",\n", + " ]\n", + "\n", + " # Analyze columns for missing values\n", + " for col in df.columns:\n", + " try:\n", + " logger.info(f\"Analyzing column: {col}\")\n", + "\n", + " # Get the column values\n", + " col_data = df[col]\n", + "\n", + " # Check if the column is of string (object) type\n", + " if col_data.dtype == \"object\":\n", + " # Count rows where the value is NaN, None, empty string, or custom missing values\n", + " none_count = col_data.isna().sum() # Count None (NaN)\n", + " empty_string_count = (\n", + " col_data.str.strip() == \"\"\n", + " ).sum() # Count empty strings\n", + " custom_missing_count = col_data.isin(\n", + " custom_missing_values\n", + " ).sum() # Count custom missing values\n", + "\n", + " total_nan_count = none_count + empty_string_count + custom_missing_count\n", + "\n", + " if total_nan_count > 0:\n", + " nan_cols.append(col)\n", + "\n", + " # Output counts\n", + " logger.info(f\"Column '{col}' is a string type.\")\n", + " if none_count > 0:\n", + " logger.warning(f\"Rows with None values: {none_count}\")\n", + " logger.warning(df[df[col].isna()].head())\n", + " if empty_string_count > 0:\n", + " logger.warning(f\"Rows with empty strings: {empty_string_count}\")\n", + " logger.warning(df[df[col].str.strip() == \"\"].head())\n", + " if custom_missing_count > 0:\n", + " logger.warning(\n", + " f\"Rows with custom missing values: {custom_missing_count}\"\n", + " )\n", + " logger.warning(df[df[col].isin(custom_missing_values)].head())\n", + " if (\n", + " none_count == 0\n", + " and empty_string_count == 0\n", + " and custom_missing_count == 0\n", + " ):\n", + " logger.info(\"Found nothing worth reporting here\")\n", + "\n", + " # Check if the column is numeric (int or float)\n", + " elif pd.api.types.is_numeric_dtype(col_data):\n", + " # Count NA values in the column\n", + " na_count = col_data.isna().sum()\n", + " # Count custom missing values in numeric columns (if applicable)\n", + " custom_missing_numeric_count = col_data.isin(\n", + " [0]\n", + " ).sum() # Assuming 0 is considered a missing value\n", + "\n", + " if na_count > 0 or custom_missing_numeric_count > 0:\n", + " nan_cols.append(col)\n", + "\n", + " # Handle the non-NA data for further analysis\n", + " col_data_cleaned = col_data.dropna()\n", + "\n", + " if not col_data_cleaned.empty:\n", + " # Calculate min and max\n", + " min_val = col_data_cleaned.min()\n", + " max_val = col_data_cleaned.max()\n", + "\n", + " if min_val < 0 or na_count > 0 or custom_missing_numeric_count > 0:\n", + " logger.warning(f\"Min value: {min_val}\")\n", + " logger.warning(f\"Max value: {max_val}\")\n", + " if na_count > 0:\n", + " logger.warning(f\"Rows with NA values: {na_count}\")\n", + " logger.warning(df[df[col].isna()].head())\n", + " if custom_missing_numeric_count > 0:\n", + " logger.warning(\n", + " f\"Custom missing values (e.g., 0): {custom_missing_numeric_count}\"\n", + " )\n", + " logger.warning(df[df[col].isin([0])].head())\n", + " if (\n", + " min_val > 0\n", + " and na_count == 0\n", + " and custom_missing_numeric_count == 0\n", + " ):\n", + " logger.info(\"Found nothing worth reporting here\")\n", + " else:\n", + " logger.warning(\n", + " f\"Column '{col}' is numeric but contains only NA values.\"\n", + " )\n", + "\n", + " # Check if the column is a datetime type\n", + " elif pd.api.types.is_datetime64_any_dtype(col_data):\n", + " # Count NA values in the datetime column\n", + " na_count = col_data.isna().sum()\n", + " # Assuming custom missing values might be present in string form before conversion\n", + " custom_missing_count = col_data.isin(custom_missing_values).sum()\n", + "\n", + " if na_count > 0 or custom_missing_count > 0:\n", + " nan_cols.append(col)\n", + "\n", + " # Handle the non-NA data for further analysis\n", + " col_data_cleaned = col_data.dropna()\n", + "\n", + " if not col_data_cleaned.empty:\n", + " # Output min and max datetime values\n", + " min_date = col_data_cleaned.min()\n", + " max_date = col_data_cleaned.max()\n", + "\n", + " if na_count > 0 or custom_missing_count > 0:\n", + " logger.warning(f\"Min date: {min_date}\")\n", + " logger.warning(f\"Max date: {max_date}\")\n", + " logger.warning(f\"Rows with NA values: {na_count}\")\n", + " logger.warning(df[df[col].isna()].head())\n", + " logger.warning(f\"Custom missing values: {custom_missing_count}\")\n", + " logger.warning(df[df[col].isin(custom_missing_values)].head())\n", + " if na_count == 0 and custom_missing_count == 0:\n", + " logger.info(\"Found nothing worth reporting here\")\n", + " else:\n", + " logger.warning(\n", + " f\"Column '{col}' is datetime but contains only NA values.\"\n", + " )\n", + "\n", + " # If the column is of some other type, simply note the type\n", + " else:\n", + " logger.info(f\"Column '{col}' is of type {col_data.dtype}.\")\n", + "\n", + " except Exception as e:\n", + " exception_cols.append(col)\n", + " logger.warning(f\"Caught exception for column {col}: {e}\\n\")\n", + " continue\n", + "\n", + " logger.info(f\"Columns with NaNs or custom missing values: {nan_cols}\")\n", + " logger.info(f\"Columns with exceptions during processing: {exception_cols}\")\n", + "\n", + " return exception_cols\n" + ] } ], "metadata": { diff --git a/src/pudl/helpers.py b/src/pudl/helpers.py index 7efc43ce9e..6fa5a1db6d 100644 --- a/src/pudl/helpers.py +++ b/src/pudl/helpers.py @@ -2245,185 +2245,8 @@ def standardize_phone_column(df: pd.DataFrame, columns: list[str]) -> pd.DataFra # Replace invalid or empty phone numbers with NaN invalid_mask = ( - (phone_main.isna()) - | (phone_main.str.fullmatch(r"0+") == True) - | (phone_main == "") + (phone_main.isna()) | (phone_main.str.fullmatch(r"0+")) | (phone_main == "") ) df[column] = df[column].mask(invalid_mask, np.nan) return df - - -def analyze_missing_values( - df: pd.DataFrame, custom_missing_values: list[str] = None -) -> list[str]: - """Analyze columns of a DataFrame for missing or invalid values. - - PLEASE NOTE: No calls to this method should be included in any final - transformation scripts. This is purely for analysis and does not perform - any data transformation or cleaning. - - This function checks each column for missing or custom missing values - and logs a summary of the findings for string (object), numeric, and - datetime columns. - - Args: - df: The DataFrame to analyze. - custom_missing_values: Optional list of custom values to consider - as "missing" (e.g., empty strings, specific strings like "NA", - "NULL", etc.). If not provided, defaults to a standard set. - - Returns: - exception_cols: List of names of columns that couldn't be analyzed - due to a caught exception. - """ - nan_cols = [] - exception_cols = [] - - # Use a default set of custom missing values if none are provided - if custom_missing_values is None: - custom_missing_values = [ - "", - " ", - "NA", - "N/A", - "NULL", - "-", - "None", - "NaN", - "?", - "*", - "#", - ] - - # Analyze columns for missing values - for col in df.columns: - try: - logger.info(f"Analyzing column: {col}") - - # Get the column values - col_data = df[col] - - # Check if the column is of string (object) type - if col_data.dtype == "object": - # Count rows where the value is NaN, None, empty string, or custom missing values - none_count = col_data.isna().sum() # Count None (NaN) - empty_string_count = ( - col_data.str.strip() == "" - ).sum() # Count empty strings - custom_missing_count = col_data.isin( - custom_missing_values - ).sum() # Count custom missing values - - total_nan_count = none_count + empty_string_count + custom_missing_count - - if total_nan_count > 0: - nan_cols.append(col) - - # Output counts - logger.info(f"Column '{col}' is a string type.") - if none_count > 0: - logger.warning(f"Rows with None values: {none_count}") - logger.warning(df[df[col].isna()].head()) - if empty_string_count > 0: - logger.warning(f"Rows with empty strings: {empty_string_count}") - logger.warning(df[df[col].str.strip() == ""].head()) - if custom_missing_count > 0: - logger.warning( - f"Rows with custom missing values: {custom_missing_count}" - ) - logger.warning(df[df[col].isin(custom_missing_values)].head()) - if ( - none_count == 0 - and empty_string_count == 0 - and custom_missing_count == 0 - ): - logger.info("Found nothing worth reporting here") - - # Check if the column is numeric (int or float) - elif pd.api.types.is_numeric_dtype(col_data): - # Count NA values in the column - na_count = col_data.isna().sum() - # Count custom missing values in numeric columns (if applicable) - custom_missing_numeric_count = col_data.isin( - [0] - ).sum() # Assuming 0 is considered a missing value - - if na_count > 0 or custom_missing_numeric_count > 0: - nan_cols.append(col) - - # Handle the non-NA data for further analysis - col_data_cleaned = col_data.dropna() - - if not col_data_cleaned.empty: - # Calculate min and max - min_val = col_data_cleaned.min() - max_val = col_data_cleaned.max() - - if min_val < 0 or na_count > 0 or custom_missing_numeric_count > 0: - logger.warning(f"Min value: {min_val}") - logger.warning(f"Max value: {max_val}") - if na_count > 0: - logger.warning(f"Rows with NA values: {na_count}") - logger.warning(df[df[col].isna()].head()) - if custom_missing_numeric_count > 0: - logger.warning( - f"Custom missing values (e.g., 0): {custom_missing_numeric_count}" - ) - logger.warning(df[df[col].isin([0])].head()) - if ( - min_val > 0 - and na_count == 0 - and custom_missing_numeric_count == 0 - ): - logger.info("Found nothing worth reporting here") - else: - logger.warning( - f"Column '{col}' is numeric but contains only NA values." - ) - - # Check if the column is a datetime type - elif pd.api.types.is_datetime64_any_dtype(col_data): - # Count NA values in the datetime column - na_count = col_data.isna().sum() - # Assuming custom missing values might be present in string form before conversion - custom_missing_count = col_data.isin(custom_missing_values).sum() - - if na_count > 0 or custom_missing_count > 0: - nan_cols.append(col) - - # Handle the non-NA data for further analysis - col_data_cleaned = col_data.dropna() - - if not col_data_cleaned.empty: - # Output min and max datetime values - min_date = col_data_cleaned.min() - max_date = col_data_cleaned.max() - - if na_count > 0 or custom_missing_count > 0: - logger.warning(f"Min date: {min_date}") - logger.warning(f"Max date: {max_date}") - logger.warning(f"Rows with NA values: {na_count}") - logger.warning(df[df[col].isna()].head()) - logger.warning(f"Custom missing values: {custom_missing_count}") - logger.warning(df[df[col].isin(custom_missing_values)].head()) - if na_count == 0 and custom_missing_count == 0: - logger.info("Found nothing worth reporting here") - else: - logger.warning( - f"Column '{col}' is datetime but contains only NA values." - ) - - # If the column is of some other type, simply note the type - else: - logger.info(f"Column '{col}' is of type {col_data.dtype}.") - - except Exception as e: - exception_cols.append(col) - logger.warning(f"Caught exception for column {col}: {e}\n") - continue - - logger.info(f"Columns with NaNs or custom missing values: {nan_cols}") - logger.info(f"Columns with exceptions during processing: {exception_cols}") - - return exception_cols diff --git a/test/unit/metadata_test.py b/test/unit/metadata_test.py index f1e98dcb9d..a04e25644c 100644 --- a/test/unit/metadata_test.py +++ b/test/unit/metadata_test.py @@ -125,7 +125,7 @@ def dummy_pandera_schema(): { "description": "test resource based on core_eia__entity_plants", "schema": { - "fields": ["plant_id_eia", "city", "state"], + "fields": ["plant_id_eia", "city", "capacity_mw"], "primary_key": ["plant_id_eia"], }, "sources": ["eia860", "eia923"], @@ -146,7 +146,7 @@ def test_resource_descriptors_can_encode_schemas(dummy_pandera_schema): { "plant_id_eia": [12345, 12346], "city": ["Bloomington", "Springfield"], - "state": ["IL", "IL"], + "capacity_mw": [1.3, 1.0], } ).pipe(apply_pudl_dtypes) assert not dummy_pandera_schema.validate(good_dataframe).empty @@ -166,7 +166,7 @@ def test_resource_descriptors_can_encode_schemas(dummy_pandera_schema): { "plant_id_eia": ["non_number"], "city": ["Bloomington"], - "state": ["IL"], + "capacity_mw": [1.3], } ).astype(str), id="bad dtype", @@ -177,7 +177,7 @@ def test_resource_descriptors_can_encode_schemas(dummy_pandera_schema): { "plant_id_eia": [12345, 12345], "city": ["Bloomington", "Springfield"], - "state": ["IL", "IL"], + "capacity_mw": [1.3, 1.0], } ).pipe(apply_pudl_dtypes), id="duplicate PK", From 520c2871f0ad9e2503f9353de77951bcc781821c Mon Sep 17 00:00:00 2001 From: e-belfer Date: Tue, 7 Jan 2025 14:47:54 -0500 Subject: [PATCH 38/39] Get asset checks to run --- src/pudl/transform/phmsagas.py | 95 +++++++++++----------------------- 1 file changed, 31 insertions(+), 64 deletions(-) diff --git a/src/pudl/transform/phmsagas.py b/src/pudl/transform/phmsagas.py index 5e47214152..2e3030ba18 100644 --- a/src/pudl/transform/phmsagas.py +++ b/src/pudl/transform/phmsagas.py @@ -1,9 +1,7 @@ """Classes & functions to process PHMSA natural gas data before loading into the PUDL DB.""" -from dataclasses import dataclass - import pandas as pd -from dagster import AssetCheckResult, AssetChecksDefinition, AssetIn, asset, asset_check +from dagster import AssetCheckResult, AssetIn, asset, asset_check import pudl.logging_helpers from pudl.helpers import ( @@ -278,71 +276,40 @@ def combined_filter(group: pd.DataFrame) -> pd.DataFrame: return group -@dataclass -class PhmsagasCheckSpec: - """Define some simple checks that can run on FERC 714 assets.""" +@asset_check(asset=core_phmsagas__yearly_distribution_operators, blocking=True) +def _check_percent_unaccounted_for_gas(df): + # Count the rows where percent_unaccounted_for_gas is negative + negative_count = (df["percent_unaccounted_for_gas"] < 0).sum() - name: str - asset: str - percent_unaccounted_for_gas_negative_threshold: float - pk_deduplication_theshold: int + # Calculate the percentage + negative_percentage = negative_count / len(df) + if negative_percentage > 0.05: + error = "Percentage of rows with negative percent_unaccounted_for_gas values: {negative_percentage:.2f}" + logger.info(error) + return AssetCheckResult(passed=False, metadata={"errors": error}) + return AssetCheckResult(passed=True) -check_specs = [ - PhmsagasCheckSpec( - name="phmsagas__yearly_distribution_check_spec", - asset="raw_phmsagas__yearly_distribution", - # Threshold to use when making sure we aren't seeing tons of negative values in percent_unaccounted_for_gas - percent_unaccounted_for_gas_negative_threshold=0.05, - # Threshold to use when making sure we aren't dropping a large number of rows based on non-unique PKs - pk_deduplication_theshold=10, - ) -] - - -def make_check_phmsagas_yearly_distribution( - spec: PhmsagasCheckSpec, -) -> list[AssetChecksDefinition]: - """Turn the Ferc714CheckSpec into Dagster asset checks.""" - - @asset_check(asset=spec.asset, blocking=True) - def _check_percent_unaccounted_for_gas(df): - # Count the rows where percent_unaccounted_for_gas is negative - negative_count = (df["percent_unaccounted_for_gas"] < 0).sum() - - # Calculate the percentage - negative_percentage = negative_count / len(df) - if ( - negative_percentage - > PhmsagasCheckSpec.percent_unaccounted_for_gas_negative_threshold - ): - error = "Percentage of rows with negative percent_unaccounted_for_gas values: {negative_percentage:.2f}" - logger.info(error) - return AssetCheckResult(passed=False, metadata={"errors": error}) - - return AssetCheckResult(passed=True) - - @asset_check(asset=spec.asset, blocking=True) - def _check_pk_deduplication(df): - """Check if the size of filtered non-unique rows exceeds the threshold.""" - # Identify non-unique groups - non_unique_groups = df.groupby(["operator_id_phmsa", "report_number"]).filter( - lambda group: len(group) > 1 - ) - # Apply the filters to non-unique groups - filtered_non_unique_rows = non_unique_groups.groupby( - ["operator_id_phmsa", "report_number"], group_keys=False - ).apply(combined_filter) +@asset_check(asset=core_phmsagas__yearly_distribution_operators, blocking=True) +def _check_pk_deduplication(df): + """Check if the size of filtered non-unique rows exceeds the threshold.""" + # Identify non-unique groups + non_unique_groups = df.groupby(["operator_id_phmsa", "report_number"]).filter( + lambda group: len(group) > 1 + ) - if len(filtered_non_unique_rows) > spec.pk_deduplication_theshold: - error = ( - f"Number of filtered non-unique rows ({len(filtered_non_unique_rows)})\n" - f"Exceeds the threshold of {spec.pk_deduplication_theshold}" - ) - logger.info(error) - return AssetCheckResult(passed=False, metadata={"errors": error}) + # Apply the filters to non-unique groups + filtered_non_unique_rows = non_unique_groups.groupby( + ["operator_id_phmsa", "report_number"], group_keys=False + ).apply(combined_filter) - return AssetCheckResult(passed=True) + if len(filtered_non_unique_rows) > 10: + error = ( + f"Number of filtered non-unique rows ({len(filtered_non_unique_rows)})\n" + f"Exceeds the threshold of 10." + ) + logger.info(error) + return AssetCheckResult(passed=False, metadata={"errors": error}) - return [_check_percent_unaccounted_for_gas, _check_pk_deduplication] + return AssetCheckResult(passed=True) From 3cfd6fcb9f87ec20d23761757d185e6b77625086 Mon Sep 17 00:00:00 2001 From: e-belfer Date: Tue, 7 Jan 2025 14:54:29 -0500 Subject: [PATCH 39/39] Update release notes --- docs/release_notes.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/release_notes.rst b/docs/release_notes.rst index 91c56adec3..e3f2c7c264 100644 --- a/docs/release_notes.rst +++ b/docs/release_notes.rst @@ -18,6 +18,13 @@ EIA 176 * Extracted these interim tables up through the latest 2023 data release. See :issue:`4002` and :pr:`4004`. +PHMSA +~~~~~ +* Add a transformed table containing annual operator data from PHMSA natural gas + distributors. This is a subset of the overall distributor data, focusing on + company-level attributes. Thanks to :user:`seeess1` for all of your work on this! See + :issue:`3770` and :pr:`4005`. + Bug Fixes ^^^^^^^^^

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%0DZ(A|It)BAg3)f1NN~!63^yMD}*5$Zw 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 z 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ⅈ( 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