pvlib 0.11.2__tar.gz → 0.12.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pvlib-0.11.2/pvlib.egg-info → pvlib-0.12.0}/PKG-INFO +5 -3
- pvlib-0.12.0/docs/sphinx/source/_static/tooltipster_color_theming.css +10 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/conf.py +2 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/contributing/testing.rst +8 -8
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/airmass_atmospheric.rst +0 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/effects_on_pv_system_output/spectrum.rst +0 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/modelchain.rst +0 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/pv_modeling/system_models.rst +0 -1
- pvlib-0.12.0/docs/sphinx/source/user_guide/index.rst +34 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/introtutorial.rst +1 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/nomenclature.rst +3 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.10.0.rst +2 -2
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.11.0.rst +1 -1
- pvlib-0.12.0/docs/sphinx/source/whatsnew/v0.12.0.rst +100 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.6.1.rst +1 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.7.0.rst +1 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.7.2.rst +1 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.9.3.rst +1 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew.rst +1 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/__init__.py +1 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/atmosphere.py +0 -9
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/bifacial/infinite_sheds.py +4 -3
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/bifacial/utils.py +2 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/psm3.py +1 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/pvgis.py +10 -2
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/tmy.py +3 -69
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/irradiance.py +14 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/location.py +73 -33
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/modelchain.py +18 -35
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/pvsystem.py +7 -10
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/snow.py +64 -28
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spectrum/__init__.py +0 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spectrum/irradiance.py +0 -63
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spectrum/mismatch.py +3 -3
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/tools.py +6 -5
- {pvlib-0.11.2 → pvlib-0.12.0/pvlib.egg-info}/PKG-INFO +5 -3
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib.egg-info/SOURCES.txt +116 -114
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib.egg-info/requires.txt +1 -1
- {pvlib-0.11.2 → pvlib-0.12.0}/pyproject.toml +10 -2
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/bifacial/test_infinite_sheds.py +2 -1
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/bifacial/test_pvfactors.py +1 -1
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/conftest.py +2 -1
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/tmy_45.000_8.000_2005_2023.csv +1 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_acis.py +1 -1
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_bsrn.py +11 -6
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_crn.py +7 -3
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_epw.py +2 -2
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_midc.py +4 -4
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_panond.py +4 -3
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_psm3.py +11 -7
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_pvgis.py +25 -14
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_sodapro.py +5 -5
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_solaranywhere.py +8 -4
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_solargis.py +6 -2
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_solrad.py +8 -3
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_srml.py +9 -4
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_surfrad.py +2 -2
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_tmy.py +5 -24
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/ivtools/test_sde.py +0 -1
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/ivtools/test_sdm.py +3 -5
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/ivtools/test_utils.py +2 -2
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/spectrum/conftest.py +2 -2
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/spectrum/test_irradiance.py +4 -10
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/spectrum/test_mismatch.py +5 -5
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_atmosphere.py +0 -8
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_clearsky.py +5 -5
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_conftest.py +1 -1
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_inverter.py +3 -3
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_irradiance.py +17 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_location.py +60 -19
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_modelchain.py +36 -27
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_numerical_precision.py +2 -2
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_pvsystem.py +2 -7
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_singlediode.py +5 -5
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_snow.py +37 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_soiling.py +7 -6
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_temperature.py +2 -3
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_tools.py +111 -3
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_tracking.py +2 -3
- pvlib-0.11.2/docs/sphinx/source/user_guide/index.rst +0 -20
- {pvlib-0.11.2 → pvlib-0.12.0}/AUTHORS.md +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/LICENSE +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/MANIFEST.in +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/README.md +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/adr-pvarray/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/adr-pvarray/plot_fit_to_matrix.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/adr-pvarray/plot_simulate_fast.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/adr-pvarray/plot_simulate_system.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/agrivoltaics/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/agrivoltaics/plot_diffuse_PAR_Spitters_relationship.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/bifacial/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/bifacial/plot_bifi_model_mc.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/bifacial/plot_bifi_model_pvwatts.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/bifacial/plot_irradiance_nonuniformity_loss.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/bifacial/plot_pvfactors_fixed_tilt.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/floating-pv/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/floating-pv/plot_floating_pv_cell_temperature.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-decomposition/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-decomposition/plot_diffuse_fraction.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-transposition/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-transposition/plot_ghi_transposition.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-transposition/plot_interval_transposition_error.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-transposition/plot_mixed_orientation.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-transposition/plot_rtranpose_limitations.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-transposition/plot_rtranpose_year.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-transposition/plot_seasonal_tilt.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-transposition/plot_transposition_gain.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/irradiance-transposition/use_perez_modelchain.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/iv-modeling/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/iv-modeling/plot_singlediode.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/reflections/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/reflections/plot_convert_iam_models.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/reflections/plot_diffuse_aoi_correction.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/reflections/plot_fit_iam_models.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/shading/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/shading/plot_martinez_shade_loss.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/shading/plot_partial_module_shading_simple.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/shading/plot_passias_diffuse_shading.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/shading/plot_shaded_fraction1d_ns_hsat_example.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/shading/plot_simple_irradiance_adjustment_for_horizon_shading.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/soiling/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/soiling/plot_fig3A_hsu_soiling_example.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/soiling/plot_greensboro_kimber_soiling.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/solar-position/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/solar-position/plot_sunpath_diagrams.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/solar-tracking/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/solar-tracking/plot_discontinuous_tracking.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/solar-tracking/plot_dual_axis_tracking.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/solar-tracking/plot_single_axis_tracking.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/solar-tracking/plot_single_axis_tracking_on_sloped_terrain.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/spectrum/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/spectrum/average_photon_energy.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/spectrum/plot_spectrl2_fig51A.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/spectrum/plot_standard_ASTM_G173-03.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/spectrum/spectral_factor.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/system-models/README.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/examples/system-models/plot_oedi_9068.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/notes/Determining the average view factor from a module.pdf +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/Makefile +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/make.bat +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/Anderson_Jensen_2024_Fig3.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/Anderson_Mikofski_2020_Fig5.jpg +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/Coello_Boyle_2019_Fig3.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/OEDI_9068_daily_timeseries.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/OEDI_9068_inverter1_comparison.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/OEDI_9068_inverter2_comparison.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/PV_module_layout_cesardd.jpg +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/clonebutton.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/example_function_screenshot.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/ground_slope_angle_convention.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/pvlib_logo_horiz.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/pvlib_logo_vert.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/pvlib_powered_logo_horiz.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/pvlib_powered_logo_vert.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/tracker_azimuth_angle_convention.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_images/tracker_rotation_angle_convention.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_static/favicon-16x16.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_static/favicon-32x32.png +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_static/no_scrollbars.css +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_static/reference_format.css +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_static/version-alert.js +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_templates/autosummary/class.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_templates/autosummary/function.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_templates/autosummary/method.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/_templates/edit-this-page.html +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/contributing/how_to_contribute_new_code.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/contributing/index.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/contributing/introduction_to_contributing.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/contributing/style_guide.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/index.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/bifacial.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/classes.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/clearsky.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/effects_on_pv_system_output/index.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/effects_on_pv_system_output/loss-models.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/effects_on_pv_system_output/shading.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/effects_on_pv_system_output/snow.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/effects_on_pv_system_output/soiling.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/index.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/iotools.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/irradiance/albedo.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/irradiance/class-methods.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/irradiance/clearness-index.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/irradiance/components.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/irradiance/decomposition.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/irradiance/index.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/irradiance/transposition.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/location.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/pv_modeling/iam.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/pv_modeling/index.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/pv_modeling/inverter.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/pv_modeling/other.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/pv_modeling/parameters.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/pv_modeling/sdm.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/pv_modeling/temperature.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/scaling.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/solarposition.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/tracking.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/reference/transformer.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/bifacial.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/clearsky.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/faq.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/installation.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/modelchain.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/package_overview.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/pvsystem.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/singlediode.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/timetimezones.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/user_guide/weather_data.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.1.0.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.10.1.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.10.2.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.10.3.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.10.4.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.10.5.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.11.1.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.11.2.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.2.0.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.2.1.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.2.2.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.3.0.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.3.1.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.3.2.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.3.3.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.4.0.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.4.1.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.4.2.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.4.3.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.4.4.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.4.5.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.5.0.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.5.1.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.5.2.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.6.0.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.6.2.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.6.3.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.7.1.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.8.0.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.8.1.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.9.0.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.9.1.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.9.2.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.9.4.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/sphinx/source/whatsnew/v0.9.5.rst +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/tutorials/atmosphere.ipynb +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/tutorials/irradiance.ipynb +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/tutorials/pvsystem.ipynb +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/tutorials/solarposition.ipynb +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/tutorials/tmy.ipynb +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/tutorials/tmy_and_diffuse_irrad_models.ipynb +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/tutorials/tmy_to_power.ipynb +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/docs/tutorials/tracking.ipynb +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/_deprecation.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/albedo.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/bifacial/__init__.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/bifacial/loss_models.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/bifacial/pvfactors.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/clearsky.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/12839.tm2 +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/703165TY.csv +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/723170TYA.CSV +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/ASTMG173.csv +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/Altitude.h5 +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/LinkeTurbidities.h5 +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/adr-library-cec-inverters-2019-03-05.csv +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/sam-library-cec-inverters-2019-03-05.csv +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/sam-library-cec-modules-2019-03-05.csv +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/sam-library-sandia-modules-2015-6-30.csv +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/data/soiling_hsu_example_inputs.csv +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iam.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/inverter.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/__init__.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/acis.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/bsrn.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/crn.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/epw.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/midc.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/panond.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/sodapro.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/solaranywhere.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/solargis.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/solcast.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/solrad.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/srml.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/iotools/surfrad.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/ivtools/__init__.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/ivtools/sde.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/ivtools/sdm.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/ivtools/utils.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/pvarray.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/scaling.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/shading.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/singlediode.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/soiling.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/solarposition.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spa.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spa_c_files/README.md +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spa_c_files/__init__.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spa_c_files/cspa_py.pxd +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spa_c_files/setup.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spa_c_files/spa_py.pyx +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spa_c_files/spa_py_example.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spectrum/response.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/spectrum/spectrl2.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/temperature.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/tracking.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/transformer.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib/version.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib.egg-info/dependency_links.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/pvlib.egg-info/top_level.txt +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/scripts/update_top_ranking_issues.py +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/setup.cfg +0 -0
- {pvlib-0.11.2 → pvlib-0.12.0}/setup.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/__init__.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/bifacial/__init__.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/bifacial/test_losses_models.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/bifacial/test_utils.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/BIRD_08_16_2012.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/BIRD_08_16_2012_patm.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/Burlington, United States SolarAnywhere Time Series 2021 Lat_44_465 Lon_-73_205 TMY3 format.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/Burlington, United States SolarAnywhere Time Series 20210101 to 20210103 Lat_44_4675 Lon_-73_2075 SA format.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/Burlington, United States SolarAnywhere Typical GHI Year Lat_44_465 Lon_-73_205 SA format.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/CPS SCH275KTL-DO-US-800-250kW_275kVA_1.OND +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/CRNS0101-05-2019-AZ_Tucson_11_W.txt +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/CRN_with_problems.txt +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/ET-M772BH550GL.PAN +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/NLD_Amsterdam062400_IWEC.epw +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/PVsyst_demo.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/PVsyst_demo_model.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/SRML-day-EUPO1801.txt +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/abq19056.dat +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/bishop88_numerical_precision.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/bsrn-lr0100-pay0616.dat +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/bsrn-pay0616.dat.gz +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/cams_mcclear_1min_verbose.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/cams_mcclear_monthly.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/cams_radiation_1min_verbose.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/cams_radiation_monthly.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/detect_clearsky_data.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/detect_clearsky_threshold_data.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/greensboro_kimber_soil_manwash.dat +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/greensboro_kimber_soil_nowash.dat +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/inverter_fit_snl_meas.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/inverter_fit_snl_sim.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/ivtools_numdiff.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/midc_20181014.txt +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/midc_raw_20181018.txt +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/midc_raw_short_header_20191115.txt +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/msn19056.dat +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/precise_iv_curves1.json +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/precise_iv_curves2.json +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/precise_iv_curves_parameter_sets1.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/precise_iv_curves_parameter_sets2.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/pvgis_hourly_Timeseries_45.000_8.000_SA2_10kWp_CIS_5_2a_2013_2014.json +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/pvgis_hourly_Timeseries_45.000_8.000_SA_30deg_0deg_2016_2016.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/pvgis_tmy_meta.json +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/pvgis_tmy_test.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/pvwatts_8760_rackmount.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/pvwatts_8760_roofmount.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/singleaxis_tracker_wslope.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/spectrl2_example_spectra.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/surfrad-slv16001.dat +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/test_psm3_2017.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/test_psm3_2019_5min.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/test_psm3_tmy-2017.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/test_read_psm3.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/test_read_pvgis_horizon.csv +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/tmy_45.000_8.000_2005_2023.epw +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/tmy_45.000_8.000_2005_2023.json +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/tmy_45.000_8.000_2005_2023.txt +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0/tests}/data/tmy_45.000_8.000_userhorizon.json +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/__init__.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/iotools/test_solcast.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/ivtools/__init__.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/spectrum/__init__.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/spectrum/test_response.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/spectrum/test_spectrl2.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test__deprecation.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_albedo.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_iam.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_pvarray.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_scaling.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_shading.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_solarposition.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_spa.py +0 -0
- {pvlib-0.11.2/pvlib → pvlib-0.12.0}/tests/test_transformer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pvlib
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.12.0
|
|
4
4
|
Summary: A set of functions and classes for simulating the performance of photovoltaic energy systems.
|
|
5
5
|
Home-page: https://github.com/pvlib/pvlib-python
|
|
6
6
|
Author-email: pvlib python Developers <pvlib-admin@googlegroups.com>
|
|
@@ -44,7 +44,7 @@ Requires-Dist: pillow; extra == "doc"
|
|
|
44
44
|
Requires-Dist: sphinx-toggleprompt==0.5.2; extra == "doc"
|
|
45
45
|
Requires-Dist: sphinx-favicon; extra == "doc"
|
|
46
46
|
Requires-Dist: solarfactors; extra == "doc"
|
|
47
|
-
Requires-Dist: sphinx-hoverxref; extra == "doc"
|
|
47
|
+
Requires-Dist: sphinx-hoverxref~=1.4.2; extra == "doc"
|
|
48
48
|
Provides-Extra: test
|
|
49
49
|
Requires-Dist: pytest; extra == "test"
|
|
50
50
|
Requires-Dist: pytest-cov; extra == "test"
|
|
@@ -56,6 +56,8 @@ Requires-Dist: pytest-remotedata; extra == "test"
|
|
|
56
56
|
Requires-Dist: packaging; extra == "test"
|
|
57
57
|
Provides-Extra: all
|
|
58
58
|
Requires-Dist: pvlib[doc,optional,test]; extra == "all"
|
|
59
|
+
Dynamic: home-page
|
|
60
|
+
Dynamic: license-file
|
|
59
61
|
|
|
60
62
|
pvlib python is a community developed toolbox that provides a set of
|
|
61
63
|
functions and classes for simulating the performance of photovoltaic
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* Overrides for sphinx-hoverxref since it does not support a native dark theme, see */
|
|
2
|
+
/* https://github.com/readthedocs/sphinx-hoverxref/issues/231 */
|
|
3
|
+
/* Inspired by https://github.com/pybamm-team/PyBaMM/pull/3083 */
|
|
4
|
+
|
|
5
|
+
/* These will ensure that the tooltip inherits the pydata-sphinx-theme colours */
|
|
6
|
+
|
|
7
|
+
.tooltipster-sidetip.tooltipster-shadow.tooltipster-shadow-custom .tooltipster-content {
|
|
8
|
+
background-color: var(--pst-color-background) !important;
|
|
9
|
+
color: var(--pst-color-text-base) !important;
|
|
10
|
+
}
|
|
@@ -282,6 +282,8 @@ def setup(app):
|
|
|
282
282
|
app.add_css_file("reference_format.css")
|
|
283
283
|
# Add a warning banner at the top of the page if viewing the "latest" docs
|
|
284
284
|
app.add_js_file("version-alert.js")
|
|
285
|
+
# Match the color theme of tooltips to PyData Sphinx Theme light/dark mode
|
|
286
|
+
app.add_css_file("tooltipster_color_theming.css")
|
|
285
287
|
|
|
286
288
|
# -- Options for LaTeX output ---------------------------------------------
|
|
287
289
|
|
|
@@ -11,7 +11,7 @@ Overview
|
|
|
11
11
|
Developers **must** include comprehensive tests for any additions or
|
|
12
12
|
modifications to pvlib. New unit test code should be placed in the
|
|
13
13
|
corresponding test module in the
|
|
14
|
-
`
|
|
14
|
+
`tests <https://github.com/pvlib/pvlib-python/tree/main/tests>`_
|
|
15
15
|
directory.
|
|
16
16
|
|
|
17
17
|
A pull request will automatically run the tests for you on a variety of
|
|
@@ -20,26 +20,26 @@ typically more efficient to run and debug the tests in your own local
|
|
|
20
20
|
environment.
|
|
21
21
|
|
|
22
22
|
To run the tests locally, install the ``test`` dependencies specified in the
|
|
23
|
-
`
|
|
23
|
+
`pyproject.toml <https://github.com/pvlib/pvlib-python/blob/main/pyproject.toml>`_
|
|
24
24
|
file. See :ref:`installation` instructions for more information.
|
|
25
25
|
|
|
26
26
|
pvlib's unit tests can easily be run by executing ``pytest`` on the
|
|
27
|
-
|
|
27
|
+
tests directory::
|
|
28
28
|
|
|
29
|
-
pytest
|
|
29
|
+
pytest tests
|
|
30
30
|
|
|
31
31
|
or, for a single module::
|
|
32
32
|
|
|
33
|
-
pytest
|
|
33
|
+
pytest tests/test_clearsky.py
|
|
34
34
|
|
|
35
35
|
or, for a single test::
|
|
36
36
|
|
|
37
|
-
pytest
|
|
37
|
+
pytest tests/test_clearsky.py::test_ineichen_nans
|
|
38
38
|
|
|
39
39
|
We suggest using pytest's ``--pdb`` flag to debug test failures rather
|
|
40
40
|
than using ``print`` or ``logging`` calls. For example::
|
|
41
41
|
|
|
42
|
-
pytest
|
|
42
|
+
pytest tests --pdb
|
|
43
43
|
|
|
44
44
|
will drop you into the
|
|
45
45
|
`pdb debugger <https://docs.python.org/3/library/pdb.html>`_ at the
|
|
@@ -50,7 +50,7 @@ to the test suite (with rare exceptions).
|
|
|
50
50
|
To include all network-dependent tests, include the ``--remote-data`` flag to
|
|
51
51
|
your ``pytest`` call::
|
|
52
52
|
|
|
53
|
-
pytest
|
|
53
|
+
pytest tests --remote-data
|
|
54
54
|
|
|
55
55
|
And consider adding ``@pytest.mark.remote_data`` to any network dependent test
|
|
56
56
|
you submit for a PR.
|
|
@@ -112,7 +112,6 @@ on the information in the associated :py:class:`~pvsystem.PVSystem` object.
|
|
|
112
112
|
modelchain.ModelChain.infer_dc_model
|
|
113
113
|
modelchain.ModelChain.infer_ac_model
|
|
114
114
|
modelchain.ModelChain.infer_aoi_model
|
|
115
|
-
modelchain.ModelChain.infer_spectral_model
|
|
116
115
|
modelchain.ModelChain.infer_temperature_model
|
|
117
116
|
modelchain.ModelChain.infer_losses_model
|
|
118
117
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
.. _user_guide:
|
|
2
|
+
|
|
3
|
+
==========
|
|
4
|
+
User Guide
|
|
5
|
+
==========
|
|
6
|
+
|
|
7
|
+
This user guide is an overview and explains some of the key features of pvlib.
|
|
8
|
+
|
|
9
|
+
.. toctree::
|
|
10
|
+
:caption: Getting started
|
|
11
|
+
:maxdepth: 2
|
|
12
|
+
|
|
13
|
+
package_overview
|
|
14
|
+
installation
|
|
15
|
+
introtutorial
|
|
16
|
+
|
|
17
|
+
.. toctree::
|
|
18
|
+
:caption: Modeling topics
|
|
19
|
+
:maxdepth: 2
|
|
20
|
+
|
|
21
|
+
pvsystem
|
|
22
|
+
modelchain
|
|
23
|
+
timetimezones
|
|
24
|
+
bifacial
|
|
25
|
+
clearsky
|
|
26
|
+
weather_data
|
|
27
|
+
singlediode
|
|
28
|
+
|
|
29
|
+
.. toctree::
|
|
30
|
+
:caption: Extras
|
|
31
|
+
:maxdepth: 2
|
|
32
|
+
|
|
33
|
+
nomenclature
|
|
34
|
+
faq
|
|
@@ -87,7 +87,7 @@ to accomplish our system modeling goal:
|
|
|
87
87
|
longitude=longitude,
|
|
88
88
|
altitude=altitude,
|
|
89
89
|
temperature=weather["temp_air"],
|
|
90
|
-
pressure=
|
|
90
|
+
pressure=weather["pressure"],
|
|
91
91
|
)
|
|
92
92
|
dni_extra = pvlib.irradiance.get_extra_radiation(weather.index)
|
|
93
93
|
airmass = pvlib.atmosphere.get_relative_airmass(solpos['apparent_zenith'])
|
|
@@ -71,6 +71,9 @@ There is a convention on consistent variable names throughout the library:
|
|
|
71
71
|
ghi
|
|
72
72
|
Global horizontal irradiance
|
|
73
73
|
|
|
74
|
+
ghi_clear
|
|
75
|
+
Clearsky global horizontal irradiance [Wm⁻²]
|
|
76
|
+
|
|
74
77
|
ghi_extra
|
|
75
78
|
Horizontal irradiance at top of atmosphere (extraterrestrial)
|
|
76
79
|
|
|
@@ -53,9 +53,9 @@ Deprecations
|
|
|
53
53
|
deprecated. Use :py:func:`pvlib.pvsystem.v_from_i` and
|
|
54
54
|
:py:func:`pvlib.pvsystem.i_from_v` instead. (:issue:`1626`, :pull:`1743`)
|
|
55
55
|
* Functions for calculating spectral modifiers have been moved to :py:mod:`pvlib.spectrum`:
|
|
56
|
-
:py:func
|
|
56
|
+
:py:func:`!pvlib.atmosphere.first_solar_spectral_correction` is deprecated and
|
|
57
57
|
replaced by :py:func:`~pvlib.spectrum.spectral_factor_firstsolar`, and
|
|
58
|
-
:py:func
|
|
58
|
+
:py:func:`!pvlib.pvsystem.sapm_spectral_loss` is deprecated and replaced by
|
|
59
59
|
:py:func:`~pvlib.spectrum.spectral_factor_sapm`. (:pull:`1628`)
|
|
60
60
|
* Removed the ``get_ecmwf_macc`` and ``read_ecmwf_macc`` iotools functions as the
|
|
61
61
|
MACC dataset has been `removed by ECMWF <https://confluence.ecmwf.int/display/DAC/Decommissioning+of+ECMWF+Public+Datasets+Service>`_
|
|
@@ -28,7 +28,7 @@ Deprecations
|
|
|
28
28
|
~~~~~~~~~~~~
|
|
29
29
|
* The ``pvlib.irradiance.SURFACE_ALBEDOS`` dictionary has been moved to
|
|
30
30
|
:py:const:`pvlib.albedo.SURFACE_ALBEDOS`. (:pull:`2095`)
|
|
31
|
-
* Function :py:func
|
|
31
|
+
* Function :py:func:`!pvlib.spectrum.get_am15g` has been deprecated in favor
|
|
32
32
|
of the new function :py:func:`pvlib.spectrum.get_reference_spectra`. Use
|
|
33
33
|
``pvlib.spectrum.get_reference_spectra(standard="ASTM G173-03")["global"]``
|
|
34
34
|
instead. (:pull:`2039`)
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
.. _whatsnew_01200:
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
v0.12.0 (March 19, 2025)
|
|
5
|
+
------------------------
|
|
6
|
+
|
|
7
|
+
Breaking Changes
|
|
8
|
+
~~~~~~~~~~~~~~~~
|
|
9
|
+
* The :py:attr:`pvlib.location.Location.pytz` attribute is now read only. The
|
|
10
|
+
``pytz`` attribute is now set internally to be consistent with the
|
|
11
|
+
:py:attr:`pvlib.location.Location.tz` attribute. (:issue:`2340`, :pull:`2341`)
|
|
12
|
+
* Users must now provide :py:attr:`ModelChain.spectral_model`, or the ``'no_loss'`` spectral
|
|
13
|
+
model is assumed. :py:class:`~pvlib.modelchain.ModelChain` no longer attempts to infer
|
|
14
|
+
the spectral model from :py:class:`~pvlib.pvsystem.PVSystem` attributes. (:issue:`2017`, :pull:`2253`)
|
|
15
|
+
* Remove deprecated :py:func:`!pvlib.pvsystem.sapm_spectral_loss`; use
|
|
16
|
+
:py:func:`~pvlib.spectrum.spectral_factor_sapm` instead. (:issue:`2243`, :pull:`2244`)
|
|
17
|
+
* :py:func:`~pvlib.iotools.read_tmy3` now defaults to ``map_variables=True``.
|
|
18
|
+
Additionally, the deprecated ``recolumn`` parameter is now removed. (:issue:`2324`, :pull:`2408`)
|
|
19
|
+
* Remove :py:func:`!pvlib.atmosphere.first_solar_spectral_correction`, deprecated in v0.10.0.
|
|
20
|
+
Use :py:func:`~pvlib.spectrum.spectral_factor_firstsolar` instead. (:issue:`2130`, :pull:`2131`)
|
|
21
|
+
* Remove deprecated :py:func:`!pvlib.spectrum.get_am15g` function; use
|
|
22
|
+
:py:func:`~pvlib.spectrum.get_reference_spectra` instead. (:pull:`2409`)
|
|
23
|
+
* Change default method of :py:func:`~pvlib.location.Location.get_sun_rise_set_transit`
|
|
24
|
+
to ``'spa'`` instead of ``'pyephem'``. (:pull:`2410`)
|
|
25
|
+
|
|
26
|
+
Bug fixes
|
|
27
|
+
~~~~~~~~~
|
|
28
|
+
* Add a check to :py:func:`~pvlib.snow.fully_covered_nrel` and
|
|
29
|
+
:py:func:`~pvlib.snow.coverage_nrel`. The check uses snow depth on the ground
|
|
30
|
+
to improve modeling for systems with shallow tilt angles. The check
|
|
31
|
+
adds a new, optional parameter ``snow_depth``. (:issue:`1171`, :pull:`2292`)
|
|
32
|
+
* Fix a bug in :py:func:`pvlib.bifacial.infinite_sheds.get_irradiance_poa` which may have yielded non-zero
|
|
33
|
+
ground irradiance when the sun was below the horizon. (:issue:`2245`, :pull:`2359`)
|
|
34
|
+
* Fix a bug where :py:func:`pvlib.transformer.simple_efficiency` could only be imported
|
|
35
|
+
using the ``from pvlib.transformer`` syntax. (:pull:`2388`)
|
|
36
|
+
* :py:class:`~pvlib.modelchain.ModelChain` now requires only a minimal set of
|
|
37
|
+
parameters to run the SAPM electrical model. (:issue:`2369`, :pull:`2393`)
|
|
38
|
+
* Correct keys for First Solar modules in :py:func:`~pvlib.spectrum.spectral_factor_pvspec`. (:issue:`2398`, :pull:`2400`)
|
|
39
|
+
* Ensure proper tz and pytz types in :py:class:`~pvlib.location.Location`. To ensure that
|
|
40
|
+
the time zone in :py:class:`~pvlib.location.Location` remains internally consistent
|
|
41
|
+
if/when the time zone is updated, the ``tz`` attribute is now the single source
|
|
42
|
+
of time-zone truth, is the single time-zone setter interface, and its getter
|
|
43
|
+
returns an IANA string. (:issue:`2340`, :pull:`2341`)
|
|
44
|
+
* :py:func:`~pvlib.iotools.get_pvgis_tmy` with ``outputformat='csv'`` now
|
|
45
|
+
works with the updated data format returned by PVGIS. (:issue:`2344`, :pull:`2395`)
|
|
46
|
+
|
|
47
|
+
Enhancements
|
|
48
|
+
~~~~~~~~~~~~
|
|
49
|
+
* :py:func:`~pvlib.irradiance.gti_dirint` now raises an informative message
|
|
50
|
+
when input data don't include values with AOI<90. (:issue:`1342`, :pull:`2347`)
|
|
51
|
+
* Reduce space requirements by excluding tests and test files from wheel.
|
|
52
|
+
Zipped wheel is now 66% of the previous size, and installed size is 50% of
|
|
53
|
+
the previous size. (:issue:`2271`, :pull:`2277`)
|
|
54
|
+
|
|
55
|
+
Documentation
|
|
56
|
+
~~~~~~~~~~~~~
|
|
57
|
+
* Fix Procedural and Object Oriented simulation examples having slightly different
|
|
58
|
+
results in :ref:`introtutorial`. (:issue:`2366`, :pull:`2367`)
|
|
59
|
+
* Restructure the user guide with subsections. (:issue:`2302`, :pull:`2310`)
|
|
60
|
+
* Add references for :py:func:`pvlib.snow.loss_townsend`. (:issue:`2383`, :pull:`2384`)
|
|
61
|
+
* Add :term:`ghi_clear` to the :ref:`nomenclature` page. (:issue:`2272`, :pull:`2397`)
|
|
62
|
+
* Add output variable naming clarifaction to :py:func:`pvlib.pvsystem.calcparams_desoto`
|
|
63
|
+
and :py:func:`pvlib.pvsystem.calcparams_pvsyst`. (:issue:`716`, :pull:`2405`)
|
|
64
|
+
|
|
65
|
+
Testing
|
|
66
|
+
~~~~~~~
|
|
67
|
+
* Move tests folder to ``/tests`` and data exclusively used for testing to ``/tests/data``.
|
|
68
|
+
(:issue:`2271`, :pull:`2277`)
|
|
69
|
+
* Add Python 3.13 to test suite. (:issue:`2201`, :pull:`2258`)
|
|
70
|
+
* Add tests for all input types for the :py:attr:`pvlib.location.Location.tz` attribute.
|
|
71
|
+
(:issue:`2340`, :pull:`2341`)
|
|
72
|
+
* Add tests for time-conversion functions in :py:mod:`pvlib.tools`. (:issue:`2340`, :pull:`2341`)
|
|
73
|
+
|
|
74
|
+
Maintenance
|
|
75
|
+
~~~~~~~~~~~
|
|
76
|
+
* Fix ReadTheDocs builds by upgrading ``readthedocs.yml`` configuration
|
|
77
|
+
(:issue:`2357`, :pull:`2358`)
|
|
78
|
+
* asv 0.4.2 upgraded to asv 0.6.4 to fix CI failure due to pinned older conda.
|
|
79
|
+
(:pull:`2352`)
|
|
80
|
+
|
|
81
|
+
Contributors
|
|
82
|
+
~~~~~~~~~~~~
|
|
83
|
+
* Rajiv Daxini (:ghuser:`RDaxini`)
|
|
84
|
+
* Cliff Hansen (:ghuser:`cwhanse`)
|
|
85
|
+
* Jason Lun Leung (:ghuser:`jason-rpkt`)
|
|
86
|
+
* Manoj K S (:ghuser:`manojks1999`)
|
|
87
|
+
* Kurt Rhee (:ghuser:`kurt-rhee`)
|
|
88
|
+
* Ayush jariyal (:ghuser:`ayushjariyal`)
|
|
89
|
+
* Kevin Anderson (:ghuser:`kandersolar`)
|
|
90
|
+
* Echedey Luis (:ghuser:`echedey-ls`)
|
|
91
|
+
* Mark Campanelli (:ghuser:`markcampanelli`)
|
|
92
|
+
* Max Jackson (:ghuser:`MaxJackson`)
|
|
93
|
+
* Anton Driesse (:ghuser:`adriesse`)
|
|
94
|
+
* Adam R. Jensen (:ghuser:`AdamRJensen`)
|
|
95
|
+
* Ioannis Sifnaios (:ghuser:`IoannisSifnaios`)
|
|
96
|
+
* Will Holmgren (:ghuser:`wholmgren`)
|
|
97
|
+
* Sophie Pelland (:ghuser:`solphie-pelland`)
|
|
98
|
+
* Will Hobbs (:ghuser:`williamhobbs`)
|
|
99
|
+
* Karel De Brabandere (:ghuser:`kdebrab`)
|
|
100
|
+
* Kenneth J. Sauer (:ghuser:`kjsauer`)
|
|
@@ -56,7 +56,7 @@ Enhancements
|
|
|
56
56
|
* Use HRRR modeled surface temperature values instead of inferring from
|
|
57
57
|
isobaric values and modeled wind speed instead of inferring from gust.
|
|
58
58
|
(:issue:`604`)
|
|
59
|
-
* Change :py:func
|
|
59
|
+
* Change :py:func:`!pvlib.pvsystem.sapm_spectral_loss` to avoid numpy warning.
|
|
60
60
|
* Add warning message when :py:func:`pvlib.spa` is reloaded. (:issue:`401`)
|
|
61
61
|
* Add option for :py:func:`pvlib.irradiance.disc` to use relative airmass
|
|
62
62
|
by supplying `pressure=None`. (:issue:`449`)
|
|
@@ -104,7 +104,7 @@ API Changes with Deprecations
|
|
|
104
104
|
* Changes related to spectral modifier (:issue:`782`):
|
|
105
105
|
* Changes to functions
|
|
106
106
|
- Added the argument `pw_min` and `pw_max`, default values 0.1 and 8 resp.,
|
|
107
|
-
to
|
|
107
|
+
to :py:func:`!pvlib.atmosphere.first_solar_spectral_correction`. This function now returns NaN
|
|
108
108
|
if pw value higher than `pw_max`.
|
|
109
109
|
* The `times` keyword argument has been deprecated in the
|
|
110
110
|
:py:meth:`pvlib.modelchain.ModelChain.run_model`,
|
|
@@ -46,7 +46,7 @@ Bug fixes
|
|
|
46
46
|
* Fix :py:func:`~pvlib.iotools.read_tmy3` parsing when February contains
|
|
47
47
|
a leap year. (:pull:`866`)
|
|
48
48
|
* Implement NREL Developer Network API key for consistent success with API
|
|
49
|
-
calls in :py:mod
|
|
49
|
+
calls in :py:mod:`!pvlib.tests.iotools.test_psm3`. (:pull:`873`)
|
|
50
50
|
* Fix issue with :py:class:`pvlib.location.Location` creation when
|
|
51
51
|
passing ``tz=datetime.timezone.utc``. (:pull:`879`)
|
|
52
52
|
* Fix documentation homepage title to "pvlib python" based on first heading on
|
|
@@ -14,7 +14,7 @@ Enhancements
|
|
|
14
14
|
(:issue:`1516`, :pull:`1518`)
|
|
15
15
|
* New module to calculate spectral mismatch from field spectral measurements
|
|
16
16
|
:py:func:`~pvlib.spectrum.get_example_spectral_response`
|
|
17
|
-
:py:func
|
|
17
|
+
:py:func:`!pvlib.spectrum.get_am15g`
|
|
18
18
|
:py:func:`~pvlib.spectrum.calc_spectral_mismatch_field`
|
|
19
19
|
(:issue:`1523`, :pull:`1524`)
|
|
20
20
|
* Added Townsend-Powers monthly snow loss model:
|
|
@@ -6,9 +6,6 @@ speed at different heights.
|
|
|
6
6
|
|
|
7
7
|
import numpy as np
|
|
8
8
|
import pandas as pd
|
|
9
|
-
import pvlib
|
|
10
|
-
|
|
11
|
-
from pvlib._deprecation import deprecated
|
|
12
9
|
|
|
13
10
|
APPARENT_ZENITH_MODELS = ('simple', 'kasten1966', 'kastenyoung1989',
|
|
14
11
|
'gueymard1993', 'pickering2002')
|
|
@@ -416,12 +413,6 @@ def tdew_from_rh(temp_air, relative_humidity, coeff=(6.112, 17.62, 243.12)):
|
|
|
416
413
|
return dewpoint
|
|
417
414
|
|
|
418
415
|
|
|
419
|
-
first_solar_spectral_correction = deprecated(
|
|
420
|
-
since='0.10.0',
|
|
421
|
-
alternative='pvlib.spectrum.spectral_factor_firstsolar'
|
|
422
|
-
)(pvlib.spectrum.spectral_factor_firstsolar)
|
|
423
|
-
|
|
424
|
-
|
|
425
416
|
def bird_hulstrom80_aod_bb(aod380, aod500):
|
|
426
417
|
"""
|
|
427
418
|
Approximate broadband aerosol optical depth.
|
|
@@ -260,8 +260,9 @@ def get_irradiance_poa(surface_tilt, surface_azimuth, solar_zenith,
|
|
|
260
260
|
Returns
|
|
261
261
|
-------
|
|
262
262
|
output : dict or DataFrame
|
|
263
|
-
Output is a DataFrame when
|
|
264
|
-
|
|
263
|
+
Output is a ``pandas.DataFrame`` when ``ghi`` is a Series.
|
|
264
|
+
Otherwise it is a dict of ``numpy.ndarray``
|
|
265
|
+
See Notes for descriptions of content.
|
|
265
266
|
|
|
266
267
|
Notes
|
|
267
268
|
-----
|
|
@@ -372,7 +373,7 @@ def get_irradiance_poa(surface_tilt, surface_azimuth, solar_zenith,
|
|
|
372
373
|
'poa_global': poa_global, 'poa_direct': poa_direct,
|
|
373
374
|
'poa_diffuse': poa_diffuse, 'poa_ground_diffuse': poa_gnd_pv,
|
|
374
375
|
'poa_sky_diffuse': poa_sky_pv, 'shaded_fraction': f_x}
|
|
375
|
-
if isinstance(
|
|
376
|
+
if isinstance(ghi, pd.Series):
|
|
376
377
|
output = pd.DataFrame(output)
|
|
377
378
|
return output
|
|
378
379
|
|
|
@@ -87,7 +87,8 @@ def _unshaded_ground_fraction(surface_tilt, surface_azimuth, solar_zenith,
|
|
|
87
87
|
surface_azimuth)
|
|
88
88
|
f_gnd_beam = 1.0 - np.minimum(
|
|
89
89
|
1.0, gcr * np.abs(cosd(surface_tilt) + sind(surface_tilt) * tan_phi))
|
|
90
|
-
|
|
90
|
+
# [1], Eq. 4
|
|
91
|
+
f_gnd_beam = np.where(solar_zenith > max_zenith, 0., f_gnd_beam)
|
|
91
92
|
return f_gnd_beam # 1 - min(1, abs()) < 1 always
|
|
92
93
|
|
|
93
94
|
|
|
@@ -49,7 +49,7 @@ REQUEST_VARIABLE_MAP = {
|
|
|
49
49
|
'ghi_clear': 'clearsky_ghi',
|
|
50
50
|
'dhi_clear': 'clearsky_dhi',
|
|
51
51
|
'dni_clear': 'clearsky_dni',
|
|
52
|
-
'
|
|
52
|
+
'solar_zenith': 'solar_zenith_angle',
|
|
53
53
|
'temp_air': 'air_temperature',
|
|
54
54
|
'temp_dew': 'dew_point',
|
|
55
55
|
'relative_humidity': 'relative_humidity',
|
|
@@ -559,9 +559,17 @@ def _parse_pvgis_tmy_csv(src):
|
|
|
559
559
|
inputs['longitude'] = float(src.readline().split(b':')[1])
|
|
560
560
|
# Elevation (m): 1389.0\r\n
|
|
561
561
|
inputs['elevation'] = float(src.readline().split(b':')[1])
|
|
562
|
+
|
|
563
|
+
# TMY has an extra line here: Irradiance Time Offset (h): 0.1761\r\n
|
|
564
|
+
line = src.readline()
|
|
565
|
+
if line.startswith(b'Irradiance Time Offset'):
|
|
566
|
+
inputs['irradiance time offset'] = float(line.split(b':')[1])
|
|
567
|
+
src.readline() # skip over the "month,year\r\n"
|
|
568
|
+
else:
|
|
569
|
+
# `line` is already the "month,year\r\n" line, so nothing to do
|
|
570
|
+
pass
|
|
562
571
|
# then there's a 13 row comma separated table with two columns: month, year
|
|
563
|
-
# which contains the year used for that month in the
|
|
564
|
-
src.readline() # get "month,year\r\n"
|
|
572
|
+
# which contains the year used for that month in the TMY
|
|
565
573
|
months_selected = []
|
|
566
574
|
for month in range(12):
|
|
567
575
|
months_selected.append(
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
import datetime
|
|
4
4
|
import re
|
|
5
5
|
import pandas as pd
|
|
6
|
-
import warnings
|
|
7
|
-
from pvlib._deprecation import pvlibDeprecationWarning
|
|
8
6
|
|
|
9
7
|
# Dictionary mapping TMY3 names to pvlib names
|
|
10
8
|
VARIABLE_MAP = {
|
|
@@ -24,8 +22,7 @@ VARIABLE_MAP = {
|
|
|
24
22
|
}
|
|
25
23
|
|
|
26
24
|
|
|
27
|
-
def read_tmy3(filename, coerce_year=None, map_variables=
|
|
28
|
-
encoding=None):
|
|
25
|
+
def read_tmy3(filename, coerce_year=None, map_variables=True, encoding=None):
|
|
29
26
|
"""Read a TMY3 file into a pandas dataframe.
|
|
30
27
|
|
|
31
28
|
Note that values contained in the metadata dictionary are unchanged
|
|
@@ -44,13 +41,9 @@ def read_tmy3(filename, coerce_year=None, map_variables=None, recolumn=None,
|
|
|
44
41
|
If supplied, the year of the index will be set to ``coerce_year``, except
|
|
45
42
|
for the last index value which will be set to the *next* year so that
|
|
46
43
|
the index increases monotonically.
|
|
47
|
-
map_variables : bool,
|
|
44
|
+
map_variables : bool, default True
|
|
48
45
|
When True, renames columns of the DataFrame to pvlib variable names
|
|
49
46
|
where applicable. See variable :const:`VARIABLE_MAP`.
|
|
50
|
-
recolumn : bool (deprecated, use map_variables instead)
|
|
51
|
-
If ``True``, apply standard names to TMY3 columns. Typically this
|
|
52
|
-
results in stripping the units from the column name.
|
|
53
|
-
Cannot be used in combination with ``map_variables``.
|
|
54
47
|
encoding : str, optional
|
|
55
48
|
Encoding of the file. For files that contain non-UTF8 characters it may
|
|
56
49
|
be necessary to specify an alternative encoding, e.g., for
|
|
@@ -233,74 +226,15 @@ def read_tmy3(filename, coerce_year=None, map_variables=None, recolumn=None,
|
|
|
233
226
|
# unit must be in (D,h,m,s,ms,us,ns), but pandas>=0.24 allows unit='hour'
|
|
234
227
|
data.index = data_ymd + pd.to_timedelta(shifted_hour, unit='h') \
|
|
235
228
|
+ pd.to_timedelta(minutes, unit='min')
|
|
236
|
-
|
|
237
|
-
if recolumn is not None and map_variables is not None:
|
|
238
|
-
msg = "`map_variables` and `recolumn` cannot both be specified"
|
|
239
|
-
raise ValueError(msg)
|
|
240
|
-
elif map_variables is None and recolumn is not None:
|
|
241
|
-
warnings.warn(
|
|
242
|
-
'The recolumn parameter is deprecated and will be removed in '
|
|
243
|
-
'pvlib 0.11.0. Use `map_variables` instead, although note that '
|
|
244
|
-
'its behavior is different from `recolumn`.',
|
|
245
|
-
pvlibDeprecationWarning)
|
|
246
|
-
elif map_variables is None and recolumn is None:
|
|
247
|
-
warnings.warn(
|
|
248
|
-
'TMY3 variable names will be renamed to pvlib conventions by '
|
|
249
|
-
'default starting in pvlib 0.11.0. Specify map_variables=True '
|
|
250
|
-
'to enable that behavior now, or specify map_variables=False '
|
|
251
|
-
'to hide this warning.', pvlibDeprecationWarning)
|
|
229
|
+
|
|
252
230
|
if map_variables:
|
|
253
231
|
data = data.rename(columns=VARIABLE_MAP)
|
|
254
|
-
elif recolumn or (recolumn is None and map_variables is None):
|
|
255
|
-
data = _recolumn(data)
|
|
256
232
|
|
|
257
233
|
data = data.tz_localize(int(meta['TZ'] * 3600))
|
|
258
234
|
|
|
259
235
|
return data, meta
|
|
260
236
|
|
|
261
237
|
|
|
262
|
-
def _recolumn(tmy3_dataframe):
|
|
263
|
-
"""
|
|
264
|
-
Rename the columns of the TMY3 DataFrame.
|
|
265
|
-
|
|
266
|
-
Parameters
|
|
267
|
-
----------
|
|
268
|
-
tmy3_dataframe : DataFrame
|
|
269
|
-
inplace : bool
|
|
270
|
-
passed to DataFrame.rename()
|
|
271
|
-
|
|
272
|
-
Returns
|
|
273
|
-
-------
|
|
274
|
-
Recolumned DataFrame.
|
|
275
|
-
"""
|
|
276
|
-
# paste in the header as one long line
|
|
277
|
-
raw_columns = 'ETR (W/m^2),ETRN (W/m^2),GHI (W/m^2),GHI source,GHI uncert (%),DNI (W/m^2),DNI source,DNI uncert (%),DHI (W/m^2),DHI source,DHI uncert (%),GH illum (lx),GH illum source,Global illum uncert (%),DN illum (lx),DN illum source,DN illum uncert (%),DH illum (lx),DH illum source,DH illum uncert (%),Zenith lum (cd/m^2),Zenith lum source,Zenith lum uncert (%),TotCld (tenths),TotCld source,TotCld uncert (code),OpqCld (tenths),OpqCld source,OpqCld uncert (code),Dry-bulb (C),Dry-bulb source,Dry-bulb uncert (code),Dew-point (C),Dew-point source,Dew-point uncert (code),RHum (%),RHum source,RHum uncert (code),Pressure (mbar),Pressure source,Pressure uncert (code),Wdir (degrees),Wdir source,Wdir uncert (code),Wspd (m/s),Wspd source,Wspd uncert (code),Hvis (m),Hvis source,Hvis uncert (code),CeilHgt (m),CeilHgt source,CeilHgt uncert (code),Pwat (cm),Pwat source,Pwat uncert (code),AOD (unitless),AOD source,AOD uncert (code),Alb (unitless),Alb source,Alb uncert (code),Lprecip depth (mm),Lprecip quantity (hr),Lprecip source,Lprecip uncert (code),PresWth (METAR code),PresWth source,PresWth uncert (code)' # noqa: E501
|
|
278
|
-
|
|
279
|
-
new_columns = [
|
|
280
|
-
'ETR', 'ETRN', 'GHI', 'GHISource', 'GHIUncertainty',
|
|
281
|
-
'DNI', 'DNISource', 'DNIUncertainty', 'DHI', 'DHISource',
|
|
282
|
-
'DHIUncertainty', 'GHillum', 'GHillumSource', 'GHillumUncertainty',
|
|
283
|
-
'DNillum', 'DNillumSource', 'DNillumUncertainty', 'DHillum',
|
|
284
|
-
'DHillumSource', 'DHillumUncertainty', 'Zenithlum',
|
|
285
|
-
'ZenithlumSource', 'ZenithlumUncertainty', 'TotCld', 'TotCldSource',
|
|
286
|
-
'TotCldUncertainty', 'OpqCld', 'OpqCldSource', 'OpqCldUncertainty',
|
|
287
|
-
'DryBulb', 'DryBulbSource', 'DryBulbUncertainty', 'DewPoint',
|
|
288
|
-
'DewPointSource', 'DewPointUncertainty', 'RHum', 'RHumSource',
|
|
289
|
-
'RHumUncertainty', 'Pressure', 'PressureSource',
|
|
290
|
-
'PressureUncertainty', 'Wdir', 'WdirSource', 'WdirUncertainty',
|
|
291
|
-
'Wspd', 'WspdSource', 'WspdUncertainty', 'Hvis', 'HvisSource',
|
|
292
|
-
'HvisUncertainty', 'CeilHgt', 'CeilHgtSource', 'CeilHgtUncertainty',
|
|
293
|
-
'Pwat', 'PwatSource', 'PwatUncertainty', 'AOD', 'AODSource',
|
|
294
|
-
'AODUncertainty', 'Alb', 'AlbSource', 'AlbUncertainty',
|
|
295
|
-
'Lprecipdepth', 'Lprecipquantity', 'LprecipSource',
|
|
296
|
-
'LprecipUncertainty', 'PresWth', 'PresWthSource',
|
|
297
|
-
'PresWthUncertainty']
|
|
298
|
-
|
|
299
|
-
mapping = dict(zip(raw_columns.split(','), new_columns))
|
|
300
|
-
|
|
301
|
-
return tmy3_dataframe.rename(columns=mapping)
|
|
302
|
-
|
|
303
|
-
|
|
304
238
|
def read_tmy2(filename):
|
|
305
239
|
"""
|
|
306
240
|
Read a TMY2 file into a DataFrame.
|
|
@@ -2368,6 +2368,9 @@ def gti_dirint(poa_global, aoi, solar_zenith, solar_azimuth, times,
|
|
|
2368
2368
|
irradiance, Solar Energy 122, 1037-1046.
|
|
2369
2369
|
:doi:`10.1016/j.solener.2015.10.024`
|
|
2370
2370
|
"""
|
|
2371
|
+
# check input data and raise Exceptions where data will cause the
|
|
2372
|
+
# algorithm to fail
|
|
2373
|
+
_gti_dirint_check_input(aoi)
|
|
2371
2374
|
|
|
2372
2375
|
aoi_lt_90 = aoi < 90
|
|
2373
2376
|
|
|
@@ -2399,6 +2402,17 @@ def gti_dirint(poa_global, aoi, solar_zenith, solar_azimuth, times,
|
|
|
2399
2402
|
return output
|
|
2400
2403
|
|
|
2401
2404
|
|
|
2405
|
+
def _gti_dirint_check_input(aoi):
|
|
2406
|
+
r"""
|
|
2407
|
+
Helper for gti_dirint
|
|
2408
|
+
|
|
2409
|
+
Raises Exceptions from input data that cause the algorithm to fail.
|
|
2410
|
+
"""
|
|
2411
|
+
if not (aoi < 90).any():
|
|
2412
|
+
raise ValueError("There are no times with AOI < 90. "
|
|
2413
|
+
"gti_dirint requires some data with AOI < 90.")
|
|
2414
|
+
|
|
2415
|
+
|
|
2402
2416
|
def _gti_dirint_lt_90(poa_global, aoi, aoi_lt_90, solar_zenith, solar_azimuth,
|
|
2403
2417
|
times, surface_tilt, surface_azimuth, pressure=101325.,
|
|
2404
2418
|
use_delta_kt_prime=True, temp_dew=None, albedo=.25,
|