Our mission
- Provide full control and transparency by allowing users to replace or modify any model, assumption, or data source.
- Ensure data privacy by running all computations locally, so internal measurements and proprietary data remain fully in-house.
- Accelerate model development by composing complex model chains from standardized, reusable building blocks instead of project-specific scripts.
- Lower the entry barrier by automating data access, unit conversion, and model execution, enabling advanced workflows with minimal Python experience.
Software development kit (SDK)
The framework is built around a Python-based software development kit (SDK) that facilitates model development and solves data handling while tying together the other components of PVRADAR.
- A Data Layer that provides unified access to public, third-party, and internal data sources
- Model libraries, including wrappers around pvlib models as well as specialized models for batteries, soiling, snow, and custom logic
Perform complex analysis in just a few lines of code
PVRADAR allows users to solve complex analysis problems in just a few lines of code in a Jupyter notebook, without requiring advanced Python experience and without spending time on manual data handling.
In the example below, energy losses due to soiling are estimated using the pvlib HSU model. All necessary input data for yield estimation, including GHI, air temperature, and wind speed, as well as rainfall, PM10, and PM2.5 concentrations required by the HSU model, are automatically imported from public data sources.

Build custom model chains for every application
PVRADAR is designed to build complex modeling workflows by composing many small, independent models into a single model chain.
- Models are defined independently as Python functions.
- User-defined models can easily be combined with models from pvlib or PVRADAR into tailored model chains to answer the question at hand.
- Each model declares its required inputs and model parameters. At run-time, the framework automatically resolves and provides these inputs.
- All computations are executed locally, ensuring maximum data privacy and transparency.
- Every result is fully traceable along the complete model chain, from raw inputs and parameters to final outputs. There are no black-box dependencies.

Unified data access
Through the SDK, users access public, third-party, and internal data through a single, consistent interface. Data is either added automatically and implicitly based on user preferences or can be explicitly accessed in a single line of code.
Public data
PVRADAR automatically gives access to the most popular public sources for meteorological data such as ERA5, MERRA2 or NOAA.
See full list of available datasources in our Resource DB.
ghi = site.resource(R.global_horizontal_irradiance(to_freq='5min',to_unit='W/m^2',datasource='era5'))
- Unit-conversions, time zones, and resampling are handled automatically.
- All data is returned using the same DateTimeIndex for direct usage
Internal data
PVRADAR provides a private data layer that acts as an interface to internal data, whether structured or unstructured. Measurements, SCADA data, laboratory results, asset metadata, or proprietary datasets can be accessed using the same interface.
All components can be hosted locally, so no internal data ever leaves your environment.

Model libraries
The PVRADAR modeling framework supports modular model libraries that can be combined depending on the application.
- The base SDK, installable via PyPI, includes a yield estimation library built on pvlib.
- Additional model libraries can be added to extend the framework, for example:
- PRO library for advanced pv modeling
- PVRADAR soiling model
- BESS library for battery storage simulation
Applications
-
Quantify underperformance based on internal data
Build tailored internal analytics workflows on top of pvlib-based digital twins, combined with your own logic, KPIs, and loss taxonomy.
-
Build internal modeling tools
Develop an internal modeling toolbox, validated against real measurement data and reusable across projects.
-
Design automation
Automate the optimization of hybrid PV + BESS designs using a transparent, Python-based workflow that is easy to adapt and extend.
-
Soiling modeling
Create accurate soiling models and cleaning optimization tools.
For more information, see our Solutions.
Getting started!
The PVRADAR modeling framework is designed for performance engineers. Only basic Python experience is required.
The SDK is installable via PyPI:
pip install pvradar-sdk
Using the SDK requires an API key. Free licenses are available.
Check out the following resources to get started.
