You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fix RI heating gas tariff: remove double-counted seasonal distribution charge #44
The rie_heating.json URDB-format gas tariff for Rhode Island Energy's Residential Heating rate (Rate 12) contains volumetric rates that are ~28–32% too high. The tariff fetch pipeline summed both the heating-season distribution charge ($0.5933/therm, Nov–Apr) and the non-heating-season distribution charge ($0.5317/therm, May–Oct) into every rate period, when in reality only one applies in any given month.
The rie_nonheating.json (Rate 10) is unaffected — its CSV has only a single (non-seasonal) distribution charge row.
Why
This caused all modeled gas bills for heating-rate buildings to be inflated by roughly $0.53–$0.59/therm — approximately $480–$530/year for a gas-heated home consuming ~900 therms/year. The error was discovered during RI rate design analysis (batch ri_20250318c_r1-16). A manual one-time fix was applied to rate_design/hp_rates/ri/config/tariffs/gas/rie_heating.json in the rate-design-platform repo, but the root cause lives in the tariff fetch pipeline: the script that converts Rate Acuity CSVs into URDB JSON apparently sums all rows labelled distribution charge without respecting the season column qualifier.
How
In fetch_gas_tariffs_rateacuity.py (or whatever helper builds the URDB period rates from the CSV rows), identify where distribution charge rows are aggregated into volumetric rate periods.
Add logic to detect rows with a non-empty season column (e.g. 11/01 - 04/30 vs 05/01 - 10/31) and map them to separate URDB rate periods rather than summing across both seasonal variants.
The corrected rie_heating.json should have 4 periods matching these month groupings and rates (derived from the rie_heating.csv source):
Period
Months
Correct rate
0
Jan–Mar (heating, summer adj)
$0.063686/kWh
1
Apr (heating, spring adj)
$0.065945/kWh
2
May–Oct (non-heating)
$0.063843/kWh
3
Nov–Dec (heating, winter gcr/adj)
$0.058560/kWh
Verify the regenerated JSON matches the manually corrected file in rate-design-platform.
Add a regression check: after fetching, assert that no URDB rate period incorporates more than one seasonal distribution charge row.
Deliverables
PR to tariff_fetch fixing the CSV → URDB JSON aggregation to respect seasonal distribution charge row qualifiers
Regenerated rie_heating.json that matches the manually corrected version
Test or assertion guarding against this class of double-counting in future fetches
Activity
linear commentedon Mar 18, 2026
TF-28