|
7 | 7 | """ |
8 | 8 | # %% |
9 | 9 | # 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 |
11 | 11 | # and in retrospective analyses where the system’s own irradiance |
12 | 12 | # measurements are not present or unreliable. |
13 | 13 | # |
|
135 | 135 | # |
136 | 136 | # The system does have measured plane-of-array irradiance data, but the |
137 | 137 | # 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 |
139 | 139 | # 2019. |
140 | 140 |
|
141 | 141 | api_key = 'DEMO_KEY' |
142 | 142 | email = 'your_email@domain.com' |
143 | 143 |
|
144 | 144 | keys = ['ghi', 'dni', 'dhi', 'temp_air', 'wind_speed', |
145 | 145 | '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, |
147 | 147 | api_key, email, |
148 | 148 | year=2019, |
149 | 149 | time_step=5, |
|
168 | 168 | # module fraction and returns the average irradiance over the total module |
169 | 169 | # surface. |
170 | 170 |
|
171 | | -solar_position = location.get_solarposition(psm3.index) |
| 171 | +solar_position = location.get_solarposition(psm4.index) |
172 | 172 | tracker_angles = mount.get_orientation( |
173 | 173 | solar_position['apparent_zenith'], |
174 | 174 | solar_position['azimuth'] |
175 | 175 | ) |
176 | | -dni_extra = pvlib.irradiance.get_extra_radiation(psm3.index) |
| 176 | +dni_extra = pvlib.irradiance.get_extra_radiation(psm4.index) |
177 | 177 |
|
178 | 178 | # note: this system is monofacial, so only calculate irradiance for the |
179 | 179 | # front side: |
180 | 180 | averaged_irradiance = pvlib.bifacial.infinite_sheds.get_irradiance_poa( |
181 | 181 | tracker_angles['surface_tilt'], tracker_angles['surface_azimuth'], |
182 | 182 | solar_position['apparent_zenith'], solar_position['azimuth'], |
183 | 183 | gcr, axis_height, pitch, |
184 | | - psm3['ghi'], psm3['dhi'], psm3['dni'], psm3['albedo'], |
| 184 | + psm4['ghi'], psm4['dhi'], psm4['dni'], psm4['albedo'], |
185 | 185 | model='haydavies', dni_extra=dni_extra, |
186 | 186 | ) |
187 | 187 |
|
|
192 | 192 |
|
193 | 193 | cell_temperature_steady_state = pvlib.temperature.faiman( |
194 | 194 | poa_global=averaged_irradiance['poa_global'], |
195 | | - temp_air=psm3['temp_air'], |
196 | | - wind_speed=psm3['wind_speed'], |
| 195 | + temp_air=psm4['temp_air'], |
| 196 | + wind_speed=psm4['wind_speed'], |
197 | 197 | **temperature_model_parameters, |
198 | 198 | ) |
199 | 199 |
|
200 | 200 | cell_temperature = pvlib.temperature.prilliman( |
201 | 201 | cell_temperature_steady_state, |
202 | | - psm3['wind_speed'], |
| 202 | + psm4['wind_speed'], |
203 | 203 | unit_mass=module_unit_mass |
204 | 204 | ) |
205 | 205 |
|
|
216 | 216 | 'poa_direct': averaged_irradiance['poa_direct'], |
217 | 217 | 'poa_diffuse': averaged_irradiance['poa_diffuse'], |
218 | 218 | 'cell_temperature': cell_temperature, |
219 | | - 'precipitable_water': psm3['precipitable_water'], # for the spectral model |
| 219 | + 'precipitable_water': psm4['precipitable_water'], # for the spectral model |
220 | 220 | }) |
221 | 221 | model.run_model_from_poa(weather_inputs) |
222 | 222 |
|
|
0 commit comments