我正在尝试使用 DISC 模型从 GHI 计算 DNI。它似乎在某些日子返回了合乎逻辑的值,但在其他日子里,它似乎大大偏离了标准。之后我使用 GHI - DNI * cos(θ) 的标准公式计算 DHI。
这是我的数据框示例以供参考:
压力 | 天顶 | 吉 | dni | 地 | |
---|---|---|---|---|---|
2021-02-21 09:00:00+02:00 | 1022 | 79.611284 | 148.975472 | 632.731814 | 34.877836 |
2021-02-21 10:00:00+02:00 | 1022 | 73.237092 | 322.780190 | 792.803789 | 94.126078 |
2021-02-21 11:00:00+02:00 | 1022 | 68.484954 | 501.550757 | 763.726566 | 221.457448 |
2021-02-21 12:00:00+02:00 | 1022 | 65.795320 | 521.414153 | 865.344120 | 166.625191 |
2021-02-21 13:00:00+02:00 | 1022 | 65.466171 | 516.448304 | 878.623028 | 151.617274 |
2021-02-21 14:00:00+02:00 | 1022 | 67.536285 | 412.165474 | 866.599138 | 81.039446 |
2021-02-21 15:00:00+02:00 | 1021 | 71.767697 | 292.985096 | 778.455371 | 49.429408 |
2021-02-21 16:00:00+02:00 | 1021 | 77.744154 | 124.146227 | 223.897390 | 76.617876 |
2021-02-22 09:00:00+02:00 | 1022 | 79.276500 | 114.214529 | 277.318106 | 62.614056 |
2021-02-22 10:00:00+02:00 | 1023 | 72.888793 | 248.292454 | 634.777628 | 61.523563 |
2021-02-22 11:00:00+02:00 | 1023 | 68.124958 | 387.336228 | 855.994144 | 68.406867 |
2021-02-22 12:00:00+02:00 | 1023 | 65.429755 | 516.448304 | 878.656364 | 151.095472 |
2021-02-22 13:00:00+02:00 | 1023 | 65.104368 | 511.482455 | 887.843374 | 137.729993 |
2021-02-22 14:00:00+02:00 | 1023 | 67.187466 | 407.199624 | 866.444561 | 71.264128 |
2021-02-22 15:00:00+02:00 | 1023 | 71.437557 | 218.497359 | 329.880024 | 113.484015 |
2021-02-22 16:00:00+02:00 | 1023 | 77.433660 | 99.316982 | 74.722948 | 83.059519 |
2021-02-23 09:00:00+02:00 | 1028 | 78.938277 | 49.658491 | 0.000000 | 49.658491 |
2021-02-23 10:00:00+02:00 | 1028 | 72.537193 | 99.316982 | 0.000000 | 99.316982 |
2021-02-23 11:00:00+02:00 | 1028 | 67.761859 | 153.941321 | 25.383509 | 144.334754 |
2021-02-23 12:00:00+02:00 | 1028 | 65.061403 | 238.360756 | 135.501848 | 181.226844 |
2021-02-23 13:00:00+02:00 | 1028 | 64.740241 | 233.394907 | 116.897570 | 183.512050 |
2021-02-23 14:00:00+02:00 | 1028 | 66.836873 | 188.702265 | 67.331661 | 162.217334 |
2021-02-23 15:00:00+02:00 | 1028 | 71.106160 | 168.838869 | 113.359190 | 132.131384 |
2021-02-23 16:00:00+02:00 | 1028 | 77.122298 | 79.453585 | 3.785011 | 78.610017 |
2021-02-24 09:00:00+02:00 | 1029 | 78.596748 | 84.419434 | 53.955268 | 73.751777 |
2021-02-24 10:00:00+02:00 | 1028 | 72.182423 | 168.838869 | 150.012792 | 122.936847 |
2021-02-24 11:00:00+02:00 | 1028 | 67.395784 | 263.190001 | 299.151463 | 148.207170 |
2021-02-24 12:00:00+02:00 | 1028 | 64.690387 | 327.746039 | 415.466900 | 150.129973 |
2021-02-24 13:00:00+02:00 | 1028 | 64.373905 | 322.780190 | 377.550453 | 159.490967 |
如您所见,在第 21 天和第 22 天,它可以轻松找到 DNI。然而在 23 日,它似乎返回了不合逻辑的值。此外,我通过将其乘以 100 来校正压力输入。
这是实际 irradiance.disc 调用的相关代码行:
for x in df.index:
df['dni'][x] = irradiance.disc(df['ghi'][x],
df['zenith'][x],
x,
df['pressure'][x]*100)['dni']
之后,即使它不那么相关,我也这样计算 DHI:
for x in df.index:
df['dhi'][x] = df['ghi'][x] - df['dni'][x] * math.cos(np.deg2rad(df['zenith'][x]))
我还没有找到这个问题的根源,我只是怀疑它可能与 DISC 模型的输入压力限制有关。
有任何想法吗?