Awesome
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
<table> <tr> <td align="center" style="word-wrap: break-word; width: 150.0; height: 150.0"> <a href=https://github.com/MartGro> <img src=https://avatars.githubusercontent.com/u/14249622?v=4 width="100;" style="border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px" alt=MartGro /> <br /> <sub style="font-size:14px"><b>MartGro</b></sub> </a> </td> <td align="center" style="word-wrap: break-word; width: 150.0; height: 150.0"> <a href=https://github.com/khdlr> <img src=https://avatars.githubusercontent.com/u/9249838?v=4 width="100;" style="border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px" alt=khdlr/> <br /> <sub style="font-size:14px"><b>Konrad Heidler</b></sub> </a> </td> <td align="center" style="word-wrap: break-word; width: 150.0; height: 150.0"> <a href=https://github.com/FlorianK13> <img src=https://avatars.githubusercontent.com/u/74312290?v=4 width="100;" style="border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px" alt=Florian Kotthoff/> <br /> <sub style="font-size:14px"><b>Florian Kotthoff</b></sub> </a> </td> <td align="center" style="word-wrap: break-word; width: 150.0; height: 150.0"> <a href=https://github.com/kpoeppel> <img src=https://avatars.githubusercontent.com/u/37810656?v=4 width="100;" style="border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px" alt=kpoeppel /> <br /> <sub style="font-size:14px"><b>kpoeppel</b></sub> </a> </td> </tr> </table>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.
<a href="https://prototypefund.de/"> <img src='https://github.com/open-pv/.github/assets/74312290/9dfa1ce4-adaf-4638-9cbc-e519b033331b' width='300'> </a>