2026-04-24 FE Backup
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
from datetime import datetime
|
||||
def getBaseTagPaths(locations=[]):
|
||||
"""
|
||||
Get a list of tagpaths from SES1A/SES1B or the selected datahalls.
|
||||
"""
|
||||
baseTagPaths = []
|
||||
if len(locations) > 0:
|
||||
for location in locations:
|
||||
baseTagPaths+= reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getPQMBase(), location)
|
||||
else:
|
||||
baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getUtilitySES(), "Yard")
|
||||
return baseTagPaths
|
||||
|
||||
|
||||
def getEnergyPaths(locations):
|
||||
return ["%s/Real Energy"%(path) for path in getBaseTagPaths(locations)]
|
||||
|
||||
def getRawData(startDate, endDate, locations):
|
||||
"""
|
||||
Get per minute data for all of the energy paths.
|
||||
"""
|
||||
energyTagPathsSES = getEnergyPaths([])
|
||||
energyTagPathsAreas = getEnergyPaths(locations)
|
||||
sesHist = reports.MBR.common.util.getHistory(energyTagPathsSES, startDate, endDate, customArgs={})
|
||||
areaHist = reports.MBR.common.util.getHistory(energyTagPathsAreas, startDate, endDate, customArgs={})
|
||||
|
||||
return sesHist, areaHist
|
||||
|
||||
def calculateDelta(dataset, sumColName):
|
||||
"""
|
||||
Pass in the dataset and use the sumColName to indicate which column the delta will be performed
|
||||
Args:
|
||||
dataset: PyDataset of rawhist and sum column
|
||||
sumColname: name of the column the sum resides in
|
||||
Returns:
|
||||
List of calculated deltas
|
||||
"""
|
||||
deltaList = []
|
||||
for i,row in enumerate(dataset):
|
||||
if i == 0:
|
||||
deltaList.append(0)
|
||||
else:
|
||||
deltaList.append(row[sumColName]-dataset[i-1][sumColName])
|
||||
return deltaList
|
||||
|
||||
def processRawData(startDate, endDate, locations, intervalMins=15):
|
||||
"""
|
||||
Retrieve the raw history minute data, then create the new columns
|
||||
"""
|
||||
# PyDS
|
||||
sesDS, areaDS = getRawData(startDate, endDate, locations)
|
||||
sesDS = reports.MBR.common.util.generateSumCol(reports.MBR.common.util.averageIntervalData(sesDS, intervalMins), sumColName="SESTotalEnergy")
|
||||
areaDS = reports.MBR.common.util.generateSumCol(reports.MBR.common.util.averageIntervalData(areaDS, intervalMins), sumColName="ExclAreaTotalEnergy")
|
||||
|
||||
sesDeltaList = calculateDelta(sesDS, "SESTotalEnergy")
|
||||
areaDeltaList = calculateDelta(areaDS, "ExclAreaTotalEnergy")
|
||||
finalDS = sesDS
|
||||
|
||||
if len(sesDeltaList) == len(areaDeltaList):
|
||||
deltaDiffList = [a-b for a,b in zip(sesDeltaList, areaDeltaList)]
|
||||
|
||||
# merge the 2 SES and Area Datasets
|
||||
# try:
|
||||
finalDS = reports.MBR.common.util.mergeHistorianData(sesDS, areaDS)
|
||||
finalDS = system.dataset.addColumn(finalDS, sesDeltaList, "SES Consumed", float)
|
||||
finalDS = system.dataset.addColumn(finalDS, areaDeltaList, "Excluded Area Consumed", float)
|
||||
finalDS = system.dataset.addColumn(finalDS, deltaDiffList, "Tenant Consumed", float)
|
||||
|
||||
# except:
|
||||
# pass
|
||||
else:
|
||||
finalDS = system.dataset.addColumn(finalDS, col= sesDeltaList, colName="SES Consumed", colType=float)
|
||||
|
||||
return finalDS
|
||||
|
||||
Reference in New Issue
Block a user