Skip to content

N-S trackers with manual sky generation #596

@Lukas-dvonc

Description

@Lukas-dvonc

Hi,

I am using bifacial_radiance and leveraging the gendaylit2manual() function to generate skies based on the Perez All-Weather model. This approach works very well for fixed-tilt systems, since I can fully control the inputs (DNI, DHI, sun elevation, sun azimuth) and loop over timestamps (e.g., from a pandas DataFrame). This allows direct comparison with other simulation tools such as PVsyst on a per-timestep basis.

A simplified version of my workflow for fixed-tilt systems is:

for i, row in df_filt.iterrows():
dni = row['DNI']
dhi = row['DHI']
sunalt = row['ELEV']
sunaz = row['AZIM']
albedo = row['albedo']

mysky = demo.gendaylit2manual(
    dni=dni,
    dhi=dhi,
    sunalt=sunalt,
    sunaz=sunaz,
)

demo.setGround(albedo)
octfile = demo.makeOct(demo.getfilelist())

This workflow gives me full control over the sky definition and works as expected.


However, I am struggling to apply the same approach to single-axis (N-S) tracking systems.

From my understanding, the typical bifacial_radiance workflow for tracking relies on built-in functions (e.g., set1axis / gendaylit-based workflows), which internally handle sun position and tracking angles. This seems to conflict with the manual sky generation approach using gendaylit2manual().

My questions are:

  1. Is it possible to use gendaylit2manual() together with N-S tracking simulations in bifacial_radiance?
  2. If yes, what is the recommended workflow to:
    • define a custom sky per timestamp, and
    • correctly update tracker geometry (tilt/rotation) for each timestamp?
  3. If not, is there an alternative way to achieve full control over irradiance inputs (DNI/DHI) while still simulating tracking systems?

My goal is to run timestep-by-timestep simulations with externally provided meteo data and compare results directly with other tools.

Any guidance or example workflows would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions