[BUG]: modelchain fills nan with 0
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 54/100
Direzione di ricerca
Start in pvlib/modelchain.py at the two fillna(0) calls linked in the issue (around lines 668 and 769), then read the related tests to understand their intended behavior. Reproduce the reported case and check whether those calls replace NaNs in the AC results; done means NaNs are preserved without breaking existing ModelChain tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
We fillna(0) twice in modelchain.py
https://github.com/pvlib/pvlib-python/blob/9a0ad5504d821a81ec2a4531b40034794c6c42bd/pvlib/modelchain.py#L769
https://github.com/pvlib/pvlib-python/blob/9a0ad5504d821a81ec2a4531b40034794c6c42bd/pvlib/modelchain.py#L668
I can open a PR deleting these lines, which would make more sense to me, unless there was a specific reason to do so ?
To Reproduce
def calculate_pv_system_production(
pv_system: SimplifiedPVSystem, solar_inputs: SolarInputs
) -> np.ndarray:
"""
Returns AC power output in kW using the PVWatts model.
"""
# 1. Location
location = pvlib.location.Location(
latitude=pv_system.coordinates.latitude,
longitude=pv_system.coordinates.longitude,
tz=str(pv_system.timezone),
altitude=pv_system.coordinates.altitude,
)
# 2. System
system = pvlib.pvsystem.PVSystem( # todo review all of these parameters with dict
surface_tilt=pv_system.surface_tilt,
surface_azimuth=pv_system.surface_azimuth,
module_parameters={
"pdc0": pv_system.solar_power_kwp * 1000, # W peak DC
"gamma_pdc": pv_system.temp_coefficient,
},
inverter_parameters={
"pdc0": pv_system.solar_power_kwp * 1000,
"eta_inv_nom": pv_system.inverter_efficiency,
},
temperature_model_parameters=pvlib.temperature.TEMPERATURE_MODEL_PARAMETERS[
"sapm"
]["open_rack_glass_glass"],
)
# 3. ModelChain
mc = pvlib.modelchain.ModelChain(
system,
location,
dc_model="pvwatts",
ac_model="pvwatts",
aoi_model="physical",
spectral_model="no_loss",
losses_model="pvwatts",
)
# 4. Run model — pvlib computes sun position internally from location + times
weather_data = {
"dni": solar_inputs.dni_wm2,
"dhi": solar_inputs.dhi_wm2,
"ghi": solar_inputs.ghi_wm2,
}
if solar_inputs.outdoor_air_temp_c is not None:
weather_data["temp_air"] = solar_inputs.outdoor_air_temp_c
solar_inputs_pvlib_format = pd.DataFrame(
index=solar_inputs.ts,
data=weather_data,
)
mc.run_model(solar_inputs_pvlib_format)
# 5. Return AC power in kW
return (mc.results.ac / 1000).to_numpy()
Expected behavior
Don't fill NaNs with 0, keep NaNs
Screenshots
This
Becomes
Versions:
pvlib.__version__: 0.15.2pandas.__version__:- python: 3.10
- Lingua principale
- Python
- Stelle
- 1.7k
- Fork
- 1.2k
- Merge medio
- 3g 18h
- PR unite (30g)
- 13
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pvlib/pvlib-python
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
pvlib/pvlib-python#2903 · 2 commenti · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
pvlib/pvlib-python#2902 ·
I maintainer di solito rispondono entro 1 giorno
-
Add an example or documentation on using 'bhi' from ERA5Forse di nuovo libera @anshurajbisoyi98-ctrl l’ha presa 14 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
pvlib/pvlib-python#2880 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Use "long-wave" rather than "infra-red" to refer to thermal radiation.Forse di nuovo libera @Rahi-padwal l’ha presa 251 giorni fa e non c’è nessuna pull request aperta. Apertaapi easy
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
pvlib/pvlib-python#2653 · 6 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
question
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
pvlib/pvlib-python#2637 · 10 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di pvlib/pvlib-python
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
infrastructure qa
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
khuisman/mcp-gee-sweet#1068 ·
I maintainer di solito rispondono entro 1 giorno
-
The book has a Nix install section that chelis.ch lacks, and it names two of the three systemsApertaarea:ecosystem documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Chelis-Lang/chelis#3866 ·
I maintainer di solito rispondono entro 1 giorno
-
`lvm_compact` has no self-hosted twin, and `docs/158` §5 says every language-face component mustApertabug sev-3 vm
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
issue: Picking a prompt from the / menu in a channel inserts a command chip instead of the promptApertabug confirmed issue
Difficoltà 2/5 Mezza giornata Idoneità per principianti 78/100
open-webui/open-webui#32712 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno