PVGIS Simulator for Mosaik
Project description
This component simulates PV power output based on PVGIS (Photovoltaic Geographical Information System) photovoltaic performance data (the data is free to use). PVGIS provides information for any location in Europe and Africa, as well as a large part of Asia and America.
The PV simulator does not require any input, the only need to configure the PV system, geographical location and select an available reference year.
Since PVGIS only provides hourly data, any other step_size causes the data to be aggregated or splitted accordingly. If the step_size is less than an hour, it splits the value equally.
PV output data:
P[MW] - active power produced
PV system input data:
scale_factor - multiplies output [coef], might be used as a contol signal
Configuration:
scale_factor [coef] - multiplies power production once model is created, 1 is equal to 1 kW peak power installed
latitude [grad]
longitude [grad]
slope [grad] - inclination angle for the fixed plane
azimuth [grad] - orientation angle for the fixed plane
optimal_angle - if True, calculates and uses an optimal slope
optimal_both - if True, calculates and uses an optimal slope and azimuth
system_loss [%] - system inefficiency
pvtech - PV technology: “CIS” (defaul), “crystSi”, “CdTe”, “Unknown”
database - solar radiation database, PVGIS-SARAH2, PVGIS-NSRDB, PVGIS-ERA5, PVGIS-SARAH (default)
datayear - reference year from database
An example scenario is located in the ´demo´ folder.
Other options
Please pay attention to the input data. If you want to use only Direct Normal Irradiance input data as part of the co-simulation, then mosaik-pv is suitable, if you want to use full weather information (global irradiance, wind speed, air temperature and pressure) then mosaik-pvlib is suitable. If you are satisfied with historical performance estimates for a particular location or have no other input data, then mosaik-pvgis is the best solution which is based on PVGIS performance data.
Installation
pip install mosaik-pvgis
If you don’t want to install this through PyPI, you can use pip to install the requirements.txt file:
pip install -r requirements.txt
To use this, you have to install at least version 3.2.0 of mosaik.
It is recommended, to use the mosaik-csv library to export the results.
How to Use
Specify simulators configurations within your scenario script:
SIM_CONFIG = { 'PVSim': { 'python': 'mosaik_components.pv.pvgis_simulator:PVGISSimulator' }, 'CSV_writer': { 'python': 'mosaik_csv_writer:CSVWriter', }, ... }
Initialize the PV-system:
# Create PV system with certain configuration PVSIM_PARAMS = { 'start_date' : START, 'cache_dir' : './', # it caches PVGIS API requests 'verbose' : True, # print PVGIS parameters and requests } pv_sim = world.start( "PVSim", step_size=STEP_SIZE, sim_params=PVSIM_PARAMS, )
Instantiate model entities:
PVMODEL_PARAMS = { 'scale_factor' : 1000, # multiplies power production, 1 is equal to 1 kW peak power installed 'lat' : 52.373, 'lon' : 9.738, 'slope' : 0, # default value, 'azimuth' : 0, # default value, 'optimal_angle' : True, # calculate and use an optimal slope 'optimal_both' : False, # calculate and use an optimal slope and azimuth 'pvtech' : 'CIS', # default value, 'system_loss' : 14, # default value, 'database' : 'PVGIS-SARAH3', # default value, 'datayear' : 2016, # default value, } pv_model = pv_sim.PVSim.create(1, **PVMODEL_PARAMS)
Connect with PV-simulator:
world.connect( pv_model[0], csv_writer, 'P[MW]', ) world.run(until=END)
Notes
The simulator configuration can be specified with the sim_params parameter in world.start:
cache_dir : ‘./’ - if not False, a local dir and file are used to store PVGIS API requests (may cause some problems in case of lack of space or restrictions on file discriptors)
verbose : True - output PVGIS API requests to stdout
gen_neg : False - if True, multiplies output power by (-1)
Changelog
1.2.1 - 2024-10-04
PVGIS API update
Minor changes
1.2 - 2024-02-13
Control signal and gen_neg parameter are added
Minor changes
1.0 - 2024-01-11
Restructured as a mosaik component
Readme and examples added
Initial release of version implemented by Danila Valko
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
Built Distribution
File details
Details for the file mosaik_pvgis-1.2.1.tar.gz
.
File metadata
- Download URL: mosaik_pvgis-1.2.1.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.15 Linux/5.15.154+
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b30142701b0903337591d54b82d0d6766e8fe8268a97d4a1f0e7296c4df996c1 |
|
MD5 | 1fa4cd9867670c294ac8d5e7c096e52b |
|
BLAKE2b-256 | 8240f3542687afa5ad4968f7df0052a4a2827e5e41dfee4162f61cd40d2dd675 |
Provenance
File details
Details for the file mosaik_pvgis-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: mosaik_pvgis-1.2.1-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.15 Linux/5.15.154+
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c14f8f0065c174371577a4a1a12834a697af52e61b49dd9790187f8da092042 |
|
MD5 | cfcded8ee9738894689a52eb0247d3e9 |
|
BLAKE2b-256 | a893f75e54770063b8552dae3e65576b7a8b654c75a24042f92c935b77e59fee |