From 53651cd93fe9f5fa2ce554e2f299ba5a0381eda7 Mon Sep 17 00:00:00 2001 From: tobin-ford Date: Tue, 13 Aug 2024 11:17:34 -0600 Subject: [PATCH] workflow and changelog update --- .github/workflows/pytest.yml | 2 +- .../pvdeg.geospatial.apply_bounding_box.rst | 6 ++ ...patial.elevation_stochastic_downselect.rst | 6 ++ .../pvdeg.geospatial.feature_downselect.rst | 6 ++ ...eg.geospatial.identify_mountains_radii.rst | 6 ++ ....geospatial.identify_mountains_weights.rst | 6 ++ .../pvdeg.geospatial.interpolate_analysis.rst | 6 ++ .../pvdeg.geospatial.meta_KDtree.rst | 6 ++ .../pvdeg.geospatial.plot_sparse_analysis.rst | 6 ++ docs/source/_autosummary/pvdeg.geospatial.rst | 64 +++++++++++++++++++ .../pvdeg.utilities.compare_templates.rst | 6 ++ .../pvdeg.utilities.get_state_bbox.rst | 6 ++ docs/source/_autosummary/pvdeg.utilities.rst | 49 ++++++++++---- .../pvdeg.weather.get_anywhere.rst | 6 ++ docs/source/_autosummary/pvdeg.weather.rst | 8 +++ docs/source/whatsnew/index.rst | 2 - docs/source/whatsnew/releases/v0.3.4.rst | 32 ---------- docs/source/whatsnew/releases/v0.3.5.rst | 11 ---- docs/source/whatsnew/releases/v0.4.0.rst | 34 +++++++++- 19 files changed, 208 insertions(+), 60 deletions(-) create mode 100644 docs/source/_autosummary/pvdeg.geospatial.apply_bounding_box.rst create mode 100644 docs/source/_autosummary/pvdeg.geospatial.elevation_stochastic_downselect.rst create mode 100644 docs/source/_autosummary/pvdeg.geospatial.feature_downselect.rst create mode 100644 docs/source/_autosummary/pvdeg.geospatial.identify_mountains_radii.rst create mode 100644 docs/source/_autosummary/pvdeg.geospatial.identify_mountains_weights.rst create mode 100644 docs/source/_autosummary/pvdeg.geospatial.interpolate_analysis.rst create mode 100644 docs/source/_autosummary/pvdeg.geospatial.meta_KDtree.rst create mode 100644 docs/source/_autosummary/pvdeg.geospatial.plot_sparse_analysis.rst create mode 100644 docs/source/_autosummary/pvdeg.utilities.compare_templates.rst create mode 100644 docs/source/_autosummary/pvdeg.utilities.get_state_bbox.rst create mode 100644 docs/source/_autosummary/pvdeg.weather.get_anywhere.rst delete mode 100644 docs/source/whatsnew/releases/v0.3.4.rst delete mode 100644 docs/source/whatsnew/releases/v0.3.5.rst diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 047a47d2..ef00750b 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.9", "3.10", "3.11", "3.12"] env: [ '--upgrade --upgrade-strategy=eager .[test]' ] diff --git a/docs/source/_autosummary/pvdeg.geospatial.apply_bounding_box.rst b/docs/source/_autosummary/pvdeg.geospatial.apply_bounding_box.rst new file mode 100644 index 00000000..0a9e92bf --- /dev/null +++ b/docs/source/_autosummary/pvdeg.geospatial.apply_bounding_box.rst @@ -0,0 +1,6 @@ +pvdeg.geospatial.apply\_bounding\_box +===================================== + +.. currentmodule:: pvdeg.geospatial + +.. autofunction:: apply_bounding_box \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.geospatial.elevation_stochastic_downselect.rst b/docs/source/_autosummary/pvdeg.geospatial.elevation_stochastic_downselect.rst new file mode 100644 index 00000000..79caee00 --- /dev/null +++ b/docs/source/_autosummary/pvdeg.geospatial.elevation_stochastic_downselect.rst @@ -0,0 +1,6 @@ +pvdeg.geospatial.elevation\_stochastic\_downselect +================================================== + +.. currentmodule:: pvdeg.geospatial + +.. autofunction:: elevation_stochastic_downselect \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.geospatial.feature_downselect.rst b/docs/source/_autosummary/pvdeg.geospatial.feature_downselect.rst new file mode 100644 index 00000000..5f28d234 --- /dev/null +++ b/docs/source/_autosummary/pvdeg.geospatial.feature_downselect.rst @@ -0,0 +1,6 @@ +pvdeg.geospatial.feature\_downselect +==================================== + +.. currentmodule:: pvdeg.geospatial + +.. autofunction:: feature_downselect \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.geospatial.identify_mountains_radii.rst b/docs/source/_autosummary/pvdeg.geospatial.identify_mountains_radii.rst new file mode 100644 index 00000000..397e3e00 --- /dev/null +++ b/docs/source/_autosummary/pvdeg.geospatial.identify_mountains_radii.rst @@ -0,0 +1,6 @@ +pvdeg.geospatial.identify\_mountains\_radii +=========================================== + +.. currentmodule:: pvdeg.geospatial + +.. autofunction:: identify_mountains_radii \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.geospatial.identify_mountains_weights.rst b/docs/source/_autosummary/pvdeg.geospatial.identify_mountains_weights.rst new file mode 100644 index 00000000..fd9e0e7e --- /dev/null +++ b/docs/source/_autosummary/pvdeg.geospatial.identify_mountains_weights.rst @@ -0,0 +1,6 @@ +pvdeg.geospatial.identify\_mountains\_weights +============================================= + +.. currentmodule:: pvdeg.geospatial + +.. autofunction:: identify_mountains_weights \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.geospatial.interpolate_analysis.rst b/docs/source/_autosummary/pvdeg.geospatial.interpolate_analysis.rst new file mode 100644 index 00000000..5502608f --- /dev/null +++ b/docs/source/_autosummary/pvdeg.geospatial.interpolate_analysis.rst @@ -0,0 +1,6 @@ +pvdeg.geospatial.interpolate\_analysis +====================================== + +.. currentmodule:: pvdeg.geospatial + +.. autofunction:: interpolate_analysis \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.geospatial.meta_KDtree.rst b/docs/source/_autosummary/pvdeg.geospatial.meta_KDtree.rst new file mode 100644 index 00000000..06c31fee --- /dev/null +++ b/docs/source/_autosummary/pvdeg.geospatial.meta_KDtree.rst @@ -0,0 +1,6 @@ +pvdeg.geospatial.meta\_KDtree +============================= + +.. currentmodule:: pvdeg.geospatial + +.. autofunction:: meta_KDtree \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.geospatial.plot_sparse_analysis.rst b/docs/source/_autosummary/pvdeg.geospatial.plot_sparse_analysis.rst new file mode 100644 index 00000000..76864d84 --- /dev/null +++ b/docs/source/_autosummary/pvdeg.geospatial.plot_sparse_analysis.rst @@ -0,0 +1,6 @@ +pvdeg.geospatial.plot\_sparse\_analysis +======================================= + +.. currentmodule:: pvdeg.geospatial + +.. autofunction:: plot_sparse_analysis \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.geospatial.rst b/docs/source/_autosummary/pvdeg.geospatial.rst index c50d18ee..4524da2d 100644 --- a/docs/source/_autosummary/pvdeg.geospatial.rst +++ b/docs/source/_autosummary/pvdeg.geospatial.rst @@ -20,12 +20,20 @@ pvdeg.geospatial pvdeg.geospatial.analysis + pvdeg.geospatial.apply_bounding_box pvdeg.geospatial.auto_template pvdeg.geospatial.calc_block pvdeg.geospatial.calc_gid + pvdeg.geospatial.elevation_stochastic_downselect + pvdeg.geospatial.feature_downselect + pvdeg.geospatial.identify_mountains_radii + pvdeg.geospatial.identify_mountains_weights + pvdeg.geospatial.interpolate_analysis + pvdeg.geospatial.meta_KDtree pvdeg.geospatial.output_template pvdeg.geospatial.plot_Europe pvdeg.geospatial.plot_USA + pvdeg.geospatial.plot_sparse_analysis pvdeg.geospatial.start_dask pvdeg.geospatial.template_parameters pvdeg.geospatial.zero_template @@ -51,6 +59,13 @@ pvdeg.geospatial .. minigallery:: pvdeg.geospatial.analysis :add-heading: + .. autofunction:: apply_bounding_box + + .. _sphx_glr_backref_pvdeg.geospatial.apply_bounding_box: + + .. minigallery:: pvdeg.geospatial.apply_bounding_box + :add-heading: + .. autofunction:: auto_template .. _sphx_glr_backref_pvdeg.geospatial.auto_template: @@ -72,6 +87,48 @@ pvdeg.geospatial .. minigallery:: pvdeg.geospatial.calc_gid :add-heading: + .. autofunction:: elevation_stochastic_downselect + + .. _sphx_glr_backref_pvdeg.geospatial.elevation_stochastic_downselect: + + .. minigallery:: pvdeg.geospatial.elevation_stochastic_downselect + :add-heading: + + .. autofunction:: feature_downselect + + .. _sphx_glr_backref_pvdeg.geospatial.feature_downselect: + + .. minigallery:: pvdeg.geospatial.feature_downselect + :add-heading: + + .. autofunction:: identify_mountains_radii + + .. _sphx_glr_backref_pvdeg.geospatial.identify_mountains_radii: + + .. minigallery:: pvdeg.geospatial.identify_mountains_radii + :add-heading: + + .. autofunction:: identify_mountains_weights + + .. _sphx_glr_backref_pvdeg.geospatial.identify_mountains_weights: + + .. minigallery:: pvdeg.geospatial.identify_mountains_weights + :add-heading: + + .. autofunction:: interpolate_analysis + + .. _sphx_glr_backref_pvdeg.geospatial.interpolate_analysis: + + .. minigallery:: pvdeg.geospatial.interpolate_analysis + :add-heading: + + .. autofunction:: meta_KDtree + + .. _sphx_glr_backref_pvdeg.geospatial.meta_KDtree: + + .. minigallery:: pvdeg.geospatial.meta_KDtree + :add-heading: + .. autofunction:: output_template .. _sphx_glr_backref_pvdeg.geospatial.output_template: @@ -93,6 +150,13 @@ pvdeg.geospatial .. minigallery:: pvdeg.geospatial.plot_USA :add-heading: + .. autofunction:: plot_sparse_analysis + + .. _sphx_glr_backref_pvdeg.geospatial.plot_sparse_analysis: + + .. minigallery:: pvdeg.geospatial.plot_sparse_analysis + :add-heading: + .. autofunction:: start_dask .. _sphx_glr_backref_pvdeg.geospatial.start_dask: diff --git a/docs/source/_autosummary/pvdeg.utilities.compare_templates.rst b/docs/source/_autosummary/pvdeg.utilities.compare_templates.rst new file mode 100644 index 00000000..1d60245e --- /dev/null +++ b/docs/source/_autosummary/pvdeg.utilities.compare_templates.rst @@ -0,0 +1,6 @@ +pvdeg.utilities.compare\_templates +================================== + +.. currentmodule:: pvdeg.utilities + +.. autofunction:: compare_templates \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.utilities.get_state_bbox.rst b/docs/source/_autosummary/pvdeg.utilities.get_state_bbox.rst new file mode 100644 index 00000000..fd9ca114 --- /dev/null +++ b/docs/source/_autosummary/pvdeg.utilities.get_state_bbox.rst @@ -0,0 +1,6 @@ +pvdeg.utilities.get\_state\_bbox +================================ + +.. currentmodule:: pvdeg.utilities + +.. autofunction:: get_state_bbox \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.utilities.rst b/docs/source/_autosummary/pvdeg.utilities.rst index ffc2fa89..fe0b3402 100644 --- a/docs/source/_autosummary/pvdeg.utilities.rst +++ b/docs/source/_autosummary/pvdeg.utilities.rst @@ -6,10 +6,10 @@ pvdeg.utilities .. automodule:: pvdeg.utilities - .. this is crazy - - + .. this is crazy + + Function Overview ----------------- @@ -18,11 +18,13 @@ pvdeg.utilities :toctree: :nosignatures: - + + pvdeg.utilities.compare_templates pvdeg.utilities.convert_tmy pvdeg.utilities.fix_metadata pvdeg.utilities.geospatial_from_csv pvdeg.utilities.get_kinetics + pvdeg.utilities.get_state_bbox pvdeg.utilities.gid_downsampling pvdeg.utilities.meta_as_dict pvdeg.utilities.new_id @@ -35,19 +37,26 @@ pvdeg.utilities pvdeg.utilities.ts_gid_df pvdeg.utilities.write_gids + + + + .. this is crazy + + - - .. this is crazy - - - - -.. +.. Functions --------- + + + .. autofunction:: compare_templates + .. _sphx_glr_backref_pvdeg.utilities.compare_templates: + + .. minigallery:: pvdeg.utilities.compare_templates + :add-heading: .. autofunction:: convert_tmy @@ -77,6 +86,13 @@ pvdeg.utilities .. minigallery:: pvdeg.utilities.get_kinetics :add-heading: + .. autofunction:: get_state_bbox + + .. _sphx_glr_backref_pvdeg.utilities.get_state_bbox: + + .. minigallery:: pvdeg.utilities.get_state_bbox + :add-heading: + .. autofunction:: gid_downsampling .. _sphx_glr_backref_pvdeg.utilities.gid_downsampling: @@ -153,4 +169,13 @@ pvdeg.utilities .. minigallery:: pvdeg.utilities.write_gids :add-heading: - :add-heading: + + + + + + + + + + \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.weather.get_anywhere.rst b/docs/source/_autosummary/pvdeg.weather.get_anywhere.rst new file mode 100644 index 00000000..e8fb75c4 --- /dev/null +++ b/docs/source/_autosummary/pvdeg.weather.get_anywhere.rst @@ -0,0 +1,6 @@ +pvdeg.weather.get\_anywhere +=========================== + +.. currentmodule:: pvdeg.weather + +.. autofunction:: get_anywhere \ No newline at end of file diff --git a/docs/source/_autosummary/pvdeg.weather.rst b/docs/source/_autosummary/pvdeg.weather.rst index 72a35669..1dd72fc9 100644 --- a/docs/source/_autosummary/pvdeg.weather.rst +++ b/docs/source/_autosummary/pvdeg.weather.rst @@ -23,6 +23,7 @@ pvdeg.weather pvdeg.weather.get pvdeg.weather.get_NSRDB pvdeg.weather.get_NSRDB_fnames + pvdeg.weather.get_anywhere pvdeg.weather.get_satellite pvdeg.weather.ini_h5_geospatial pvdeg.weather.is_leap_year @@ -75,6 +76,13 @@ pvdeg.weather .. minigallery:: pvdeg.weather.get_NSRDB_fnames :add-heading: + .. autofunction:: get_anywhere + + .. _sphx_glr_backref_pvdeg.weather.get_anywhere: + + .. minigallery:: pvdeg.weather.get_anywhere + :add-heading: + .. autofunction:: get_satellite .. _sphx_glr_backref_pvdeg.weather.get_satellite: diff --git a/docs/source/whatsnew/index.rst b/docs/source/whatsnew/index.rst index 37fe565d..65575666 100644 --- a/docs/source/whatsnew/index.rst +++ b/docs/source/whatsnew/index.rst @@ -6,8 +6,6 @@ PVDegradationTools (pvdeg) change log: .. include:: releases/v0.4.0.rst -.. include:: releases/v0.3.5.rst -.. include:: releases/v0.3.4.rst .. include:: releases/v0.3.3.rst .. include:: releases/v0.3.2.rst .. include:: releases/v0.3.1.rst diff --git a/docs/source/whatsnew/releases/v0.3.4.rst b/docs/source/whatsnew/releases/v0.3.4.rst deleted file mode 100644 index a54796df..00000000 --- a/docs/source/whatsnew/releases/v0.3.4.rst +++ /dev/null @@ -1,32 +0,0 @@ -v0.3.4 (2024-07-26) -======================= - -Enhancements ------------- -* Unified Cell and Module Temperature function. See: `temperature.temperature`` -* Added support for pvlib temperature models. `see pvlib docs ` -* Overhauled scenario class for pv system analysis. Scenario object for single point analysis and GeospatialScenario object for geospatial analysis. See: `scenario.Scenario` and `scenario.GeospatialScenario` -* Created Scenario tutorials to showcase new scenario functionality. -* Added a number of geospatial downselection functions. Find coordinates near mountains, rivers, coastlines and lakes from NSRDB data. See: `geospatial.identify_mountains_weights`, `geospatial.identify_mountains_radii`, `geospatial.feature_downselect` -* Added geospatial bounding box support. Clip unwanted data with rectangular bounding boxes. See: `geospatial.apply_bounding_box` -* Added stochastic non-uniform density downselection function to preferentially select for mountains (higher point density with changes in elevation, lower density when flatter.) See: `geospatial.elevation_stochastic_downselection` -* Updated non-uniform downselection with thresholding and non-linear normalization (support for logarithmic and exponential normalization) See: `geospatial.identify_mountains_weights` -* Added Scenario and GeospatialScenario methods for quick plotting and downselection. See: `GeospatialScenario.plot_coords`, `GeospatialScenario.plot_meta_classification` `GeospatialScenario.plot_USA`, `Scenario.extract`, `Scenario.plot`, `GeospatialScenario.classify_mountain_weights`, `GeospatialScenario.classify_mountain_radii`, `GeospatialScenario.downselect_elevation_stochastic` - -Bug Fixes ---------- -* Fix incorrect keyword arguments in `pvdeg.standards.T98_estimate` -* Fixed ``pvdeg.temperature.module`` and ``pvdeg.temperature.cell`` docstring return type. Correct return type ``pd.Series`` - -Dependencies ------------- -* Restrict the following dependencies to fix unit testing -- numpy==1.26.4 -- pvlib==0.10.3 -- scipy<1.14.0 - - -Contributors -~~~~~~~~~~~~ -* Tobin Ford (:ghuser:`tobin-ford`)v0.3.4 (2024-07-26) -======================= diff --git a/docs/source/whatsnew/releases/v0.3.5.rst b/docs/source/whatsnew/releases/v0.3.5.rst deleted file mode 100644 index f307ec05..00000000 --- a/docs/source/whatsnew/releases/v0.3.5.rst +++ /dev/null @@ -1,11 +0,0 @@ -v0.3.5 (2024-07-23) -======================= - -Enhancements ---------- -* Implemented testing for geospatial analysis - -Contributors -~~~~~~~~~~~~ -* Tobin Ford (:ghuser:`tobin-ford`) - diff --git a/docs/source/whatsnew/releases/v0.4.0.rst b/docs/source/whatsnew/releases/v0.4.0.rst index 6dd2213a..7edc8143 100644 --- a/docs/source/whatsnew/releases/v0.4.0.rst +++ b/docs/source/whatsnew/releases/v0.4.0.rst @@ -3,23 +3,53 @@ v0.4.0 (2024-07-29) Enhancements --------- +Scenarios + +* Unified Cell and Module Temperature function. See: ``temperature.temperature`` +* Added support for pvlib temperature models. ``see pvlib docs `` +* Overhauled scenario class for pv system analysis. Scenario object for single point analysis and GeospatialScenario object for geospatial analysis. See: ``scenario.Scenario`` and ``scenario.GeospatialScenario`` +* Created Scenario tutorials to showcase new scenario functionality. +* Added a number of geospatial downselection functions. Find coordinates near mountains, rivers, coastlines and lakes from NSRDB data. See: ``geospatial.identify_mountains_weights``, ``geospatial.identify_mountains_radii``, ``geospatial.feature_downselect`` +* Added geospatial bounding box support. Clip unwanted data with rectangular bounding boxes. See: ``geospatial.apply_bounding_box`` +* Added stochastic non-uniform density downselection function to preferentially select for mountains (higher point density with changes in elevation, lower density when flatter.) See: ``geospatial.elevation_stochastic_downselection`` +* Updated non-uniform downselection with thresholding and non-linear normalization (support for logarithmic and exponential normalization) See: ``geospatial.identify_mountains_weights`` +* Added Scenario and GeospatialScenario methods for quick plotting and downselection. See: ``GeospatialScenario.plot_coords``, ``GeospatialScenario.plot_meta_classification``, ``GeospatialScenario.plot_USA``, ``Scenario.extract``, ``Scenario.plot``, ``GeospatialScenario.classify_mountain_weights``, ``GeospatialScenario.classify_mountain_radii``, ``GeospatialScenario.downselect_elevation_stochastic`` + +Geospatial Improvements + * Autotemplating system for geospatial analysis using `pvdeg.geospatial.autotemplate` * New module `pvdeg.decorators` that contains `pvdeg` specific decorator functions. * Implemented `geospatial_result_type` decorator to update functions and preform runtime introspection to determine if a function is autotemplate-able. * `Geospatial Templates.ipynb` notebook to showcase new and old templating functionality for users. +* Implemented testing for geospatial analysis + +Symbolic Evaluation + * symbolic equation solver for simple models. * notebook tutorial `Custom-Functions-Nopython.ipynb` +IEC-63126 Tool + +* Added `GeospatialScenario` to standoff tool for regional analyses. +* Increased plotting functionality within tool. + Bug Fixes --------- * Added type hinting to many `pvdeg` functions +* Fixed broken keywords in many `pvdeg.standards` function calls * Replaced deprecated numba `jit(nopython=True)` calls with `njit` -* Fixed whatsnew `v0.3.5` author +* Fix incorrect keyword arguments in `pvdeg.standards.T98_estimate` +* Fixed ``pvdeg.temperature.module`` and ``pvdeg.temperature.cell`` docstring return type. Correct return type ``pd.Series`` -Requirements +Dependencies ------------ * `sympy` package required for `pvdeg.symbolic` functions and notebook. Not added to dependency list. +* Restrict the following dependencies to fix unit testing +* ``numpy==1.26.4`` +* ``pvlib==0.10.3`` +* ``scipy<1.14.0`` Contributors ~~~~~~~~~~~~ * Tobin Ford (:ghuser:`tobin-ford`) +* Mike Kempe (:ghuser:`MDKempe`) \ No newline at end of file