Reference / Rear side and front ground reflection
Model option
bifacialvf 1° sectors (Marion 2017)
Marion's bifacialvf model: six rear cell rows whose field of view is cut into 1° sectors on the sky, the next row and the ground
Inputs used: Bifaciality factor, Height above ground, Transparent fraction of the module plane, Structure shading factor, Ground albedo (bifacial system), Albedo
Method
The rows are taken as unlimited in length, so the model works in the vertical section across them. Each row is a flat slab whose slope length is the collector width. Its vertical height is and its horizontal length is (1). The rows stand apart, from the lower edge of one row to the lower edge of the next. On a fixed row the height above ground of the System tab is the height of the lower edge. On a tracker it is the height of the axis, and the lower edge stands half the slope length times the sine of the tilt below it.
The ground between two rows is cut into 100 intervals. Each interval sees the sky through three openings between the edges of the neighbouring rows. Its sky configuration factor is the sum of the cosine-weighted widths of the openings (2). The Perez model, with the constants under Settings, splits the diffuse horizontal irradiance into an isotropic part, a circumsolar part and a horizon band (3). The isotropic part reaches an interval in proportion to its sky configuration factor. The direct light and the circumsolar part on the horizontal reach the intervals whose centre lies outside the shadow of the row (4, 5). An interval in the shadow receives the transmission factor times that light.
The rear side is cut into six cell rows. The field of view of a cell row spans 180° from the module plane on the sky side and is cut into 1° sectors. A sector sees the sky, the front side of the next row or the ground (7). Each sector counts with its share of the cosine-weighted field of view times Marion's angle factor of glass for that sector (6). A sector that sees the sky receives the isotropic part of the diffuse light. The sky sectors less than 6° above the horizontal, just above the next row, also receive the horizon band of a vertical plane. A sector that sees the ground receives the albedo times the mean ground irradiance over its projection on the ground, the ground repeating every row distance (8). A projection wider than 0.99 times the row distance reads the mean over the whole row distance. A sector that sees the next row receives the light the next row's front cell rows reflect (9). That reflected light is the sky light, the horizon band and the ground light that their glass sends back, not the direct light. The direct and circumsolar light on the rear plane, tilted 180° minus the tilt, reaches the cell rows the next row leaves lit, through the glass factor of Sjerps-Koomen (11, 12). A cell row's irradiance is the sum of these parts (10).
The rear irradiance is the mean of the six cell rows times one minus the structure shade factor (13). The module converts the front irradiance plus the rear irradiance times the bifaciality factor (14). The six cell rows, after the structure shade, feed the Deline 2020 rear mismatch. The front side keeps the ground-reflected light of the transposition step, and this model adds nothing to it.
The model reads these values. The slope length is the collector width of the Racking tab, and the ground cover ratio is the Racking tab's. The height above ground is the bifacial section's. The transmission factor, when the request does not give one, is 1.3 %. The tilt and the azimuth of the plane are those of each timestep, and a tracker lying flat is taken as facing south. The albedo is the bifacial albedo when it is set, otherwise the site's albedo of the month. The sun's position comes from the sun steps. A timestep is computed when its interval has a sunlit part and the sun stands above the horizon at the evaluation time. The geometry depends on the tilt only. It is computed once for a fixed row and once for each distinct tilt of a tracker.
Settings
| Setting | Value |
|---|---|
| Ground intervals across the row distance | 100 |
| Cell rows on the rear side | 6 |
| Width of a view sector | 1° |
| Height above the horizontal of the sky sectors that receive the horizon band | 6° |
| Projection above which a sector reads the mean ground | 0.99 times the row distance |
| Refractive index of the glass | 1.526 |
| Transmission factor when not given | 1.3 % |
| Perez sky | 1367 W/m², Kasten 1966 air mass, seven-digit coefficients, isotropic sky above 87.5° zenith |
The math
- The section of a row
- The sky each ground interval sees
- The parts of the diffuse light
- The light on each ground interval
- The shadow of the row on the ground
- The weight of a view sector
- The sectors of a rear cell row
- The ground a sector sees
- The light a front cell row of the next row reflects
- The light on a rear cell row
- The rear cell rows the next row shades from the sun
- The glass factor on the rear plane
- The light on the rear side
- The light the module converts
where
| Symbol | Meaning | Unit |
|---|---|---|
| the slope length of a row, the collector width | m | |
| the tilt of the module plane from the horizontal at the timestep | degrees | |
| the vertical height and the horizontal length of a row | m | |
| the row distance, from the lower edge of one row to that of the next | m | |
| the ground cover ratio, the collector width over the pitch | — | |
| the height of the lower edge above the ground | m | |
| the height above ground of the bifacial section: the lower edge on a fixed row, the axis on a tracker | m | |
| the sky configuration factor of the ground at : the share of a uniform sky it sees between the rows | — | |
| the position on the ground across the rows | m | |
| the angles from the horizontal, at , to the two row edges that bound sky opening , the openings lying between consecutive rows from the second row behind to the row in front | degrees | |
| the diffuse horizontal irradiance of the weather file | W/m² | |
| the Perez circumsolar and horizon coefficients of the timestep | — | |
| the isotropic part of the diffuse light | W/m² | |
| the circumsolar part on the horizontal | W/m² | |
| the horizon band on a vertical plane | W/m² | |
| the zenith angle of the sun, 90° minus its elevation | degrees | |
| the irradiance on ground interval | W/m² | |
| the centre of ground interval | m | |
| the direct normal irradiance of the weather file | W/m² | |
| the transparent fraction of the module plane | — | |
| the horizontal distance across the rows from a point at height to its shadow | m | |
| the elevation of the sun above the horizon | degrees | |
| the azimuth the module plane faces | degrees | |
| the azimuth of the sun | degrees | |
| the shaded ground, from the lower edge of the row, between the two ends taken in either order | m | |
| the view sector of a cell row, 0 to 179, counted in degrees from the module plane on the sky side | — | |
| the share of sector in the irradiance a cell row receives through its glass | — | |
| Marion's angle factor of glass for sector , from 0.0576 at the module plane to 0.9881 near the perpendicular | — | |
| the share of the light from sector that a front cell row's glass reflects | — | |
| the reflectance of the glass at normal incidence | — | |
| the refractive index of the glass, 1.526 | — | |
| the first sector that sees the next row and the first that sees the ground | — | |
| the angles from the horizontal, at the cell row, up to the top edge and down to the lower edge of the next row | degrees | |
| the number of sky sectors next to the next row that receive the horizon band | — | |
| the mean ground irradiance over the projection of sector , the ground repeating every , or the mean over when the projection is wider than | W/m² | |
| the ground position where the lower border of sector meets the ground | m | |
| the position of cell row across the rows and its height, at of the row from its lower edge | m | |
| the light front cell row reflects | W/m² | |
| the same quantities for a front cell row, which faces the row ahead | — | |
| the ground albedo: the bifacial albedo when it is set, otherwise the site's albedo of the month | — | |
| the irradiance on rear cell row | W/m² | |
| the normalisation of the horizon band on the rear side, | — | |
| the reflected light of the next row's front cell rows that sector overlaps, weighted by the overlap | W/m² | |
| the direct light and the circumsolar part on the rear plane | W/m² | |
| the angle of incidence of the sun on the rear plane | degrees | |
| the shaded share of rear cell row | — | |
| the shaded fraction of the rear side, the first case that holds | — | |
| the transmission of the glass at incidence relative to normal incidence | — | |
| the angle of refraction in the glass | degrees | |
| the irradiance on the rear side | W/m² | |
| the fraction of the rear side shaded by the structure | — | |
| the irradiance the module model converts | W/m² | |
| the effective irradiance on the front side after the shading, soiling and glass-reflection steps | W/m² | |
| the bifaciality factor of the module: its rear-side efficiency relative to the front | — |
Note
The option reproduces the function irrad::calc_rear_side of SSC, the SAM Simulation Core. PVWatts version 8 calls it with a 1 m height and a 1.3 % transmission factor. SAM's detailed photovoltaic model calls it with its own inputs, 1.7 m and 1.3 % by default. With SSC's sun and plane angles over the sun-up hours of a typical year in Phoenix, the rear irradiance agrees with SSC within 0.00001 W/m² for a tracker with and without backtracking, a fixed row and the PVWatts tracker. Through the PVWatts and SAM paths, on SSC's own runs of a PVWatts tracker in Phoenix, a PVWatts fixed rack in Des Moines and SAM's default tracker, the rear irradiance agrees within 0.001 W/m² every hour. As in SSC, the rear side is computed on every lit timestep, also when the sun stands below the apparent horizon; the sky and the ground then give diffuse light only. The reference code's details are kept. The sectors that see the next row are projected onto it in metres, while the next row's cell rows are taken as sixths of a 1 m slope, the unit of the bifacialvf code. On a row whose slope length is not 1 m, such a sector reads the cell rows at its projection's distance in metres from the lower edge, counted on a 1 m row. With a slope longer than 1 m, the sectors that see the next row beyond its first metre receive no reflected light. The horizon band is divided by 0.052246 on the front side and by on the rear side. On a tracker the code means to reverse the order of the cell rows after solar noon. The reversal never acts, because it tests the rotation after another function has set it to 0, so the cell rows run from the lower edge of the module at every timestep. The order changes neither the mean nor the Deline 2020 mismatch. A tracker whose lower edge would go below the ground keeps the negative height.
References
- Marion et al. 2017, A practical irradiance model for bifacial PV modules, NREL/CP-5J00-67847
- NREL bifacialvf, Bifacial PV view factor model for system performance calculation, source code and documentation (github.com/NREL/bifacialvf, bifacialvf.readthedocs.io)
- Sjerps-Koomen, Alsema & Turkenburg 1996, A simple model for PV module reflection losses under field conditions, Solar Energy 57(6) 421–432
- Perez, Ineichen, Seals, Michalsky & Stewart 1990, Modeling daylight availability and irradiance components from direct and global irradiance, Solar Energy 44(5) 271–289
- NREL SAM Simulation Core (SSC) source code, release 2026.7.3, github.com/NatLabRockies/ssc: shared/lib_irradproc.cpp, irrad::calc_rear_side() and the functions it calls (getSkyConfigurationFactors, getGroundShadeFactors, getGroundGHI, getFrontSurfaceIrradiances, getBackSurfaceIrradiances); shared/lib_pv_incidence_modifier.h, MarionAOICorrectionFactorsGlass
API
bifacial.model = bifacialvf
Symbols follow the symbol registry.