{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Intro tutorial\n", "\n", "This document explains how to use the package ``twoaxistracking`` for calculating self-shading of two-axis tracking solar collectors.\n", "\n", "Import necessary packages:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from shapely import geometry\n", "import pvlib\n", "import twoaxistracking" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Definition of collector geometry\n", "\n", "The first step is to define the collector geometry. Two geometries have to be created, one which represents the total collector area and one or more geometries representing the active collector area. The geometries can be created using the `shapely` library, e.g.:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": "", "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# geometry.box(minx, miny, maxx, maxy)\n", "total_collector_geometry = geometry.box(-1, -0.5, 1, 0.5)\n", "\n", "total_collector_geometry" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The active collector geometry can be made up of one or more polygons. In this example, the collector has eight active regions:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": "", "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "active_collector_geometry = geometry.MultiPolygon([\n", " geometry.box(-0.95, -0.45, -0.55, -0.05),\n", " geometry.box(-0.45, -0.45, -0.05, -0.05),\n", " geometry.box(0.05, -0.45, 0.45, -0.05),\n", " geometry.box(0.55, -0.45, 0.95, -0.05),\n", " geometry.box(-0.95, 0.05, -0.55, 0.45),\n", " geometry.box(-0.45, 0.05, -0.05, 0.45),\n", " geometry.box(0.05, 0.05, 0.45, 0.45),\n", " geometry.box(0.55, 0.05, 0.95, 0.45)])\n", "\n", "active_collector_geometry" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The collector geometries can be defined as any arbitrary polygon using the `shapely` library. However, it is important to note that the `total_collector_geometry` should completely enclose all of the active areas. Circular geometries can be created by: ``shapely.geometry.Point(x_0, y_0).buffer(radius)`` and are approximated as 64 sided polygons.\n", "\n", "Note, any unit of length can be used, though it is important to be consistent! Also, the absolute dimensions are generally not of importance, as the GCR parameter scales the distance between collectors according to the total collector area." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## Specification of collector field layout" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once the collector geometry has been determined, the field layout can be defined. As previously mentioned, the ground coverage ratio (GCR), which is the ratio of the collector are to the ground area, determines how closely the trackers are arranged.\n", "\n", "### Neighbor order\n", "Another required input is the ``neighbor_order``, which determines how many collectors to take into account. For a neighbor order of one the immediate 8 neighboring collectors are considered, whereas for a neighbor order of two, 24 shading collectors are considered. It is recommended to use at least a neighbor order of 2, although the computation time increases dramtically with increasing neighbor order.\n", "\n", "### Standard vs. custom field layouts\n", "Any regularly-spaced field layout can be specified using the keywords: `aspect ratio`, `offset`, `rotation`, and `gcr`. For a description of the layout parameters, see the paper by [Cumpston and Pye (2014)](https://doi.org/10.1016/j.solener.2014.06.012) or check out the function documentation.\n", "\n", "\n", "Furthermore, it is possible to choose from four different standard field layouts: `square`, `diagonal`, `hexagon_e_w`, and `hexagon_n_s`. These four layouts corresponds to a fixed set of aspect ratios, offsets, and rotations, and only require the user to specify the GCR.\n", "\n", "In the example below, a tracker field is created with a neighbor order of two, a ground cover ratio of 0.2, and a square field layout." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "tracker_field = twoaxistracking.TrackerField(\n", " total_collector_geometry,\n", " active_collector_geometry,\n", " neighbor_order=2,\n", " gcr=0.2,\n", " layout_type='square'\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "The field layout can be visualized by the following command:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = tracker_field.plot_field_layout() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## Shading calculation\n", "\n", "The final step is to calculate the shaded fraction for the desired solar positions. The typical use case is to simulate shading for a specified period with a fixed interval, e.g., for a yearly simulation with a time-step of 15-minutes.\n", "\n", "To calculate the solar position, the discrete time-steps are first determined. The below code cell demonstrates how to generate a series of timestamps for one year with a 15-minute interval." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DatetimeIndex(['2019-01-01 00:00:00+00:00', '2019-01-01 00:15:00+00:00',\n", " '2019-01-01 00:30:00+00:00', '2019-01-01 00:45:00+00:00',\n", " '2019-01-01 01:00:00+00:00'],\n", " dtype='datetime64[ns, UTC]', freq='15T')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "times = pd.date_range(\n", " start='2019-1-1 00:00',\n", " end='2019-12-31 23:59',\n", " freq='15min',\n", " tz='UTC')\n", "\n", "times[:5] # Show the first 5 timestamps" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "It is also important to set the timezone correctly, as it affects the calculation of the solar position. It is recommended to consistently use UTC to avoid mix-ups." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "To calculate the solar position for the timestamps, it is recommended to use the [``pvlib`` library](http://pvlib-python.readthedocs.io/). A convenient way to do this is to first create a location object for the location of interest. In this example, a two-axis tracker field in Lendemarke, Denmark is simulated:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "location = pvlib.location.Location(latitude=54.9788, longitude=12.2666, altitude=100, name='Lendemarke, Denmark')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The location object can then be used to calculate the solar position for the timestamps:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
apparent_zenithzenithapparent_elevationelevationazimuthequation_of_time
2019-01-01 00:00:00+00:00146.937480146.937480-56.937480-56.93748019.592191-3.195874
2019-01-01 00:15:00+00:00146.108706146.108706-56.108706-56.10870625.665116-3.200828
2019-01-01 00:30:00+00:00145.078546145.078546-55.078546-55.07854631.493630-3.205782
2019-01-01 00:45:00+00:00143.866070143.866070-53.866070-53.86607037.053369-3.210734
2019-01-01 01:00:00+00:00142.491152142.491152-52.491152-52.49115242.334286-3.215687
\n", "
" ], "text/plain": [ " apparent_zenith zenith apparent_elevation \\\n", "2019-01-01 00:00:00+00:00 146.937480 146.937480 -56.937480 \n", "2019-01-01 00:15:00+00:00 146.108706 146.108706 -56.108706 \n", "2019-01-01 00:30:00+00:00 145.078546 145.078546 -55.078546 \n", "2019-01-01 00:45:00+00:00 143.866070 143.866070 -53.866070 \n", "2019-01-01 01:00:00+00:00 142.491152 142.491152 -52.491152 \n", "\n", " elevation azimuth equation_of_time \n", "2019-01-01 00:00:00+00:00 -56.937480 19.592191 -3.195874 \n", "2019-01-01 00:15:00+00:00 -56.108706 25.665116 -3.200828 \n", "2019-01-01 00:30:00+00:00 -55.078546 31.493630 -3.205782 \n", "2019-01-01 00:45:00+00:00 -53.866070 37.053369 -3.210734 \n", "2019-01-01 01:00:00+00:00 -52.491152 42.334286 -3.215687 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = location.get_solarposition(times)\n", "\n", "df.head() # Show the first 5 lines" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Now that the solar positions have been determined, the shaded fraction can be calculated by passing the solar positions to the function ``get_shaded_fraction``:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "df['shaded_fraction'] = tracker_field.get_shaded_fraction(df['elevation'], df['azimuth'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualize the shading fraction\n", "\n", "Once the shaded fraction has been calculated it can be used for solar power calculations.\n", "\n", "As an example, the shaded fraction is shown for one day:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "axes = df.loc['2019-06-28':'2019-06-28', ['shaded_fraction', 'elevation']].plot(subplots=True, ylim=[0,None])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how the shaded fraction is zero (unshaded) throughout most of the day, with the exception of some shading in the morning when the solar elevation angle is low.\n", "\n", "
\n", "\n", "Shading is also seasonal dependent, which can be seen from the plot of the average daily shading fraction below:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 0.4737615916403633)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = df.loc[df['elevation']>0, 'shaded_fraction'].resample('1d').mean().plot()\n", "ax.set_ylabel('Daily average shading fraction')\n", "ax.set_ylim(0, None)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.11" } }, "nbformat": 4, "nbformat_minor": 4 }