Skip to content

Add support for diffuse irradiance components and component-specific IAM to ModelChain #2846

Description

@cbcrespo

I am currently at the final stage of my GSoC (#2750). After expanding support for diffuse components in transposition functions and adding support for diffuse component-specific IAM in the Array and PVSystem classes, the remaining step is to integrate this functionality into ModelChain.

Here are some points I think are worth discussing:

Default behavior

The existing behavior applied fd to all diffuse irradiance. fd was essentially always 1, meaning no optical losses were accounted for for diffuse irradiance.

What should the new default behavior be?

marion_diffuse is a good candidate for a default diffuse IAM model, since it is the only model that supports all three diffuse components: sky diffuse, horizon, and ground. (martin_ruiz_diffuse and schlick_diffuse support sky ground only).

As for marion_diffuse's model parameter (i.e. the direct IAM model used by the Marion integration method), I'm considering doing something like the existing infer_aoi_model which selects a model based on the available parameters when the user does not explicitly choose one.

FD

Do we want to keep FD around as an option?

Handling missing IAM for existing components

Let's say the user chooses the perez transposition model, and therefore diffuse irradiance includes the horizon component, and then chooses the martin_ruiz_diffuse IAM model, which does not provide an IAM for the horizon component. How should this be handled?

Options:

  • Throw an error prompting the user to select a compatible combination of transposition and IAM models
  • Apply the sky diffuse IAM to the horizon component
  • Apply no optical losses to the horizon component
  • Something else?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions