Greenhouse effect#

Binder

In this problem, only radiative exchange is considered.

A disc, assumed to be black on the illuminated face and perfectly reflective on the opposite face, receives solar radiation, \(E\) = 800 W/m², through a glass parallel to the disc. The assembly is perpendicular to the solar radiation. It is considered that the ambient environment, at temperature \(\theta_a\) = 20 °C, radiates like a black body.

Given data

import numpy as np

σ = 5.67e-8     # W/(m²·K⁴) Stefan-Boltzmann constant

E = 800         # W/m², solar irradiance
θa = 20         # °C, ambient temperature

Ta = θa + 273.15
Ma = σ * Ta**4  # W/m², ambient excitance

Unprotected black disc#

Calculate the temperature of the disc, \(\theta_d / \mathrm{°C}\), considering the disc being a black body, unprotected by the glass.

disc_uprotected

Figure 1. Radiative energy balance.

From energy balance on the disc surface,

\[M^o_d=E + M^o_a\]

where:

  • \(E\) - solar irradiance, W/m².

  • \(M^o_d, \ M^o_a\) - radiant exitance of a black body at the same temperature as the surfaces of the disc and ambiance, respectively, W/m².

results the disc temperature:

\[ T_d = \sqrt[4]{M_d^o / \sigma} = 382.90 \ \mathrm{K} \]

or

\[ \theta_d = T_d - 273.15 = 109.75 \ \mathrm{°C} \]
print('Unprotected black body disc')

Md = E + Ma         # Energy balance on disc
Td = (Md / σ)**0.25
θd = Td - 273.15    # °C, disc temperature
print(f'θd = {θd:.2f} °C - disc temperature')
Unprotected black body disc
θd = 109.75 °C - disc temperature

Partially transparent glass, black disc#

The glass has a reflection factor \(\rho_{Sg} = 0.07\) and a transmission factor \(\tau_{Sg} = 0.90\) for solar (i.e., short wave) radiation. It has a reflection factor \(\rho_{Lg} = 0.50\) and a transmission factor \(\tau_{Lg} = 0.20\) for thermal (i.e., long-wave) radiation. The disc is considered a black body. The disc is considered a black body on the illuminated side and a perfectly reflecting surface on the other side.

Short wave

Long wave

ρ

τ

ρ

τ

Glass

0.07

0.90

0.50

0.20

Disc

0.0

0.

0.

0.

Find the temperature of the glass \(\theta_g\) / °C and the temperature of the disc \(\theta_d\) / °C.

disque_seul

Figure 2. Radiative energy balance.

Energy balance on the glass and on the disc is:

\[\begin{split} \left\{\begin{matrix} -2 \varepsilon_{Lg} M^o_g + \alpha_{Lg} M^o_d = -\alpha_{Sg} E - \alpha_{Lg} M^o_a\\ \varepsilon_{Lg} M^o_g - (1 - \rho_{Lg} M^o_d) = -\tau_{Sg} E - \tau{Lg} M^o_a \end{matrix}\right. \end{split}\]

or, in matrix form:

\[\begin{split} \begin{bmatrix} -2 \varepsilon_{Lg} & \alpha_{Lg} \\ \varepsilon_{Lg} & - (1 - \rho_{Lg}) \end{bmatrix} \begin{bmatrix} M^o_g\\ M^o_d \end{bmatrix} = \begin{bmatrix} -\alpha_{Sg} E - \alpha_{Lg} M^o_a\\ -\tau_{Sg} E - \tau{Lg} M^o_a \end{bmatrix} \end{split}\]

where the symbols are:

and the indexes are:

By solving for \(M^o_g\) and \(M^o_d\), we obtain the temperatures:

\[\begin{split} \begin{bmatrix} T_g\\ T_d \end{bmatrix} = \begin{bmatrix} \sqrt[4]{M^o_g / \sigma}\\ \sqrt[4]{M^o_d / \sigma} \end{bmatrix} \end{split}\]

and then:

\[\begin{split} \begin{bmatrix} \theta_g\\ \theta_d \end{bmatrix} = \begin{bmatrix} T_g\\ T_d \end{bmatrix} - 273.15 = \begin{bmatrix} 130.45 \ \mathrm{°C}\\ 185.55 \ \mathrm{°C} \end{bmatrix} \end{split}\]
print('Partially transparent glass, black disc')

ρ_Sg, τ_Sg = 0.07, 0.90     # glass, short wave
ρ_Lg, τ_Lg = 0.50, 0.20     # glass, long wave

α_Sg = 1 - ρ_Sg - τ_Sg
α_Lg = 1 - ρ_Lg - τ_Lg
ε_Lg = α_Lg
ε_Sg = α_Sg

A = np.array([[-2 * ε_Lg, α_Lg],
              [ε_Lg, -(1 - ρ_Lg)]])
b = np.array([-α_Sg * E - α_Lg * Ma,
              -τ_Sg * E - τ_Lg * Ma])
M = np.linalg.inv(A) @ b

T = (M / σ)**0.25
θ = T - 273.15           # °C, [glass, disc] temperatures
print(f'θg = {θ[0]:.2f} °C - glass temperature')
print(f'θd = {θ[1]:.2f} °C - disc temperature')
Partially transparent glass, black disc
θg = 130.45 °C - glass temperature
θd = 185.55 °C - disc temperature

Partially transparent glass, gray disc#

Let’s consider that the glass and the disc have the following radiative properties:

Short wave

Long wave

ρ

τ

ρ

τ

Glass

0.07

0.90

0.50

0.20

Disc

0.35

0.10

0.30

0.10

Find the temperature of the glass \(\theta_g\) / °C and the temperature of the disc \(\theta_d\) / °C.

disc_gray_sun

Figure 3. Short wave radiation from the sun.

disque_seul

Figure 4. Long wave radiation from the disc.

disque_seul

Figure 5. Long wave radiation from the glass.

disque_seul

Figure 6. Long wave radiation from the ambiance.

When \(|n| < 1\), the sum of a geometric series is

\[\sum_{k=0}^{\infty}n^k = \frac{1}{1-n}\]

In radiative equilibrum, the heat balance (on the glass and on the disc) is:

\[\begin{split} \left\{\begin{matrix} \dot Q_{Eg} + \dot Q_{M^o_dg} + \dot Q_{M^o_gg} + \dot Q_{M^o_ag} = 0\\ \dot Q_{Ed} + \dot Q_{M^o_dd} + \dot Q_{M^o_gd} + \dot Q_{M^o_ad} = 0 \end{matrix}\right. \end{split}\]

where the heat flow rate are:

  • for energy balance on glass:

    • \(\dot Q_{Eg} = \alpha_{Sg} \left ( 1 + \rho_{Sd} \tau_{Sg} \frac{1}{1 - \rho_{Sg} \rho_{Sd}} \right ) E\)

    • \(\dot Q_{M^o_dg} = \alpha_{Lg} \varepsilon_{Ld} \frac{1}{1 - \rho_{Ld} \rho_{Lg}} M^o_d\)

    • \(\dot Q_{M^o_gg} = \left ( \alpha_{Lg} \rho_{Ld} \varepsilon_{Lg} \frac{1}{1 - \rho_{Lg} \rho_{Ld}} - 2 \varepsilon_{Lg} \right )M^o_g\)

    • \(\dot Q_{M^o_ag} = \alpha_{Lg} \left ( 1 + \rho_{Ld} \tau_{Lg} \frac{1}{1 - \rho_{Lg} \rho_{Ld}} \right )M^o_a\)

  • for energy balance on disc:

    • \(\dot Q_{Ed} = \alpha_{Sd} \tau_{Sg} \frac{1}{1 - \rho_{Sg} \rho_{Sd}} E\)

    • \(\dot Q_{M^o_dd} = \left ( \alpha_{Ld} \rho_{Lg} \varepsilon_{Ld} \frac{1}{1 - \rho_{Ld} \rho_{Lg}} - \varepsilon_{Ld} \right ) M^o_d\)

    • \(\dot Q_{M^o_gd} = \alpha_{Ld} \varepsilon_{Lg} \frac{1}{1 - \rho_{Lg} \rho_{Ld}} M^o_g\)

    • \(\dot Q_{M^o_ag} = \alpha_{Ld} \tau_{Lg} \frac{1}{1 - \rho_{Lg} \rho_{Ld}} M^o_a\)

where the symbols are:

and the indexes are:

By solving the linear system of equations:

\[Ax = b\]

where:

\[\begin{split} A = \begin{bmatrix} \alpha_{Lg} \rho_{Ld} \varepsilon_{Lg} \frac{1}{1 - \rho_{Lg} \rho_{Ld}} - 2 \varepsilon_{Lg} & \alpha_{Lg} \varepsilon_{Ld} \frac{1}{1 - \rho_{Ld} \rho_{Lg}} \\ \alpha_{Ld} \varepsilon_{Lg} \frac{1}{1 - \rho_{Lg} \rho_{Ld}} & \alpha_{Ld} \rho_{Lg} \varepsilon_{Ld} \frac{1}{1 - \rho_{Ld} \rho_{Lg}} - \varepsilon_{Ld} \end{bmatrix} \end{split}\]

and

\[\begin{split} b = \begin{bmatrix} \alpha_{Sg} \left ( 1 + \rho_{Sd} \tau_{Sg} \frac{1}{1 - \rho_{Sg} \rho_{Sd}} \right ) E + \alpha_{Lg} \left ( 1 + \rho_{Ld} \tau_{Lg} \frac{1}{1 - \rho_{Lg} \rho_{Ld}} \right )M^o_a\\ \alpha_{Sd} \tau_{Sg} \frac{1}{1 - \rho_{Sg} \rho_{Sd}} E + \alpha_{Ld} \tau_{Lg} \frac{1}{1 - \rho_{Lg} \rho_{Ld}} M^o_a \end{bmatrix} \end{split}\]

for \(x^T = [M^o_g \ M^o_d]^T\), we obtain:

\[\begin{split} \begin{bmatrix} T_g\\ T_d \end{bmatrix} = \begin{bmatrix} \sqrt[4]{M^o_g / \sigma}\\ \sqrt[4]{M^o_d / \sigma} \end{bmatrix} \end{split}\]

and then:

\[\begin{split} \begin{bmatrix} \theta_g\\ \theta_d \end{bmatrix} = \begin{bmatrix} T_g\\ T_d \end{bmatrix} - 273.15 = \begin{bmatrix} 84.48 \ \mathrm{°C}\\ 143.20 \ \mathrm{°C} \end{bmatrix} \end{split}\]
print('Partially transparent glass, gray disc')

ρ_Sg, τ_Sg = 0.07, 0.90     # short wave, glass
ρ_Lg, τ_Lg = 0.50, 0.20     # long wave, glass
ρ_Sd, τ_Sd = 0.35, 0.10     # short wave, disc
ρ_Ld, τ_Ld = 0.30, 0.10     # long wave, disc

α_Sg = 1 - ρ_Sg - τ_Sg
α_Lg = 1 - ρ_Lg - τ_Lg
α_Sd = 1 - ρ_Sd - τ_Sd
α_Ld = 1 - ρ_Ld - τ_Ld
ε_Lg = α_Lg
ε_Ld = α_Ld

A = np.array([[α_Lg * ρ_Ld * ε_Lg / (1 - ρ_Lg * ρ_Ld) - 2 * ε_Lg,
              α_Lg * ε_Ld / (1 - ρ_Ld * ρ_Lg)],

              [α_Ld * ε_Lg / (1 - ρ_Lg * ρ_Ld),
               α_Ld * ρ_Lg * ε_Ld / (1 - ρ_Ld * ρ_Lg) - ε_Ld]])

b = -np.array([α_Sg * (1 + ρ_Sd * τ_Sg / (1 - ρ_Sg * ρ_Sd)) * E +
               α_Lg * (1 + ρ_Ld * τ_Lg / (1 - ρ_Lg * ρ_Ld)) * Ma,

               α_Sd * τ_Sg / (1 - ρ_Sg * ρ_Sd) * E +
               α_Ld * τ_Lg / (1 - ρ_Lg * ρ_Ld) * Ma])

M = np.linalg.inv(A) @ b
T = (M / σ)**0.25
θ = T - 273.15           # °C, [glass, disc] temperatures
print(f'θg = {θ[0]:.2f} °C - glass temperature')
print(f'θd = {θ[1]:.2f} °C - disc temperature')
Partially transparent glass, gray disc
θg = 84.48 °C - glass temperature
θd = 143.20 °C - disc temperature