taxonomy().concept(ferc:ScheduleShipperSuppliedGasForTheCurrentQuarterAbstract).label("http://ferc.gov/form/2020-01-01/roles/label/F2ScheduleTitle").text
Shipper Supplied Gas for the Current Quarter
|
taxonomy().concept(ferc:ScheduleShipperSuppliedGasForTheCurrentQuarterAbstract).label("http://ferc.gov/form/2020-01-01/roles/label/F2Instructions").text
- Report monthly (1) shipper supplied gas for the current quarter and gas consumed in pipeline operations, (2) the disposition of any excess, the accounting recognition given to such disposition and the specific account(s) charged or credited, and (3) the source of gas used to meet any deficiency, the accounting recognition given to the gas used to meet the deficiency, including the accounting basis of the gas and the specific account(s) charged or credited.
- On lines 7, 14, 22 and 30 report only the dekatherms of gas provided by shippers under tariff terms and conditions for gathering , production/ extraction/processing, transmission, distribution and storage service and the use of that gas for compressor fuel, other operational purposes and lost and unaccounted for. The dekatherms must be broken out by functional categories on Lines 2-6, 9-13, 16-21 and 24-29. The dekatherms must be reported in column (d) unless the company has discounted or negotiated rates which should be reported in columns (b) and (c).
- On lines 7, 14, 22 and 30 report only the dollar amounts of gas provided by shippers under tariff terms and conditions for gathering, production/ extraction/processing, transmission, distribution and storage service and the use of that gas for compressor fuel, other operational purposes and lost and unaccounted for. The dollar amounts must be broken out by functional categories on Lines 2-6, 9-13, 16-21 and 23-29. The dollar amounts must be reported in column (h) unless the company has discounted or negotiated rates which should be reported in columns (f) and (g). The accounting should disclose the account(s) debited and credited in columns (m) and (n).
- Indicate in a footnote the basis for valuing the gas reported in Columns (f), (g) and (h).
- Report in columns (j), (k) and (l) the amount of fuel waived, discounted or reduced as part of a negotiated rate agreement.
- On lines 32-37 report the dekatherms and dollar value of the excess or deficiency in shipper supplied gas broken out by functional category and whether recourse rate, discounted or negotiated rate.
- On lines 39 through 51 report the dekatherms, the dollar amount and the account(s) credited in Column (o) for the dispositions of gas listed in column (a).
- On lines 53 through 65 report the dekatherms, the dollar amount and the account(s) debited in Column (n) for the sources of gas reported in column (a).
- On lines 66 and 67, report forwardhaul and backhaul volume in Dths of throughput.
- Where appropriate, provide a full explanation of the allocation process used in reported numbers in a footnote.
|
|
|
Month 3 |
|
|
|
|
|
|
Amount Collected (Dollars) |
Volume (in Dth) Not Collected |
|
|
Line No. |
$headings = filter (taxonomy().concept(ferc:ScheduleShipperSuppliedGasForTheCurrentQuarterAbstract).references("http://ferc.gov/form/2020-01-01/roles/reference/columnDetails")) where ($item.part-by-name(ferc-part:Schedule).part-value == "521M1 - Schedule - Shipper Supplied Gas for the Current Quarter")
$heading = list(for $ref in $headings
list($ref.part-by-name(ferc-part:Column).part-value, $ref.part-by-name(ferc-part:ColumnName).part-value, $ref.part-by-name(ferc-part:ElementName).part-value))
$heading_dict = dict(for $row in $heading
list("("+$row[1]+")",list($row[2],if $row[3] == none "" else taxonomy().concept(to-qname($row[3]))))
);
for $row in $heading_dict.keys.sort
$row
(a)
|
$dataHead = navigate parent-child descendants from ferc:ShipperSuppliedGasLineItems stop when ($relationship.preferred-label == "http://ferc.gov/form/2020-01-01/roles/label/F2RollforwardHeader" or $relationship.target-name == ferc:SeparationOfForwardhaulAndBackhaulThroughputAbstract) role "http://ferc.gov/form/2020-01-01/roles/Schedule/F2/ShipperSuppliedGasForTheCurrentQuarterM3" where $relationship.target-name != ferc:SeparationOfForwardhaulAndBackhaulThroughputAbstract returns list (target-name, preferred-label, order);
$rollforwardSection = list(for $x in $dataHead
$abstractConcept = taxonomy().concept($x[1]);
$is-heading = if ($x[2].role.uri == "http://ferc.gov/form/2020-01-01/roles/label/F2ShipperSuppliedGas")
true
else
false;
$row_num_ref = (filter $abstractConcept.references("http://ferc.gov/form/2020-01-01/roles/reference/formLocation") where ($item.part-by-name(ferc-part:Schedule).part-value == "521M3 - Schedule - Shipper Supplied Gas for the Current Quarter" and $item.part-by-name(ferc-part:ValueType).part-value.string == "Label")).to-list;
$row_num = if ($row_num_ref.part-by-name(ferc-part:Row)).length == 0
""
else
($row_num_ref.part-by-name(ferc-part:Row))[1].part-value;
$abstractLabel = list($is-heading, $row_num, $abstractConcept.label($x[2].role.uri).text);
$data = navigate parent-child children from $x[1] role "http://ferc.gov/form/2020-01-01/roles/Schedule/F2/ShipperSuppliedGasForTheCurrentQuarterM3" returns list (target, preferred-label, result-order);
$dataRow2 = list(none, none, none, none, none, none, none, none, none, none, none, none ,none, none, none, none, none);
$appliedRateMembers = list(ferc:WaivedRateMember, ferc:DiscountedRateMember, ferc:NegotiatedRateMember, ferc:RecourseRateMember);
$debitCreditMembers = list(ferc:DebitedMember, ferc:CreditedMember);
$colSet1 = list(for $y in $data
if $y[3] == 1
$part1List = list(for $member in $appliedRateMembers
if list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM3]).length > 0
first(list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM3]))
else
none
);
$part1ListTotal = list(
if list([covered @concept = $y[1] @unit @period = $currentQM3]).length > 0
first(list([covered @concept = $y[1] @unit @period = $currentQM3]))
else
none
);
$part1List + $part1ListTotal
else
skip
);
$colSet2 = list(for $y in $data
if $y[3] == 2
$part2List = list(for $member in $appliedRateMembers
if list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM3]).length > 0
first(list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM3]))
else
none
);
$part2ListTotal = list(
if list([covered @concept = $y[1] @unit @period = $currentQM3]).length > 0
first(list([covered @concept = $y[1] @unit @period = $currentQM3]))
else
none
);
$part2List + $part2ListTotal
else
skip
);
$colSet3 = list(for $y in $data
if $y[3] == 3
$part3List = list(for $member in $appliedRateMembers
if list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM3]).length > 0
first(list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM3]))
else
none
);
$part3ListTotal = list(
if list([covered @concept = $y[1] @unit @period = $currentQM3]).length > 0
first(list([covered @concept = $y[1] @unit @period = $currentQM3]))
else
none
);
$part3List + $part3ListTotal
else
skip
);
$colSet4 = list(for $y in $data
if $y[3] == 4
$part4List = list(for $member in $debitCreditMembers
if list([covered @concept = $y[1] @unit @ferc:AccountDebitedOrCreditedAxis = $member @period = $currentQM3]).length > 0
first(list([covered @concept = $y[1] @unit @ferc:AccountDebitedOrCreditedAxis = $member @period = $currentQM3]))
else
none
);
$part4List
else
skip
);
/** We have to do this because of inconsistensies in the form where some rows are shorter than others **/
$colSet4Flat = sum($colSet4);
$colSet4Adj = list(for $i in range(2)
if ($colSet4Flat.length + 1) > $i
$colSet4Flat[$i]
else
none
);
$breakdown1 = list(
if $x[1] == ferc:DispositionOfExcessGasAbstract
$data2 = list(for $i in range(8)
list(false, "43" + "." + $i.string ,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none)
);
$data = if count(list({covered @ferc:OtherDispositionOfExcessGasAxis=*})) > 0
list({covered @ferc:OtherDispositionOfExcessGasAxis=* {list(false,
if list({@ferc:OrderNumber @unit=* @period=$currentDuration}).length > 0
first(list({@ferc:OrderNumber @unit=* @period=$currentDuration}))
else
0,
if exists({@ferc:DescriptionOfOtherDispositionOfExcessGas @unit @period = $currentQM3})
first(list({@ferc:DescriptionOfOtherDispositionOfExcessGas @unit @period=$currentQM3}))
else
none,
none,
if exists({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @period=$currentQM3})
first(list({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @period=$currentQM3}))
else
none,
if exists({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @period=$currentQM3})
first(list({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @period=$currentQM3}))
else
none,
if exists({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @period=$currentQM3})
first(list({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @period=$currentQM3}))
else
none,
if exists([@ferc:DispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM3])
first(list([@ferc:DispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM3]))
else
none,
none,
if exists({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM3})
first(list({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM3})
first(list({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @unit @period=$currentQM3})
first(list({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @unit @period=$currentQM3}))
else
none,
if exists([@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM3])
first(list([@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM3]))
else
none,
if exists({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:WaivedRateMember @unit @period=$currentQM3})
first(list({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:WaivedRateMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM3})
first(list({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember@unit @period=$currentQM3})
first(list({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM3}))
else
none,
none,
if exists([@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM3])
first(list([@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM3]))
else
none,
if exists({@ferc:AccountsDebitedOrCreditedDispositionOfExcessGasOther @ferc:AccountDebitedOrCreditedAxis=ferc:DebitedMember @unit @period=$currentQM3})
first(list({@ferc:AccountsDebitedOrCreditedDispositionOfExcessGasOther @ferc:AccountDebitedOrCreditedAxis=ferc:DebitedMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:AccountsDebitedOrCreditedDispositionOfExcessGasOther @ferc:AccountDebitedOrCreditedAxis=ferc:CreditedMember @unit @period=$currentQM3})
first(list({@ferc:AccountsDebitedOrCreditedDispositionOfExcessGasOther @ferc:AccountDebitedOrCreditedAxis=ferc:CreditedMember @unit @period=$currentQM3}))
else
none
)}})
else $data2;
$uniqueData = list(for $j in $data.sort
if $j == list(false,$j[2],none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none)
skip
else
$j
);
$UpdatedNumber = list(for $i in range($uniqueData.length)
list($uniqueData[$i][1],
"43." + $i.string,
$uniqueData[$i][3],
$uniqueData[$i][4],
$uniqueData[$i][5],
$uniqueData[$i][6],
$uniqueData[$i][7],
$uniqueData[$i][8],
$uniqueData[$i][9],
$uniqueData[$i][10],
$uniqueData[$i][11],
$uniqueData[$i][12],
$uniqueData[$i][13],
$uniqueData[$i][14],
$uniqueData[$i][15],
$uniqueData[$i][16],
$uniqueData[$i][17],
$uniqueData[$i][18],
$uniqueData[$i][19],
$uniqueData[$i][20])
)
for $row in $UpdatedNumber
$row
else
skip
);
$breakdown2 = list(
if $x[1] == ferc:GasAcquiredToMeetDeficiencyAbstract
$data2 = list(for $i in range(10)
list(false, "55" + "." + $i.string ,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none)
);
$data = if count(list({covered @ferc:OtherGasAcquiredToMeetDeficiencyAxis=*})) > 0
list({covered @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* {list(false,
if list({@ferc:OrderNumber @unit=* @period=$currentDuration}).length > 0
first(list({@ferc:OrderNumber @unit=* @period=$currentDuration}))
else
0,
if exists({@ferc:DescriptionOfOtherGasAcquiredToMeetDeficiency @unit @period = $currentQM3})
first(list({@ferc:DescriptionOfOtherGasAcquiredToMeetDeficiency @unit @period=$currentQM3}))
else
none,
none,
if exists({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @period=$currentQM3})
first(list({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @period=$currentQM3}))
else
none,
if exists({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @period=$currentQM3})
first(list({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @period=$currentQM3}))
else
none,
if exists({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @period=$currentQM3})
first(list({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @period=$currentQM3}))
else
none,
if exists([@ferc:GasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM3])
first(list([@ferc:GasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM3]))
else
none,
none,
if exists({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM3})
first(list({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM3})
first(list({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @unit @period=$currentQM3})
first(list({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @unit @period=$currentQM3}))
else
none,
if exists([@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM3])
first(list([@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM3]))
else
none,
if exists({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:WaivedRateMember @unit @period=$currentQM3})
first(list({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:WaivedRateMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM3})
first(list({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember@unit @period=$currentQM3})
first(list({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM3}))
else
none,
none,
if exists([@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM3])
first(list([@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM3]))
else
none,
if exists({@ferc:AccountsDebitedOrCreditedGasAcquiredToMeetDeficiencyOther @ferc:AccountDebitedOrCreditedAxis=ferc:DebitedMember @unit @period=$currentQM3})
first(list({@ferc:AccountsDebitedOrCreditedGasAcquiredToMeetDeficiencyOther @ferc:AccountDebitedOrCreditedAxis=ferc:DebitedMember @unit @period=$currentQM3}))
else
none,
if exists({@ferc:AccountsDebitedOrCreditedGasAcquiredToMeetDeficiencyOther @ferc:AccountDebitedOrCreditedAxis=ferc:CreditedMember @unit @period=$currentQM3})
first(list({@ferc:AccountsDebitedOrCreditedGasAcquiredToMeetDeficiencyOther @ferc:AccountDebitedOrCreditedAxis=ferc:CreditedMember @unit @period=$currentQM3}))
else
none
)}})
else
$data2;
$uniqueData = list(for $j in $data.sort
if $j == list(false,$j[2],none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none)
skip
else
$j
);
$UpdatedNumber = list(for $i in range($uniqueData.length)
list($uniqueData[$i][1],
"55." + $i.string,
$uniqueData[$i][3],
$uniqueData[$i][4],
$uniqueData[$i][5],
$uniqueData[$i][6],
$uniqueData[$i][7],
$uniqueData[$i][8],
$uniqueData[$i][9],
$uniqueData[$i][10],
$uniqueData[$i][11],
$uniqueData[$i][12],
$uniqueData[$i][13],
$uniqueData[$i][14],
$uniqueData[$i][15],
$uniqueData[$i][16],
$uniqueData[$i][17],
$uniqueData[$i][18],
$uniqueData[$i][19],
$uniqueData[$i][20])
)
for $row in $UpdatedNumber
$row
else
skip
);
if $is-heading
$breakdown1 + $breakdown2 + list($abstractLabel + $dataRow2)
else
$breakdown1 + $breakdown2 + list($abstractLabel + sum($colSet1) + sum($colSet2) + sum($colSet3) + $colSet4Adj)
);
for $rows in $rollforwardSection
for $rowl in $rows
$rowl[2]
|
$rowl[3]
if $rowl[3].is-fact "true" else "false"
|
$rowl[5]
if $rowl[1] "gray-out" else ""
|
$rowl[6]
if $rowl[1] "gray-out" else ""
|
$rowl[7]
if $rowl[1] "gray-out" else ""
|
$rowl[8]
if $rowl[1] "gray-out" else ""
|
$rowl[10]
if $rowl[1] "gray-out" else ""
|
$rowl[11]
if $rowl[1] "gray-out" else ""
|
$rowl[12]
if $rowl[1] "gray-out" else ""
|
$rowl[13]
if $rowl[1] "gray-out" else ""
|
$rowl[14]
if $rowl[1] "gray-out" else ""
|
$rowl[15]
if $rowl[1] "gray-out" else ""
|
$rowl[16]
if $rowl[1] "gray-out" else ""
|
$rowl[18]
if $rowl[1] "gray-out" else ""
|
$rowl[19]
if $rowl[1] "gray-out" else ""
|
$rowl[20]
if $rowl[1] "gray-out" else ""
|