diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 00000000..05750cd4 --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,33 @@ +name: Deploy Python Package + +on: + release: + types: [published] + +jobs: + deploy: + name: Deploy to PyPI + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.8' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build and publish + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + python setup.py sdist bdist_wheel + twine upload dist/* + - uses: actions/upload-artifact@v2 + with: + name: dist + path: | + dist/* diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml new file mode 100644 index 00000000..703954ab --- /dev/null +++ b/.github/workflows/pytest.yaml @@ -0,0 +1,35 @@ +name: pytest + +on: [pull_request, push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.6, 3.7, 3.8] + env: [ + '-r requirements.txt .[test]', + '-r requirements-min.txt .[test]', + '--upgrade --upgrade-strategy=eager .[test]' + ] + exclude: + - python-version: 3.7 + env: '-r requirements-min.txt .[test]' + - python-version: 3.8 + env: '-r requirements-min.txt .[test]' + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install ${{ matrix.env }} + run: | + python -m pip install --upgrade pip + pip install ${{ matrix.env }} + - name: Test with pytest ${{ matrix.env }} + run: | + pytest \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 61da7f55..00000000 --- a/.travis.yml +++ /dev/null @@ -1,52 +0,0 @@ -sudo: false - -language: python - -python: - - "3.6" - - "3.7" - - "3.8" - -# Test three environments: -# 1) "standard" dependencies with pinned versions from requirements.txt -# 2) "minimum" dependencies with pinned versions from requirements-min.txt -# (only on python 3.6) -# 3) 'pip install --upgrade --upgrade-strategy=eager .' to install upgraded -# dependencies from PyPi using version ranges defined within setup.py -env: - - REQ_ENV='-r requirements.txt .[test]' - - REQ_ENV='-r requirements-min.txt .[test]' - - REQ_ENV='--upgrade --upgrade-strategy=eager .[test]' # if changing this, change the deploy condition as well - - -# PyPI doesn't have wheels built for the minimum requirements (e.g. numpy 1.12) -# for newer python versions. Rather than try to get Travis to build them -# from source, prefer to restrict the minimum-reqs build to only py 3.6: -jobs: - exclude: - - python: 3.7 - env: REQ_ENV='-r requirements-min.txt .[test]' - - python: 3.8 - env: REQ_ENV='-r requirements-min.txt .[test]' - -install: - - pip install $REQ_ENV - -script: - - pytest - -# Deploy to pypi on the python 3.6 build with upgraded dependencies when -# a new version is tagged on github from the master branch -deploy: - provider: pypi - user: RdTools - password: - secure: GjzVQdzwnXUx+nJV5R7FdZRiI+6amQAklzS2rj0/i23B2QCh0qnnbIjcatodiglBhrH/i/ccNT6HVvYt21IDxux50VuGCSgvvX1I+QfBtDCV0Wt61j8Ms9C7Xbbdt/jXeI4KXQYDq118GJgWPQDfZPDo0okttwrRYNuYhTPYdJ7qmnn3pKOKwrDcjRNiO8dWv8tcY8bfzp7WEEhWhUqHbWGf3EprbVALuS7DF5BzoxKz6np869dTj/5j7BdCF19vscQnP1p8rM7H7J+0m6SNH9slbTE1Z/wfY+97906+zvHOU3rAC2q6NBKRArSIcWy/RsYQcdmuXpZPw7fk04whMZ3V7zojmtkeggTp7AbKlf7qmwKLkDGfNofztQNojNg171eLFSz3GLlYzraw8wLa1Zq8APjq/gG9TkqQkRZ0n73MuYTtZz2ARQZiuDWPJ8sjyoonp04FXRqTK+zKCaFvSaATEXMj4N9GY1yQawrNCOPodR42sz82aCIp/Yu5bvrP1YuMAHkYttzD0HScMRN/ebHethSdRc2S3x2yyX6r7B76lfcx1tS6vcbSVc6B8gg59cZk+82AlpbF7LxJnmenThfKp3cdiYAUI7oYo8+Bfp6ZI44UH8ODY8d4Lhx00o55ojAb7tiwJSWLio3NSC5LGagCwfJmiQPze1luPiKIqBM= - on: - tags: true - branch: master - python: 3.6 - condition: $REQ_ENV == '--upgrade --upgrade-strategy=eager .[test]' - distributions: "sdist bdist_wheel" - skip_cleanup: true - skip_existing: true diff --git a/README.md b/README.md index 9d99e2d8..b30c0bd2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ RdTools logo Master branch: -[![Build Status](https://travis-ci.org/NREL/rdtools.svg?branch=master)](https://travis-ci.org/NREL/rdtools) +[![Build Status](https://github.com/NREL/rdtools/workflows/pytest/badge.svg?branch=master)](https://github.com/NREL/rdtools/actions?query=branch%3Amaster) Development branch: -[![Build Status](https://travis-ci.org/NREL/rdtools.svg?branch=development)](https://travis-ci.org/NREL/rdtools) +[![Build Status](https://github.com/NREL/rdtools/workflows/pytest/badge.svg?branch=development)](https://github.com/NREL/rdtools/actions?query=branch%3Adevelopment) RdTools is an open-source library to support reproducible technical analysis of time series data from photovoltaic energy systems. The library aims to provide diff --git a/docs/degradation_and_soiling_example.ipynb b/docs/degradation_and_soiling_example.ipynb index edaf4116..eb3fc0c9 100644 --- a/docs/degradation_and_soiling_example.ipynb +++ b/docs/degradation_and_soiling_example.ipynb @@ -189,16 +189,6 @@ "execution_count": 5, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/mdecegli/opt/anaconda3/envs/release_test/lib/python3.7/site-packages/ipykernel_launcher.py:11: rdtoolsDeprecationWarning: The normalize_with_pvwatts function was deprecated in rdtools 2.0.0 and will be removed in 3.0.0. Use normalize_with_expected_power instead.\n", - " # This is added back by InteractiveShellApp.init_path()\n", - "/Users/mdecegli/Documents/GitHub/rdtools/rdtools/normalization.py:170: rdtoolsDeprecationWarning: The pvwatts_dc_power function was deprecated in rdtools 2.0.0 and will be removed in 3.0.0. Use normalize_with_expected_power instead.\n", - " power_dc = pvwatts_dc_power(**pvwatts_kws)\n" - ] - }, { "data": { "image/png": "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\n", @@ -731,18 +721,7 @@ "cell_type": "code", "execution_count": 18, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/mdecegli/opt/anaconda3/envs/release_test/lib/python3.7/site-packages/ipykernel_launcher.py:8: rdtoolsDeprecationWarning: The normalize_with_pvwatts function was deprecated in rdtools 2.0.0 and will be removed in 3.0.0. Use normalize_with_expected_power instead.\n", - " \n", - "/Users/mdecegli/Documents/GitHub/rdtools/rdtools/normalization.py:170: rdtoolsDeprecationWarning: The pvwatts_dc_power function was deprecated in rdtools 2.0.0 and will be removed in 3.0.0. Use normalize_with_expected_power instead.\n", - " power_dc = pvwatts_dc_power(**pvwatts_kws)\n" - ] - } - ], + "outputs": [], "source": [ "clearsky_pvwatts_kws = {\"poa_global\" : df.clearsky_poa,\n", " \"power_dc_rated\" : meta['power_dc_rated'],\n", @@ -888,7 +867,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.7.9" } }, "nbformat": 4, diff --git a/docs/sphinx/source/changelog.rst b/docs/sphinx/source/changelog.rst index f99652cd..0da6d96e 100644 --- a/docs/sphinx/source/changelog.rst +++ b/docs/sphinx/source/changelog.rst @@ -1,6 +1,7 @@ RdTools Change Log ================== +.. include:: changelog/v2.0.1.rst .. include:: changelog/v2.0.0.rst .. include:: changelog/pre_2.0.0.rst diff --git a/docs/sphinx/source/changelog/v2.0.1.rst b/docs/sphinx/source/changelog/v2.0.1.rst new file mode 100644 index 00000000..4f875c3c --- /dev/null +++ b/docs/sphinx/source/changelog/v2.0.1.rst @@ -0,0 +1,14 @@ +************************* +v2.0.1 (October 30, 2020) +************************* + +Deprecations +------------ +* The deprecation of :py:func:`~rdtools.normalization.pvwatts_dc_power` + and :py:func:`~rdtools.normalization.normalize_with_pvwatts` has been reversed. + (:pull:`227`) + +Contributors +------------ +* Mike Deceglie (:ghuser:`mdeceglie`) +* Kevin Anderson (:ghuser:`kanderso-nrel`) diff --git a/rdtools/normalization.py b/rdtools/normalization.py index fe9c3665..8f54ac55 100644 --- a/rdtools/normalization.py +++ b/rdtools/normalization.py @@ -7,10 +7,12 @@ import warnings from rdtools._deprecation import deprecated + class ConvergenceError(Exception): '''Rescale optimization did not converge''' pass + def normalize_with_expected_power(pv, power_expected, poa_global, pv_input='power'): ''' @@ -70,8 +72,6 @@ def normalize_with_expected_power(pv, power_expected, poa_global, return energy_normalized, insolation -@deprecated(since='2.0.0', removal='3.0.0', - alternative='normalize_with_expected_power') def pvwatts_dc_power(poa_global, power_dc_rated, temperature_cell=None, poa_global_ref=1000, temperature_cell_ref=25, gamma_pdc=None): @@ -120,8 +120,6 @@ def pvwatts_dc_power(poa_global, power_dc_rated, temperature_cell=None, return power_dc -@deprecated(since='2.0.0', removal='3.0.0', - alternative='normalize_with_expected_power') def normalize_with_pvwatts(energy, pvwatts_kws): ''' Normalize system AC energy output given measured poa_global and @@ -329,7 +327,7 @@ def _delta_index(series): # Length of each interval calculated by using 'int64' to convert to # nanoseconds. deltas = (series.index - series.index.shift(-1)).astype('int64') / \ - (10.0**9 * 3600.0) + (10.0**9 * 3600.0) return deltas, np.mean(deltas.dropna()) @@ -418,7 +416,7 @@ def _rmse(fact): return rmse guess = np.percentile(irrad.dropna(), 90) / \ - np.percentile(irrad_sim.dropna(), 90) + np.percentile(irrad_sim.dropna(), 90) min_result = minimize(_rmse, guess, method='Nelder-Mead') factor = min_result['x'][0] @@ -514,7 +512,7 @@ def energy_from_power(power, target_frequency=None, max_timedelta=None, power_ty # use the index frequency to determine the appropriate timescale if power_type == 'instantaneous': raise ValueError("power_type='instantaneous' is incompatible with single element " - "power. Use power_type='right-labeled'") + "power. Use power_type='right-labeled'") if target_frequency is None: if power.index.freq is None: raise ValueError('Could not determine period of input power') @@ -593,7 +591,7 @@ def _aggregate(time_series, target_frequency, max_timedelta, series_type): will be returned for that interval. series_type : {'right_labeled', 'instantaneous'} The labeling convention of time_series - + Returns ------- @@ -601,11 +599,11 @@ def _aggregate(time_series, target_frequency, max_timedelta, series_type): right-labeled aggregated time_series in _*hours per interval ''' - #series that has same index as desired output + # series that has same index as desired output output_dummy = time_series.resample(target_frequency, closed='right', label='right').sum() - + union_index = time_series.index.union(output_dummy.index) time_series = time_series.dropna() @@ -645,14 +643,14 @@ def _aggregate(time_series, target_frequency, max_timedelta, series_type): series_sum = pd.Series(data=series_sum, index=time_series.index[1:]) aggregated = series_sum.resample(target_frequency, - closed='right', - label='right').sum(min_count=1) + closed='right', + label='right').sum(min_count=1) return aggregated def _interpolate_series(time_series, target_index, max_timedelta=None, - warning_threshold=0.1): + warning_threshold=0.1): ''' Returns an interpolation of time_series onto target_index, NaN is returned for times associated with gaps in time_series longer than ``max_timedelta``. diff --git a/rdtools/test/normalization_pvwatts_test.py b/rdtools/test/normalization_pvwatts_test.py index 56071a3d..e67f581a 100644 --- a/rdtools/test/normalization_pvwatts_test.py +++ b/rdtools/test/normalization_pvwatts_test.py @@ -9,9 +9,6 @@ from rdtools.normalization import normalize_with_pvwatts from rdtools.normalization import pvwatts_dc_power -from conftest import fail_on_rdtools_version -from rdtools._deprecation import rdtoolsDeprecationWarning - class PVWattsNormalizationTestCase(unittest.TestCase): ''' Unit tests for energy normalization module. ''' @@ -61,14 +58,12 @@ def setUp(self): def tearDown(self): pass - @fail_on_rdtools_version('3.0.0') def test_pvwatts_dc_power(self): ''' Test PVWatts DC power caculation. ''' - with pytest.warns(rdtoolsDeprecationWarning): - dc_power = pvwatts_dc_power(self.poa_global, self.power, - temperature_cell=self.temp, - gamma_pdc=self.gamma_pdc) + dc_power = pvwatts_dc_power(self.poa_global, self.power, + temperature_cell=self.temp, + gamma_pdc=self.gamma_pdc) # Assert output has same frequency and length as input self.assertEqual(self.poa_global.index.freq, dc_power.index.freq) @@ -77,8 +72,6 @@ def test_pvwatts_dc_power(self): # Assert value of output Series is equal to value expected self.assertTrue((dc_power == 19.75).all()) - - @fail_on_rdtools_version('3.0.0') def test_normalization_with_pvw(self): ''' Test PVWatts normalization. ''' @@ -89,8 +82,7 @@ def test_normalization_with_pvw(self): 'gamma_pdc': self.gamma_pdc, } - with pytest.warns(rdtoolsDeprecationWarning): - corr_energy, insolation = normalize_with_pvwatts(self.energy, pvw_kws) + corr_energy, insolation = normalize_with_pvwatts(self.energy, pvw_kws) corr_energy = corr_energy.reindex(self.energy.index) # Test output is same frequency and length as energy @@ -105,16 +97,14 @@ def test_normalization_with_pvw(self): # Test expected behavior when energy has no explicit frequency self.energy.index.freq = None - with pytest.warns(rdtoolsDeprecationWarning): - corr_energy, insolation = normalize_with_pvwatts(self.energy, pvw_kws) + corr_energy, insolation = normalize_with_pvwatts(self.energy, pvw_kws) corr_energy = corr_energy.reindex(self.energy.index) self.assertTrue(np.isnan(corr_energy.iloc[0])) # first value should be nan self.assertTrue((corr_energy.iloc[1:] == 1.0).all()) # rest should be 1 # Test for valueError when energy frequency can't be inferred with self.assertRaises(ValueError): - with pytest.warns(rdtoolsDeprecationWarning): - corr_energy, insolation = normalize_with_pvwatts(self.irregular_timeseries, pvw_kws) + corr_energy, insolation = normalize_with_pvwatts(self.irregular_timeseries, pvw_kws) if __name__ == '__main__': diff --git a/rdtools/test/soiling_test.py b/rdtools/test/soiling_test.py index 9c7fa22b..1be4eb9e 100644 --- a/rdtools/test/soiling_test.py +++ b/rdtools/test/soiling_test.py @@ -285,7 +285,7 @@ def test_annual_soiling_ratios(multi_year_profiles): srr_profiles, insolation = multi_year_profiles result = annual_soiling_ratios(srr_profiles, insolation) - pd.testing.assert_frame_equal(result, expected) + pd.testing.assert_frame_equal(result, expected, check_dtype=False) def test_annual_soiling_ratios_confidence_interval(multi_year_profiles): @@ -298,7 +298,7 @@ def test_annual_soiling_ratios_confidence_interval(multi_year_profiles): srr_profiles, insolation = multi_year_profiles result = annual_soiling_ratios(srr_profiles, insolation, confidence_level=95) - pd.testing.assert_frame_equal(result, expected) + pd.testing.assert_frame_equal(result, expected, check_dtype=False) def test_annual_soiling_ratios_warning(multi_year_profiles):