From a794052cb06b656c514c37d800aad8641a48427e Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Mon, 24 Oct 2016 17:43:16 -0700 Subject: [PATCH 1/7] add initial api doc --- docs/sphinx/source/api.rst | 37 ++++++++++++++++++++++++++++++++++++ docs/sphinx/source/index.rst | 5 +++-- 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 docs/sphinx/source/api.rst diff --git a/docs/sphinx/source/api.rst b/docs/sphinx/source/api.rst new file mode 100644 index 0000000000..883363e410 --- /dev/null +++ b/docs/sphinx/source/api.rst @@ -0,0 +1,37 @@ +.. currentmodule:: pvlib + +############# +API reference +############# + + +Classes +======= + +pvlib-python provides a collection of classes +for users that prefer object-oriented programming. +These classes can help users keep track of data in a more organized way, +and can help to simplify the modeling process. +The classes do not add any functionality beyond the procedural code. +Most of the object methods are simple wrappers around the +corresponding procedural code. + +.. autosummary:: + :toctree: generated/ + + pvlib.location.Location + pvlib.pvsystem.PVSystem + pvlib.tracking.SingleAxisTracker + pvlib.modelchain.ModelChain + pvlib.pvsystem.LocalizedPVSystem + pvlib.tracking.LocalizedSingleAxisTracker + + +Solar Position +============== + +.. autosummary:: + :toctree: generated/ + + pvlib.location.Location.get_solarposition + pvlib.solarposition diff --git a/docs/sphinx/source/index.rst b/docs/sphinx/source/index.rst index 45f10ecedf..934fad7bc9 100644 --- a/docs/sphinx/source/index.rst +++ b/docs/sphinx/source/index.rst @@ -63,6 +63,8 @@ of: Specific released versions of pvlib-python can be cited using their `Zenodo DOI `_. + modules + classes Contents ======== @@ -77,8 +79,7 @@ Contents timetimezones clearsky forecasts - modules - classes + api comparison_pvlib_matlab variables_style_rules From 55eea923a81f39e2856eaa2ec47d9ae2d184c791 Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Tue, 25 Oct 2016 20:39:20 -0700 Subject: [PATCH 2/7] add a bunch of functions and methods. almost all --- docs/sphinx/source/api.rst | 197 ++++++++++++++++++++++++++++++++++- docs/sphinx/source/index.rst | 2 +- 2 files changed, 197 insertions(+), 2 deletions(-) diff --git a/docs/sphinx/source/api.rst b/docs/sphinx/source/api.rst index 883363e410..c66f3e6d4e 100644 --- a/docs/sphinx/source/api.rst +++ b/docs/sphinx/source/api.rst @@ -30,8 +30,203 @@ corresponding procedural code. Solar Position ============== +Functions and methods for calculating solar position. + .. autosummary:: :toctree: generated/ pvlib.location.Location.get_solarposition - pvlib.solarposition + pvlib.solarposition.get_solarposition + pvlib.solarposition.spa_python + pvlib.solarposition.ephemeris + pvlib.solarposition.pyephem + pvlib.solarposition.spa_c + +Additional functions for quantities closely related to solar position. + +.. autosummary:: + :toctree: generated/ + + pvlib.solarposition.calc_time + pvlib.solarposition.pyephem_earthsun_distance + pvlib.solarposition.nrel_earthsun_distance + + +Clear sky +========= + +.. autosummary:: + :toctree: generated/ + + pvlib.location.Location.get_clearsky + pvlib.clearsky.ineichen + pvlib.clearsky.lookup_linke_turbidity + pvlib.clearsky.simplfied_solis + pvlib.clearsky.haurwitz + + +Airmass and atmospheric models +============================== + +.. autosummary:: + :toctree: generated/ + + pvlib.location.Location.get_airmass + pvlib.atmosphere.absoluteairmass + pvlib.atmosphere.relativeairmass + pvlib.atmosphere.pres2alt + pvlib.atmosphere.alt2pres + pvlib.atmosphere.gueymard94_pw + pvlib.atmosphere.first_solar_spectral_correction + + +Irradiance +========== + +Functions for irradiance calculations. + +.. autosummary:: + :toctree: generated/ + + pvlib.pvsystem.PVSystem.get_irradiance + pvlib.pvsystem.PVSystem.get_aoi + pvlib.tracking.SingleAxisTracker.get_irradiance + pvlib.pvsystem.SingleAxisTracker.get_aoi + +Functions for irradiance calculations. + +.. autosummary:: + :toctree: generated/ + + pvlib.irradiance.extraradiation + pvlib.irradiance.aoi + pvlib.irradiance.aoi_projection + pvlib.irradiance.poa_horizontal_ratio + pvlib.irradiance.beam_component + pvlib.irradiance.globalinplane + pvlib.irradiance.grounddiffuse + +Transposition models. + +.. autosummary:: + :toctree: generated/ + + pvlib.irradiance.total_irrad + pvlib.irradiance.isotropic + pvlib.irradiance.perez + pvlib.irradiance.haydavies + pvlib.irradiance.klucher + pvlib.irradiance.reindl + pvlib.irradiance.king + +DNI estimation models. + +.. autosummary:: + :toctree: generated/ + + pvlib.irradiance.disc + pvlib.irradiance.dirint + pvlib.irradiance.erbs + pvlib.irradiance.liujordan + + +PV Modeling +=========== + +Classes. + +.. autosummary:: + :toctree: generated/ + + pvlib.pvsystem.PVSystem + pvlib.pvsystem.LocalizedPVSystem + +Angle of incidence modifiers. + +.. autosummary:: + :toctree: generated/ + + pvlib.pvsystem.physicaliam + pvlib.pvsystem.ashraeiam + pvlib.pvsystem.sapm_aoi_loss + +Functions relevant for the single diode model. + +.. autosummary:: + :toctree: generated/ + + pvlib.pvsystem.singlediode + pvlib.pvsystem.calcparams_desoto + pvlib.pvsystem.v_from_i + pvlib.pvsystem.i_from_v + +Functions relevant for the SAPM model. + +.. autosummary:: + :toctree: generated/ + + pvlib.pvsystem.sapm + pvlib.pvsystem.sapm_effective_irradiance + pvlib.pvsystem.sapm_celltemp + pvlib.pvsystem.sapm_spectral_loss + pvlib.pvsystem.sapm_aoi_loss + pvlib.pvsystem.snlinverter + +PVWatts model. + +.. autosummary:: + :toctree: generated/ + + pvlib.pvsystem.pvwatts_dc + pvlib.pvsystem.pvwatts_ac + pvlib.pvsystem.pvwatts_losses + + +Other. + +.. autosummary:: + :toctree: generated/ + + pvlib.pvsystem.retrieve_sam + pvlib.pvsystem.systemdef + pvlib.pvsystem.scale_voltage_current_power + + +Tracking +======== + +.. autosummary:: + :toctree: generated/ + + pvlib.tracking.SingleAxisTracker + pvlib.tracking + + +TMY +=== + +.. autosummary:: + :toctree: generated/ + + pvlib.location.Location.from_tmy + pvlib.tmy.readtmy2 + pvlib.tmy.readtmy3 + + +Forecasting +=========== + +.. autosummary:: + :toctree: generated/ + + pvlib.forecast + + +ModelChain +========== + +.. autosummary:: + :toctree: generated/ + + pvlib.modelchain.ModelChain + diff --git a/docs/sphinx/source/index.rst b/docs/sphinx/source/index.rst index 934fad7bc9..ef8d147978 100644 --- a/docs/sphinx/source/index.rst +++ b/docs/sphinx/source/index.rst @@ -70,7 +70,7 @@ Contents ======== .. toctree:: - :maxdepth: 2 + :maxdepth: 5 package_overview whatsnew From 0a7eaacde6dda3056efde5ca04fefbfad83472f3 Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Wed, 26 Oct 2016 08:29:57 -0700 Subject: [PATCH 3/7] add autosummary and no_scrollbars to conf --- docs/sphinx/source/_static/no_scrollbars.css | 11 +++++++++++ docs/sphinx/source/conf.py | 5 +++++ 2 files changed, 16 insertions(+) create mode 100644 docs/sphinx/source/_static/no_scrollbars.css diff --git a/docs/sphinx/source/_static/no_scrollbars.css b/docs/sphinx/source/_static/no_scrollbars.css new file mode 100644 index 0000000000..5177a66ac8 --- /dev/null +++ b/docs/sphinx/source/_static/no_scrollbars.css @@ -0,0 +1,11 @@ +/* override table width restrictions */ +/* as described in https://github.com/snide/sphinx_rtd_theme/issues/117 */ +.wy-table-responsive table td, .wy-table-responsive table th { + /* !important prevents the common CSS stylesheets from + overriding this as on RTD they are loaded after this stylesheet */ + white-space: normal !important; +} + +.wy-table-responsive { + overflow: visible !important; +} diff --git a/docs/sphinx/source/conf.py b/docs/sphinx/source/conf.py index cda390e293..546e61c80e 100644 --- a/docs/sphinx/source/conf.py +++ b/docs/sphinx/source/conf.py @@ -126,6 +126,7 @@ def __getattr__(cls, name): # If true, keep warnings as "system message" paragraphs in the built documents. #keep_warnings = False +autosummary_generate = True # -- Options for HTML output ---------------------------------------------- @@ -219,6 +220,10 @@ def __getattr__(cls, name): # Output file base name for HTML help builder. htmlhelp_basename = 'PVLIB_Pythondoc' +# A workaround for the responsive tables always having annoying scrollbars. +def setup(app): + app.add_stylesheet("no_scrollbars.css") + # -- Options for LaTeX output --------------------------------------------- From 66c3c8d62626651a71f3e6fa47e15f822e60be56 Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Wed, 26 Oct 2016 08:30:30 -0700 Subject: [PATCH 4/7] more modelchain and forecast stuff --- docs/sphinx/source/api.rst | 120 ++++++++++++++++++++++++++++++++++++- 1 file changed, 118 insertions(+), 2 deletions(-) diff --git a/docs/sphinx/source/api.rst b/docs/sphinx/source/api.rst index c66f3e6d4e..ae392d7ad7 100644 --- a/docs/sphinx/source/api.rst +++ b/docs/sphinx/source/api.rst @@ -195,16 +195,20 @@ Other. Tracking ======== +Methods and functions for tracking. + .. autosummary:: :toctree: generated/ pvlib.tracking.SingleAxisTracker - pvlib.tracking + pvlib.tracking.singleaxis TMY === +Methods and functions for reading data from TMY files. + .. autosummary:: :toctree: generated/ @@ -219,14 +223,126 @@ Forecasting .. autosummary:: :toctree: generated/ - pvlib.forecast + pvlib.forecast.GFS + pvlib.forecast.NAM + pvlib.forecast.RAP + pvlib.forecast.HRRR + pvlib.forecast.HRRR_ESRL + pvlib.forecast.NDFD + +Methods for getting data. + +.. autosummary:: + :toctree: generated/ + + pvlib.forecast.ForecastModel.get_data + pvlib.forecast.ForecastModel.get_processed_data + +Common methods for processing data. + +.. autosummary:: + :toctree: generated/ + + pvlib.forecast.ForecastModel.process_data + pvlib.forecast.ForecastModel.rename + pvlib.forecast.ForecastModel.cloud_cover_to_ghi_linear + pvlib.forecast.ForecastModel.cloud_cover_to_irradiance_clearsky_scaling + pvlib.forecast.ForecastModel.cloud_cover_to_transmittance_linear + pvlib.forecast.ForecastModel.cloud_cover_to_irradiance_liujordan + pvlib.forecast.ForecastModel.cloud_cover_to_irradiance + pvlib.forecast.ForecastModel.kelvin_to_celsius + pvlib.forecast.ForecastModel.isobaric_to_ambient_temperature + pvlib.forecast.ForecastModel.uv_to_speed + pvlib.forecast.ForecastModel.gust_to_speed + +Methods for supporting IO. + +.. autosummary:: + :toctree: generated/ + + pvlib.forecast.ForecastModel.set_dataset + pvlib.forecast.ForecastModel.set_query_latlon + pvlib.forecast.ForecastModel.set_location + pvlib.forecast.ForecastModel.set_time ModelChain ========== +Creating a ModelChain object. + .. autosummary:: :toctree: generated/ pvlib.modelchain.ModelChain +Running a ModelChain. + +.. autosummary:: + :toctree: generated/ + + pvlib.modelchain.ModelChain.run_model + pvlib.modelchain.ModelChain.complete_irradiance + pvlib.modelchain.ModelChain.prepare_inputs + +Simple ModelChain attributes: + +``system, location, clearsky_model, transposition_model, +solar_position_method, airmass_model`` + +ModelChain properties that are aliases for your specific modeling functions. + +.. autosummary:: + :toctree: generated/ + + pvlib.modelchain.ModelChain.orientation_strategy + pvlib.modelchain.ModelChain.dc_model + pvlib.modelchain.ModelChain.ac_model + pvlib.modelchain.ModelChain.aoi_model + pvlib.modelchain.ModelChain.spectral_model + pvlib.modelchain.ModelChain.temp_model + pvlib.modelchain.ModelChain.losses_model + pvlib.modelchain.ModelChain.effective_irradiance_model + +ModelChain model definitions. + +.. autosummary:: + :toctree: generated/ + + pvlib.modelchain.ModelChain.sapm + pvlib.modelchain.ModelChain.singlediode + pvlib.modelchain.ModelChain.pvwatts_dc + pvlib.modelchain.ModelChain.snlinverter + pvlib.modelchain.ModelChain.adrinverter + pvlib.modelchain.ModelChain.pvwatts_inverter + pvlib.modelchain.ModelChain.ashrae_aoi_loss + pvlib.modelchain.ModelChain.physical_aoi_loss + pvlib.modelchain.ModelChain.sapm_aoi_loss + pvlib.modelchain.ModelChain.no_aoi_loss + pvlib.modelchain.ModelChain.first_solar_spectral_loss + pvlib.modelchain.ModelChain.sapm_spectral_loss + pvlib.modelchain.ModelChain.no_spectral_loss + pvlib.modelchain.ModelChain.sapm_temp + pvlib.modelchain.ModelChain.pvwatts_losses + pvlib.modelchain.ModelChain.no_extra_losses + +Methods that automatically determine which models should be used based +on the information in the associated :py:class:`~pvsystem.PVSystem` object. + +.. autosummary:: + :toctree: generated/ + + pvlib.modelchain.ModelChain.infer_dc_model + pvlib.modelchain.ModelChain.infer_ac_model + pvlib.modelchain.ModelChain.infer_aoi_model + pvlib.modelchain.ModelChain.infer_spectral_model + pvlib.modelchain.ModelChain.infer_temp_model + pvlib.modelchain.ModelChain.infer_losses_model + +Functions for power modeling. + +.. autosummary:: + :toctree: generated/ + + pvlib.modelchain.basic_chain + pvlib.modelchain.get_orientation From e2ac45fe640ff9a3b35a33703850c6b554b53200 Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Wed, 26 Oct 2016 14:37:19 -0700 Subject: [PATCH 5/7] remove old classes and module files. fix typos --- docs/sphinx/source/api.rst | 368 +++++++++++++++++++-------------- docs/sphinx/source/classes.rst | 61 ------ docs/sphinx/source/modules.rst | 90 -------- 3 files changed, 216 insertions(+), 303 deletions(-) delete mode 100644 docs/sphinx/source/classes.rst delete mode 100644 docs/sphinx/source/modules.rst diff --git a/docs/sphinx/source/api.rst b/docs/sphinx/source/api.rst index ae392d7ad7..edaa1290f5 100644 --- a/docs/sphinx/source/api.rst +++ b/docs/sphinx/source/api.rst @@ -8,23 +8,22 @@ API reference Classes ======= -pvlib-python provides a collection of classes -for users that prefer object-oriented programming. -These classes can help users keep track of data in a more organized way, -and can help to simplify the modeling process. -The classes do not add any functionality beyond the procedural code. -Most of the object methods are simple wrappers around the +pvlib-python provides a collection of classes for users that prefer +object-oriented programming. These classes can help users keep track of +data in a more organized way, and can help to simplify the modeling +process. The classes do not add any functionality beyond the procedural +code. Most of the object methods are simple wrappers around the corresponding procedural code. .. autosummary:: :toctree: generated/ - pvlib.location.Location - pvlib.pvsystem.PVSystem - pvlib.tracking.SingleAxisTracker - pvlib.modelchain.ModelChain - pvlib.pvsystem.LocalizedPVSystem - pvlib.tracking.LocalizedSingleAxisTracker + location.Location + pvsystem.PVSystem + tracking.SingleAxisTracker + modelchain.ModelChain + pvsystem.LocalizedPVSystem + tracking.LocalizedSingleAxisTracker Solar Position @@ -35,21 +34,29 @@ Functions and methods for calculating solar position. .. autosummary:: :toctree: generated/ - pvlib.location.Location.get_solarposition - pvlib.solarposition.get_solarposition - pvlib.solarposition.spa_python - pvlib.solarposition.ephemeris - pvlib.solarposition.pyephem - pvlib.solarposition.spa_c + location.Location.get_solarposition + solarposition.get_solarposition + solarposition.spa_python + solarposition.ephemeris + solarposition.pyephem + solarposition.spa_c Additional functions for quantities closely related to solar position. .. autosummary:: :toctree: generated/ - pvlib.solarposition.calc_time - pvlib.solarposition.pyephem_earthsun_distance - pvlib.solarposition.nrel_earthsun_distance + solarposition.calc_time + solarposition.pyephem_earthsun_distance + solarposition.nrel_earthsun_distance + +The spa module contains the implementation of the built-in NREL SPA +algorithm. + +.. autosummary:: + :toctree: generated/ + + spa Clear sky @@ -58,11 +65,11 @@ Clear sky .. autosummary:: :toctree: generated/ - pvlib.location.Location.get_clearsky - pvlib.clearsky.ineichen - pvlib.clearsky.lookup_linke_turbidity - pvlib.clearsky.simplfied_solis - pvlib.clearsky.haurwitz + location.Location.get_clearsky + clearsky.ineichen + clearsky.lookup_linke_turbidity + clearsky.simplified_solis + clearsky.haurwitz Airmass and atmospheric models @@ -71,137 +78,168 @@ Airmass and atmospheric models .. autosummary:: :toctree: generated/ - pvlib.location.Location.get_airmass - pvlib.atmosphere.absoluteairmass - pvlib.atmosphere.relativeairmass - pvlib.atmosphere.pres2alt - pvlib.atmosphere.alt2pres - pvlib.atmosphere.gueymard94_pw - pvlib.atmosphere.first_solar_spectral_correction + location.Location.get_airmass + atmosphere.absoluteairmass + atmosphere.relativeairmass + atmosphere.pres2alt + atmosphere.alt2pres + atmosphere.gueymard94_pw + atmosphere.first_solar_spectral_correction Irradiance ========== -Functions for irradiance calculations. +Methods for irradiance calculations +----------------------------------- .. autosummary:: :toctree: generated/ - pvlib.pvsystem.PVSystem.get_irradiance - pvlib.pvsystem.PVSystem.get_aoi - pvlib.tracking.SingleAxisTracker.get_irradiance - pvlib.pvsystem.SingleAxisTracker.get_aoi + pvsystem.PVSystem.get_irradiance + pvsystem.PVSystem.get_aoi + tracking.SingleAxisTracker.get_irradiance -Functions for irradiance calculations. +Decomposing and combining irradiance +------------------------------------ .. autosummary:: :toctree: generated/ - pvlib.irradiance.extraradiation - pvlib.irradiance.aoi - pvlib.irradiance.aoi_projection - pvlib.irradiance.poa_horizontal_ratio - pvlib.irradiance.beam_component - pvlib.irradiance.globalinplane - pvlib.irradiance.grounddiffuse + irradiance.extraradiation + irradiance.aoi + irradiance.aoi_projection + irradiance.poa_horizontal_ratio + irradiance.beam_component + irradiance.globalinplane + irradiance.grounddiffuse -Transposition models. +Transposition models +-------------------- .. autosummary:: :toctree: generated/ - pvlib.irradiance.total_irrad - pvlib.irradiance.isotropic - pvlib.irradiance.perez - pvlib.irradiance.haydavies - pvlib.irradiance.klucher - pvlib.irradiance.reindl - pvlib.irradiance.king + irradiance.total_irrad + irradiance.isotropic + irradiance.perez + irradiance.haydavies + irradiance.klucher + irradiance.reindl + irradiance.king -DNI estimation models. +DNI estimation models +--------------------- .. autosummary:: :toctree: generated/ - pvlib.irradiance.disc - pvlib.irradiance.dirint - pvlib.irradiance.erbs - pvlib.irradiance.liujordan + irradiance.disc + irradiance.dirint + irradiance.erbs + irradiance.liujordan PV Modeling =========== -Classes. +Classes +------- + +The :py:class:`~pvsystem.PVSystem` class provides many methods that +wrap the functions listed below. See its documentation for details. .. autosummary:: :toctree: generated/ - pvlib.pvsystem.PVSystem - pvlib.pvsystem.LocalizedPVSystem + pvsystem.PVSystem + pvsystem.LocalizedPVSystem -Angle of incidence modifiers. +AOI modifiers +------------- .. autosummary:: :toctree: generated/ - pvlib.pvsystem.physicaliam - pvlib.pvsystem.ashraeiam - pvlib.pvsystem.sapm_aoi_loss + pvsystem.physicaliam + pvsystem.ashraeiam + pvsystem.sapm_aoi_loss + +Single diode model +------------------ Functions relevant for the single diode model. .. autosummary:: :toctree: generated/ - pvlib.pvsystem.singlediode - pvlib.pvsystem.calcparams_desoto - pvlib.pvsystem.v_from_i - pvlib.pvsystem.i_from_v + pvsystem.singlediode + pvsystem.calcparams_desoto + pvsystem.v_from_i + pvsystem.i_from_v + +SAPM model +---------- Functions relevant for the SAPM model. .. autosummary:: :toctree: generated/ - pvlib.pvsystem.sapm - pvlib.pvsystem.sapm_effective_irradiance - pvlib.pvsystem.sapm_celltemp - pvlib.pvsystem.sapm_spectral_loss - pvlib.pvsystem.sapm_aoi_loss - pvlib.pvsystem.snlinverter + pvsystem.sapm + pvsystem.sapm_effective_irradiance + pvsystem.sapm_celltemp + pvsystem.sapm_spectral_loss + pvsystem.sapm_aoi_loss + pvsystem.snlinverter -PVWatts model. +PVWatts model +------------- .. autosummary:: :toctree: generated/ - pvlib.pvsystem.pvwatts_dc - pvlib.pvsystem.pvwatts_ac - pvlib.pvsystem.pvwatts_losses + pvsystem.pvwatts_dc + pvsystem.pvwatts_ac + pvsystem.pvwatts_losses -Other. +Other +----- .. autosummary:: :toctree: generated/ - pvlib.pvsystem.retrieve_sam - pvlib.pvsystem.systemdef - pvlib.pvsystem.scale_voltage_current_power + pvsystem.retrieve_sam + pvsystem.systemdef + pvsystem.scale_voltage_current_power Tracking ======== -Methods and functions for tracking. +SingleAxisTracker +----------------- + +The :py:class:`~tracking.SingleAxisTracker` inherits from +:py:class:`~pvsystem.PVSystem`. + +.. autosummary:: + :toctree: generated/ + + tracking.SingleAxisTracker + tracking.SingleAxisTracker.singleaxis + tracking.SingleAxisTracker.get_irradiance + tracking.SingleAxisTracker.localize + tracking.LocalizedSingleAxisTracker + +Functions +--------- .. autosummary:: :toctree: generated/ - pvlib.tracking.SingleAxisTracker - pvlib.tracking.singleaxis + tracking.singleaxis TMY @@ -212,58 +250,66 @@ Methods and functions for reading data from TMY files. .. autosummary:: :toctree: generated/ - pvlib.location.Location.from_tmy - pvlib.tmy.readtmy2 - pvlib.tmy.readtmy3 + location.Location.from_tmy + tmy.readtmy2 + tmy.readtmy3 Forecasting =========== +Forecast models +--------------- + .. autosummary:: :toctree: generated/ - pvlib.forecast.GFS - pvlib.forecast.NAM - pvlib.forecast.RAP - pvlib.forecast.HRRR - pvlib.forecast.HRRR_ESRL - pvlib.forecast.NDFD + forecast.GFS + forecast.NAM + forecast.RAP + forecast.HRRR + forecast.HRRR_ESRL + forecast.NDFD -Methods for getting data. +Getting data +------------ .. autosummary:: :toctree: generated/ - pvlib.forecast.ForecastModel.get_data - pvlib.forecast.ForecastModel.get_processed_data + forecast.ForecastModel.get_data + forecast.ForecastModel.get_processed_data -Common methods for processing data. +Processing data +--------------- .. autosummary:: :toctree: generated/ - pvlib.forecast.ForecastModel.process_data - pvlib.forecast.ForecastModel.rename - pvlib.forecast.ForecastModel.cloud_cover_to_ghi_linear - pvlib.forecast.ForecastModel.cloud_cover_to_irradiance_clearsky_scaling - pvlib.forecast.ForecastModel.cloud_cover_to_transmittance_linear - pvlib.forecast.ForecastModel.cloud_cover_to_irradiance_liujordan - pvlib.forecast.ForecastModel.cloud_cover_to_irradiance - pvlib.forecast.ForecastModel.kelvin_to_celsius - pvlib.forecast.ForecastModel.isobaric_to_ambient_temperature - pvlib.forecast.ForecastModel.uv_to_speed - pvlib.forecast.ForecastModel.gust_to_speed + forecast.ForecastModel.process_data + forecast.ForecastModel.rename + forecast.ForecastModel.cloud_cover_to_ghi_linear + forecast.ForecastModel.cloud_cover_to_irradiance_clearsky_scaling + forecast.ForecastModel.cloud_cover_to_transmittance_linear + forecast.ForecastModel.cloud_cover_to_irradiance_liujordan + forecast.ForecastModel.cloud_cover_to_irradiance + forecast.ForecastModel.kelvin_to_celsius + forecast.ForecastModel.isobaric_to_ambient_temperature + forecast.ForecastModel.uv_to_speed + forecast.ForecastModel.gust_to_speed + +IO support +---------- -Methods for supporting IO. +These are public for now, but use at your own risk. .. autosummary:: :toctree: generated/ - pvlib.forecast.ForecastModel.set_dataset - pvlib.forecast.ForecastModel.set_query_latlon - pvlib.forecast.ForecastModel.set_location - pvlib.forecast.ForecastModel.set_time + forecast.ForecastModel.set_dataset + forecast.ForecastModel.set_query_latlon + forecast.ForecastModel.set_location + forecast.ForecastModel.set_time ModelChain @@ -274,57 +320,72 @@ Creating a ModelChain object. .. autosummary:: :toctree: generated/ - pvlib.modelchain.ModelChain + modelchain.ModelChain + +Running +------- Running a ModelChain. .. autosummary:: :toctree: generated/ - pvlib.modelchain.ModelChain.run_model - pvlib.modelchain.ModelChain.complete_irradiance - pvlib.modelchain.ModelChain.prepare_inputs + modelchain.ModelChain.run_model + modelchain.ModelChain.complete_irradiance + modelchain.ModelChain.prepare_inputs + +Attributes +---------- Simple ModelChain attributes: ``system, location, clearsky_model, transposition_model, solar_position_method, airmass_model`` +Properties +---------- + ModelChain properties that are aliases for your specific modeling functions. .. autosummary:: :toctree: generated/ - pvlib.modelchain.ModelChain.orientation_strategy - pvlib.modelchain.ModelChain.dc_model - pvlib.modelchain.ModelChain.ac_model - pvlib.modelchain.ModelChain.aoi_model - pvlib.modelchain.ModelChain.spectral_model - pvlib.modelchain.ModelChain.temp_model - pvlib.modelchain.ModelChain.losses_model - pvlib.modelchain.ModelChain.effective_irradiance_model + modelchain.ModelChain.orientation_strategy + modelchain.ModelChain.dc_model + modelchain.ModelChain.ac_model + modelchain.ModelChain.aoi_model + modelchain.ModelChain.spectral_model + modelchain.ModelChain.temp_model + modelchain.ModelChain.losses_model + modelchain.ModelChain.effective_irradiance_model + +Model definitions +----------------- ModelChain model definitions. .. autosummary:: :toctree: generated/ - pvlib.modelchain.ModelChain.sapm - pvlib.modelchain.ModelChain.singlediode - pvlib.modelchain.ModelChain.pvwatts_dc - pvlib.modelchain.ModelChain.snlinverter - pvlib.modelchain.ModelChain.adrinverter - pvlib.modelchain.ModelChain.pvwatts_inverter - pvlib.modelchain.ModelChain.ashrae_aoi_loss - pvlib.modelchain.ModelChain.physical_aoi_loss - pvlib.modelchain.ModelChain.sapm_aoi_loss - pvlib.modelchain.ModelChain.no_aoi_loss - pvlib.modelchain.ModelChain.first_solar_spectral_loss - pvlib.modelchain.ModelChain.sapm_spectral_loss - pvlib.modelchain.ModelChain.no_spectral_loss - pvlib.modelchain.ModelChain.sapm_temp - pvlib.modelchain.ModelChain.pvwatts_losses - pvlib.modelchain.ModelChain.no_extra_losses + modelchain.ModelChain.sapm + modelchain.ModelChain.singlediode + modelchain.ModelChain.pvwatts_dc + modelchain.ModelChain.snlinverter + modelchain.ModelChain.adrinverter + modelchain.ModelChain.pvwatts_inverter + modelchain.ModelChain.ashrae_aoi_loss + modelchain.ModelChain.physical_aoi_loss + modelchain.ModelChain.sapm_aoi_loss + modelchain.ModelChain.no_aoi_loss + modelchain.ModelChain.first_solar_spectral_loss + modelchain.ModelChain.sapm_spectral_loss + modelchain.ModelChain.no_spectral_loss + modelchain.ModelChain.sapm_temp + modelchain.ModelChain.pvwatts_losses + modelchain.ModelChain.no_extra_losses + +Inference methods +----------------- Methods that automatically determine which models should be used based on the information in the associated :py:class:`~pvsystem.PVSystem` object. @@ -332,17 +393,20 @@ on the information in the associated :py:class:`~pvsystem.PVSystem` object. .. autosummary:: :toctree: generated/ - pvlib.modelchain.ModelChain.infer_dc_model - pvlib.modelchain.ModelChain.infer_ac_model - pvlib.modelchain.ModelChain.infer_aoi_model - pvlib.modelchain.ModelChain.infer_spectral_model - pvlib.modelchain.ModelChain.infer_temp_model - pvlib.modelchain.ModelChain.infer_losses_model + modelchain.ModelChain.infer_dc_model + modelchain.ModelChain.infer_ac_model + modelchain.ModelChain.infer_aoi_model + modelchain.ModelChain.infer_spectral_model + modelchain.ModelChain.infer_temp_model + modelchain.ModelChain.infer_losses_model + +Functions +--------- Functions for power modeling. .. autosummary:: :toctree: generated/ - pvlib.modelchain.basic_chain - pvlib.modelchain.get_orientation + modelchain.basic_chain + modelchain.get_orientation diff --git a/docs/sphinx/source/classes.rst b/docs/sphinx/source/classes.rst deleted file mode 100644 index ccda434462..0000000000 --- a/docs/sphinx/source/classes.rst +++ /dev/null @@ -1,61 +0,0 @@ -.. _classes: - -Classes -======= - -pvlib-python provides a collection of classes -for users that prefer object-oriented programming. -These classes can help users keep track of data in a more organized way, -and can help to simplify the modeling process. -The classes do not add any functionality beyond the procedural code. -Most of the object methods are simple wrappers around the -corresponding procedural code. - -Location --------- -.. autoclass:: pvlib.location.Location - :members: - :undoc-members: - :show-inheritance: - :noindex: - -PVSystem --------- -.. autoclass:: pvlib.pvsystem.PVSystem - :members: - :undoc-members: - :show-inheritance: - :noindex: - -ModelChain ----------- -.. autoclass:: pvlib.modelchain.ModelChain - :members: - :undoc-members: - :show-inheritance: - :noindex: - -LocalizedPVSystem ------------------ -.. autoclass:: pvlib.pvsystem.LocalizedPVSystem - :members: - :undoc-members: - :show-inheritance: - :noindex: - -SingleAxisTracker ------------------ -.. autoclass:: pvlib.tracking.SingleAxisTracker - :members: - :undoc-members: - :show-inheritance: - :noindex: - -LocalizedSingleAxisTracker --------------------------- -.. autoclass:: pvlib.tracking.LocalizedSingleAxisTracker - :members: - :undoc-members: - :show-inheritance: - :noindex: - diff --git a/docs/sphinx/source/modules.rst b/docs/sphinx/source/modules.rst deleted file mode 100644 index e0a23ea8ac..0000000000 --- a/docs/sphinx/source/modules.rst +++ /dev/null @@ -1,90 +0,0 @@ -Modules -======= - -atmosphere ------------------ - -.. automodule:: pvlib.atmosphere - :members: - :undoc-members: - :show-inheritance: - -clearsky ----------------- - -.. automodule:: pvlib.clearsky - :members: - :undoc-members: - :show-inheritance: - -forecast ----------------- - -.. automodule:: pvlib.forecast - :members: - :undoc-members: - :show-inheritance: - -irradiance ------------------ - -.. automodule:: pvlib.irradiance - :members: - :undoc-members: - :show-inheritance: - -location ---------------- - -.. automodule:: pvlib.location - :members: - :undoc-members: - :show-inheritance: - -modelchain ----------- - -.. automodule:: pvlib.modelchain - :members: - :undoc-members: - :show-inheritance: - -pvsystem ---------------- - -.. automodule:: pvlib.pvsystem - :members: - :undoc-members: - :show-inheritance: - -solarposition --------------------- - -.. automodule:: pvlib.solarposition - :members: - :undoc-members: - :show-inheritance: - -tmy --------------------- - -.. automodule:: pvlib.tmy - :members: - :undoc-members: - :show-inheritance: - -tracking --------------------- - -.. automodule:: pvlib.tracking - :members: - :undoc-members: - :show-inheritance: - -tools --------------------- - -.. automodule:: pvlib.tools - :members: - :undoc-members: - :show-inheritance: From 3dc53a4e87aaec8f3fc91a478db70608aa05aac2 Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Wed, 26 Oct 2016 15:09:16 -0700 Subject: [PATCH 6/7] remove cruft, add delta_t --- docs/sphinx/source/api.rst | 1 + docs/sphinx/source/index.rst | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/sphinx/source/api.rst b/docs/sphinx/source/api.rst index edaa1290f5..3da8646bfd 100644 --- a/docs/sphinx/source/api.rst +++ b/docs/sphinx/source/api.rst @@ -49,6 +49,7 @@ Additional functions for quantities closely related to solar position. solarposition.calc_time solarposition.pyephem_earthsun_distance solarposition.nrel_earthsun_distance + spa.calculate_deltat The spa module contains the implementation of the built-in NREL SPA algorithm. diff --git a/docs/sphinx/source/index.rst b/docs/sphinx/source/index.rst index ef8d147978..517bd9fe1d 100644 --- a/docs/sphinx/source/index.rst +++ b/docs/sphinx/source/index.rst @@ -63,8 +63,6 @@ of: Specific released versions of pvlib-python can be cited using their `Zenodo DOI `_. - modules - classes Contents ======== From b59c374f21c8f78c63a8caff3de1bb4b040da3ca Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Fri, 4 Nov 2016 15:14:45 -0700 Subject: [PATCH 7/7] add note to whatsnew --- docs/sphinx/source/whatsnew/v0.4.2.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/sphinx/source/whatsnew/v0.4.2.txt b/docs/sphinx/source/whatsnew/v0.4.2.txt index a9e30b5cfd..fe12d53ad6 100644 --- a/docs/sphinx/source/whatsnew/v0.4.2.txt +++ b/docs/sphinx/source/whatsnew/v0.4.2.txt @@ -39,6 +39,9 @@ Enhancements * Added more attributes to ModelChain, PVSystem, and Location printed representations. (:issue:`254`) * Added name attribute to ModelChain and PVSystem. (:issue:`254`) +* Restructured API section of the documentation so that there are + separate pages for each function, class, or method. (:issue:`258`) + Code Contributors ~~~~~~~~~~~~~~~~~