Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Deduplicate elements: ActiveDehumidification through EnergySellRate #323

Closed
macintoshpie opened this issue Apr 12, 2021 · 7 comments · Fixed by #349
Closed

Deduplicate elements: ActiveDehumidification through EnergySellRate #323

macintoshpie opened this issue Apr 12, 2021 · 7 comments · Fixed by #349

Comments

@macintoshpie
Copy link
Contributor

The schema redefines elements that should technically be references to a single element/type.

For each of the elements below:

  1. Determine if the duplicate names are of the same "type", ie representing the same thing: actual type, description, etc.
  2. If they are the same type, create a new element at the bottom of the schema and reference it in those places. Remove that element name from the ignored_dupes list in validation_spec.rb.
  3. If they are not representing the same thing, create a new issue on GH describing the elements and their differences.

Below are the duplicated element names and their current line numbers at 37086c4

ActiveDehumidification: [6620, 8018, 8062]
AdvancedPowerStrip: [16927, 17083]
AnnualCoolingEfficiencyValue: [6668, 7954, 8030]
AnnualDemandSavingsCost: [2628, 5604]
AnnualHeatingEfficiencyValue: [6429, 7466, 7681, 7776]
AnnualPeakElectricityReduction: [2389, 2616, 2927, 5592]
AnnualSavingsByFuel: [2569, 5545]
AnnualSavingsByFuels: [2566, 5542]
AnnualSavingsCost: [2353, 2554, 2891, 5530]
AnnualSavingsNativeUnits: [2574, 5550]
AnnualSavingsSiteEnergy: [2329, 2530, 2867, 5506]
AnnualSavingsSourceEnergy: [2341, 2542, 2879, 5518]
AnnualWaterCostSavings: [2413, 2652, 2951, 5628]
AnnualWaterSavings: [2401, 2640, 2939, 5616]
AssemblyType: [11997, 12197]
BoilerLWT: [7568, 7706]
Building: [490, 14247, 14442]
BurnerQuantity: [6284, 7375]
BurnerTurndownRatio: [6297, 7392]
CBECS: [2234, 17553]
CDDBaseTemperature: [3117, 4550]
Capacity: [6467, 7434, 7667, 7762, 14079]
ChilledWaterSupplyTemperature: [8006, 8050]
ClimateZone: [16551, 17427, 17459, 17478, 17509, 17533, 17557, 17580]
ClothesWasherCapacity: [10461, 10549]
ClothesWasherModifiedEnergyFactor: [10437, 10525]
ClothesWasherWaterFactor: [10449, 10537]
Combustion: [9382, 9678]
CombustionEfficiency: [6313, 7479]
CommunicationProtocol: [17262, 17276]
CondenserPlantID: [6596, 7902, 10146]
CondenserPlantIDs: [6593, 7899, 10143]
CondenserWaterTemperature: [8221, 8354]
CondensingTemperature: [8156, 8233, 8366, 8447]
Control: [6511, 6730, 6973, 8815, 9328, 9537, 9873, 10402, 10624, 10783, 11017, 11175, 11278, 13044, 13145, 13239, 13323, 13634, 13757, 13867]
ControlSensor: [16974, 17107, 17177]
ControlStrategy: [16934, 16954, 16979, 16999, 17019, 17044, 17087, 17124, 17144, 17193, 17213, 17235]
ControlSystemTypes: [7810, 8087, 8484]
Controls: [6505, 6724, 6967, 8809, 9322, 9531, 9867, 10396, 10618, 10777, 11011, 11169, 11272, 13038, 13139, 13233, 13317, 13628, 13751, 13861]
ConveyanceSystems: [220, 5040]
CoolingSourceID: [6388, 6944]
CoolingStageCapacity: [6695, 7887]
DemandRatchetPercentage: [3193, 3386, 3551]
DemandRateAdjustment: [3241, 3362, 3527]
DemandWindow: [3181, 3374, 3539]
DryerElectricEnergyUsePerLoad: [10480, 10562]
DryerGasEnergyUsePerLoad: [10492, 10574]
ElectricDemandRate: [3229, 3338, 3503]
ElectricResistance: [6262, 9381, 9677]
EndTimestamp: [4443, 17903]
EndUse: [3884, 4114, 15910]
EnergyCostRate: [3205, 3326, 3491]
EnergyRateAdjustment: [3217, 3350, 3515]
EnergySellRate: [3253, 3404, 3569]
@Ryoken
Copy link
Contributor

Ryoken commented Apr 30, 2021

All of these instances were found to be identical. A base level element was created by the same name and all instances were converted into references:

ActiveDehumidification
AnnualCoolingEfficiencyValue
AnnualDemandSavingsCost
AnnualHeatingEfficiencyValue
AnnualPeakElectricityReduction
AnnualSavingsByFuels
AnnualSavingsCost
AnnualSavingsSiteEnergy
AnnualSavingsSourceEnergy
AnnualWaterCostSavings
AnnualWaterSavings
BoilerLWT
BurnerQuantity
BurnerTurndownRatio
CDDBaseTemperature
ChilledWaterSupplyTemperature
ClothesWasherCapacity
ClothesWasherModifiedEnergyFactor
ClothesWasherWaterFactor
Combustion
CombustionEfficiency
CondenserPlantIDs
CondenserWaterTemperature
CondensingTemperature
CoolingStageCapacity
DemandRatchetPercentage
DemandRateAdjustment
DemandWindow
DryerElectricEnergyUsePerLoad
DryerGasEnergyUsePerLoad
ElectricDemandRate
ElectricResistance
EnergyCostRate
EnergyRateAdjustment
EnergySellRate

@Ryoken
Copy link
Contributor

Ryoken commented Apr 30, 2021

These instances were no longer duplicated as a result of consolidating one of the previously listed elements:

AnnualSavingsByFuel
AnnualSavingsNativeUnits
CondenserPlantID

@Ryoken
Copy link
Contributor

Ryoken commented Apr 30, 2021

These instances were identical save for minor differences in documentation. In each instance a more generic documentation was provided after consolidating into a base level element:

CoolingSourceID

  • the first instance is under "HeatPump" and reads "ID number of the CoolingSource with the cooling mode performance characteristics of this heat pump."
  • the second instance is under "Delivery" and reads "ID number of the CoolingSource associated with this delivery mechanism."
  • merged into base element "CoolingSourceID" and changed documentation to more generically read "ID number of the associated CoolingSource."

EndTimestamp

  • merged into base element "EndTimestamp" and changed documentation to more generically read "The timestamp that marks the end of the time series. (CCYY-MM-DDThh:mm:ss.zzz)"

EndUse

  • renamed simpleType "EndUse" to "EndUseType"
  • merged into base element "EndUse" and changed documentation to more generically read "End use for related resource or data."

@Ryoken
Copy link
Contributor

Ryoken commented Apr 30, 2021

The remaining instances require some changes:

AdvancedPowerStrip

  • one uses "ControlStrategyLightingType" and the other "ControlStrategyGeneralType", otherwise identical
  • suggestion: rename to "AdvancedLightingPowerStrip" and "AdvancedGeneralPowerStrip"

AssemblyType

  • both instances contain different documentation and enumeration
  • suggestion: rename to "WindowAssemblyType" and "SkylightAssemblyType"

Building

  • first instance is already of type "BuildingType"
  • second and third instance are identical
  • suggestion: create base element "LinkedBuilding" and reference with second and third instance

CBECS

  • both instances already of type "CBECSType"
  • suggestion: rename to "ClimateZoneTypeCVECS" and "ScenarioTypeCVECS"

Capacity

  • first instance is tied to system capacity
  • remaining instances are identical and tied to equipment
  • suggestion: create base element "EquipmentCapacity" and reference with all but first instance

ClimateZone

  • every instance has a unique enumeration list
  • suggestion: rename each element to include it's parent

CommunicationProtocol

  • first instance references "CommunicationProtocolAnalogType" and second "CommunicationProtocolDigitalType"
  • suggestion: rename to "CommunicationProtocolAnalog" and "CommunicationProtocolDigital"

Control

  • all instances reference a different type or have a different documentation
  • will be taken care of if "Controls" is consolidated
  • suggestion a: consolidate all "ControlGeneral" by homoginizing the documentation
  • suggestion b: rename all "Control" elements by appending their type and/or parent

ControlSensor

  • the first instance is an "Occupancy" control for "ControlGeneralType" and contains no restrictions
  • the second instance is a "Daylighting" control for "ControlLightingType"
  • the third instance is an "Occupancy" control for "ControlLightingType" and has an enumerated list
  • suggestion: rename to "ControlSensorGeneralOccupancy", "ControlSensorDaylighting" and "ControlSensorLightingOccupancy", respectively

ControlStrategy

  • all instances reference a different type or have a different documentation
  • suggestion a: consolidate all "ControlGeneral" by homoginizing the documentation
  • suggestion b: rename all "ControlStrategy" elements by appending their type and/or parent

ControlSystemTypes

  • all instances are identical save for documentation
  • suggestion: rename to "HeatingPlantControlSystemTypes", "CoolingPlantControlSystemTypes" and "CondenserPlantControlSystemTypes"

Controls

  • all instances reference a different type or have a different documentation
  • suggestion a: consolidate all "Controls" by homoginizing the documentation
  • suggestion b: rename all "Controls" elements by appending their type and/or parent

ConveyanceSystems

  • the first instance is under "Facilities" > "Systems" and references a very detailed "ConveyanceSystemType"
  • the second instance is under "MeasureType" > "TechnologyCategories" and has a very basic descriptive content
  • suggestion: rename first instance "FacilityConveyanceSystems" or the second "ConveyanceSystemsMeasurements"

@Ryoken
Copy link
Contributor

Ryoken commented May 14, 2021

Edit: updated previous comment; after doing some more research it looks like my original idea for complexContent wont work as expected.

@macintoshpie
Copy link
Contributor Author

After chatting with @nllong we decided that cases where the type is basically the same (but still slightly different) it's probably OK to keep the duplicate name. E.g. AdvancedPowerStrip
Skip these cases for now (keep them as duplicates) and we will address later if necessary.

@Ryoken
Copy link
Contributor

Ryoken commented Jun 1, 2021

Moved remaining duplicates to #356

@Ryoken Ryoken closed this as completed Jun 1, 2021
@JieXiong9119 JieXiong9119 linked a pull request Sep 21, 2021 that will close this issue
@JieXiong9119 JieXiong9119 added the Schema: General General update to BuildingSync label Sep 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging a pull request may close this issue.

3 participants