Science Score: 44.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
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: CLOVER-energy
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 40.7 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 10
  • Releases: 0
Created 10 months ago · Last pushed 6 months ago
Metadata Files
Readme License Citation Zenodo

README.md

Polytunnel-Irradiance-Model

GitHub release

Python-based model capable of simultaing the spectral irradiance within curved geometries.

Simulation

The script can be executed by either importing individual functions (see the documentation) or by running from the command-line interface as an integrated Python package. You can either specify parameters governing the model on the command-line or within an input file depending on which works best with your workflow. If importing the individual functions, you can also pass these values in provided that you use the correct structure (see the documentation for details).

Command-line parameters

If you're passing all of the parameters needed in on the command-line interface (CLI), your command will look something like the following: bash python -m polytunnel_irradiance_model --start_time_str 2024-06-06T00:00:00Z --end_time_str 2024-06-06T23:59:59Z --latitude 51.249814 --longitude 0.347779 --res_minutes 15 --length 2.5 --radius1 2.5 --radius2 1.5 --xy_angle 0 --z_angle 0 --transmissivity 1 --material_list ag ag ag ag ag ag --material_thick 80 80 80 80 80 80 --multistack 1 --cell_thickness 0.35 --cell_gap 2.8 --initial_cell_gap 2.1 --res_meshgrid 0.35

Where the individual parameters are given below in Table 1.

Table 1. Parameters included when running a simulation.

| Parameter | Explanation | | ---------------- | ------------------------------------------------------------ | | start_time_str | The date and time that you want the simulation(s) to begin should be passed in with this keyword argument. The format is YYYY-MM-DD followed by T then HH:MM:SS with Z at the end to close the string. | | end_time_str | The end date and time for the simulation(s) also needs to be specified. The format is YYYY-MM-DD followed by T then HH:MM:SS with Z at the end to close the string. | | latitude | The latitude for which solar data should be used, specified in degrees North; i.e., positive number are for locations North of the Equator | | longitude | The longitude for which solar data should be used, specified in degrees East. | | res_minutes | The resolution, in minutes, to use for the modelling | | length | The length of polytunnel section to model. Longer sections will increase the computation time but improve the ray-tracing modelling. In general, a repeated unit (or an integer number of repeated units) within a polytunnel can be modelled with sufficient Physics captured. | | z_angle | | | transmissivity | The (optical) transmissivity of the material that makes up the polytunnel structure. | | material_list | The list of materials, defined in the materials data directory. | | material_thick | The thickness of the various materials. | | multistack | The number of donor and acceptor layers that should be repeated. This defaults to 1 if it isn't defined. | | cell_thickness | The thickness of the cell, i.e., its width along the length of the polytunnel, in metres. | | cell_gap | The "gap" between consecutive cells along the length of the polytunnel, i.e., the length of space where just polytunnel material, uncovered, is exposed, in metres. | | res_mesh_grid | The resolution of the mesh grid to use, in metres. |

File-based parameters

If you're using a file, then these parameters can be specified using a YAML file (a file which ends with the .yaml extension) and then simply point the package to this file:

bash python -m polytunnel_irradiance_model -f <input_file.yaml>

The parameters that need to be specified in the file are given in the above table and should use a key-value structure. An example is provided in the Wiki pages which can be downloaded.

NOTE: In the example input above, silver (ag) is used as all of the layers of the solar cell. 6 layers are used as this corresponds to the number of layers in an organic solar cell.

Running without PV modules

If you want to simulate the light pattern within a polytunnel without any PV modules on its surface, then several variables need to be set to zero, either on the CLI,

bash --cell-thickness 0.0 --cell-gap 0.0

or within the YAML input file

yaml ... cell_thickness: 0.0 cell_gap: 0.0 ...

Modelling considerations

When validating the profiles considered, the spectral sensitivity of any device needs to be included. Here, a BF5 sensor is included (a Pyranometer---a device which detects and measures solar irradiance) has been included which can be used.

Spectral data can be found in the additional-resources directory.

Owner

  • Name: CLOVER-energy
  • Login: CLOVER-energy
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Pomfret
    given-names: Taylor
  - family-names: Nuñez Andrade
    given-names: Emilio Alexis de la Cruz
  - family-names: Winchester
    given-names: Benedict
    orcid: https://orcid.org/0000-0002-2880-1243
title: CLOVER
version: v0.1.0a1
date-released: 2025-05-01

GitHub Events

Total
  • Public event: 1
  • Push event: 33
Last Year
  • Public event: 1
  • Push event: 33

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 10
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • BenWinchester (10)
Pull Request Authors
Top Labels
Issue Labels
enhancement (5) feature request (3)
Pull Request Labels

Dependencies

.github/workflows/pylint.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v3 composite
src/environment.yml conda
  • _libgcc_mutex 0.1
  • _openmp_mutex 4.5
  • alembic 1.14.0
  • blas 1.1
  • brotli-python 1.1.0
  • bzip2 1.0.8
  • c-ares 1.34.3
  • ca-certificates 2024.8.30
  • cached-property 1.5.2
  • cached_property 1.5.2
  • certifi 2024.8.30
  • cffi 1.17.1
  • charset-normalizer 3.4.0
  • colorama 0.4.6
  • colorlog 6.9.0
  • ephem 4.1.6
  • greenlet 3.1.1
  • h2 4.1.0
  • h5py 3.12.1
  • hdf5 1.14.3
  • hpack 4.0.0
  • hyperframe 6.0.1
  • idna 3.10
  • importlib-metadata 8.5.0
  • importlib_resources 6.4.5
  • joblib 1.4.2
  • keyutils 1.6.1
  • krb5 1.21.3
  • ld_impl_linux-64 2.43
  • libaec 1.1.3
  • libblas 3.9.0
  • libcblas 3.9.0
  • libcurl 8.10.1
  • libedit 3.1.20191231
  • libev 4.33
  • libffi 3.4.2
  • libgcc 14.2.0
  • libgcc-ng 14.2.0
  • libgfortran 14.2.0
  • libgfortran-ng 14.2.0
  • libgfortran5 14.2.0
  • libgomp 14.2.0
  • liblapack 3.9.0
  • libllvm14 14.0.6
  • libnghttp2 1.64.0
  • libnsl 2.0.1
  • libopenblas 0.3.28
  • libsqlite 3.47.0
  • libssh2 1.11.0
  • libstdcxx 14.2.0
  • libstdcxx-ng 14.2.0
  • libuuid 2.38.1
  • libxcrypt 4.4.36
  • libzlib 1.3.1
  • llvmlite 0.43.0
  • mako 1.3.5
  • markupsafe 3.0.2
  • ncurses 6.5
  • numba 0.60.0
  • numpy 1.26.4
  • numpy-base 1.26.4
  • openblas 0.3.28
  • openssl 3.4.0
  • optuna 4.1.0
  • packaging 24.2
  • pandas 2.2.3
  • patsy 1.0.1
  • pip 24.3.1
  • pvlib 0.11.1
  • pvlib-python 0.11.1
  • pycparser 2.22
  • pysocks 1.7.1
  • python 3.9.20
  • python-dateutil 2.9.0
  • python-tzdata 2024.2
  • python_abi 3.9
  • pytz 2024.1
  • pyyaml 6.0.2
  • readline 8.2
  • requests 2.32.3
  • scikit-learn 1.5.2
  • scipy 1.13.1
  • setuptools 75.3.0
  • six 1.16.0
  • sqlalchemy 2.0.36
  • statsmodels 0.14.4
  • threadpoolctl 3.5.0
  • tk 8.6.13
  • tmm 0.1.8
  • tqdm 4.67.0
  • typing-extensions 4.12.2
  • typing_extensions 4.12.2
  • tzdata 2024b
  • urllib3 2.2.3
  • wheel 0.45.0
  • xz 5.2.6
  • yaml 0.2.5
  • zipp 3.21.0
  • zstandard 0.23.0
  • zstd 1.5.6