[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Next Article in Journal
Optimizing Solar-Integrated Microgrid Design for Sustainable Rural Electrification: Insights from the LEOPARD Project
Previous Article in Journal
Enhanced Solar Photovoltaic System Management and Integration: The Digital Twin Concept
You seem to have javascript disabled. Please note that many of the page functionalities won't work as expected without javascript enabled.
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Power Generation Time Series for Solar Energy Generation: Modelling with ATlite in South Africa

1
Council for Scientific and Industrial Research (CSIR), Pretoria 0001, South Africa
2
Department of Sustainable Electrical Energy Systems, Electrical Engineering and Computer Science, University of Kassel, 34121 Kassel, Germany
3
Energy Meteorology and Geo Information System, Fraunhofer Institute for Energy Economics and Energy System Technology, 34117 Kassel, Germany
*
Author to whom correspondence should be addressed.
Submission received: 4 December 2024 / Revised: 7 February 2025 / Accepted: 12 February 2025 / Published: 7 March 2025

Abstract

:
The global energy landscape is experiencing growing challenges, with energy crises in regions such as South Africa underscoring the drive to accelerate the shift toward renewable energy solutions. This paper presents an approach for improving solar energy planning, specifically focusing on leveraging the capabilities of the ATlite software in conjunction with custom data. Using mathematical models, ATlite (which was initially developed by the Renewable Energy Group at the Frankfurt Institute for Advances Studies) is a Python software package that converts historical weather data into power generation potentials and time series for renewable energy technologies such as solar photovoltaic (PV) panels and wind turbines. The software efficiently combines atmospheric and terrain data from large regions using user-defined weights based on land use or energy yield. In this study, European Centre for Medium-Range Weather Forecasts reanalysis data (ERA5) data was modified using Kriging to enhance the resolution of each data field. This refined data was applied in ATlite, instead of utilizing the standard built-in data download and processing tools, to generate solar capacity factor maps and solar generation time series. This was utilized to identify specific PV technologies as well as optimal sites for solar power. Thereafter, a simulated power generation time series was compared with measured solar generation data, resulting in a root mean square error (RMSE) of 19.6 kW for a 250 kWp installation. This approach’s flexibility and versatility in the inclusion of custom data, led to the conclusion that it could be a suitable option for renewable energy planning and decision making in South Africa and globally, providing value to solar installers and planners.

1. Introduction

1.1. South Africa’s Energy Crisis and the Global Context

South Africa is experiencing an energy crisis driven by factors such as aging infrastructure, a historical lack of preventative maintenance, inadequate planning for a growing population, and corruption [1,2]. This crisis has resulted in “loadshedding”, a demand-side management practice where electricity supply is intentionally interrupted in rotating areas to reduce strain on the power grid [3].
The impacts of loadshedding have been significant, disrupting essential services and economic activities, with small and medium enterprises (SMEs) particularly experiencing declines in revenue and increases in operational costs [4]. A study commissioned by the National Energy Regulator of South Africa (NERSA) estimated that loadshedding cost the country nearly R35 billion between 2007 and 2019 [5]. On a broader scale, the energy crisis has intensified globally due to the rapid economic rebound following the COVID-19 pandemic and geopolitical events such as Russia’s invasion of Ukraine in 2022. These developments have driven higher natural gas and oil prices, increasing electricity costs and threatening economic stability worldwide [6]. For example, global oil prices surged to over $120 per barrel in March 2022, marking the highest level since 2008, driven by supply constraints and sanctions on Russian oil exports [7]. Higher energy prices have slowed global economic growth, spurred inflation, and forced many industries to reduce production or shut down completely [8].
Given the immediate energy crisis and the lengthy timelines required for developing coal and nuclear infrastructure, South Africa and other nations are increasingly adopting renewable energy strategies to address pressing energy needs [9]. The global shift toward renewable energy is further driven by the pursuit of energy security and commitments to international climate targets. Solar photovoltaic (PV) technologies have become increasingly cost-effective, with the global Levelized Cost of Electricity (LCOE) for utility-scale solar PV dropping by 85% between 2010 and 2020 [10]. Reflecting this global momentum, South Africa’s Department of Energy has set ambitious targets under its Integrated Resource Plan, aiming to derive 17,800 MW (or 42%) of new electricity generation capacity from renewable energy sources by 2030 [11]. This initiative not only aligns with international efforts but also underscores the country’s commitment to transitioning toward cleaner energy solutions. With that being said, adopting solar energy also offers significant environmental benefits, such as reducing greenhouse gas emissions, mitigating climate change, and decreasing air pollution—outcomes that collectively enhance human health and ecosystems [12]. Furthermore, in South Africa, renewable energy reduces dependence on fossil fuels, cutting harmful emissions and supporting environmental sustainability [13]. This shift toward renewable energy underscores the need for advanced energy planning and forecasting tools.

1.2. Existing Tools for Renewable Energy Planning

Open-source tools for energy forecasting are widely used for simulating the energy output of renewable power plants. Tools such as PVLib and PVAnalytics are utilized for solar energy forecasting and system performance analysis. For example, Holmgren et al. [14] employs PVLib to generate hourly PV power forecasts for utility-scale power plants and assesses the accuracy of these forecasts, while Perry and Muller [15] highlighted PVAnalytics’ application for automating shift detection in sensor-based PV power and irradiance time series. However, these tools are more specialized for detailed simulations of individual PV systems and lack multi-source renewable energy integration or scalability for large regions [16].
Similarly, Staffell & Pfenninger [17] utilized Renewables.ninja to model the hourly and seasonal variability of wind and solar power across Europe, providing valuable insights into the potential and limitations of renewable energy integration into the European power grid. Although, Renewables.ninja does not reveal the underlying datasets or conversion functions, making it unsuitable for exploring different weather datasets or alternative conversion methods. The Renewable Energy Atlas (REatlas) is another tool used for mapping renewable energy resources and planning. A study by Andresen et al. [18] utilized REatlas to model hourly Danish wind power generation between 1980 and 2035 to demonstrate how differences in model wind may result in significant differences in technical and economic model predictions. However, REatlas can be limited in terms of accessibility and input flexibility.
ATlite [19] is an open-source Python software package that converts historical weather data into power generation potentials and time series for renewable energy technologies such as solar PV panels and wind turbines. This tool attempts to be a lightweight alternative to similar software by providing global flexibility, customizability, computational efficiency, and an abstraction layer for weather datasets that enables interchangeability of the underlying datasets. ATlite has been used for research and projects in renewable energy time series. For example, a study by Emir Fejzić et al. [20] investigates whether hydro and nonhydro renewables can enable a net-zero transition by 2050 and how variable renewable energy (VRE) might affect the hydropower cascade shared by Bosnia and Herzegovina, Montenegro, and Serbia. In their research, ATlite was instrumental for retrieving their data and estimating the hourly wind and solar production potential. Similarly, another study by Zech and von Bremen [21] explores how assumptions can lead to large deviations between reported and estimated energy, using a case of photovoltaic energy in Germany. The study used ATlite for downloading and processing the meteorological data, including calculating the solar elevation angle, solar azimuth angle and top of the atmosphere insulation.
Building on these examples, it is evident that ATlite has been predominantly applied in studies based in Europe. Furthermore, past work using ATlite has primarily relied on its built-in functionality for not only data simulation but also data retrieval and processing, with limited exploration of custom dataset integration. This study contributes to renewable energy planning by using South Africa as a case study to demonstrate how customized datasets can be integrated in ATlite (version 0.2.11) to enhance solar energy modeling. Specifically, it integrates custom-modified weather data into ATlite to generate solar capacity factor maps and time series that reflect South Africa’s unique climatic conditions and spatial solar potential. The approach is validated against measured data, achieving a root mean square error (RMSE) of 19.6 kW for a 250 kWp installation, showcasing its accuracy and relevance. Additionally, the study demonstrates how such enhancements can support renewable energy integration efforts and provide valuable insights for planners and policymakers.

2. Materials and Methods

Generally, when utilising ATlite, the built-in download and processing functions are employed, which automatically downloads the data from the European Centre for Medium-Range Weather Forecasts reanalysis data (ERA5) [22] or SARAH-2 [23]. The variables required for ATlite to run is calculated from the downloaded data and converted to the needed format (NetCDF). This NetCDF file is used by ATlite to calculate the power potential (through capacity maps) and power generations time series.
An overview of the study approach is shown in Figure 1. The different line colours in Step 3 indicate the mapping to different variables.
i–ii
This study involves a small site which requires higher resolution data than available from global datasets, such as ERA5. Steps 1 and 2 involve selecting a study area, sourcing ERA5 data and adjusting the resolution of the data based on the size of the area of interest Section 2.1).
iii
Because the data is custom and the ATlite built-in functions were not used to download or process the variables, the variables required by ATlite must be calculated for the study area. Step 3 involves mapping and calculating the ATlite variables from the downscaled data (Section 2.2).
iv
In Step 4 the newly calculated variables is packaged in a NetCDF file with the correct metadata for ATlite to read it correctly (Section 2.3).
v
Finally, in Step 5, the NetCDF file is used to calculate capacity factors and power generation time series (Section 3) for the specified solar installation (Section 2.4) and location in the study area (Section 2.5).
This paper mainly focuses on the processes involved in Steps 3–5, indicated with green in Figure 1.
It should be noted that while ERA5 is and invaluable data source with more than 40 year’s worth of gobal data, it is reanlaysis data and not absolute ground truth. This data was then further processed through Kriging to increase the resolution. While Kriging is well suited for the data used in the solar simulations, datasets such as wind speed and direction would do better with approaches such as finite volume methods. All these factors will have an influence on the final simulation accuracy.

2.1. Study Area Selection

While ATlite is a Python library that converts weather data into renewable energy time series data, it should be noted that ATlite can be used to download and process ERA5 or SARAH-2 data directly. However, in this study, a different resolution than the default download resolution from ERA5 and SARAH-2 is required. It was decided to use the worldwide freely available ERA5 dataset and downscale it to the required resolution.
The solar installation and area of interest selected for this study is a 0.25 MW rooftop solar installation at the Pretoria CSIR Campus. Data for the simulation is downloaded for the period of 1–31 March 2020 at 25.745646 latitude and 28.281342 longitude.
Due to the 25 km resolution of ERA5 and the small study area, a 0.5-degree buffer area is employed when downloading the data which correspond to a 2-pixel buffer, Figure 2a. In this study, Kriging [24] was employed to increase the resolution to 1 km for each downloaded ERA5 variable for every time step, shown in Figure 2b.
The installation site was specified for use in ATlite by setting the site name, the specific latitude and longitude where the panels are installed, combined with the corresponding installed capacity, in a list:
site = [['site 1', 28.281342, −25.745646, 0.25],]
Using this method, multiple sites can be specified with different installed capacities. Finally, the list is converted into a Python GeoDataFrame.

2.2. ATlite Variables

The transformation and mapping of variables from ERA5 to ATlite-compatible formats are essential for ATlite to function and accurate simulations. This process ensures that raw weather data can be effectively utilized to calculate solar power generation potential, reflecting real-world conditions. By standardizing and adjusting these inputs, ATlite enables a streamlined workflow for generating reliable renewable energy time series and capacity factor maps. Since the ATlite built-in download function was not employed in this study, all the downloaded variables do not match what is required for ATlite to run. This necessitates the in-depth exploration of the data conversion process [19]. The downloaded ERA5 variables mapping to the variables that are required by ATlite are summarised in Figure 3.

2.2.1. Variables That Directly Map to ATlite

The ERA5 variables time, latitude, longitude, temperature (at 2 m), soil temperature, and run off map directly to the ATlite time, latitude, longitude, temperature, soil temperature, and runoff variables, respectively (Figure 3). The roughness variable represents the surface roughness. It is set to a constant 2 × 10 4 if the ERA5 surface roughness data ( f s r ) is greater than or equal to 0.0; otherwise, it takes the value of f s r .
roughness = 2 × 10 4 , if fsr 0.0 fsr , otherwise
The runoff variable represents runoff data. It is set to the value of r o if r o is positive; otherwise, it is set to 0.
runoff = ro , if ro 0 0 , if ro < 0
x (set equal to the longitude) and y (set equal to the latitude) should be created as well. These variables are needed for the solar calculations in ATlite.

2.2.2. Height

Height is computed by dividing the given height data (z), multiplied by the acceleration due to gravity ( g 0 ). This represents the geopotential height,
height = z g 0

2.2.3. Wind

The variable wnd100m represents the wind speed at 100 m above the surface. It is calculated by taking the square root of the sum of the squared eastward wind component ( u 100 ) and the squared northward wind component ( v 100 ):
wnd 100 m = u 100 2 + v 100 2
The wind azimuth represents the wind direction angle from the north. It is calculated using the arctangent function, tan 1 , applied to the eastward and northward wind components.
wind azimuth = tan 1 2 ( u 100 , v 100 )

2.2.4. Solar

Solar altitude and azimuth are calculated using the pvlib Python package (version 0.10.1) [16,25]. As per a report by Reda & Andreas [26], the pvlib calculations for solar altitude ( α ) and azimuth (A) are calculated by using the observer’s latitude ( ϕ ), Solar Declination ( δ ), and Solar Hour Angle (H).
α = sin 1 sin ( ϕ ) sin ( δ ) + cos ( ϕ ) cos ( δ ) cos ( H )
A = cos 1 sin ( δ ) sin ( α ) sin ( ϕ ) cos ( α ) cos ( ϕ )
The pvlib Python package facilitates these calculations by using time, latitude ( ϕ ), longitude ( λ ), and temperature to determine the solar altitude ( α ) and azimuth (A) for each pixel. Solar positions are computed for a grid of latitudes ( ϕ ) and longitudes ( λ ) across various timestamps, with the results stored accordingly. This process involves creating latitude ( ϕ ) and longitude ( λ ) grids, flattening arrays for vectorized calculations, utilizing the pvlib.solarposition.get_solarposition function for simultaneous computations, and reshaping the results to fit the original grid shape.

2.2.5. Influx Direct and Influx TOA

The influx direct and influx toa variables represent incoming direct and total solar radiation per second, respectively. The values are obtained by dividing the corresponding solar radiation values ( f dir ) and ( t isr ) by 60 × 60 to convert from per hour to per second. If the total corresponding solar radiation values are less than 0, influx toa and influx direct values are set to 0.
influx _ toa = t isr 60 × 60 , if influx _ toa 0 0 , if influx _ toa < 0
influx _ direct = f dir 60 × 60 , if influx _ direct 0 0 , if influx _ direct < 0

2.2.6. Albedo

The albedo variable represents the surface reflectivity. It is calculated as the ratio of the difference between total downward solar radiation (ssrd) and reflected solar radiation (ssr) to the total downward solar radiation (ssrd). If the total downward solar radiation is zero, albedo is set to 0.
albedo = ssrd ssr ssrd , if ssrd 0 0 , if ssrd = 0

2.2.7. Influx Diffuse Calculation

The influx diffuse variable represents incoming diffuse solar radiation per second. It is computed by subtracting direct solar radiation ( f dir ) from total downward solar radiation (ssrd), and then dividing by 60 × 60 . If influx diffuse is negative, it is set to 0.
influx _ diffuse = ssrd f dir 60 × 60 , if influx _ diffuse 0 0 , if influx _ diffuse < 0

2.3. NetCDF Input File

Once the data has the desired resolution and the variables are in the correct format, the data is written to NetCDF (Step 4 in Figure 1) with the required metadata, using the netCDF4 Python package. The global variables Conventions and modules are set to CF-1.6 and ERA5, respectively. For the time variable, the time_step is set to hourly, the calendar to gregorian, and the units to hours since 1 January 1900 00:00:00.0.
The coordinate reference system (CRS) is set up by defining attributes that specify the CRS. These attributes include its standard name (crs), grid mapping name (y_x), and a detailed Well-Known Text (WKT) description of the WGS 1984 geographic coordinate reference system, which includes the prime meridian at Greenwich as well as the unit (degree with the spheroid angular unit 0.0174532925199433 ) [22].
Finally, each variable (apart from x, y, time, lat, and lon) is set with the crs grid mapping, in addition to the unit and value.

2.4. Solar Panel Specification

The study area comprises of a 250 kWp fixed tilt rooftop solar PV array. The array is in an east-west configuration. Trina TSM-PE06H 285 Wp panels are used in 44 strings, with 20 panels per string, resulting in 880 total panels. The modules are positioned at a 10 ° tilt angle. The Fronius Symo Advanced 20.0-3-M 20 kW 3-phase inverter is used. Each inverter is connected to 4 strings, resulting in 11 total inverters. Each inverter utilises 2 MPPTs. The AC to DC ratio is 1:1.14. Custom PV panels can be concorporated in ATlite, which requires information about the solar panel and inverter used in a YAML file. This file contains values such as:
  • General information: Name, manufacturer, source, and irradiation required for generation threshold.
  • Power specification: Rated capacity, panel area, efficiency curve (A, B, C coefficients), and temperature power coefficient.
  • Reference specification: Nominal Operating Cell Temperature (NOCT), Standard Testing Condition (STC) temperature, Nominal Testing Condition (NTC) temperature, NTC irradiation, and transmittance times absorptance.
  • Inverter specification: Inverter efficiency.
The Bofinger model is used to relate solar panel efficiency to incoming irradiation [27], as per Equation (12):
η MPP ( G ) = A + B G + C ln ( G )
where η MPP is the efficiency at the maximum power point (MPP), G is solar irradiance, and A, B, C are coefficients. Coefficients A, B, and C are determined by solving Equation (13):
A x = b
where A is a 3 × 3 matrix with irradiation values, x is a 3 × 1 vector of coefficients A, B, C, and b is a 3 × 1 vector of η MPP ( G ) . The linear system can be written as:
1 G 1 ln ( G 1 ) 1 G 2 ln ( G 2 ) 1 G 3 ln ( G 3 ) A B C = η MPP ( G 1 ) η MPP ( G 2 ) η MPP ( G 3 )
where G 1 , G 2 , G 3 are selected irradiation levels from the solar panel’s Power-Voltage curve, and η MPP ( G 1 ) , η MPP ( G 2 ) , η MPP ( G 3 ) are the respective efficiencies.
The respective efficiencies are calculated as per Equation (14):
η MPP ( G ) = P max , G G w l
where P max , G is the maximum power at irradiance G, and w, l are the physical width and length of the solar panel. By choosing irradiation levels (G) at 1000, 600, and 200 W/m², and calculating their corresponding efficiencies, the efficiency curve in Figure 4 is generated using Equation (12). Efficiencies at the initially selected irradiation levels are shown in red markers.

2.5. Study Area Preparation

The created NetCDF file is loaded into ATlite using the atlite.Cutout function. The x and y values in the ATlite cutout closest to the site’s latitudes and longitudes are identified and set as the site’s coordinates. Since the time series power generation function in ATlite requires a pandas.DataFrame containing the coordinates, capacity, and geometry (Site, as defined in Section 2.1) as well as the layout as input, the layout must be calculated. The cutout.grid function from ATlite is used to retrieve the spatial grid structure as a dataframe with coordinates and geometries. The grid information is then merged with site-specific data using an inner join, ensuring that only matching records are combined to create the cells_generation DataFrame. Finally, the layout is generated using the Python XArray function, creating a core.DataArray that contains the cells_generation DataFrame, reindexed to the capacity factor map calculated in the next section. As a result, pixels in the capacity map not of interest are set to NaN, leaving only the pixels of interest with their installed capacity values. This layout is combined with a shape when calculating power. In cases where individual sites are selected, the shape is set to cells_generation.geometry, which corresponds to the individual polygon defining each site or pixel.

3. Results

3.1. Calculation of Solar Capacity Factors

After selecting a study area and performing interpolation, the average solar capacity factors were calculated for each pixel over the 1-month period. The solar capacity factor refers to the ratio of the actual output of a solar power system to its maximum possible output over a given period. This calculation was performed using the ATlite function pv, with the specified solar panel and orientation, and the parameter capacity_factor set to True. The capacity map for the study area is visualised in Figure 5, where the average capacity factor value for each pixel over the selected time period is indicated. The pixel corresponding to the installation site has a calculated capacity factor of 0.181.
The capacity factor map can also be used to identify the optimal location in a specified area (with regards to solar potential and excluding considerations such as land cover) by identifying the pixel(s) with the highest capacity factor(s) for possible installation sites.

3.2. Power Time Series Generation

The calculated average solar capacity factors and the installation layout (cutout) were used in conjunction with the PV panel attributes and orientation to determine the solar power generation time series at the installation site and timeframe of interest. This power generation time series is compared with observed power generation data in Figure 6, resulting in a root mean square error (RMSE) of 19.6 kW for an installation with a kWp of 250 over a period of 1 month.
An alternative approach is to use the capacity factor map to identify the optimal location within a specified area. In Figure 7 the same solar setup simulated in Figure 6 is simulated at the pixel with the highest capacity factor and compared to the simulated power generation at the installation site (orange). The difference in capacity factor between the original installation site (0.181) and the highest capacity factor (0.189) is shown in Table 1. These factors resulted in a total generated power of 33.6 MW for the original location versus 34.4 MW for the location with the highest capacity factor.
The difference between the installation site capacity factor and the highest capacity factor is 0.008, similarly the difference between the total power generation at the two sites are 0.8 MW, which does not seem significant. This is because the capacity map is over a very small area and not much variation is expected. However, this does demonstrate the usefulness of using a capacity map to identify the most suitable locations in a specified area.

4. Discussion

The results of this study demonstrate the effectiveness of using ATlite to simulate solar energy in South Africa. However, several aspects need to be discussed further in order to put the results into context and identify areas for improvement. The root-mean-square error (RMSE) of 19.6 kW, which corresponds to an error of 9.6%, clearly indicates a strong correlation between observed and simulated data. Nevertheless, discrepancies in the peak values indicate limitations in the resolution and accuracy of the ERA5 reanalysis data. These inconsistencies suggest that while the overall trends align, the exact peak values may not be fully reliable, which could affect decision-making based on these simulations. A major limitation may be the coarse spatial resolution of the ERA5 reanalysis data of 25 km for local patterns. This resolution may not effectively capture local climate variations, especially in urban areas or regions with complex terrain. Such discrepancies may lead to inaccuracies in the simulation of solar energy production. Future studies could explore the integration of higher-resolution datasets, such as SARAH-2 or locally measured solar radiation data, to address these limitations and improve the reliability of solar energy simulations. These datasets would allow for a more precise capture of local climate variations and reduce uncertainties, particularly in regions with complex terrain or urban microclimates. This enhancement is critical for decision-making processes that rely on accurate predictions of solar energy potential.
The method shown is not only applicable to the South African context, but also has the potential to be scaled up to larger regions or adapted for other countries with similar energy issues. By using high-resolution datasets and open-source tools such as ATlite, the approach can provide valuable insights into renewable energy planning in a range of geographic and climatic conditions. Notably, it supports the energy transition by identifying optimal renewable energy sites and strategies that are critical to reducing dependence on fossil fuels and achieving global sustainability goals. This scalability highlights the approach’s relevance to achieving global renewable energy targets and supporting sustainable energy transitions in regions with varying resource availability and energy demand.
Another point to consider is the temporal resolution of the simulation. While this study focused on hourly data for a one-month period, extending the analysis to seasonal or annual scales could provide a more comprehensive understanding of the potential and variability of solar energy. This would also allow for better integration of the results into long-term energy planning frameworks.
It should be noted that this study was conducted using a laptop computer with an 10th generation Intel Core i7 and 32 GB RAM. Running the simulation for a date range spanning 1-month of hourly data for a 112 × 112 pixel area, the calculations took 2 min to complete in total, while converting the data to NetCDF took 1 min and calculating the capacity factors and power generation curves took less than 30 s.
Finally, the study demonstrates the utility of open-source tools like ATlite in addressing renewable energy challenges. Despite its effectiveness and open provision of all necessary data and methods, the tool’s reliance on Python programming and data preprocessing steps may limit accessibility to non-technical users. Therefore, developing user-friendly interfaces or integrating ATlite into more comprehensive energy modeling platforms can certainly increase its acceptance among energy planners and decision-makers. As part of the broader efforts within the OASES project, plans are underway to integrate ATlite into the user-friendly IRENA FlexTool v3.9.0. This integration aims to provide an intuitive interface that minimizes the need for extensive programming knowledge or data preparation, making the tool more accessible and practical for a wider range of users, including non-technical stakeholders.
In the context of the Development and Demonstration of a Sustainable Open Access AU-EU Ecosystem for Energy System Modelling (OASES) project, under which this study was conducted, a comprehensive open-source strategy has been developed to facilitate the use of an integrated model chain for energy system modeling, aiming to ensure open-source accessibility and user-friendliness, enabling users globally to conduct renewable energy analyses with minimal barriers [28]. This ecosystem ensures transparency and supports the broader adoption of open-source tools for energy planning and analysis. The model chain developed in OASES encompasses renewable energy system detection [29,30], partly prepared for direct global application without programming knowledge through tools like QGis and Deepness [31,32], the high-resolution time series generation shown in this study, and energy system modeling, with integration into tools such as the IRENA FlexTool [33]. These advancements showcase the potential of open-source strategies to streamline renewable energy planning and forecasting processes, making them accessible and effective for diverse user groups. This broader vision aligns with the findings of this study, emphasizing the importance of improving accessibility and usability in renewable energy planning workflows.
Summing up, this study highlights the potential of ATlite for renewable energy planning in South Africa, while also identifying areas for improvement and future research. Addressing these aspects will improve the applicability and reliability of the tool and ultimately support the transition to a sustainable energy future.

5. Conclusions

The paper aimed to develop and test an approach for simulating solar power generation using open-source tools, custom datasets, and panels for renewables planning and forecasting. The approach, leveraging ATlite, effectively determined potential solar power generation from downscaled data of a study area in South Africa. Furthermore, the preliminary results revealed a strong correlation in trends between observed and simulated data for a one-month period. Although the exact peak values did not consistently align, the root mean square error (RMSE) was 19.6 kW, corresponding to a 9.6% error. This error may be attributed to the relative size of the installed area in comparison to the downloaded data resolution or the fact that ERA5 is reanalysis data and not ground truth. Despite these limitations, the methodology demonstrated its potential to provide reliable simulations, especially when incorporating higher-resolution datasets such as SARAH-2 or locally measured solar radiation data to improve accuracy.
The relatively small RMSE between the observed and simulated data, and the significant similarities in trends, in conjunction with the tool’s capability, validate the viability of this approach. Furthermore, the scalability of the methodology highlights its potential applicability beyond South Africa and enables renewable energy planning in regions with similar energy challenges. By utilizing high-resolution datasets and the flexibility of open-source tools such as ATlite, this approach can support the identification of optimal renewable energy sites and strategies across a range of geographic and climatic conditions, contributing to global efforts to reduce reliance on fossil fuels and transition to sustainable energy systems.
Furthermore, this approach successfully identified optimal sites for not only solar power in general but also specific PV panel models, making it a suitable option for renewable energy planning and decision-making. Its integration into user-friendly platforms such as the IRENA FlexTool, as part of the OASES project, highlights its potential to become a widely accessible and practical tool for policymakers and energy planners, including those without extensive technical expertise. This study thus lays the foundation for further research and development of tools that can optimize renewable energy planning processes and support the global transition to a sustainable energy future.

Author Contributions

Conceptualization, T.C., N.B., G.W. and S.K.; methodology, N.B. and G.W.; software, N.B., T.C. and G.W.; validation, N.B. and S.K.; formal analysis, N.B.; investigation, M.K., N.B., G.W., T.C. and S.K.; resources, N.B.; curation, M.K. and S.K.; writing—original draft preparation, T.C., N.B., G.W., M.K. and S.K.; writing—review and editing, T.C., N.B., G.W., M.K. and S.K.; visualization, N.B. and G.W.; supervision, N.B.; project administration, M.K. and S.K.; funding acquisition, M.K. All authors have read and agreed to the published version of the manuscript.

Funding

This work was done as part of the Long-Term Joint EU-AU Research and Innovation Partnership on Renewable Energy (LEAP-RE) Program. LEAP-RE has received funding from the European Union ’s Horizon 2020 Research and Innovation Program under Grant Agreement 963530. The Project “Development and Demonstration of a Sustainable Open Access AU-EU Ecosystem for Energy System Modelling” (OASES) within LEAP-RE is partly funded by the Council for Scientific and Industrial Research (CSIR) and the South African National Energy Development Institute (SANEDI) and by the German Federal Ministry of Education and Research (03SF067) to University of Kassel.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The code used in the context of this study is available at https://github.com/work-projects-kirodh/ERA5-to-RE-CF-TS (accessed on 2 December 2024).

Acknowledgments

The authors would like to thank the editors and reviewers for their advice.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ATliteAtmospheric Time Series Library for Integrated Testing and Evaluation
AUAfrican Union
CSIRCouncil for Scientific and Industrial Research
ERA5European Centre for Medium-Range Weather Forecasts Reanalysis Data
EUEuropean Union
GitHubSource code sharing and collaboration platform
IRENAInternational Renewable Energy Agency
LEAP-RELong-Term Joint EU-AU Research and Innovation Partnership on Renewable Energy
MDPIMultidisciplinary Digital Publishing Institute
MPPTMaximum Power Point Tracker
NOCTNominal Operating Cell Temperature
NTCNominal Testing Condition
OASESOpen Access AU-EU Ecosystem for Energy System Modelling
PVPhotovoltaic
QGISQuantum Geographic Information System
RMSERoot Mean Square Error
SARAH-2Surface Solar Radiation Dataset—Heliosat
STCStandard Testing Condition
ZenodoOpen-access repository for archiving research outputs

References

  1. Kock, Z.; Govender, K.K. Load-Shedding and the Declining Energy Availability Factor: A Case Study of a South African Power Station. Mediterr. J. Soc. Sci. 2021, 12, 128. [Google Scholar] [CrossRef]
  2. Lawrence, A. Eskom and the dual character of the South African state. In South Africa’s Energy Transition; Palgrave Pivot: Cham, Switzerland, 2020; pp. 59–83. [Google Scholar]
  3. du Venage, G. South Africa comes to standstill with Eskom’s load shedding. Eng. Min. J. 2020, 221, 18. [Google Scholar]
  4. Mabunda, M.V.; Mukonza, R.M.; Mudzanani, L.R. The effects of loadshedding on small and medium enterprises in the Collins Chabane local municipality. J. Innov. Entrep. 2023, 12, 57. [Google Scholar] [CrossRef]
  5. Walsh, K.; Theron, R.; Reeders, C. Estimating the economic cost of load shedding in South Africa. In Proceedings of the Biennial Conference of the Economic Society of South Africa (ESSA), Pretoria, South Africa, 12–14 September 2021; Volume 22. [Google Scholar]
  6. Ozili, P.K.; Ozen, E. Global energy crisis: Impact on the global economy. In The Impact of Climate Change and Sustainability Standards on the Insurance Market; Scrivener Publishing: Austin, TX, USA, 2023; pp. 439–454. [Google Scholar]
  7. International Energy Agency. World Energy Outlook 2022. 2022. Available online: https://www.iea.org/reports/world-energy-outlook-2022 (accessed on 21 January 2025).
  8. Xing, X.; Cong, Y.; Wang, Y.; Wang, X. The impact of COVID-19 and war in Ukraine on energy prices of oil and natural gas. Sustainability 2023, 15, 14208. [Google Scholar] [CrossRef]
  9. Bischof-Niemz, T.; Creamer, T. South Africa’s Energy Transition: A Roadmap to a Decarbonised, Low-Cost and Job-Rich Future; Routledge: London, UK, 2018. [Google Scholar]
  10. International Renewable Energy Agency (IRENA). Renewable Power Generation Costs in 2020. 2021. Available online: https://www.irena.org/publications/2021/Jun/Renewable-Power-Costs-in-2020 (accessed on 21 January 2025).
  11. Department of Energy. Integrated Resource Plan for Electricity 2010–2030; Department of Energy: Pretoria, South Africa, 2011. [Google Scholar]
  12. Ritchie, H.; Roser, M.; Rosado, P. CO2 and Greenhouse Gas Emissions; Our World in Data: Oxford, UK, 2020. [Google Scholar]
  13. Mutezo, G.; Mulopo, J. A review of Africa’s transition from fossil fuels to renewable energy using circular economy principles. Renew. Sustain. Energy Rev. 2021, 137, 110609. [Google Scholar] [CrossRef]
  14. Holmgren, W.F.; Groenendyk, D.G. An open source solar power forecasting tool using PVLIB-Python. In Proceedings of the 2016 IEEE 43rd Photovoltaic Specialists Conference (PVSC), Portland, OR, USA, 5–10 June 2016; IEEE: New York, NY, USA, 2016; pp. 972–975. [Google Scholar]
  15. Perry, K.; Muller, M. Automated Shift Detection in Sensor-Based PV Power and Irradiance Time Series. In Proceedings of the 2022 IEEE 49th Photovoltaics Specialists Conference (PVSC), Philadelphia, PA, USA, 5–10 June 2022; pp. 709–713. [Google Scholar] [CrossRef]
  16. Anderson, K.S.; Hansen, C.W.; Holmgren, W.F.; Jensen, A.R.; Mikofski, M.A.; Driesse, A. pvlib python: 2023 project update. J. Open Source Softw. 2023, 8, 5994. [Google Scholar] [CrossRef]
  17. Staffell, I.; Pfenninger, S. Using bias-corrected reanalysis to simulate current and future wind power output. Energy 2016, 114, 1224–1239. [Google Scholar] [CrossRef]
  18. Andresen, G.; Søndergaard, A.; Greiner, M. Validation of Danish wind time series from a new global renewable energy atlas for energy system analysis. Energy 2015, 93, 1074–1088. [Google Scholar] [CrossRef]
  19. Hofman, F.; Hampp, J.; Neuman, F.; Brown, T.; Hörsch, J. atlite: A Lightweight Python Package for Calculating Renewable Power Potentials and Time Series. J. Open Source Softw. 2021, 6, 3294. [Google Scholar] [CrossRef]
  20. Fejzić, E.; Niet, T.; Wade, C.; Usher, W. Aligning the Western Balkans power sectors with the European Green Deal. Environ. Res. Commun. 2024, 6, 115008. [Google Scholar] [CrossRef]
  21. Zech, M.; von Bremen, L. End-to-end learning of representative PV capacity factors from aggregated PV feed-ins. Appl. Energy 2024, 361, 122923. [Google Scholar] [CrossRef]
  22. Copernicus Climate Change Service (C3S). ERA5: Fifth Generation of ECMWF Atmospheric Reanalyses of the Global Climate. 2017. Copernicus Climate Change Service Climate Data Store (CDS) 15.2 (2017): 2020. Available online: https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels?tab=overview (accessed on 4 December 2024).
  23. Pfeifroth, U.; Kothe, S.; Trentmann, J.; Hollmann, R.; Fuchs, P.; Kaiser, J.; Werscheck, M. Surface Radiation Data Set—Heliosat (SARAH)—Edition 2.1; Satellite Application Facility on Climate Monitoring (CM SAF): Darmstadt, Germany, 2019. [Google Scholar] [CrossRef]
  24. Murphy, B.S. PyKrige: Development of a Kriging Toolkit for Python. 2014. Available online: https://ui.adsabs.harvard.edu/link_gateway/2014AGUFM.H51K0753M/abstract (accessed on 2 December 2024).
  25. Holmgren, W.; Hansen, C.; Mikofski, M. pvlib python: A python package for modeling solar energy systems. J. Open Source Softw. 2018, 3, 884. [Google Scholar] [CrossRef]
  26. Reda, I.; Andreas, A. Solar position algorithm for solar radiation applications. Sol. Energy 2004, 76, 577–589. [Google Scholar] [CrossRef]
  27. Beyer, H.G.; Heilscher, G.; Bofinger, S. A robust model for the MPP performance of different types of PV-modules applied for the performance check of grid connected systems. In Proceedings of the EuroSun 2004, Freiburg, Germany, 20–23 June 2004. [Google Scholar]
  28. Kleebauer, M.; Niemi, A.; Putkonen, N.; Kiviluoma, J.; Boodhraj, K.; van Reenen, T.; Lindenmeyer, M.; Dobschinski, J.; Braun, M. OASES: Open-Source and Data Strategy Report; Zenodo: Geneva, Switzerland, 2024. [Google Scholar] [CrossRef]
  29. Kleebauer, M.; Marz, C.; Reudenbach, C.; Braun, M. Multi-Resolution Segmentation of Solar Photovoltaic Systems Using Deep Learning. Remote Sens. 2023, 15, 5687. [Google Scholar] [CrossRef]
  30. Kleebauer, M.; Braun, A.; Horst, D.; Pape, C. Enhancing Wind Turbine Location Accuracy: A Deep Learning-Based Object Regression Approach for Validating Wind Turbine Geo-Coordinates. In Proceedings of the IGARSS 2024—2024 IEEE International Geoscience and Remote Sensing Symposium, Athens, Greece, 7–12 July 2024; IEEE: New York, NY, USA, 2024; pp. 7863–7867. [Google Scholar]
  31. QGIS Developer Team. QGIS Geographic Information System, version 3.x; Open Source Geospatial Foundation Project; Open Source Geospatial Foundation: Chicago, IL, USA, 2024; Available online: https://qgis.org (accessed on 2 December 2024).
  32. Aszkowski, P.; Ptak, B.; Kraft, M.; Pieczyński, D.; Drapikowski, P. Deepness: Deep neural remote sensing plugin for QGIS. SoftwareX 2023, 23, 101495. [Google Scholar] [CrossRef]
  33. Kiviluoma, J.; Tupala, A.; Soininen, A. International Renewable Energy Agency (IRENA). IRENA FlexTool v3.9.0; International Renewable Energy Agency: Abu Dhabi, United Arab Emirates, 2025; Available online: https://github.com/irena-flextool/flextool (accessed on 12 February 2024).
Figure 1. Procedure overview, with Steps 3–5 discussed more in-depth.
Figure 1. Procedure overview, with Steps 3–5 discussed more in-depth.
Solar 05 00008 g001
Figure 2. Study area with on the left side original ERA5 resolution at 25 km and on the right side new resolution at 1 km, for the z variable.
Figure 2. Study area with on the left side original ERA5 resolution at 25 km and on the right side new resolution at 1 km, for the z variable.
Solar 05 00008 g002
Figure 3. ERA5 and ATlite variables relationship mapping.
Figure 3. ERA5 and ATlite variables relationship mapping.
Solar 05 00008 g003
Figure 4. Efficiency curve of Trina TSM-PE06H 285 Wp as a function of irradiance.
Figure 4. Efficiency curve of Trina TSM-PE06H 285 Wp as a function of irradiance.
Solar 05 00008 g004
Figure 5. Average solar capacity factors for the study area with orthographic projection for date range 1 March 2020 to 31 March 2020.
Figure 5. Average solar capacity factors for the study area with orthographic projection for date range 1 March 2020 to 31 March 2020.
Solar 05 00008 g005
Figure 6. Solar power generation time series measured at the installation site (blue) and simulated using ATlite (orange).
Figure 6. Solar power generation time series measured at the installation site (blue) and simulated using ATlite (orange).
Solar 05 00008 g006
Figure 7. This is a comparison of the solar power generation simulation at the actual installation site (depicted in orange) as shown in Figure 6, alongside a simulation of the same installation at a location with the highest capacity factor (represented in green) within the study area, as illustrated in Figure 5.
Figure 7. This is a comparison of the solar power generation simulation at the actual installation site (depicted in orange) as shown in Figure 6, alongside a simulation of the same installation at a location with the highest capacity factor (represented in green) within the study area, as illustrated in Figure 5.
Solar 05 00008 g007
Table 1. Capacity factor and total power generation at selected and optimal sites (pixel with highest capacity factor).
Table 1. Capacity factor and total power generation at selected and optimal sites (pixel with highest capacity factor).
LocationCapacity FactorTotal Power Generation (MW)
Selected installation site0.18133.6
Optimal site0.18934.4
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Botha, N.; Coleman, T.; Wessels, G.; Kleebauer, M.; Karamanski, S. Power Generation Time Series for Solar Energy Generation: Modelling with ATlite in South Africa. Solar 2025, 5, 8. https://doi.org/10.3390/solar5010008

AMA Style

Botha N, Coleman T, Wessels G, Kleebauer M, Karamanski S. Power Generation Time Series for Solar Energy Generation: Modelling with ATlite in South Africa. Solar. 2025; 5(1):8. https://doi.org/10.3390/solar5010008

Chicago/Turabian Style

Botha, Nicolene, Toshka Coleman, Gert Wessels, Maximilian Kleebauer, and Stefan Karamanski. 2025. "Power Generation Time Series for Solar Energy Generation: Modelling with ATlite in South Africa" Solar 5, no. 1: 8. https://doi.org/10.3390/solar5010008

APA Style

Botha, N., Coleman, T., Wessels, G., Kleebauer, M., & Karamanski, S. (2025). Power Generation Time Series for Solar Energy Generation: Modelling with ATlite in South Africa. Solar, 5(1), 8. https://doi.org/10.3390/solar5010008

Article Metrics

Back to TopTop