solarPOT/Hourly_PV_public/Geographic_potential/Tilted_radiationb2056863329baw_solar
Tilted_radiation
README.md
Tilted radiation computation
The scripts provided here can be used to compute the tilted radiation (also referred to as irradiance) on a set of roof surfaces, for a given number of time stamps. Python's *pvlib* library is used to compute the direct, diffuse and reflected plane-of-array (POA) radiation components. Snow cover may be considered by providing an albedo input file (with daily data).
In addition to direct, diffuse and global horizontal radiation, as well as roof tilt and azimuth, the extraterrestrial radiation and the relative airmass are needed for the *Perez* model of diffuse radiation. The code may be adapted for use with another model of diffuse radiation, which would not require this information.
In a second step, the POA components are multiplied with shading, sky view factor and the mutual shading between adjacent panel rows on flat surfaces (see files in Flat_roof_simulation), to obtain the tilted radiation /irradiance on each roof. It implements the following formula:
G_t(t) = (1-S_{sh}(t)) * G_{Bt}(t) + SVF * G_{Dt}(t) + G_{Rt}(t)
where G_t(t) is the tilted radiation, (1-S_{sh}) is the hourly unshaded fraction of the roof, SVF is the sky view factor and G_{Bt}, G_{Dt} and G_{Rt} are the direct, diffuse and reflected POA radiation components.
Step 1: POA radiation
The files contained are:
- poa_irradiance.py: This python script executes the computation of the POA radiation components.
- exec_poa_irrad.sh: The bash script handles the parallel batch computation of the tilted radiation (a maximum size of 100k roofs is recommended per batch).
- merge_poa_irrad.ipynb: This post-processing script is used to combine the individual batch files (outputs of poa_irradiance.py) to a single netCDF file and to remove any outliers (which may arise from the computation of the direct normal radiation in early morning/late evening hours).
Output file
The output file of merge_poa_irrad.ipynb is a netCDF file, by default called "poa_irradiance.nc". It is described by the "POA radiation" section in the data folder.
Prerequesites
Functions
In addition to the python packages listed in the general overview, the following file in the *libs*-folder are required to run the codes provided here:
- rooftop_handling.py performs the linking between pixels of the meteorological data and the individual roof surfaces
Files (see data/README.md for reference)
Three input files are required:
- Rooftop characteristics (polygon and panel properties)
- Physical potential
- Surface albedo
Step 2: Tilted radiation
The file contained is:
- compute_tilted_irrad.py: This script computed the tilted radiation on the roofs, by multiplying the POA radiation with the hourly shading coefficienty, the sky view factor and the mutual shading (for flat roofs only).
As the computation of the tilted radiation consists of mere multiplications and additions, it can be run on a single large processing node in a short amount of time using xarray (10-15 mins for 9.6M roofs).
Output file
*compute_tilted_irrad.py* computed the rooftop tilted radiation and saves the results in a netCDF file, described by the "Tilted radiation" section in the data folder.
Input files (see data/README.md for reference)
- PARTLY_SHADING_FP: Hourly unshaded fraction
- POA_IRRAD_FP: POA radiation
- SVF_FP: Sky view factor (columns "DF_UID" and "SVF_unbiased")
- MUTUAL_SHADE_FP: Mutual shading
- ROOFS_FP: Rooftop characteristics (columns "DF_UID", "NEIGUNG", "panel_tilt")