Closed AdamRJensen closed 2 years ago
It probably makes sense to follow the pvlib convention described here:
Note that, as with fixed-tilt arrays, the axis azimuth is determined as the angle clockwise from north. The azimuth of the terrain’s slope is also determined as an angle clockwise from north, pointing in the direction of the falling slope. So for example, a hillside that slopes down to the east has an azimuth of 90 degrees. The ground slope itself is always positive.
The parameters would then be:
Parameters
----------
slope_azimuth : float
direction of normal to slope on horizontal [degrees]
slope_tilt : float
tilt of normal to slope relative to vertical [degrees]
as defined by pvlib here
Currently, it is not possible to take into account a field tilt, which certainly would be a useful feature.
Two things are required to allow for accounting for ground tilt. First, the
generate_field_layout
function should be updated to include an option for specifying the ground tilt. This can either be done by specifying afield_tilt
andtilt_azimuth
, or by specifying a tilt angle in both the N-S and E-W directions. In addition to the current output of the X and Y matrices, the function would also return a Z matrix with the relative heights of the neighboring trackers.Second, the
two_axis_shading_fraction
function has to be adjusted such that the projection of the neighboring collectors onto the reference plane also takes into account the relative height differences. Specifically, thexoff
andyoff
arrays should be defined so they also take into account the z-axis.