-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add polo-smm #2491
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
base: main
Are you sure you want to change the base?
Add polo-smm #2491
Changes from 1 commit
3363ace
ceba758
36c9b43
eaa90b4
794ed98
7926a3d
988557c
45e768f
38e5694
c24e013
0a00f1b
2a9d0db
f296c7b
ce862d8
11336ab
e418218
fb0ad0e
450dd37
1eb3293
4892e8d
7513f3e
3e4dd56
b9d21ac
49c8c91
fa3ff32
31fe508
c958abf
bd1ff4f
f0a4f34
ee7f13f
82598ec
8b2b7ca
31f26b5
f4e07de
5ec4bee
d0efc37
297f160
c9b9816
3df13ae
3015b3a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -757,47 +757,39 @@ | |
| [1]. Polo, J., Sanz-saiz, C., Development of spectral mismatch models | ||
| for BIPV applications in building façades Abbreviations : Renew. Energy 245 | ||
| ,122820, 2025.:doi:`10.1016/j.renene.2025.122820` | ||
| """ | ||
| if module_type is None and coefficients is None: | ||
| raise ValueError('Must provide either `module_type` or `coefficients`') | ||
| if module_type is not None and coefficients is not None: | ||
| raise ValueError('Only one of `module_type` and `coefficients` should ' | ||
| 'be provided') | ||
|
|
||
| am_aoi = pvlib.atmosphere.get_relative_airmass(aoi) | ||
|
||
| pressure = pvlib.atmosphere.alt2pres(altitude) | ||
kandersolar marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| am90 = pvlib.atmosphere.get_absolute_airmass(am_aoi,pressure) | ||
| am90 = pvlib.atmosphere.get_absolute_airmass(am_aoi, pressure) | ||
| Ram = am90/airmass_absolute | ||
|
|
||
| _coefficients = {} | ||
| _coefficients = { | ||
| 'cdte': (-0.0009, 46.80, 49.20, -0.87, 0.00041, 0.053), | ||
| 'monosi': (0.0027, 10.34, 9.48, 0.307, 0.00077, 0.006), | ||
| 'cigs': (0.0017, 2.33, 1.30, 0.11, 0.00098, -0.0177), | ||
| 'asi': (0.0024, 7.32, 7.09, -0.72, -0.0013, 0.089), | ||
| } | ||
|
|
||
| c = { | ||
| 'asi': (0.0056, -0.020, 1.014), | ||
| 'cigs': (-0.0009, -0.0003, 1), | ||
| 'cdte': (0.0021, -0.01, 1.01), | ||
| 'monosi': (0, -0.003, 1.0), | ||
| } | ||
|
|
||
| if module_type is not None: | ||
| if module_type is not None: | ||
AdamRJensen marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| coeff = _coefficients[module_type] | ||
| c_albedo = c[module_type] | ||
| else: | ||
| coeff = coefficients | ||
| c_albedo = (0.0, 0.0, 1.0) # 0.2 albedo assumed | ||
| albedo = 0.2 | ||
|
|
||
| smm = coeff[0] * Ram + coeff[1] / (coeff[2] + Ram**coeff[3]) \ | ||
| + coeff[4] / aod500 + coeff[5]*np.sqrt(precipitable_water) | ||
|
|
||
| # Ground albedo correction | ||
| g = c_albedo[0] * (albedo/0.2)**2 \ | ||
| + c_albedo[1] * (albedo/0.2) + c_albedo[2] | ||
|
|
||
| return g*smm | ||
Uh oh!
There was an error while loading. Please reload this page.