---
title: "Follow a grazing ray, then add the missing light"
description: "Derive slant optical depth, integrate an absorbing annulus and bin the transmitted area with stellar photon weights."
canonical_url: "https://sandboxphysics.com/stories/planet-atmospheres/derive-a-pressure-dependent-transmission-spectrum/"
language: "en"
page_type: "story"
alternate_languages:
  zh-CN: "https://sandboxphysics.com/zh/stories/planet-atmospheres/derive-a-pressure-dependent-transmission-spectrum/"
last_modified: "2026-10-28"
---

[Planet atmospheres from grazing rays to molecular evidence](https://sandboxphysics.com/stories/planet-atmospheres/)

L2

# Follow a grazing ray, then add the missing light

Sandbox Physics · 2026-10-28

A grazing ray crosses far more gas than a vertical ray at the same height. Its missing light depends nonlinearly on optical depth. A transit spectrum follows only after we sum that loss over the annulus and average it in the observed wavelength bins.

## Before you begin

Use the pressure and radius relations derived in L1. This chapter introduces the absorption coefficient, impact parameter and area integral before combining them. Only absorption and an opaque gray cloud are retained.

## Give a molecular cross section a path length

A cross section $\sigma_\lambda$ is an effective absorption area per molecule, in square metres per molecule. Multiply it by the water number density $nx$ to obtain an absorption coefficient $\chi_\lambda$, in inverse metres. It measures the fractional attenuation per short path segment.

In a segment $ds$, the fractional loss is $dI_\lambda/I_\lambda=-\chi_\lambda ds$. Summing these fractional losses along a path defines the dimensionless optical depth. Exponentiating recovers the remaining intensity. This is pure extinction without scattering back into the beam or atmospheric emission.

The frozen water product supplies pressure-dependent cross sections at nine temperatures from 800 to 1600 kelvin. The calculation interpolates their logarithms linearly in temperature and in logarithmic pressure. It converts square centimetres per molecule to square metres per molecule before multiplying by SI number density.

$$
\chi_\lambda(r)=n(r)x\sigma_\lambda[T,P(r)],\qquad \frac{dI_\lambda}{ds}=-\chi_\lambda I_\lambda
$$

The extinction law uses the same pressure, number density and composition as the hydrostatic atmosphere. No separate visual opacity is assigned to the ring.

Reading: Chubb et al. (2021) · ExoMolOP cross sections and k-tables · Polyansky et al. (2018) · The POKAZATEL water line list

## Find the length of the chord through each shell

Let $b$ be a ray’s closest distance from the planet’s center, called its impact parameter. Let $z$ measure distance along that ray, with zero at the closest point. A right triangle gives the radius encountered by the ray. Spherical symmetry makes its front and back halves identical.

The gas column begins at the ten-bar radius and ends at a prescribed top pressure of one ten-billionth of a bar. Its finite outer radius is $R_t$, in metres. A cloud masks rays below its own radius; moving that mask preserves the same gas column.

For the numerical calculation, divide the pressure interval into 384 logarithmically spaced shells. Within each shell, hold the extinction coefficient at its midpoint value and use the exact geometric chord length through that shell. Add those contributions at every native sampled wavelength. All four displayed rays use extinction coefficients from this same record.

$$
r^2=b^2+z^2,\qquad \tau_\lambda(b)=2\int_0^{\sqrt{R_t^2-b^2}}\chi_\lambda\!\left(\sqrt{b^2+z^2}\right)\,dz
$$

The finite top radius is explicit. A ray inside the opaque cloud is blocked; a ray outside the finite atmosphere is transmitted.

$$
\mathcal T_\lambda(b)=e^{-\tau_\lambda(b)},\qquad B_\lambda(b)=1-\mathcal T_\lambda(b)
$$

Transmission and blocked fraction lie between zero and one. The blocked fraction is evaluated before any wavelength averaging.

Reading: Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy · Chubb et al. (2021) · ExoMolOP cross sections and k-tables

## Why a grazing path is unusually sensitive

An independent thin-atmosphere approximation helps us check the geometry. Take constant gravity, an exponential density and a cross section that is nearly constant along the useful part of a ray. Near the tangent point, expand the radial distance to second order in distance along the ray.

The density along the chord then contains $\exp[-z^2/(2bH)]$. Its integral is a Gaussian integral, giving the square-root factor below. Compared with the vertical column $n(b)H$, the tangent column is larger by $\sqrt{2\pi b/H}$.

With a radius of about 86,200 kilometres and a scale height of 828 kilometres, that factor is about 25.6. This is why a rarefied outer layer can matter in transit. Use the factor to check the thin-limit geometry; evaluate the full pressure-dependent integral for the extended atmosphere.

$$
r\simeq b+\frac{z^2}{2b},\qquad \tau_\lambda(b)\simeq n(b)x\sigma_\lambda\sqrt{2\pi bH}
$$

The approximation assumes a thin isothermal exponential atmosphere, nearly constant cross section and a distant enough top boundary.

Reading: Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy · Chubb et al. (2021) · ExoMolOP cross sections and k-tables

## Convert each ray’s loss to an occulting area

An annular strip of radius $b$ and width $db$ has area $2\pi b\,db$. Multiply by the strip’s blocked fraction and add all strips above the opaque cloud. Then add the cloud’s fully blocked disk and divide by the stellar disk area.

In the transparent-gas limit, only the cloud disk remains. In the completely opaque limit, the effective disk reaches the finite top radius. Between them, an optical depth of one blocks about 63.2 percent of the light in a strip; it does not draw a sharp physical edge at that strip.

The numerical area integral uses the positive blocked fractions from the same gas record, interpolated linearly in squared impact parameter. A zero value is included at the finite top. The saved validation compares this route with a separately constructed cloud-bounded quadrature, including moving cloud boundaries.

$$
D_\lambda=\frac{R_c^2+2\int_{R_c}^{R_t}b\,[1-e^{-\tau_\lambda(b)}]\,db}{R_\star^2}
$$

The factors of pi cancel. Depth is dimensionless; multiply by one million to report ppm. This modeled uniform-brightness area is compared with the upstream limb-darkened fitted-radius spectrum under the stated approximation.

Reading: Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy · Feinstein et al. (2023) · Early Release Science of WASP-39 b with JWST NIRISS

## Count photons after doing the transfer

A detector counts photons over a finite wavelength interval. At a fixed energy flux, a longer-wavelength photon carries less energy, so the photon weight includes wavelength. The common Planck-constant and light-speed factors cancel between lost and total photon counts.

First take a uniform ordinary photosphere. Its physical surface flux supplies the photon weights in the expression below. The response of bin i is the wavelength window over which those photons are counted.

The public measured table supplies horizontal halfwidths. Here they define an explicit top-hat response for each of the 74 selected bins. This approximates the upstream spectral measurement; it does not recover the NIRISS throughput or repeat the extraction. Each bin is integrated separately, preserving small overlaps and gaps in the supplied intervals.

Averaging the cross section first would generally give a different answer: opaque narrow features stop growing while transparent intervals still transmit. Exponentiation is nonlinear. The calculation therefore forms every native blocked area first and only then applies the photon weights.

$$
D_i^{\rm planet}=\frac{\int W_i(\lambda)\,\lambda F_{\lambda,\rm phot}\,D_\lambda\,d\lambda}{\int W_i(\lambda)\,\lambda F_{\lambda,\rm phot}\,d\lambda}
$$

The planetary depth is averaged using ordinary-photosphere photon counts under the stated top-hat response.

Reading: WASP-39 b NIRISS author data · Zenodo 7709712 and fixed repository commit · Chubb et al. (2021) · ExoMolOP cross sections and k-tables · Stuitje · PHOENIX medium-resolution stellar spectra, version 1.0

## Let the unocculted star change the denominator

Now let a projected fraction $f$ of the visible stellar disk be cool, with the planet passing entirely over ordinary photosphere. The missing photons still carry the photospheric spectrum. The out-of-transit denominator contains both normal and cool regions.

Both spectra are actual frozen PHOENIX surface-flux products in the same units. Their relative weight therefore retains their physical normalization. Independently normalizing their continua would erase part of the contrast we are trying to calculate.

Divide the lost photon count by this mixed denominator. Rearranging gives the second expression, with a bin-integrated cool-to-photosphere flux ratio. A cool region that emits less flux makes the same planetary shadow appear deeper. If the two source spectra are identical, the correction becomes exactly one; if the cool fraction is zero, the ordinary planetary depth returns.

$$
D_i^{\rm app}=\frac{\int W_i(\lambda)\,\lambda F_{\lambda,\rm phot}\,D_\lambda\,d\lambda}{\int W_i(\lambda)\,\lambda[(1-f)F_{\lambda,\rm phot}+fF_{\lambda,\rm spot}]\,d\lambda}
$$

The occulted region is ordinary photosphere. Cool regions are entirely outside the transit chord, and each component has uniform intensity.

$$
D_i^{\rm app}=\frac{D_i^{\rm planet}}{(1-f)+f q_i},\qquad q_i=\frac{\int W_i\lambda F_{\lambda,\rm spot}\,d\lambda}{\int W_i\lambda F_{\lambda,\rm phot}\,d\lambda}
$$

Under the defined response, this is an exact algebraic correction to the already photon-weighted planetary depth.

Reading: Rackham, Apai and Giampapa (2019) · The Transit Light Source Effect II · Stuitje · PHOENIX medium-resolution stellar spectra, version 1.0 · Husser et al. (2013) · A PHOENIX library of stellar atmospheres and spectra

## Read a spectrum together with its limitations

The model retains only water absorption in a hydrogen–helium background and an opaque gray cloud. Collision-induced absorption, other molecules, wavelength-dependent aerosols, scattering, refraction, winds and a three-dimensional terminator are absent. A neat resemblance to a band does not remove those missing processes.

The source cross section has resolving power about 15,000. Its native samples are not a new resolved-line calculation. Tests of radial quadrature and input quantization establish numerical agreement within this product; they do not establish the physical accuracy of line wings, broadening or the sampled product itself.

In five preset sensitivity checks, retaining every other native wavelength sample changes final bins by about 40–145 ppm, comparable to or larger than the reported measurement errors. Omitting a known temperature row changes bins by about 3.4–31.8 ppm. These changes describe coarser source representations; they are neither Gaussian error bars nor bounds on the unknown exact spectrum. The retained full sampled product remains an explicit condition of every posterior.

Below the source’s minimum pressure, the calculation freezes the lowest-pressure cross section while number density continues to decrease. Changing that choice or moving the finite top is reported as a sensitivity test. Neither change bounds all opacity or atmospheric-model error. These limits accompany the saved spectrum into the inference chapter.

Reading: Chubb et al. (2021) · ExoMolOP cross sections and k-tables · Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy · Feinstein et al. (2023) · Early Release Science of WASP-39 b with JWST NIRISS

## A saved calculation without opening the Lab

This synthetic example fixes a planet mass of 0.28 Jupiter masses, stellar radius of 0.932 solar radii and ten-bar radius ratio of 0.133. Temperature is 1100 kelvin, water number fraction 0.0001, cloud pressure one bar and unocculted cool fraction zero. The background particle count is 85 percent hydrogen molecules and 15 percent helium atoms.

The calculation uses 384 pressure shells from ten bar to a finite top of one ten-billionth of a bar. It retains 15,084 native opacity samples, pressure-dependent cross sections and 74 independent supplied top-hat bins. These values describe a teaching atmosphere, not a fit to the measured points.

| Quantity | Saved result | Method |
| --- | --- | --- |
| Reference gravity | $$4.770\,\mathrm{m\,s^{-2}}$$ | Fixed planet mass at the ten-bar radius |
| Local pressure scale height | $$828.1\,\mathrm{km}$$ | Thermal energy per particle divided by particle weight |
| One-bar cloud height | $$1949.9\,\mathrm{km}$$ | Inverse-square isothermal pressure law |
| Minimum planetary bin depth | $$18614.9\,\mathrm{ppm}$$ | Native transfer, then photon binning |
| Maximum planetary bin depth | $$20882.7\,\mathrm{ppm}$$ | Same gas, cloud and stellar response |

For a paper-and-pencil recalculation, use these SI constants:

$$
M_J=1.89813\times10^{27}\,\mathrm{kg}
$$

$$
R_\odot=6.957\times10^8\,\mathrm{m}
$$

$$
G=6.67430\times10^{-11}\,\mathrm{m^3\,kg^{-1}\,s^{-2}}
$$

$$
k_B=1.380649\times10^{-23}\,\mathrm{J\,K^{-1}}
$$

First obtain the reference radius and gravity, then the scale height and cloud radius. The full spectrum additionally requires the public opacity inputs and the L2 integrals.

## [Connect the ring, the rays and the spectral bins](https://sandboxphysics.com/labs/exoplanet-transmission-spectrum/)

1. Reset and select the 1.4 micrometre ray band. Trace a grazing ray into the absorbing ring and compare its fading with the optical-depth plot below.
2. Drag the gold cloud grip outward. The same lower rays become opaque at the cloud surface while the molecular contrast in the spectrum decreases. Read the changed pressure and radius together.
3. Select Spotted star and compare the planetary curve with the apparent curve. Switch between the frozen cool-region temperatures, keeping the atmospheric gas fixed, and explain the wavelength-dependent difference.

## Exercises with explanations

1. Two equally weighted wavelength samples have optical depths zero and ten. Compare the mean transmitted fraction with transmission evaluated at the mean optical depth.

   Read the explanation

   The actual mean transmission is about one half: one sample is transparent and the other is nearly black. The mean optical depth is five, whose exponential transmission is only about 0.00674. The observed bin must retain the separate transmitted samples before averaging.

2. A ray has optical depth one. If water number density doubles while the geometry and cross section are fixed, does its blocked fraction double?

   Read the explanation

   Optical depth doubles to two, but blocked fraction rises from about 0.632 to about 0.865. Once a strip is nearly opaque, adding absorbers gives diminishing additional blocked light. The statement holds at fixed geometry; the full mixture also changes particle mass slightly.

3. Suppose an observed bin has a cool-region flux ratio of 0.6 and an unocculted cool fraction of 0.05. What happens to a planetary depth of 20,000 ppm?

   Read the explanation

   The stellar denominator is 0.95 plus 0.05 times 0.6, or 0.98. The apparent depth becomes about 20,408 ppm. If the cool-region spectrum equals the ordinary photosphere in every bin, the correction becomes exactly one, whatever the fraction.

[Previous: How temperature and gravity set an atmosphere’s height](https://sandboxphysics.com/stories/planet-atmospheres/scale-height-and-an-absorbing-annulus/) [Next: What an atmospheric posterior can and cannot tell us](https://sandboxphysics.com/stories/planet-atmospheres/probability-radius-and-atmospheric-degeneracy/)

## Sources and calculation scope

1. [Feinstein et al. (2023) · Early Release Science of WASP-39 b with JWST NIRISS](https://doi.org/10.1038/s41586-022-05674-1)

   Published Nature 614, 670–675. Read Figures 1–3 and the extraction, light-curve and atmospheric-model Methods. The tutorial uses a fixed author-released nirHiss spectrum, with 74 selected order-one bins; it does not repeat the paper’s full chemical and cloud retrieval.

2. [WASP-39 b NIRISS author data · Zenodo 7709712 and fixed repository commit](https://doi.org/10.5281/zenodo.7709712)

   Archived data are CC BY 4.0. The exact CSV comes from author repository commit 0608071e1e70ec7ff12707774ea03ace4b52ea85, which also carries an MIT license. Original bytes, row selection, units and SHA256 are saved in the public provenance file. The complete archive was not downloaded.

3. [Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy](https://arxiv.org/html/1702.02051v2)

   Fixed accepted version, arXiv 1702.02051v2; published MNRAS 470, 2972–2981, DOI 10.1093/mnras/stx1453. Section 2.2 derives the thin, constant-gravity limit; Sections 3.2–3.3 discuss the reference radius and pressure. The course derives its inverse-square-gravity extension separately.

4. [Chubb et al. (2021) · ExoMolOP cross sections and k-tables](https://doi.org/10.1051/0004-6361/202038350)

   A&A 646, A21, full text Sections 3.1–3.3 and Tables 1–3. The actual sampled cross-section product supplies pressure, temperature, wavenumber and square centimetres per molecule. Its approximate hydrogen–helium broadening and source resolution remain model assumptions.

5. [Polyansky et al. (2018) · The POKAZATEL water line list](https://doi.org/10.1093/mnras/sty1877)

   Primary line-list description for the dominant water isotopologue. The delivered opacity is the derived ExoMolOP product, not a new computation of the full line list. ExoMol data and the extracted opacity derivatives retain CC BY-SA 4.0.

6. [Husser et al. (2013) · A PHOENIX library of stellar atmospheres and spectra](https://doi.org/10.1051/0004-6361/201219058)

   Primary model-library description. The frozen stellar input is the separately versioned medium-resolution derivative at Zenodo 17674612, version 1.0, CC BY 4.0. Actual ASCII units are nanometres and erg per square centimetre per second per nanometre; the spectra are unscaled surface fluxes.

7. [Stuitje · PHOENIX medium-resolution stellar spectra, version 1.0](https://doi.org/10.5281/zenodo.17674612)

   Three exact 3500, 4500 and 5500 kelvin members at log gravity 4.5 in cgs units, solar metallicity and zero alpha enhancement. The public bundle preserves original members, ZIP offsets, CRC32, SHA256 and CC BY 4.0 attribution. Effective spectral resolution is 5000; oversampling does not increase that resolution.

8. [Rackham, Apai and Giampapa (2019) · The Transit Light Source Effect II](https://arxiv.org/html/1812.06184v1)

   Fixed arXiv 1812.06184v1; published AJ 157, 96, DOI 10.3847/1538-3881/aaf892. Section III.1, Equations 3–6 define the unocculted-region correction and its uniform-intensity approximation. Section IV.3 explains why molecular contamination is generally weak at typical FGK activity levels.
