Changelog#

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.2.4] - 2023-01-05#

Changed#

  • Removed Shapely instalation check and added specific import of the affinity module to avoid import errors when using Shapely 2.0 (see PR#40).

Testing#

  • Add python 3.11 to test matrix (see PR#38).

[0.2.3] - 2022-11-11#

It is now possible to export the unshaded area for further analysis. A GIF was added to the main landing page, and a reference to the MethodsX article was added.

Changed#

  • Added return_geometries parameter to the twoaxistracking.shaded_fraction(). When return_geometries is True, the function returns both the shaded fraction and a dictionary with the geometries of the unshaded area and the shading areas (see PR#33).

Added#

  • Reference to the published MethodsX article describing the package (see PR#31).

[0.2.2] - 2022-09-14#

This update includes a bug fix in the calculation of the maximum shading elevation and addition of a section on validation to the documentation.

Changed#

  • Fix bug in the calculation of the maximum shading elevation at high GCRs (see PR#28).

Added#

  • Button on the documentation website linking to GitHub (see PR#27).

  • Notebook on the validation of the annual shading fraction calculation (see PR#29).

Requirements#

  • Increased version of myst-nb and sphinx-book-theme in the [doc] optional requirements for building the documentation (see PR#29).

[0.2.1] - 2022-03-11#

Add pandas as a required dependency and fix the workflow file responsible for uploading the package to PyPI.

Requirements#

  • Added pandas to the list of required dependencies

[0.2.0] - 2022-03-11#

The code in the second release is a complete restructure in order for the code to be made into a package and available on PyPI.

Added#

  • Added automatic documentation using Sphinx and autosummary

  • Added __init__.py file

  • Documentation is now hosted at readthedocs

  • Tilted fields can now be simulated by specifyig the keywords slope_azimuth and slope_tilt (see PR#7).

  • The code now is able to differentiate between the active area and total area (see PR#11).

  • The class twoaxistracking.TrackerField has been added, which is now the recommended way for using the package and is sufficient for most use cases.

  • Added twoaxistracking.layout.max_shading_elevation() for calculating the maximum elevation for which shading can occur for a specific field layout and collector geoemtry.

  • Added twoaxistracking.shading.horizon_elevation_angle() for calculating the horizon angle caused by having a sloped field.

Changed#

  • Divide code into modules: shading, plotting, and layout

  • Changed the overall file structure to become a Python package

  • Changed names of notebooks

  • Change repository name from “two_axis_tracker_shading” to “twoaxistracking”

  • Changed naming of L_min to min_tracker_spacing

  • Changed naming of collector_area to total_collector_area

  • The field layout parameters are now required when using the twoaxistracking.generate_field_layout() function. The standard field layouts are only available through the twoaxistracking.TrackerField class.

Testing#

  • Linting using flake8 was added in PR#11

  • Test coverage was added in PR#14 and PR#16

[0.1.0] - 2022-01-25#

This was the first release, containing the main functions and notebooks.