Skip to content

New default solar position algorithm #2455

Open
@kurt-rhee

Description

@kurt-rhee

Is your feature request related to a problem? Please describe.

[Solar Position Documentation](https://pvlib-python.readthedocs.io/en/stable/reference/solarposition.html
https://pvlib-python.readthedocs.io/en/stable/reference/generated/) recommends using the default solar position algorithm. Should we update to a faster algorithm given @AdamRJensen's poster at this year's PVPMC which shows that most algorithms have minimal impact on energy regardless of run-time?

With permission I can edit this comment and add a photo of the poster.

Describe the solution you'd like
A fast implementation of the SG2, USNO or NOAA solar position algorithms set as the default model for the get_solarposition wrapper.

Describe alternatives you've considered
We could leave the default as nrel_numpy

Additional context

  • Increased run-time speed of pvlib reduces carbon output of running models (no matter how small or large that might be)
  • I am happy to re-implement one of the above models in Rust with python bindings and open source the rust backend. I know that this comment will open up a can of worms. I think one way to go about this is to implement the model twice, once in python as a reference for the community and once in rust/julia/c++ etc. for use in practice. Users would be able to select which model to use at their prerogative.

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