You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pvlib/ivtools/sdm.py is currently rather lengthy at ~1350 lines of code. Near-term additions (#2212 and #2185) will bring it to ~2000. I suggest we split up sdm.py into submodules, similar to what was recently done in pvlib.spectrum (#2125).
Current and future functionality spans:
estimating parameter values for various SDMs using various data sources
pvlib/ivtools/sdm.py is currently rather lengthy at ~1350 lines of code. Near-term additions (#2212 and #2185) will bring it to ~2000. I suggest we split up
sdm.pyinto submodules, similar to what was recently done inpvlib.spectrum(#2125).Current and future functionality spans:
calcparams_XXfunctions here)How should it be split up? As a starting point, one idea is to organize the parameter fitting functions according to the data source:
sdm/_fit_datasheet.py:fit_cec_sam,fit_desotosdm/_fit_ivcurves.py:fit_pvsyst_sandia,fit_desoto_sandiasdm/_fit_iec61853: Add method to fit PVsyst SDM to IEC 61853 data #2185sdm/_convert.py: WIP: Convert between CEC and PVsyst single diode models #2212sdm/_misc.py:pvsyst_temperature_coeffThis division has the advantage of keeping
fit_pvsyst_sandiaandfit_desoto_sandiatogether, which is nice because they share a lot of code.Questions:
calcparams_XXfunctions be moved topvlib.ivtools.sdm?