SOL 101 › Unit 8

Unit 8 — Working with Real Spectral Data: Integration (Data Lab)

Big idea. A spectrum is a table of numbers — irradiance per nanometre at each wavelength. Adding up "height × width" slices (integration) turns it into the totals engineers use: total irradiance, the fraction in any band, photon flux, and the maximum current a given band gap can deliver. You will do this yourself with the real ASTM G173 table.

Learning objectives

Why this matters

"What fraction of sunlight can material X use?" and "what is the maximum current of a cell with gap \(E_g\)?" are integrals of the spectrum. Spectral mismatch corrections, quantum-efficiency-to-current calculations, and tandem current matching (SOL 202/203/401) are the same operation with an extra factor inside.

What "per nanometre" means

The G173 table lists, for each wavelength, the irradiance per nanometre of bandwidth. At 500 nm AM1.5G is about 1.55 W m⁻² nm⁻¹ — meaning a 1-nm-wide slice around 500 nm carries about 1.55 W/m². To get the power in a band you add up slices: power = area under the curve.

\[G = \int_{\lambda_1}^{\lambda_2} E_\lambda(\lambda)\, d\lambda\]

In words: integrate (sum) the spectral irradiance over the wavelengths you care about.

The data

ASTM G173-03 has 2002 rows from 280 to 4000 nm with columns: wavelength (nm), extraterrestrial (AM0), global tilt (AM1.5G), and direct + circumsolar (AM1.5D), all in W m⁻² nm⁻¹. The spacing is not uniform: 0.5 nm from 280–400 nm, 1 nm from 400–1700 nm, then 5 nm to 4000 nm (with a short transition). Any method that assumes equal spacing will be wrong.

Where to get it: the NREL (now NLR) RReDC "Reference Air Mass 1.5 Spectra" page publishes the table (Excel); a CSV copy ships with the open-source pvlib Python library (pvlib/data/ASTMG173.csv). This site's figures were computed from that copy.

The trapezoid rule

Between two neighbouring rows \(i\) and \(i+1\), approximate the curve by a straight line; the slice area is a trapezoid:

\[\Delta G_i = \frac{E_i + E_{i+1}}{2}\,(\lambda_{i+1} - \lambda_i)\]

Sum all slices. This handles uneven spacing automatically.

The trapezoid rule on real AM1.5G rows, 500–520 nm. Each blue trapezoid is one slice; their total area is the power in that 20-nm band (≈ 30 W/m²). Data: ASTM G173-03.
The trapezoid rule on real AM1.5G rows, 500–520 nm. Each blue trapezoid is one slice; their total area is the power in that 20-nm band (≈ 30 W/m²). Data: ASTM G173-03.

Spreadsheet recipe. Put wavelength in column A, AM1.5G in column C (rows 3–2004). In D4 enter =(C3+C4)/2*(A4-A3) and fill down. =SUM(D4:D2004) gives the total. For a band, sum only the rows inside it (use SUMIFS on column A).

Python recipe.

import numpy as np
d = np.genfromtxt("ASTMG173.csv", delimiter=",", skip_header=2)
wl, am0, g, dni = d.T
print(np.trapezoid(g, wl))            # ≈ 1000.4 W/m²
band = (wl >= 380) & (wl <= 750)
print(np.trapezoid(g[band], wl[band]) / np.trapezoid(g, wl))   # visible fraction ≈ 0.50

Reference results to check yourself against

Computed on this site from ASTM G173-03 with the trapezoid rule:

Quantity AM0 AM1.5G AM1.5D
Total, 280–4000 nm (W/m²) 1347.9 1000.4 900.1
UV share (< 400 nm) 7.6 % 4.6 % 3.4 %
Visible share (380–750 nm) 45.9 % 50.4 % 48.8 %
Beyond Si cutoff (> 1107 nm) 24.8 % 19.2 % 20.7 %
Photon flux (s⁻¹ m⁻²) 6.15 × 10²¹ 4.31 × 10²¹ 3.99 × 10²¹
Running integral of AM1.5G. About 5 % of the power lies below 400 nm, 48 % below 700 nm, 81 % below silicon's 1107-nm cutoff and 90 % below 1500 nm. Data: ASTM G173-03.
Running integral of AM1.5G. About 5 % of the power lies below 400 nm, 48 % below 700 nm, 81 % below silicon's 1107-nm cutoff and 90 % below 1500 nm. Data: ASTM G173-03.

From spectrum to maximum current

Convert each row to photon flux, \(\Phi_\lambda = E_\lambda \lambda/(hc)\), integrate up to the cutoff wavelength \(\lambda_g = 1239.84/E_g\), and multiply by \(q\):

\[J_{sc,\max}(E_g) = q \int_{280\,\text{nm}}^{\lambda_g} \frac{E_\lambda\,\lambda}{hc}\,d\lambda\]

In words: count every photon energetic enough to be absorbed and give each one electron.

Band gap (eV) Cutoff (nm) \(J_{sc,\max}\) AM1.5G (mA/cm²) "Ultimate" efficiency*
0.67 (Ge) 1851 61.1 40.9 %
1.12 (Si) 1107 43.8 49.0 %
1.34 (SQ optimum) 925 35.0 46.9 %
1.42 (GaAs) 873 32.0 45.5 %
1.50 (CdTe) 827 28.9 43.4 %
1.60 (perovskite, typical) 775 25.4 40.6 %
1.75 (top cell for Si tandem) 708 21.0 36.8 %

*"Ultimate efficiency" = \(E_g \times\) (photon flux above \(E_g\)) ÷ incident power: every absorbed photon delivers exactly \(E_g\) of energy. It accounts for below-gap and thermalization losses only (Unit 11). All values computed here.

Worked example — the silicon number by hand (sanity check)

From the table, photon flux above 1.12 eV ≈ \(J/q = 437.7\ \text{A/m}^2 / 1.602\times10^{-19} = 2.73\times10^{21}\) s⁻¹m⁻². If each delivered 1.12 eV \(= 1.794\times10^{-19}\) J, power \(= 2.73\times10^{21} \times 1.794\times10^{-19} = 490\) W/m² → 49 % of 1000 W/m². ✔ matches the table.

Lab exercise (do this)

  1. Download the G173 table (or the pvlib CSV). Plot all three columns vs wavelength.
  2. Reproduce the "Reference results" table above to within 0.5 %.
  3. Compute \(J_{sc,\max}\) for band gaps from 0.6 to 2.4 eV in 0.05 eV steps and plot it. Where does it fall fastest, and why (look at the spectrum)?
  4. Compute the fraction of AM1.5G power between 300 and 1200 nm (roughly silicon's response range).
  5. Extension: multiply AM1.5G by a made-up quantum-efficiency curve (1.0 from 400–1000 nm, linear to 0 at 1200 nm and at 300 nm) and integrate to get a realistic \(J_{sc}\).

Expected: (4) ≈ 84 %; (5) with exactly that QE shape ≈ 42.4 mA/cm² (computed here) — higher than real cells (≈ 41–42 mA/cm²) because a real QE is below 1 everywhere due to reflection and metal shading. If your totals are off by 10–30 %, you probably assumed uniform spacing.

Common misconceptions

Misconceptions

  • "Add up the column to get W/m²." Only if every step is exactly 1 nm. Multiply by the step width (trapezoid rule).
  • "Power fraction = photon fraction." No. Photons are weighted toward the red: beyond 1107 nm lies 19 % of AM1.5G power but about 36 % of its photons (computed here).
  • "Higher Jsc means a better band gap." Jsc rises as the gap falls, but voltage falls; the optimum balances both (Unit 11).

What this means for manufacturing and the job

Review questions

1. Why can't you just sum the G173 irradiance column?

Step sizes vary (0.5, 1 and 5 nm); each value must be multiplied by its step width (trapezoid rule).

2. What is the AM1.5G power between 400 and 700 nm (use the cumulative figure)?

About 48 % − 5 % ≈ 43 % of 1000 W/m² ≈ 430 W/m².

3. Max Jsc for a 1.42 eV GaAs cell under AM1.5G?

≈ 32.0 mA/cm² (table).

4. Why is the 'ultimate efficiency' of Si (49 %) higher than its SQ limit (≈ 33 %)?

Ultimate efficiency counts only below-gap and thermalization losses; SQ also includes unavoidable radiative recombination, which keeps the voltage below \(E_g/q\) and the fill factor below 1.

5. Integrated AM1.5G photon flux is 4.31 × 10²¹ s⁻¹m⁻². If every photon gave one electron, what current density would that be?

\(q\Phi = 690\) A/m² = 69 mA/cm² — only reachable by a zero-gap absorber, which would give zero voltage.

Sources