Skip to content

Keep or exclude total diffuse irradiance in the output when return_components=True #2801

Description

@cbcrespo

As part of my GSoC 2026 project (#2750) I am working on diffuse irradiance models in pvlib to expand support for the return_components parameter, which is currently only implemented in some functions. When return_components=True, these functions return a dictionary containing the individual diffuse irradiance components (isotropic, circumsolar, horizon), but also their sum (total diffuse irradiance).

Several people (@AdamRJensen, @adriesse) have raised questions on whether it makes sense to keep the total or if it should be removed. Including the total is convenient and avoids requiring users to recompute it themselves if necessary. Excluding the total avoids redundant outputs and makes the meaning of return_components more explicit: return the components only.

The purpose of this issue is therefore to open a more focused discussion on this point and hopefully reach a consensus.

For reference, irradiance.get_total_irradiance and irradiance.poa_components currently also return several values that could be considered redundant: poa_global, poa_direct, poa_diffuse, poa_sky_diffuse, and poa_ground_diffuse. But in this case, there is no parameter controlling which values are returned.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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