本部分介绍了如何进行计算,以便确定美国境外家庭的最佳太阳能配置。如需计算建议,您需要使用 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 字段中的额定功率,目前为 400W。
如果您需要在计算中使用不同的面板额定功率,并且面板尺寸与 panelHeightMeters 和 panelWidthMeters 字段中的值大致相当,则可以调整计算方式,方法是将 API 在 yearlyEnergyDcKwh 字段中返回的值乘以额定功率与 panelCapacityWatts 中的值的比率。
例如,如果您的电池板额定功率为 500W,而 panelCapacityWatts 为 400W,则将 yearlyEnergyDcKwh 的值(API 使用 panelCapacityWatts 计算得出)乘以 500/400(即 1.25)。如果您的面板额定功率为 200W,请将 yearlyEnergyDcKwh 乘以 200/400,即 0.5。
多余的能源生产
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%。根据您所在区域的需要调整此值。
- discountRate:对于美国境内的地点,Solar API 使用 1.04(每年增加 4%)。根据您所在区域的需要调整此值。
- efficiencyDepreciationFactor:太阳能板效率每年下降的幅度。Solar API 针对美国位置使用 0.995(每年减少 0.5%)。根据您所在区域的需要调整此值。
- incentives:包括您所在地区的政府实体为安装太阳能板提供的任何货币激励措施。
- installationCostModel():用于估算给定
installationSize的太阳能安装费用(以本地货币表示)的方法。成本模型通常会考虑给定installationSize的本地人工和材料成本。 - installationLifeSpan:太阳能装置的预期使用寿命。Solar API 使用 20 年。根据您所在区域的需要调整此值。
- kWhConsumptionModel():用于根据每月账单确定家庭能耗的模型。最简单的方法是将账单金额除以家庭所在地的平均每千瓦时费用。
- monthlyBill:目标家庭的平均每月电费。
- monthlyKWhEnergyConsumption:估算给定位置的家庭在一个月内消耗的平均电量,以 KWh 为单位。
借助这些值和 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的年太阳能交流电产量,方法是将 API 在每个SolarPanelConfig实例中提供的yearlyEnergyDcKwh值乘以您当地的 dcToAcDerate:initialAcKwhPerYear =
yearlyEnergyDcKwhx dcToAcDerate(可选)排除任何发电量超过家庭年用电量的
SolarPanelConfig实例 (initialAcKwhPerYear > annualKWhEnergyConsumption)。计算每个返回的 installationSize 的生命周期太阳能发电量 (LifetimeProductionAcKwh):
- 对于太阳能装置使用寿命内的每一年,计算该装置每年的发电量,从第二年开始,每年以指数方式应用 efficiencyDepreciationFactor。
- 将所有年份的总计相加。
下表展示了一个示例,说明了如何计算生命周期内的发电量(假设 installationLifeSpan 为 20 年)。每行代表一个生产年份。第一年之后,效率下降会呈指数级应用。最后,所有行的总和即为太阳能装置的生命周期发电量。
年 年太阳能发电量 (kWh) 1 initialAcKwhPerYear 2 + initialAcKwhPerYear x efficiencyDepreciationFactor : : 20 + initialAcKwhPerYear x efficiencyDepreciationFactor19 总计 LifetimeProductionAcKwh
由于太阳能板效率以恒定速率衰减,因此它本质上是一个几何级数,其中 a = initialAcKwhPerYear,r = efficiencyDepreciationFactor。我们可以使用几何和来计算 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 应用于这些值。
- 将所有年份的总计相加。
下表展示了如何计算生命周期内的电费。每一行代表太阳能装置生命周期内一年的电费。第一年之后,电费增加和折扣率均按指数级应用。最后,所有行的总和即为安装太阳能板后的生命周期电费。
年 以当前本地货币价值(美元)表示的年度公共事业缴费单 (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 - incentives
针对每种安装规模,计算安装太阳能板可节省的总费用:
savings = costOfElectricityWithoutSolar - totalCostWithSolar
选择可节省最多费用的安装规模。
计算完成后
根据您提供的信息、Solar API 返回的信息以及上述计算结果,您应该能够推荐可为所在区域的家庭节省最多费用的太阳能装置规模。
在向最终用户提供的建议中,您还可以添加 API 在 solarPotential 字段的 SolarPotential 对象中返回的以下信息:
- 住宅每年接收的可利用日照量,在
SolarPotential对象的maxSunshineHoursPerYear字段中返回。 - 屋顶有多少平方英尺可用于安装太阳能设备,该值在
SolarPotential对象的wholeRoofStats字段中返回。 - 家庭的平均每月电费。