Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/open-pv/simshady

Simulating Shadows for PV Potential Analysis on 3D Data in the Browser :sunny:
https://github.com/open-pv/simshady

pv pv-simulator shading-effects solar solar-energy threejs

Last synced: 2 months ago
JSON representation

Simulating Shadows for PV Potential Analysis on 3D Data in the Browser :sunny:

Awesome Lists containing this project

README

        

![Tests](https://github.com/open-pv/simshady/actions/workflows/tests.yml/badge.svg) ![Docs](https://github.com/open-pv/simshady/actions/workflows/typedoc.yml/badge.svg) [![NPM Version](https://img.shields.io/npm/v/@openpv/simshady)](https://www.npmjs.com/package/@openpv/simshady) [![NPM Downloads](https://img.shields.io/npm/dm/@openpv/simshady)](https://npmtrends.com/@openpv/simshady)

# 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](https://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](https://github.com/open-pv/minimalApp).

The basic usage of the package works as follows:

```javascript
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](https://github.com/open-pv/simshady/blob/main/CONTRIBUTING.md).

## Sponsors

We thank our sponsors.