Key takeaways
- PVsyst’s help gives 0.2 as its usual default for the project albedo. pvlib’s ground-diffuse function defaults to 0.25.
- Sandia’s PVPMC page quotes PVsyst guidance. It lists grass at 0.15 to 0.25, concrete at 0.25 to 0.35 and fresh snow at 0.82.
- In the invented example, raising albedo from 0.2 to 0.5 lifted rear ground-reflected light 2.5 times (135.8 to 339.4 W/m2). The front total rose only 0.8%, and the model ignores row shading.
- Where snow lies for long periods, a single year-round albedo can mislead.
- In the example profile, a plain monthly mean (0.300) overstates the GHI-weighted value (0.236). The error is 27%.
To set a separate rear-face albedo in a simulation, see the best solar simulation software.
Albedo at a glance
Albedo is one number per ground surface. The model multiplies it by the light falling on the ground. That gives the light bounced back at the array.
| Item | Detail |
|---|---|
| Formula | Albedo = reflected irradiance ÷ global horizontal irradiance. Sandia’s PVPMC page defines it as "the fraction of the Global Horizontal Irradiance that is reflected". |
| Unit and range | Dimensionless, 0 to 1. HelioScope’s help states 0.0 to 1.0. |
| Where it matters | Rear gain of bifacial modules. Ground-reflected light on tilted fronts. Vertical and snow-covered sites. |
| Standard or rule | No single standard. Typical values in tools come from company guidance (PVsyst) and reference tables. |
| In software | A project input, often monthly. Some tools read it from the weather file. |
Why albedo matters for installers
For bifacial arrays, albedo is the main input that sets how much light reaches the rear. A wrong value moves the energy figure you promise. A monofacial design is far less sensitive.
PVsyst’s help says albedo is not critical except for vertical planes. Its share of incident light is small. It calls the value "very important" for bifacial systems. Sandia’s page adds a snow case. It uses about 0.2 for dry concrete or asphalt and about 0.8 for fresh snow. It says that change can lift output by 5 to 10%. That holds only if the array stays snow-free.
Row layout matters too. PVsyst notes that in row-based monofacial systems only the first row "sees" the albedo. See bifacial modelling for full-row gains. See bifacial module for the hardware.
Figure 1. With example inputs, ground-reflected light on the rear face is 135.8 W/m2 at albedo 0.2 and 339.4 W/m2 at 0.5, against 4.2 and 10.6 W/m2 on the front.
How does albedo enter a model?
A model multiplies albedo by the irradiance reaching the ground. Then it multiplies by how much ground each face can see. It adds the result to the face’s sky and beam light.
- Take global horizontal irradiance (GHI) as the light on the ground.
- Multiply by albedo. PVsyst’s bifacial help says each ground point re-emits isotropically with a specified albedo factor.
- For the front face, pvlib’s get_ground_diffuse uses GHI × albedo × (1 − cos tilt) ÷ 2. See solar irradiance and plane-of-array irradiance.
- For the rear face, the ground view factor is (1 + cos tilt) ÷ 2. At 20 degrees tilt that is 0.970 for the rear and 0.030 for the front. That is why the rear is so sensitive.
- Remove light blocked by rows and racking. A simple model skips this step. So it gives an upper bound.
PVsyst separates two albedos. Its help says the project albedo "characterizes the ground in front of the installation" and enters the transposition model. The bifacial albedo is "a property of the ground just below your PV installation".
What are typical albedo values?
Dark surfaces such as asphalt reflect least. Grass and concrete sit near 0.2 to 0.3. Snow is highest. Sources give ranges. Tools pick single values from them.
| Surface | PVsyst help range (also on Sandia’s page) | pvlib 0.16.1 single value |
|---|---|---|
| Urban environment | 0.14 to 0.22 | 0.18 |
| Grass | 0.15 to 0.25 | 0.20 |
| Fresh grass | 0.26 | 0.26 |
| Concrete | 0.25 to 0.35 | 0.30 |
| Dry asphalt | 0.09 to 0.15 | 0.12 (pvlib name: asphalt) |
| Wet snow | 0.55 to 0.75 | 0.65 (pvlib name: snow) |
| Fresh snow | 0.82 | 0.75 |
The Sandia page was last modified 13 November 2022 per its metadata. The PVsyst page prints no date. Sandia attributes its table to PVsyst. So the two columns are not independent measurements. The pvlib values sit inside the PVsyst ranges except fresh snow. pvlib’s docs call 0.1 to 0.4 typical for bare or vegetated ground (the "typically 0.1-0.4" wording). They add that it "may increase over snow, ice, etc."
How does albedo change through the year?
Albedo changes slowly with the seasons, except when it snows. A measurement note from sensor maker Hukseflux says changes are "typically slow and seasonal, except when it snows". It says models generally assume monthly variability. It advises measuring seasonal vegetation two to four times a year.
PVsyst’s help says wet ground, snow and surface ageing change albedo. The help adds that PVsyst does not model such changes automatically. You can define seasonal values.
Datasets treat snow separately. The NLR (formerly NREL) NSRDB code docs describe a daily albedo series. It blends MODIS land albedo (version 6) with daily IMS snow cover. The processing was updated in February 2020. Solargis’s knowledge base (page dated 22 October 2026) says its monthly averages may miss short-lived snow. It suggests daily series for due diligence.
Time step may matter less than the snow itself. An undated Sandia PVPMC poster used CASSYS. It found hourly, daily and monthly albedo gave a limited difference in modelled bifacial gain. It did not study snow. See weather and solar resource data and snow loss.
Worked example: albedo 0.2 against 0.5
Every input below is example. The model is simple on purpose. It has uniform, unobstructed, isotropic ground and sky. It uses one instant and no row shading. Each term matches pvlib 0.16.1.
Inputs (example): GHI 700 W/m2 and diffuse horizontal 200 W/m2. Sun zenith 40 degrees, due south. Array tilted 20 degrees, facing south. Bifaciality 0.70. Direct normal is 652.7 W/m2, so the front beam is 613.3 W/m2.
| Result (W/m2 unless stated) | Albedo 0.2 | Albedo 0.5 |
|---|---|---|
| Front ground-reflected | 4.2 | 10.6 |
| Front total | 811.5 | 817.9 |
| Rear ground-reflected | 135.8 | 339.4 |
| Rear sky diffuse | 6.0 | 6.0 |
| Rear total | 141.8 | 345.5 |
| Rear ÷ front | 0.175 | 0.422 |
| Bifacial extra (0.70 × rear) | 99.3 | 241.8 |
| Extra as % of front | 12.2% | 29.6% |
The rear ground term scales exactly with albedo, so it rises 2.5 times. The rear total rises less, 2.44 times, because the sky part does not change. The front total rises only 0.8%. The 12.2% and 29.6% are instantaneous upper bounds. Real rows shade the ground and block its view. So annual gains are lower. The bifacial modelling page runs a full row.
Seasonal weighting (example profile). This rear term is linear in albedo. So weight months by sunlight, not by count.
| Period | Months | Share of annual GHI (example) | Albedo (example) |
|---|---|---|---|
| December to February, snow | 3 | 9% | 0.60 |
| March to November, no snow | 9 | 91% | 0.20 |
The plain mean of the months is 0.300. The GHI-weighted albedo is 0.236, so the plain mean overstates the ground term by 27% in this example case. Ground under real arrays is not lit like GHI. So treat this as a method, not a result.
Albedo calculator
Enter irradiance, tilt and two albedos to compare front and rear light. The front beam is the direct light on the front face. Take it from your own model. The presets reproduce the example above.
How solar software handles albedo
All four tools take an albedo input. PVsyst, SAM and HelioScope take monthly values. PVsyst and SAM help pages give 0.2 as a default, and HelioScope states none. PVsyst uses a separate albedo for bifacial runs. SAM’s help page says it uses the same albedo value for the rear bifacial calculation as for the front, with no separate bifacial setting. Of these four tools, PVsyst is the only one with a distinct bifacial-ground albedo input. The table reflects the pages read in October 2026.
| Software | Takes an albedo input? | Default stated? |
|---|---|---|
| PVsyst | Yes | Project albedo only. Bifacial ground albedo: none stated. |
| SAM | Yes | Yes, in the help |
| pvlib python | Yes | Yes, in the functions |
| HelioScope | Yes | Not stated |
- PVsyst: Project albedo: usual value 0.2, "default in PVsyst". Bifacial ground albedo is a separate input: Constant, Monthly or From file (hourly or subhourly). No default stated. Source: PVsyst help, Albedo usual coefficients, Bifacial systems and procedure (no date printed).
- SAM: Help says "you can use the default albedo value of 0.2", monthly uniform or spatial values, and an option to use weather-file albedo. It says SAM "also uses albedo to calculate irradiance incident on the rear side of bifacial modules". A SAM staff forum reply (1 July 2022) suggests missing albedo data in a weather file stopped SAM 2021.12.2 from reading it. Source: SAM help, Location and Resource (no date printed).
- pvlib python: get_ground_diffuse and get_total_irradiance default to 0.25. The docs say albedo must be 0 to 1. A surface_type name overrides the number. Source: pvlib 0.16.1 installed package and the pvlib docs.
- HelioScope: Values 0.0 to 1.0, set for all months or by month. No default stated. Weather-file albedo "is not used for bifacial simulations". Source: HelioScope help, What are bifacial modules (no date printed).
For a wider field, see our ranked lists of the best solar simulation software and PVsyst alternatives.
Common mistakes with albedo
FAQs
What albedo should I use if I have no measurement?
Start from the ground type. PVsyst gives grass 0.15 to 0.25 and concrete 0.25 to 0.35, and its help calls 0.2 usual. pvlib’s functions default to 0.25. For bifacial bids, measure or use a dataset, then test 0.1 either side.
Is albedo a percentage?
No. Tools take a fraction from 0 to 1, so enter 0.2, not 20. The help pages we read state that range, but we did not test whether each tool rejects a bad value.
Sensor makers often quote percentages instead. Hukseflux gives about 4% for fresh asphalt and 90% for fresh snow, so convert before entering.
Does albedo matter for normal, monofacial panels?
Usually little. PVsyst’s help says it is not critical except for vertical planes. In the example the front total moved 0.8% for a 0.2 to 0.5 change. Snow-covered sites are the exception Sandia flags.
How do I measure albedo?
Hukseflux describes an albedometer. It is two horizontal pyranometers, with one facing down. It advises mounting at 1 m or higher (1.5 m is practical). Measure in sun on unshaded ground. The sun should be above 60 degrees elevation.
Related terms
- Bifacial modelling: estimating rear-face energy from albedo, height and row spacing.
- Bifacial module: a module that collects light on both faces.
- Snow loss: energy lost while snow covers the modules.
Next step: set the rear-face albedo from your own ground type, then see which tools let you enter it in the PVsyst alternatives list.
Sources
- Sandia PVPMC, Albedo (checked October 2026, metadata modified 13 November 2022).
- PVsyst help, Albedo usual coefficients, Bifacial systems and procedure (checked October 2026).
- pvlib get_ground_diffuse and pvlib irradiance source (checked October 2026). Pvlib 0.16.1 installed package, albedo module.
- HelioScope help, What are bifacial modules? (checked October 2026).
- SAM help, Location and Resource (checked October 2026). SAM forum: weather data elements, month albedo and weather-file albedo error (checked October 2026).
- Hukx, How to measure albedo for bifacial PV (no date printed, checked October 2026).
- NSRDB code docs, albedo and Solargis, satellite-based albedo data (checked November 2026. The docs site moved from nrel.github.io to natlabrockies.github.io after the NREL to NLR rename. Content is unchanged).
- Sandia PVPMC poster, albedo granularity and bifacial gain (undated, checked October 2026).
Last updated 30 October 2026. Next scheduled review: 30 January 2027.