paint

The first FAIR database for Concentrating Solar Power plants.

https://github.com/artist-association/paint

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

The first FAIR database for Concentrating Solar Power plants.

Basic Info
  • Host: GitHub
  • Owner: ARTIST-Association
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage: https://paint-database.org/
  • Size: 85.4 MB
Statistics
  • Stars: 6
  • Watchers: 2
  • Forks: 0
  • Open Issues: 1
  • Releases: 2
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Security

README.md

logo

PAINT

DOI PyPI License: MIT OpenSSF Best Practices fair-software.eu FAIR checklist badge 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.9+ virtual environment. You can install the latest stable version of PAINT directly from PyPI using: bash pip install paint-csp Alternatively, You can install the latest developmental version of PAINT directly from the GitHub repository via: bash 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: bash 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

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.

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.

re3data Badge

Owner

  • Name: ARTIST-Association
  • Login: ARTIST-Association
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: PAINT
message: >-
  If you use this software, please cite it using the metadata
  from this file.
type: software
authors:
  - given-names: Kaleb
    family-names: Phipps
    email: kaleb.phipps@kit.edu
    affiliation: Karlsruhe Institute of Technology (KIT)
    orcid: 'https://orcid.org/0000-0002-9197-1739'
  - given-names: Mathias
    family-names: Kuhl
    email: mathias.kuhl@dlr.de
    affiliation: German Aerospace Center (DLR)
    orcid: 'https://orcid.org/0000-0003-0097-7260'
  - given-names: Marie
    family-names: Weiel
    email: marie.weiel@kit.edu
    affiliation: Karlsruhe Institute of Technology (KIT)
    orcid: 'https://orcid.org/0000-0001-9648-4385'
  - given-names: Marlene
    family-names: Busch
    email: marlene.busch@dlr.de
    affiliation: German Aerospace Center (DLR)
  - given-names: Jan
    family-names: Lewen
    email: jan.lewen@dlr.de
    affiliation: German Aerospace Center (DLR)
  - given-names: Nicolas
    family-names: Blumenröhr
    email: nicolas.blumenroehr@kit.edu
    affiliation: Karlsuhre Institute of Technology (KIT)
    orcid: 'https://orcid.org/0009-0007-0235-4995'
  - given-names: Daniel
    family-names: Maldonado Quinto
    email: daniel.maldonadoquinto@dlr.de
    affiliation: German Aerospace Center (DLR)
  - given-names: Charlotte
    family-names: Debus
    email: charlotte.debus@kit.edu
    affiliation: Karlsruhe Institute of Technology (KIT)
    orcid: 'https://orcid.org/0000-0002-7156-2022'
  - given-names: Felix
    family-names: Göhring
    email: felix.goehring@dlr.de
    affiliation: German Aerospace Center (DLR)
  - given-names: Oliver
    family-names: Kaufhold
    email: oliver.kaufhold@dlr.de
    affiliation: German Aerospace Center (DLR)
  - given-names: Achim
    family-names: Streit
    email: achim.streit@kit.edu
    affiliation: Karlsruhe Institute of Technology (KIT)
    orcid: 'https://orcid.org/0000-0002-5065-469X'
  - given-names: Robert
    family-names: Pitz-Paal
    orcid: 'https://orcid.org/0000-0002-3542-3391'
    email: Robert.pitz-paal@dlr.de
    affiliation: German Aerospace Center (DLR)
  - given-names: Markus
    family-names: Götz
    email: markus.goetz@kit.edu
    affiliation: Karlsruhe Institute of Technology (KIT)
    orcid: 'https://orcid.org/0000-0002-2233-1041'
  - given-names: Max
    family-names: Pargmann
    email: max.pargmann@dlr.de
    affiliation: German Aerospace Center (DLR)
    orcid: 'https://orcid.org/0000-0002-4705-6285'
repository-code: 'https://github.com/ARTIST-Association/PAINT'
url: 'https://www.paint-database.org'
abstract: >-
  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 follow the spatio-temporal asset
  catalog (STAC) specification. PAINT closely follows open
  science guidelines and makes all software publicly
  available in the project's source code repository.
keywords:
  - Solar Tower Power Plant
  - Concentrated Solar Energy
  - Database
  - Heliostat Calibration
  - Deflectometry
  - Surface Reconstruction
  - Benchmark
commit: bc6c2640b5d51e5014b3e05690536afd1399c572
license: MIT
version: 1.0.1
date-released: '2025-05-28'

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 43
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 4
  • Total pull request authors: 6
  • Average comments per issue: 0.28
  • Average comments per pull request: 1.56
  • Merged pull requests: 32
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 15
  • Pull requests: 43
  • Average time to close issues: 12 days
  • Average time to close pull requests: 9 days
  • Issue authors: 3
  • Pull request authors: 6
  • Average comments per issue: 0.13
  • Average comments per pull request: 1.56
  • Merged pull requests: 32
  • Bot issues: 0
  • Bot pull requests: 8
Top Authors
Issue Authors
  • kalebphipps (10)
  • MarleneBusch (5)
  • mcw92 (2)
  • Markus-Goetz (1)
Pull Request Authors
  • kalebphipps (27)
  • pre-commit-ci[bot] (8)
  • Filos1992 (4)
  • mcw92 (2)
  • Markus-Goetz (1)
  • mathiaskuhl (1)
Top Labels
Issue Labels
enhancement (6) bug (4)
Pull Request Labels
enhancement (2) help wanted (1) bug (1)

Dependencies

.github/workflows/python-test.yml actions
  • actions/checkout v4 composite
  • actions/setup-python main composite
  • codecov/codecov-action v4.0.1 composite
  • marocchino/sticky-pull-request-comment v2 composite
pyproject.toml pypi
  • Flask *
  • colorlog *
  • deepdiff *
  • h5py *
  • matplotlib *
  • numpy *
  • opencv-python *
  • openpyxl *
  • pandas *
  • pyproj *
  • pystac *
  • seaborn *
  • torch *
  • waitress *
  • wetterdienst *
.github/workflows/pipy-release.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/test-pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
docs/requirements.txt pypi
  • sphinx-autoapi *
  • sphinx-rtd-theme *
  • sphinxcontrib-napoleon *
  • sphinxemoji *