Skip to content

Simulating Shadows for PV Potential Analysis on 3D Data in the Browser ☀️

License

Notifications You must be signed in to change notification settings

open-pv/simshady

Repository files navigation

Tests Docs NPM Version NPM Downloads

SimShady

SimShady is a package for shading simulation and PV yield estimation based on 3D meshes. It runs on the GPU using WebGL. See it in action at openpv.de.

Installation

To install the package, run

npm i @openpv/simshady

Usage

We publish our documentation at https://open-pv.github.io/simshady/. Additionally, we have built a minimal vite webapp to showcase the most relevant features. Check out its source code here.

The basic usage of the package works as follows:

import ShadingScene from '@openpv/simshady';

const lat = 50.0;
const lon = 11.0;
const scene = new ShadingScene(lat, lon);
scene.addShadingGeometry(someShadingGeometry);
scene.addSimulationGeometry(someSimulationGeometry);

let mesh = await scene.calculate({
    numberSimulations: 100,
    diffuseIrradiance: "https://www.openpv.de/data/irradiance",
    urlDirectIrrandianceTIF:
      "https://www.openpv.de/data/irradiance/geotiff/average_direct_radiation.tif",
    urlDiffuseIrrandianceTIF:
      "https://www.openpv.de/data/irradiance/geotiff/average_diffuse_radiation.tif",
});

showThreeJS(mesh);

Team

MartGro
MartGro
khdlr/
Konrad Heidler
Florian
Florian Kotthoff
kpoeppel
kpoeppel

Contributing

You are welcome to contribute to this project, either by adding code or creating Issues. As a first step, you might check out our contributing guidelines.

Sponsors

We thank our sponsors.