diff --git a/README.md b/README.md index 2c21f7e9..c96433db 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,12 @@ systems. It provides functions for quality control, filtering, and feature labeling and other tools supporting the analysis of PV system-level data. -Documentation is available at +PVAnalytics is available at [PyPI](https://pypi.org/project/pvanalytics/) +and can be installed using `pip`: + + pip install pvanalytics + +Documentation and example usage is available at [pvanalytics.readthedocs.io](https://pvanalytics.readthedocs.io). ## Library Overview @@ -18,14 +23,17 @@ Documentation is available at The functions provided by PVAnalytics are organized in modules based on their anticipated use. The structure/organization below is likely to change as use cases are identified and refined and as package -content evolves. The functions in `quality`, `filtering`, and -`features` will take a series of data and return a series of booleans. +content evolves. The functions in `quality` and +`features` take a series of data and return a series of booleans. +For more detailed descriptions, see our +[API Reference](https://pvanalytics.readthedocs.io/en/stable/api.html). + * `quality` contains submodules for different kinds of data quality checks. + * `data_shifts` contains quality checks for detecting and + isolating data shifts in PV time series data. * `irradiance` provides quality checks for irradiance - measurements. This will initially contain an implementation of the - QCRad algorithm, but any other quality tests for irradiance data - should be added here. + measurements. * `weather` has quality checks for weather data (for example tests for physically plausible values of temperature, wind speed, humidity, etc.) @@ -36,22 +44,15 @@ content evolves. The functions in `quality`, `filtering`, and * `time` quality checks related to time (e.g. timestamp spacing) * `util` general purpose quality functions. - Other quality checks such as detecting timestamp errors will also be - included in `quality`. -* `filtering` as the name implies, contains functions for data - filtering (e.g. day/night or solar position) * `features` contains submodules with different methods for identifying and labeling salient features. * `clipping` functions for labeling inverter clipping. * `clearsky` functions for identifying periods of clear sky conditions. + * `daytime` functions for for identifying periods of day and night. + * `orientation` functions for labeling data as corresponding to + a rotating solar tracker or a fixed tilt structure. + * `shading` functions for identifying shadows. * `system` identification of PV system characteristics from data (e.g. nameplate power, orientation, azimuth) -* `translate` contains functions for translating data to other - conditions (e.g. IV curve translators, temperature adjustment, - irradiance adjustment) * `metrics` contains functions for computing PV system-level metrics -* `fitting` contains submodules for different types of models that can - be fit to data (e.g. temperature models) -* `dataclasses` contains classes for normalizing data (e.g. an - `IVCurve` class) diff --git a/docs/index.rst b/docs/index.rst index 2e1489f7..911b1469 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,8 +9,11 @@ PVAnalytics PVAnalytics is a python library that supports analytics for PV systems. It provides functions for quality control, filtering, and feature labeling and other tools supporting the analysis of PV -system-level data. +system-level data. It can be used as a standalone analysis package +and as a data cleaning "front end" for other PV analysis packages. +PVAnalytics is free and open source under a +`permissive license `_. The source code for PVAnalytics is hosted on `github `_. @@ -40,8 +43,6 @@ library status. - :py:mod:`quality.util` general purpose quality functions (e.g. simple range checks). -- :py:mod:`filtering` as the name implies, contains functions for data - filtering. - :py:mod:`features` contains submodules with different methods for identifying and labeling salient features. @@ -59,15 +60,8 @@ library status. - :py:mod:`system` identification of PV system characteristics from data (e.g. nameplate power, tilt, azimuth) -- :py:mod:`translate` contains functions for translating data to other - conditions (e.g. IV curve translators, temperature adjustment, - irradiance adjustment) - :py:mod:`metrics` contains functions for computing PV system-level metrics (e.g. performance ratio) -- :py:mod:`fitting` contains submodules for different types of models that can - be fit to data (e.g. temperature models) -- :py:mod:`dataclasses` contains classes for normalizing data (e.g. an - ``IVCurve`` class) Dependencies ------------ @@ -80,8 +74,11 @@ It supports: and at minimum the two latest minor versions. - All minor versions of numpy released in the 24 months prior to the project, and at minimum the last three minor versions -- The latest release of `PVLib `_. +- The latest release of `pvlib `_. +Additionally, PVAnalytics relies on several other packages in the open +source scientific python ecosystem. For details on dependencies and versions, +see our `setup.py `_. Contents ======== diff --git a/docs/whatsnew/0.1.2.rst b/docs/whatsnew/0.1.2.rst index ddfb3bfe..d3c4c04f 100644 --- a/docs/whatsnew/0.1.2.rst +++ b/docs/whatsnew/0.1.2.rst @@ -3,6 +3,9 @@ 0.1.2 (TBD) ------------------------- +* Removed empty modules ``pvanalytics.filtering`` and ``pvanalytics.fitting`` + until the relevant functionality is added to the package. (:pull:`145`) + Enhancements ~~~~~~~~~~~~ * Detect data shifts in daily summed time series with @@ -57,3 +60,5 @@ Contributors ~~~~~~~~~~~~ * Kirsten Perry (:ghuser:`kperrynrel`) +* Cliff Hansen (:ghuser:`cwhanse`) +* Kevin Anderson (:ghuser:`kanderso-nrel`) diff --git a/pvanalytics/__init__.py b/pvanalytics/__init__.py index 432885d7..809eeb21 100644 --- a/pvanalytics/__init__.py +++ b/pvanalytics/__init__.py @@ -1,6 +1,4 @@ from pvanalytics import features # noqa: F401 -from pvanalytics import filtering # noqa: F401 -from pvanalytics import fitting # noqa: F401 from pvanalytics import metrics # noqa: F401 from pvanalytics import quality # noqa: F401 from pvanalytics import system # noqa: F401 diff --git a/pvanalytics/filtering.py b/pvanalytics/filtering.py deleted file mode 100644 index 94be3674..00000000 --- a/pvanalytics/filtering.py +++ /dev/null @@ -1 +0,0 @@ -"""Functions to aid with data filtering.""" diff --git a/pvanalytics/fitting/__init__.py b/pvanalytics/fitting/__init__.py deleted file mode 100644 index 6ec9e6b4..00000000 --- a/pvanalytics/fitting/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from pvanalytics.fitting import temperature # noqa: F401 diff --git a/pvanalytics/fitting/temperature.py b/pvanalytics/fitting/temperature.py deleted file mode 100644 index 0c63b7ae..00000000 --- a/pvanalytics/fitting/temperature.py +++ /dev/null @@ -1 +0,0 @@ -"""Functions for fitting temperature models."""