本部分介绍了如何进行计算,以便为非美国地区的家庭确定最佳太阳能配置。为了计算建议值,您需要使用 Solar API 响应数据对安装太阳能电池板的费用及其节省的费用进行建模。
对于美国地区,Solar API 会针对输入位置的每种电费账单大小返回 FinancialAnalysis 对象的实例。您可以根据这些实例中的信息确定与每个太阳能装置的规模相关的账单、能耗,并最终确定节省的费用。
对于美国之外的位置,API 响应不包含 FinancialAnalysis 实例,因此您必须自行计算每项太阳能配置的费用和节省金额,然后才能推荐最佳配置。如需执行计算,您需要收集特定于位置的数据,并遵循本文档中的指南。
您可以根据 Solar API 用于美国位置的计算,为您的计算建模。如需了解这些计算的说明,请参阅计算节省的费用(美国)。
太阳能电池板配置
对于美国境外,SolarPanelConfig
字段中提供了进行财务分析所需的每项太阳能电池板配置的相关信息。返回的 SolarPanelConfig
实例的数量取决于输入位置的屋顶大小。在计算时,您需要以下两个字段中的值:
panelsCount
:此配置中使用的面板数量。yearlyEnergyDcKwh
:根据SolarPotential
对象中的以下字段定义的面板尺寸,此配置一年内产生的太阳能发电量(以千瓦时直流电为单位):panelHeightMeters
:面板高度(以米为单位)。panelWidthMeters
:面板宽度(以米为单位)。panelCapacityWatts
:面板的额定功率(以瓦特为单位)。
以下示例展示了请求响应的 solarPanelConfigs
字段中 SolarPanelConfig
对象的一个实例:
"solarPanelConfigs": [ { "panelsCount": 4, "yearlyEnergyDcKwh": 1709.2424, "roofSegmentSummaries": [ { "pitchDegrees": 16.253168, "azimuthDegrees": 169.41516, "panelsCount": 4, "yearlyEnergyDcKwh": 1709.2424 } ] } ]
对于太阳能装置,installationSize
是指 kW 输出(而不是面积或电池板数量),其定义如下:
installationSize = panelsCount * panelCapacityWatts/1000 kW
针对不同的面板评级调整能源生产估算值
为了计算 yearlyEnergyDcKwh
值,Solar API 会使用 panelCapacityWatts
字段中的额定功率(目前为 250W)。
如果您需要在计算中使用不同的面板功率额,并且面板的尺寸与 panelHeightMeters
和 panelWidthMeters
字段中的值大致相当,则可以将 yearlyEnergyDcKwh
字段中 API 返回的值乘以您的额定功率与 panelCapacityWatts
中的值的比率,从而调整计算结果。
例如,如果面板的额定功率为 400W 且 panelCapacityWatts
为 250W,请将 API 使用 panelCapacityWatts
计算得出的 yearlyEnergyDcKwh
的值乘以 400/250 的系数,即 1.6。如果您的面板功率额定为 200W,请将 yearlyEnergyDcKwh
乘以 200/250 或 0.8。
过剩能源生产
考虑到太阳能装置可能产生的多余能源不在 Solar API 计算范围内。事实上,如果 Solar API 针对给定家庭返回多个可能的 SolarPanelConfig
实例,那么 Solar API 不会考虑产生比 FinancialAnalysis
中假设的美国家庭平均耗电量更高的结果或配置。
不过,您可能会有理由在推荐中包含产生过量电力的装置。例如,您可能希望在设备使用寿命的第一阶段允许超额生产,以抵消面板效率 (efficiencyDepreciationFactor) 逐渐下降的现象。如需了解详情,请参阅财务分析的必需值。
无论您出于什么原因,如果您在计算中包括产生过量电力的太阳能装置,只需注意,此处介绍的计算并不能涵盖这种情况。
美国境外的财务分析所需值
在 API 响应中的每个 SolarPanelConfig
实例中,您需要两个值来对该实例执行财务分析:
panelsCount
:安装中的太阳能电池板的数量。此值可用于计算installationSize
。yearlyEnergyDcKwh
:在指定panelsCount
的情况下,布局一年内捕获的太阳能发电量(以千瓦时直流电表示)。在计算每个installationSize
中可用作家庭交流电 (initialAcKwhPerYear
) 的太阳能发电量时,需将此值考虑在内,并将从直流到交流的转换过程中的所有能量损耗考虑在内。
此外,您需要收集将在计算中使用的以下变量的具体位置值:
- billCostModel():用于确定家庭使用指定千瓦时所需费用(以本地货币计)的模型。公共事业单位的用电费用可能每天或每小时有所不同,具体取决于需求、一天中的时段和家庭消耗的电量等因素。您可能需要估算平均费用。
- costIncreaseFactor:电费每年增加的系数。Solar API 在美国使用 1.022(每年增加 2.2%)。请根据您所在地区的需要调整此值。
- dcToAcDerate:逆变器将太阳能电池板产生的直流电转换为家庭使用的交流电的效率。Solar API 在美国使用 85&percnt。请根据您所在地区的需要调整此值。
- discountRate:Solar API 在美国的营业地点使用 1.04(每年增加 4%)。请根据您所在地区的需要调整此值。
- efficiencyDepreciationFactor:太阳能电池板每年的能效下降幅度。Solar API 在美国使用 0.995(每年减少 0.5%)。请根据您所在区域的需要调整此值。
- 激励:在安装太阳能电池板时,提供当地政府实体提供的金钱激励。
- installationCostModel():用于估算给定
installationSize
的太阳能发电安装费用(以本地货币计)的方法。成本模型通常会考虑给定installationSize
的本地人工成本和材料成本。 - installationLifeSpan:太阳能装置的预期寿命。 Solar API 使用时间为 20 年。请根据您所在区域的需要调整此值。
- kWhConsumptionModel():根据每月账单确定家庭能耗的模型。最简单的形式是,将账单除以家庭地点平均每千瓦时的费用。
- monthlyBill:受试者家庭的平均月度电费。
- monthlyKWhEnergyConsumption:在给定地点,家庭每月平均消耗的电量(以千瓦时为单位)。
借助这些值和 API 响应提供的信息,您可以执行必要的计算,从而为 Solar API 未涵盖的位置推荐最合适的 installationSize
。
计算步骤
以下步骤基于 Solar API 的方法。您可能需要根据您所在位置的可用信息调整方法。
计算输入位置的家庭年耗电量:
- 估算或索取家庭月度账单。
- 根据月度账单计算 monthlyKWhEnergyConsumption。(如果您知道 monthlyKWhEnergyConsumption,则可以跳过此步骤。)例如:
monthlyKWhEnergyConsumption = kWhConsumptionModel(monthlyBill)
- 通过将 monthlyKWhEnergyConsumption 乘以 12 来计算 annualKWhEnergyConsumption:
annualKWhEnergyConsumption = monthlyKWhEnergyConsumption x 12
获取目标家庭的 API 响应:
https://solar.googleapis.com/v1/buildingInsights:findClosest?location.latitude=lat-number&location.longitude=long-number&key=yourAPIKey
响应包括可用阳光、可用的屋顶空间以及一种或多种可能的太阳能电池板配置。
计算 API 提议的每个
installationSize
的年度太阳能 AC 产量,方法是将 API 在每个SolarPanelConfig
实例中提供的yearlyEnergyDcKwh
值乘以您的本地 dcToAcDerate:initialAcKwhPerYear =
yearlyEnergyDcKwh
x initialAcKwhPerYear(可选)从考虑范围中移除任何产生的电力高于家庭每年消耗的
SolarPanelConfig
实例 (initialAcKwhPerYear > annualKWhEnergyConsumption)。计算每个返回的 installationSize 的生命周期太阳能产量 (LifetimeProductionAcKwh):
- 对于太阳能装置使用寿命的每一年,请计算装置每年的发电量,对首次使用后每年以指数方式应用 efficiencyDepreciationFactor。
- 将所有年份的总数相加。
下表举例说明了如何计算生命周期发电量(假设 installationLifeSpan 为 20 年)。每一行代表生产年份。第一年之后,效率下降将呈指数级增长。最后,所有行的总和即为相应太阳能装置的终身发电量。
年 年度太阳能发电量(千瓦时) 1 initialAcKwhPerYear 2 + initialAcKwhPerYear x initialAcKwhPerYear : : 20 + initialAcKwhPerYear x efficiencyDepreciationFactor19 总计 LifetimeProductionAcKwh
由于太阳能电池板的能效以恒定速率衰减,因此它本质上是一个几何系列,其中 a = initialAcKwhPerYear,r = efficiencyDepreciationFactor。aa我们可以使用几何总和来计算 LifetimeProductionAcKwh
:
LifetimeProductionAcKwh = (dcToAcDerate * initialAcKwhPerYear * (1 - pow(efficiencyDepreciationFactor, installationLifeSpan)) / (1 - efficiencyDepreciationFactor))
以下 Python 代码计算上述几何总和:
def LifetimeProductionAcKwh( dcToAcDerate, yearlyEnergyDcKwh, efficiencyDepreciationFactor, installationLifeSpan): return ( dcToAcDerate * yearlyEnergyDcKwh * (1 - pow( efficiencyDepreciationFactor, installationLifeSpan)) / (1 - efficiencyDepreciationFactor))
对于返回的每个
installationSize
,计算installationSize
的生命周期能耗费用:- 对于太阳能装置使用寿命的每一年,请计算家庭每年需要购买的电力成本,以涵盖太阳能电力无法满足的能源消耗。使用您之前计算的 annualKWhEnergyConsumption 和 InitialAcKwhPerYear 值。在第一年之后的每年,将 efficiencyDepreciationFactor、costIncreaseFactor 和 discountRate 应用于这些值。
- 将所有年份的总数相加。
下表显示了一个示例,展示了如何计算生命周期电力成本。每一行代表太阳能装置生命周期内一年的电力成本。第一年之后,增加的电费和折扣率将成倍应用。最后,所有行的总和就是安装太阳能电池板的生命周期电力成本。
年 按当前本地货币价值 (USD) 计算的年度公共事业缴费单 (annualUtilityBillEstimate) 1 annualUtilityBillEstimateYear1 = billCostModel(yearlyKWhEnergyConsumption - InitialAcKwhPerYear) 2 annualUtilityBillEstimateYear2 = billCostModel(yearlyKWhEnergyConsumption - InitialAcKwhPerYear x efficiencyDepreciationFactor)x costIncreaseFactor / discountRate : : 20 annualUtilityBillEstimateYear20 = billCostModel(yearlyKWhEnergyConsumption - InitialAcKwhPerYear x efficiencyDepreciationFactor19)x costIncreaseFactor19 / discountRate19 总计 remainingLifetimeUtilityBill
以下 Python 代码会针对 installationLifeSpan
的每年返回一个 annualUtilityBillEstimate
数组:
def annualUtilityBillEstimate( yearlyKWhEnergyConsumption, initialAcKwhPerYear, efficiencyDepreciationFactor, year, costIncreaseFactor, discountRate): return ( billCostModel( yearlyKWhEnergyConsumption - annualProduction( initialAcKwhPerYear, efficiencyDepreciationFactor, year)) * pow(costIncreaseFactor, year) / pow(discountRate, year)) def lifetimeUtilityBill( yearlyKWhEnergyConsumption, initialAcKwhPerYear, efficiencyDepreciationFactor, installationLifeSpan, costIncreaseFactor, discountRate): bill = [0] * installationLifeSpan for year in range(installationLifeSpan): bill[year] = annualUtilityBillEstimate( yearlyKWhEnergyConsumption, initialAcKwhPerYear, efficiencyDepreciationFactor, year, costIncreaseFactor, discountRate) return bill
计算未安装太阳能装置时的生命周期用电成本:
- 对于太阳能装置使用寿命的每一年,请计算家庭每年需要购买的电力(如果未安装太阳能装置)的费用。使用 monthlyBill 的值。在第一年之后的每年,将 costIncreaseFactor 和 discountRate 值应用于 monthlyBill。
- 将所有年份的总数相加。
下表显示了一个示例,展示了如何计算不使用太阳能的电力成本。每一行表示与太阳能装置的寿命相同的一年内的电力成本。第一年之后,更高的电力费用和折扣率将成倍应用。最后,所有行的总和为不安装太阳能发电设备的生命周期用电成本。
年 以当地货币计价的年度公共事业缴费单 1 annualBill = monthlyBill x 12 2 annualBill = monthlyBill x 12 x costIncreaseFactor / discountRate : : 20 annualBill = monthlyBill x 12 x costIncreaseFactor19 / discountRate19 总计 costOfElectricityWithoutSolar
以下代码会执行上述计算:
lifetimeBill = ( monthlyBill * 12 * (1 - pow(costIncreaseFactor / discountRate, installationLifeSpan)) / (1 - costIncreaseFactor / discountRate))
对于每个安装规模,计算安装费用:
installationCost = localInstallationCostModel(
installationSize
)添加该家庭位置适用的任何货币激励措施。
针对安装的每个装置规模,计算与安装太阳能装置相关的总费用:
totalCostWithSolar = installationCost + remainingLifetimeUtilityBill - 激励
针对每个安装规模,计算与安装太阳能电池相关的节省总额:
储蓄 = costOfElectricityWithoutSolar - totalCostWithSolar
选择最节省的安装大小。
计算完成后
根据您提供的信息、Solar API 返回的信息以及上述计算结果,您应该能够推荐太阳能装置的安装规模,从而为您所在地区的家庭提供尽可能多的成本节约。
在您向最终用户提供的建议中,您还可以在 solarPotential
字段的 SolarPotential
对象中添加 API 返回的以下信息:
- 房屋每年接收的可用阳光量,此值在
SolarPotential
对象的maxSunshineHoursPerYear
字段中返回。 - 可用于太阳能装置的屋顶面积为多少平方英尺,此值由
SolarPotential
对象的wholeRoofStats
字段返回。 - 此家庭每月的平均电费。