Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Primary, Secondary and Tertiary eGRID Subregion Codes #358

Closed
markborkum opened this issue Jun 2, 2021 · 9 comments · Fixed by #387 or #394
Closed

Primary, Secondary and Tertiary eGRID Subregion Codes #358

markborkum opened this issue Jun 2, 2021 · 9 comments · Fixed by #387 or #394
Assignees
Labels
feature Adding new functionality to BuildingSync Non-breaking Change Schema: General General update to BuildingSync

Comments

@markborkum
Copy link
Contributor

Is your feature request related to a problem? Please describe.

Given an eGRID-assigned zip code, the power profiler zip code tool returns between 1 and 3 eGRID subregion codes, referred to as "eGRID Subregion 1", "eGRID Subregion 2" and "eGRID Subregion 3", respectively.

For example, the zip code 30525 is assigned to:

  1. SRTV,
  2. SRSO; and
  3. SRVC.

Currently, in BuildingSync XML schema, an <auc:Site> or <auc:Building> element may have either 0 or 1 <auc:eGRIDRegionCode> child elements.

This introduces 2 issues:

  1. Only 1 eGRID subregion code can be asserted for a given <auc:Site> and <auc:Building> element; and
  2. It is not clear to BuildingSync XML document consumers which eGRID subregion code is being asserted (i.e., 1, 2 or 3?).

Describe the solution you'd like

  1. Rename the <auc:eGRIDRegionCode> element to <auc:eGRIDSubregionCode> to match the terminology in the eGRID standard.
  2. Add <auc:eGRIDSubregion1>, <auc:eGRIDSubregion2> and <auc:eGRIDSubregion3> child elements to the <auc:Site> and <auc:Building> elements.

Describe alternatives you've considered

An alternative approach is to change the maximum number of occurrences of the preexisting <auc:eGRIDRegionCode> element from 1 to 3. However, if this were implemented, then it would not be clear to BuildingSync XML document consumers which eGRID subregion number is being asserted (i.e., is the 1st <auc:eGRIDRegionCode> element for 1, the 2nd for 2, etc.?).

Additional context

For comprehensive calculation of emissions metrics, it is important to know all eGRID subregion codes for a given zip code and their ordering.

@macintoshpie
Copy link
Contributor

macintoshpie commented Aug 23, 2021

@nllong might we want to include this for v3? We could also include in v2.4 as a choice to use either auc:eGRIDRegionCode or the subregion ones as a non-breaking change

One question I have though, does the numbering of the subregions mean anything? Could they change? Just wondering if we should have a more generic list of auc:eGRIDSubregion`s? (@markborkum )

@nllong
Copy link
Member

nllong commented Aug 23, 2021

I think this would be great to include in 3 and in 2.4 with the choice.

The question regarding the Subregion1, Subregion2, etc, is appropriate.

@markborkum
Copy link
Contributor Author

@macintoshpie Both the number and order of the eGRID subregions are meaningful. Currently, in the EPA Power Profiler tool, ZIP codes are assigned to either 1, 2 or 3 eGRID subregions. The 1st eGRID subregion is "primary". For calculations, end-users use either the emission factors for the "primary" subregion or the mean of the emission factors for all assigned subregions.

In principal, the assigned eGRID subregions for a ZIP code only change when the eGRID subregions are changed. New eGRID subregions have been added to the EPA Power Profiler tool (e.g., #381). I am not aware of existing eGRID subregions being removed.

@macintoshpie
Copy link
Contributor

Great, as I understand it documents should follow these rules:

v2.4

valid

<auc:Building>
    <auc:eGRIDRegionCode>...</auc:eGRIDRegionCode>
<auc:Building>
    ...
    <auc:eGRIDSubregion1>...</auc:eGRIDSubregion1>
<auc:Building>
    ...
    <auc:eGRIDSubregion1>...</auc:eGRIDSubregion1>
    <auc:eGRIDSubregion2>...</auc:eGRIDSubregion2>
<auc:Building>
    ...
    <auc:eGRIDSubregion1>...</auc:eGRIDSubregion1>
    <auc:eGRIDSubregion2>...</auc:eGRIDSubregion2>
    <auc:eGRIDSubregion3>...</auc:eGRIDSubregion3>
<auc:Building>
    ...
    <auc:eGRIDSubregion1>...</auc:eGRIDSubregion1>
    <-- each one is optional, no subregion 2 here -->
    <auc:eGRIDSubregion3>...</auc:eGRIDSubregion3>

invalid

<auc:Building>
    ...
    <!-- can't use both old and new method -->
    <auc:eGRIDRegionCode>...</auc:eGRIDRegionCode>
    <auc:eGRIDSubregion1>...</auc:eGRIDSubregion1>

3.0

Same as 2.4, but 1. is invalid (it's deprecated)

For 2.4 we should add a deprecation warning to eGRIDRegionCode

@nllong
Copy link
Member

nllong commented Aug 25, 2021

Looking into this more and chatting with the Cambium lead, it looks like there really should only be a single eGRIDSubregion per location. If there are more, it is an artifact of having multiple power providers. Using EPA's online tool, you can enter 80005 and the results return immediately, however when you enter 30525 you have to select the power provider/utility.

From the spreadsheet, there are ~8% with a second subregion and ~0.3% with a third subregion.

I'm concerned that we are designing to the exception here and perhaps the eGRIDSubregion associated with the building/facility/site should be the one from which the power is being delivered. This would push the onus to the creator of the BuildingSync to ensure they have selected the correct eGRIDSubregion for their building based on the utility.

I do agree that we should rename eGRIDRegionCode to eGRIDSubregionCode.

@JieXiong9119
Copy link
Contributor

I'll do the rename.
Should we restrict this element with maxOccurs="1" ?

@macintoshpie
Copy link
Contributor

@JieXiong9119 I think we're going to hold off on this, it sounded like Nick and Mark were going to chat with someone else

@macintoshpie
Copy link
Contributor

macintoshpie commented Aug 31, 2021

After further discussion, we decided not to move forward with this change because our understanding is that a building is associated with a single subregion.

We decided we should still update the naming of the element to Subregion and provide a maxOccurs of 1, see here: #383

@macintoshpie
Copy link
Contributor

Continued discussion has led us to decide BuildingSync should handle multiple eGRID Subregion Codes. The main motivation for allowing multiple codes is that users should use the average of coefficients for multiple region codes.

We concluded the following:

  • create an element auc:eGRIDSubregionCodes, which has one or more auc:eGRIDSubregionCode elements. Note that we will not number the codes as mentioned before.
  • As a non-breaking change for 2.4, we will move auc:eGRIDRegionCode into a choice, and provide auc:eGRIDSubregionCodes as the other option. Annotate auc:eGRIDRegionCode with a deprecation warning
  • As a breaking change for 3.0, we will replace auc:eGRIDRegionCode with auc:eGRIDSubregionCodes.

We are currently reaching out to determine if/how we should add these codes to auc:Utility.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
feature Adding new functionality to BuildingSync Non-breaking Change Schema: General General update to BuildingSync
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants