Skip to content

Commit c4b9ad8

Browse files
Fix interval keyword argument in oedi_9068 gallery example (#2793)
* Fix interval keyword argument in oedi_9068 gallery example Fixes #2791. The oedi_9068 gallery example calls get_nsrdb_psm4_conus() with interval=5, but the function's parameter is named time_step (the interval name comes from the NSRDB API query string, not the Python signature). This was missed when PR #2582 migrated the example from get_psm3 (which used interval) to get_nsrdb_psm4_conus (which uses time_step). Changes interval=5 to time_step=5 in the example call. No test changes needed — test_get_nsrdb_psm4_conus_5min already exercises time_step=5 against the function directly. * Apply review feedback: update PSM3→PSM4 references and add contributor - Update narrative comments from 'NSRDB PSM3' to 'NSRDB PSM4' to match the actual function called (get_nsrdb_psm4_conus) - Rename psm3/psm3_metadata variables to psm4/psm4_metadata for consistency with the PSM4 data source - Add Karl Hill to Contributors in v0.15.3 whatsnew Addresses Copilot suggestions (+1 from @cwhanse) on PR #2793. --------- Co-authored-by: Kevin Anderson <kevin.anderso@gmail.com>
1 parent cc5c470 commit c4b9ad8

2 files changed

Lines changed: 15 additions & 11 deletions

File tree

docs/examples/system-models/oedi_9068.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"""
88
# %%
99
# This example model uses satellite-based solar resource data from the
10-
# NSRDB PSM3. This approach is useful for pre-construction energy modeling
10+
# NSRDB PSM4. This approach is useful for pre-construction energy modeling
1111
# and in retrospective analyses where the system’s own irradiance
1212
# measurements are not present or unreliable.
1313
#
@@ -135,17 +135,18 @@
135135
#
136136
# The system does have measured plane-of-array irradiance data, but the
137137
# measurements suffer from row-to-row shading and tracker stalls. In this
138-
# example, we will use weather data taken from the NSRDB PSM3 for the year
138+
# example, we will use weather data taken from the NSRDB PSM4 for the year
139139
# 2019.
140140

141141
api_key = 'DEMO_KEY'
142142
email = 'your_email@domain.com'
143143

144144
keys = ['ghi', 'dni', 'dhi', 'temp_air', 'wind_speed',
145145
'albedo', 'precipitable_water']
146-
psm3, psm3_metadata = pvlib.iotools.get_nsrdb_psm4_conus(latitude, longitude,
146+
psm4, psm4_metadata = pvlib.iotools.get_nsrdb_psm4_conus(latitude, longitude,
147147
api_key, email,
148-
year=2019, interval=5,
148+
year=2019,
149+
time_step=5,
149150
parameters=keys,
150151
map_variables=True,
151152
leap_day=True)
@@ -167,20 +168,20 @@
167168
# module fraction and returns the average irradiance over the total module
168169
# surface.
169170

170-
solar_position = location.get_solarposition(psm3.index)
171+
solar_position = location.get_solarposition(psm4.index)
171172
tracker_angles = mount.get_orientation(
172173
solar_position['apparent_zenith'],
173174
solar_position['azimuth']
174175
)
175-
dni_extra = pvlib.irradiance.get_extra_radiation(psm3.index)
176+
dni_extra = pvlib.irradiance.get_extra_radiation(psm4.index)
176177

177178
# note: this system is monofacial, so only calculate irradiance for the
178179
# front side:
179180
averaged_irradiance = pvlib.bifacial.infinite_sheds.get_irradiance_poa(
180181
tracker_angles['surface_tilt'], tracker_angles['surface_azimuth'],
181182
solar_position['apparent_zenith'], solar_position['azimuth'],
182183
gcr, axis_height, pitch,
183-
psm3['ghi'], psm3['dhi'], psm3['dni'], psm3['albedo'],
184+
psm4['ghi'], psm4['dhi'], psm4['dni'], psm4['albedo'],
184185
model='haydavies', dni_extra=dni_extra,
185186
)
186187

@@ -191,14 +192,14 @@
191192

192193
cell_temperature_steady_state = pvlib.temperature.faiman(
193194
poa_global=averaged_irradiance['poa_global'],
194-
temp_air=psm3['temp_air'],
195-
wind_speed=psm3['wind_speed'],
195+
temp_air=psm4['temp_air'],
196+
wind_speed=psm4['wind_speed'],
196197
**temperature_model_parameters,
197198
)
198199

199200
cell_temperature = pvlib.temperature.prilliman(
200201
cell_temperature_steady_state,
201-
psm3['wind_speed'],
202+
psm4['wind_speed'],
202203
unit_mass=module_unit_mass
203204
)
204205

@@ -215,7 +216,7 @@
215216
'poa_direct': averaged_irradiance['poa_direct'],
216217
'poa_diffuse': averaged_irradiance['poa_diffuse'],
217218
'cell_temperature': cell_temperature,
218-
'precipitable_water': psm3['precipitable_water'], # for the spectral model
219+
'precipitable_water': psm4['precipitable_water'], # for the spectral model
219220
})
220221
model.run_model_from_poa(weather_inputs)
221222

docs/sphinx/source/whatsnew/v0.15.3.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ Enhancements
2323
Documentation
2424
~~~~~~~~~~~~~
2525
* Fix broken link in GitHub Contributing tab. (:issue:`2628`, :pull:`2806`)
26+
* Fixed broken ``interval`` keyword argument in the ``oedi_9068`` gallery
27+
example; the correct parameter name is ``time_step``. (:issue:`2791`)
2628

2729

2830
Testing
@@ -43,4 +45,5 @@ Maintenance
4345

4446
Contributors
4547
~~~~~~~~~~~~
48+
* Karl Hill (:ghuser:`karlhillx`)
4649
* Yonry Zhu (:ghuser:`yonryzhu`)

0 commit comments

Comments
 (0)