Skip to main content

A FAIR database for concentrating solar power plant data

Project description

logo

PAINT

DOI PyPI License: MIT OpenSSF Best Practices fair-software.eu FAIR checklist badge PyPI - Downloads Ruff codecov pre-commit.ci status Documentation Status

Welcome to PAINT

This repository contains code associated with the PAINT database. The PAINT database makes operational data of concentrating solar power plants available in accordance with the FAIR data principles, i.e., making them findable, accessible, interoperable, and reusable. Currently, the data encompasses calibration images, deflectometry measurements, kinematic settings, and weather information of the concentrating solar power plant in Jülich, Germany, with the global power plant id (GPPD) WRI1030197. Metadata for all database entries follows the spatio-temporal asset catalog (STAC) standard.

What can this repository do for you?

This repository contains two main types of code:

  1. Preprocessing: This code was used to preprocess the data and extract all metadata into the STAC format. This preprocessing included moving and renaming files to be in the correct structure, converting coordinates to the WGS84 format, and generating all STAC files (items, collections, and catalogs). This code is found in the subpackage paint.preprocessing and executed in the scripts located in preprocessing-scripts. This code could be useful if you have similar data that you would also like to process and include in the PAINT database!
  2. Data Access and Usage: This code enables data from the PAINT database to be easily accessed from a code-base and applied for a specific use case. Specifically, we provide a StacClient for browsing the STAC metadata files in the PAINT database and downloading specific files. Furthermore, we provide utilities to generate custom benchmarks for evaluating various calibration algorithms and also a torch.Dataset for efficiently loading and using calibration data. This code is found in the subpackage paint.data and examples of possible execution are found in the scripts folder.

In the following, we will highlight how to use the code in more detail!

Installation

We heavily recommend installing the PAINT package in a dedicated Python3.10+ virtual environment. You can install the latest stable version of PAINT directly from PyPI using:

  pip install paint-csp

Alternatively, You can install the latest developmental version of PAINT directly from the GitHub repository via:

pip install git+https://github.com/ARTIST-Association/PAINT

You can also install PAINT locally. To achieve this, there are two steps you need to follow:

  1. Clone the PAINT repository:
    git clone https://github.com/ARTIST-Association/PAINT.git
    
  2. Install the package from the main branch:
    • Install basic dependencies: pip install .
    • If you want to develop paint, install an editable version with developer dependencies: pip install -e ".[dev]"

Structure

The PAINT repository is structured as shown below:

.
├── html # Code for the paint-database.org website
├── markers # Saved markers for the WRI1030197 power plant in Jülich
├── paint # Python package/
│   ├── data
│   ├── preprocessing
│   └── util
├── plots # Scripts used to generate plots found in our paper
├── preprocessing-scripts # Scripts used for preprocessing and STAC generation
├── scripts # Scripts highlighting example usage of the data
├── test # Tests for the python package/
│   ├── data
│   ├── preprocessing
│   └── util
└── tutorials # Interactive notebooks showcasing how to get started with PAINT

Example usage:

In the scripts folder there are multiple scripts highlighting how PAINT can be used. Detailed descriptions of these scripts are available via our Documentation.

Furthermore, an interactive notebook is available in the tutorials folder - this is the perfect starting point to dive into PAINT!

How to contribute

Check out our contribution guidelines if you are interested in contributing to the PAINT project :fire:. Please also carefully check our code of conduct :blue_heart:.

Acknowledgments

This work is supported by the Helmholtz AI platform grant.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paint_csp-3.0.0.tar.gz (48.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paint_csp-3.0.0-py3-none-any.whl (68.0 kB view details)

Uploaded Python 3

File details

Details for the file paint_csp-3.0.0.tar.gz.

File metadata

  • Download URL: paint_csp-3.0.0.tar.gz
  • Upload date:
  • Size: 48.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for paint_csp-3.0.0.tar.gz
Algorithm Hash digest
SHA256 984aac7367e9d2a615db0e6868820e93c795d057f0b1dc866d86d1759686983e
MD5 00f43656377a2abfc9313e6c6f27028c
BLAKE2b-256 a892467a64209be80f39f572cab7508aea60cbabd5ee8c4d620098d49e1aa5f8

See more details on using hashes here.

File details

Details for the file paint_csp-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: paint_csp-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 68.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for paint_csp-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 09974527e0ab4a515036bcb62027406f963716fed5c77b8b9cf3f3e651723969
MD5 157e5bd68b3908dade980d6d1c05fe02
BLAKE2b-256 d7c0f0ab351b8ea7987fd601d8e67dd8e306def93141b5782d732c764e566765

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page