Skip to content

Add "missing" 2024.2 upgrades: metadata and load curves #116

@jpvelez

Description

@jpvelez

What

Generate the following upgrades to ResStock's 2024.2 release, and make them available via bsf:

  1. ENERGY STAR heat pump with elec backup + Full Appliance Electrification with Efficiency​
  2. High efficiency cold-climate air-to-air heat pump with electric backup + Full Appliance Electrification with Efficiency​
  3. Ultra high efficiency heat pump with elec backup + Full Appliance Electrification with Efficiency​
  4. ENERGY STAR heat pump with existing system as backup​ + Full Appliance Electrification with Efficiency​
  5. Geothermal heat pump​ + Full Appliance Electrification with Efficiency​
  6. Full Appliance Electrification with Efficiency (i.e. appliances only)

Why

In the ResStock 2024.2 release, the 16 upgrades that NREL provided cover the following cases:

  • Heat pumps alone (Upgrades 1-5)
  • Light Touch Envelope alone (Update 16)
  • Heat pumps + Light Touch Envelope (Upgrades 6-10)
  • Heat pumps + Light Touch Envelope + Full Appliance Electrification with Efficiency​ (Upgrades 11-15)

But they don't provide:

  • Full Appliance Electrification with Efficiency​ (1 upgrade)
  • Heat pumps + Full Appliance Electrification with Efficiency​ (5 upgrades)

In many analyses, we want to calculate what happens to a home's bills if they fully electrify! But currently, we can't do that without removing the effects of Light Touch Envelope. Rather than having ResStock users do all of this manually over and over, let's do it once and publish it centrally via bsf.

How

It is possible to construct the time series for these upgrades by grabbing different columns of subsets from the existing upgrades, and combining them into new upgrades that have all the columns that are expected from each release.

Rather than pre-computing the time series for these "missing upgrades" for every bldg_id in the 2024.2 release, which would be expensive to compute and especially to host the resulting data, let's use a similar approach we used to implement hourly, daily, and monthly load curves (see #87): downloading 15 minute data and computing locally from there.

So, to compute load_curve_15min for upgrade 17, you would identify which upgrades have the columns you need to cobble together, and then efficiently procure those columns and stick them together.

If you need to compute load_curve_hourly for upgrade 17, you would compute load_curve_15min for upgrade 17 and then aggregate, doing this as efficiently as possible.

It'll take some thinking to do this efficiently!

Deliverables

  • Docs page documenting these additional columns, why they exist, and how we constructed them
  • Users should see these 6 additional upgrades under the 2024.2 release, properly documented, and denoted as "computed by Switchbox" with a link to docs page
  • If user selects one of these 6 additional upgrades, they should be able to download correct data for the following file types:
    • metadata: Building characteristics and metadata
    • load_curve_15min: 15-minute resolution load profiles
    • load_curve_hourly: Hourly resolution load profiles
    • load_curve_daily: Daily resolution load profiles
    • load_curve_monthly: Monthly resolution load profiles
    • load_curve_annual: Annual resolution load profiles

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions