Raman Scattering

A Python module for calculating Raman scattering coefficients, backscattering coefficients, and related optical properties for pure water and seawater.

Overview

Raman scattering is an inelastic scattering process where incident light excites water molecules to a virtual energy state, which then decays to a vibrational level above the ground state. The emitted light has a longer wavelength (lower energy) than the incident light, with a characteristic wavenumber shift of ~3400 cm-1 corresponding to the O-H stretching mode of water.

This module implements the formulations from:

  • Bartlett et al. (1998) — Raman scattering coefficient measurements and wavelength dependence

  • Walrafen (1967) — Wavenumber distribution function (emission spectrum shape)

  • Ge et al. (1993) — Depolarization ratio and phase function

  • Mobley (1994)Light and Water textbook formulations

  • Sathyendranath & Platt (1998) — Ocean-colour model incorporating transspectral processes (Raman contribution to Rrs)

The module is organized into two parts:

Low-level functions (bing.rt.raman):

Core Raman scattering coefficients, phase functions, emission spectra, and wavelength redistribution.

Rrs functions (bing.rt.rrs):

Higher-level functions for calculating Raman contribution to remote sensing reflectance, including first-order and second-order terms.

Quick Start

import numpy as np
from bing.rt.raman import (
    raman_scattering_coeff,
    raman_backscattering_coeff,
    excitation_to_emission_wavelength,
    summary_at_wavelength
)

# Raman scattering coefficient at 488 nm
b_R = raman_scattering_coeff(488)
print(f"b_R(488 nm) = {b_R:.2e} m⁻¹")  # 2.60e-04 m⁻¹

# Backscattering coefficient
b_bR = raman_backscattering_coeff(488)
print(f"b_bR(488 nm) = {b_bR:.2e} m⁻¹")  # 1.30e-04 m⁻¹

# Emission wavelength for 488 nm excitation
lambda_em = excitation_to_emission_wavelength(488)
print(f"Emission center: {lambda_em:.1f} nm")  # ~585 nm

# Full summary
summary = summary_at_wavelength(488)

Module Contents

Constants

Constant

Value

Description

B_RAMAN_488_BARTLETT

2.7×10-4 m-1

Bartlett et al. (1998) measurement

B_RAMAN_488_DESIDERIO

2.4×10-4 m-1

Desiderio (2000) measurement

B_RAMAN_488_HYDROLIGHT

2.6×10-4 m-1

HydroLight default value

DEPOLARIZATION_RATIO

0.17

For water at ~3400 cm-1

WAVENUMBER_SHIFT_CENTER

3400 cm-1

Center of O-H stretch band

Functions

Scattering Coefficients

raman_scattering_coeff
raman_scattering_coeff(wavelength_excitation, reference_value=2.6e-4, units='energy')

Calculate the total Raman scattering coefficient bR(λ’).

Parameters:
  • wavelength_excitation (float or ndarray) – Excitation wavelength(s) λ’ in nm

  • reference_value (float) – Reference value at 488 nm in m-1

  • units (str) – 'energy' (exponent -5.5) or 'photon' (exponent -5.3)

Returns:

bR in m-1

Return type:

float or ndarray

Example:

# Single wavelength
b_R = raman_scattering_coeff(400)  # 7.76e-04 m⁻¹

# Array of wavelengths
wavelengths = np.array([400, 450, 500, 550])
b_R = raman_scattering_coeff(wavelengths)
raman_backscattering_coeff
raman_backscattering_coeff(wavelength_excitation, reference_value=2.6e-4, units='energy')

Calculate the Raman backscattering coefficient bbR(λ’).

The backscattering coefficient is the integral of the volume scattering function over the backward hemisphere (scattering angles from 90° to 180°).

Parameters:
  • wavelength_excitation (float or ndarray) – Excitation wavelength(s) λ’ in nm

  • reference_value (float) – Reference value at 488 nm in m-1

  • units (str) – 'energy' or 'photon'

Returns:

bbR in m-1

Return type:

float or ndarray

Note

For the Raman phase function, the backscattering ratio bbR/bR = 0.5 exactly.

Wavelength Functions

excitation_to_emission_wavelength
excitation_to_emission_wavelength(lambda_ex, delta_nu=3400)

Convert excitation wavelength to emission wavelength.

Parameters:
  • lambda_ex (float or ndarray) – Excitation wavelength(s) in nm

  • delta_nu (float) – Wavenumber shift in cm-1

Returns:

Emission wavelength(s) in nm

Return type:

float or ndarray

Example:

excitation_to_emission_wavelength(488)   # → 585.1 nm
excitation_to_emission_wavelength(400)   # → 463.0 nm
excitation_to_emission_wavelength(550)   # → 676.5 nm
emission_to_excitation_wavelength
emission_to_excitation_wavelength(lambda_em, delta_nu=3400)

Inverse conversion from emission to excitation wavelength.

Parameters:
  • lambda_em (float or ndarray) – Emission wavelength(s) in nm

  • delta_nu (float) – Wavenumber shift in cm-1

Returns:

Excitation wavelength(s) in nm

Return type:

float or ndarray

wavelength_redistribution
wavelength_redistribution(lambda_ex, lambda_em)

Calculate the wavelength redistribution function fR(λ’, λ) in nm-1.

This gives the probability density that light at excitation wavelength λ’, if Raman scattered, will be emitted at wavelength λ.

Parameters:
  • lambda_ex (float) – Excitation wavelength λ’ in nm

  • lambda_em (float or ndarray) – Emission wavelength(s) λ in nm

Returns:

fR in nm-1

Return type:

float or ndarray

Example:

# Emission spectrum for 488 nm excitation
lambda_em = np.linspace(550, 620, 100)
f_R = wavelength_redistribution(488, lambda_em)

Phase Function

raman_phase_function
raman_phase_function(psi, rho=0.17, normalize=True)

Calculate the Raman phase function βR(ψ) in sr-1.

Parameters:
  • psi (float or ndarray) – Scattering angle(s) in radians

  • rho (float) – Depolarization ratio

  • normalize (bool) – If True, normalize so ∫β sin(ψ) dψ = 1/(2π)

Returns:

Phase function in sr-1

Return type:

float or ndarray

The phase function has the form:

\[\beta_R(\psi) = \frac{1 + \delta \cos^2\psi}{4\pi \times \text{normalization}}\]

where δ = (1 - ρ)/(1 + ρ) ≈ 0.71 for ρ = 0.17.

raman_phase_function_simple
raman_phase_function_simple(psi)

Simplified form from the Ocean Optics Web Book:

\[\beta_R(\psi) = \frac{1 + 0.53 \cos^2\psi}{4\pi \times 1.177}\]
Parameters:

psi (float or ndarray) – Scattering angle(s) in radians

Returns:

Phase function in sr-1

Return type:

float or ndarray

Volume Scattering Function

raman_vsf
raman_vsf(wavelength_excitation, wavelength_emission, psi, reference_value=2.6e-4, units='energy')

Calculate the full Raman volume scattering function βR(λ’, λ, ψ) in m-1 sr-1 nm-1.

This combines all three components:

\[\beta_R(\lambda', \lambda, \psi) = b_R(\lambda') \times f_R(\lambda', \lambda) \times \tilde{\beta}_R(\psi)\]
Parameters:
  • wavelength_excitation (float) – Excitation wavelength λ’ in nm

  • wavelength_emission (float) – Emission wavelength λ in nm

  • psi (float or ndarray) – Scattering angle(s) in radians

  • reference_value (float) – Reference value at 488 nm in m-1

  • units (str) – 'energy' or 'photon'

Returns:

Volume scattering function in m-1 sr-1 nm-1

Return type:

float or ndarray

Convenience Functions

get_emission_spectrum
get_emission_spectrum(wavelength_excitation, wavelength_emission_range=None, n_points=100)

Get the Raman emission spectrum for a given excitation wavelength.

Parameters:
  • wavelength_excitation (float) – Excitation wavelength in nm

  • wavelength_emission_range (tuple or None) – (min, max) emission wavelength range in nm

  • n_points (int) – Number of points in the spectrum

Returns:

(wavelength_emission, intensity) arrays

Return type:

tuple of ndarray

Example:

lambda_em, intensity = get_emission_spectrum(488)
plt.plot(lambda_em, intensity)
summary_at_wavelength
summary_at_wavelength(wavelength, units='energy')

Get a dictionary of all Raman parameters at a given excitation wavelength.

Parameters:
  • wavelength (float) – Excitation wavelength in nm

  • units (str) – 'energy' or 'photon'

Returns:

Dictionary of Raman parameters

Return type:

dict

Example:

>>> summary_at_wavelength(488)
{
    'excitation_wavelength_nm': 488,
    'emission_center_nm': 585.08,
    'wavelength_shift_nm': 97.08,
    'wavenumber_shift_cm-1': 3400.0,
    'scattering_coeff_m-1': 2.6e-04,
    'backscattering_coeff_m-1': 1.3e-04,
    'backscattering_ratio': 0.5,
    'depolarization_ratio': 0.17,
    'units': 'energy'
}

Raman Rrs Functions (bing.rt.rrs)

These functions calculate the contribution of Raman scattering to remote sensing reflectance (Rrs), implementing the Sathyendranath & Platt (1998) formulation.

calc_Rrs_with_raman(a_em, bb_em, a_ex, bb_ex, bb_R, Ed_ratio=1.0, in_G1=None, in_G2=None, mu_d=0.9, mu_u=0.4, mu_R=0.5, include_second_order=True)

Calculate remote sensing reflectance (Rrs) including Raman correction.

This function computes Rrs using the Gordon model for elastic scattering and adds the Raman contribution from Sathyendranath & Platt (1998).

Parameters:
  • a_em (float or ndarray) – Total absorption coefficient at emission wavelength λ [m-1]

  • bb_em (float or ndarray) – Total backscattering coefficient at emission wavelength λ [m-1]

  • a_ex (float or ndarray) – Total absorption coefficient at excitation wavelength λ’ [m-1]

  • bb_ex (float or ndarray) – Total backscattering coefficient at excitation wavelength λ’ [m-1]

  • bb_R (float or ndarray) – Raman backscattering coefficient at λ’ [m-1]. Can be computed using bing.rt.raman.raman_backscattering_coeff()

  • Ed_ratio (float or ndarray) – Ratio Ed(λ’)/Ed(λ). Default is 1.0

  • in_G2 (in_G1,) – Gordon coefficients. If None, use defaults (0.0949, 0.0794)

  • mu_d (float) – Mean cosine for downwelling irradiance

  • mu_u (float) – Mean cosine for upwelling irradiance

  • mu_R (float) – Mean cosine for Raman-scattered light

  • include_second_order (bool) – If True, include second-order Raman terms. Default is True

Returns:

Remote sensing reflectance Rrs [sr-1]

Return type:

float or ndarray

Example:

from bing.rt import raman
from bing.rt.rrs import calc_Rrs_with_raman

# At 520 nm emission with 443 nm excitation
a_520, bb_520 = 0.05, 0.002
a_443, bb_443 = 0.03, 0.003
bb_R = raman.raman_backscattering_coeff(443)
Rrs = calc_Rrs_with_raman(a_520, bb_520, a_443, bb_443, bb_R)
calc_R_raman_first_order(a_em, bb_em, a_ex, bb_ex, bb_R, Ed_ratio=1.0, mu_d=0.9, mu_R=0.5)

Calculate first-order Raman reflectance (Term 1).

This is Eq. (11) from Sathyendranath & Platt (1998).

Parameters:
  • a_em (float or ndarray) – Absorption coefficient at emission wavelength λ [m-1]

  • bb_em (float or ndarray) – Elastic backscattering coefficient at emission wavelength λ [m-1]

  • a_ex (float or ndarray) – Absorption coefficient at excitation wavelength λ’ [m-1]

  • bb_ex (float or ndarray) – Elastic backscattering coefficient at excitation wavelength λ’ [m-1]

  • bb_R (float or ndarray) – Raman backscattering coefficient at excitation wavelength λ’ [m-1]

  • Ed_ratio (float or ndarray) – Ratio of downwelling irradiance Ed(λ’)/Ed(λ). Default is 1.0

  • mu_d (float) – Mean cosine for downwelling irradiance

  • mu_R (float) – Mean cosine for Raman-scattered light

Returns:

First-order Raman reflectance RR(λ, 0)

Return type:

float or ndarray

The first-order term represents direct Raman scattering:

\[R^R(\lambda, 0) = \frac{E_d(\lambda')}{E_d(\lambda)} \times \frac{b_b^R(\lambda')/\mu_d(\lambda')}{K(\lambda') + \kappa^R(\lambda)}\]
calc_R_raman_RE(a_em, bb_em, a_ex, bb_ex, bb_R, Ed_ratio=1.0, s_E=1.0, mu_d=0.9, mu_R=0.5)

Calculate second-order Raman-then-Elastic reflectance (Term 2).

This is Eq. (18) from Sathyendranath & Platt (1998): a downward Raman-scattering event followed by an upward elastic-scattering event.

Parameters:
  • a_em (float or ndarray) – Absorption coefficient at emission wavelength λ [m-1]

  • bb_em (float or ndarray) – Elastic backscattering coefficient at emission wavelength λ [m-1]

  • a_ex (float or ndarray) – Absorption coefficient at excitation wavelength λ’ [m-1]

  • bb_ex (float or ndarray) – Elastic backscattering coefficient at excitation wavelength λ’ [m-1]

  • bb_R (float or ndarray) – Raman backscattering coefficient at λ’ [m-1]

  • Ed_ratio (float or ndarray) – Ratio Ed(λ’)/Ed(λ). Default is 1.0

  • s_E (float) – Shape factor for elastic scattering

  • mu_d (float) – Mean cosine for downwelling irradiance

  • mu_R (float) – Mean cosine for Raman-scattered light

Returns:

Second-order Raman-Elastic reflectance RRE(λ, 0)

Return type:

float or ndarray

Note

This term is typically ~10% of the first-order Raman term.

calc_R_raman_ER(a_em, bb_em, a_ex, bb_ex, bb_R, Ed_ratio=1.0, s_E=1.0, mu_d=0.9, mu_u=0.4, mu_R=0.5)

Calculate second-order Elastic-then-Raman reflectance (Term 3).

This is Eq. (23) from Sathyendranath & Platt (1998): an upward elastic-scattering event followed by an upward Raman-scattering event.

Parameters:
  • a_em (float or ndarray) – Absorption coefficient at emission wavelength λ [m-1]

  • bb_em (float or ndarray) – Elastic backscattering coefficient at emission wavelength λ [m-1]

  • a_ex (float or ndarray) – Absorption coefficient at excitation wavelength λ’ [m-1]

  • bb_ex (float or ndarray) – Elastic backscattering coefficient at excitation wavelength λ’ [m-1]

  • bb_R (float or ndarray) – Raman backscattering coefficient at λ’ [m-1]

  • Ed_ratio (float or ndarray) – Ratio Ed(λ’)/Ed(λ). Default is 1.0

  • s_E (float) – Shape factor for elastic scattering

  • mu_d (float) – Mean cosine for downwelling irradiance

  • mu_u (float) – Mean cosine for upwelling irradiance

  • mu_R (float) – Mean cosine for Raman-scattered light

Returns:

Second-order Elastic-Raman reflectance RER(λ, 0)

Return type:

float or ndarray

Note

This term is typically ~10% of the first-order Raman term.

calc_R_raman_total(a_em, bb_em, a_ex, bb_ex, bb_R, Ed_ratio=1.0, s_E=1.0, mu_d=0.9, mu_u=0.4, mu_R=0.5, include_second_order=True)

Calculate total Raman contribution to reflectance at the sea surface.

This combines the first-order Raman term (Term 1) and optionally the two second-order terms (Terms 2 and 3) from Sathyendranath & Platt (1998).

Parameters:
  • a_em (float or ndarray) – Absorption coefficient at emission wavelength λ [m-1]

  • bb_em (float or ndarray) – Elastic backscattering coefficient at emission wavelength λ [m-1]

  • a_ex (float or ndarray) – Absorption coefficient at excitation wavelength λ’ [m-1]

  • bb_ex (float or ndarray) – Elastic backscattering coefficient at excitation wavelength λ’ [m-1]

  • bb_R (float or ndarray) – Raman backscattering coefficient at λ’ [m-1]

  • Ed_ratio (float or ndarray) – Ratio Ed(λ’)/Ed(λ). Default is 1.0

  • s_E (float) – Shape factor for elastic scattering

  • mu_d (float) – Mean cosine for downwelling irradiance

  • mu_u (float) – Mean cosine for upwelling irradiance

  • mu_R (float) – Mean cosine for Raman-scattered light

  • include_second_order (bool) – If True, include second-order terms (RE and ER). Default is True

Returns:

Total Raman reflectance contribution

Return type:

float or ndarray

Total Raman reflectance = RR + RRE + RER

Note

The second-order Raman-Raman terms (Terms 4 and 5) are neglected as they contribute only ~1% of the first-order term (see Section 4.A of the paper).

calc_R_total_with_raman(a_em, bb_em, a_ex, bb_ex, bb_R, Ed_ratio=1.0, s_E=1.0, mu_d=0.9, mu_u=0.4, mu_R=0.5, include_second_order=True)

Calculate total reflectance including elastic and Raman contributions.

This implements Eq. (26) from Sathyendranath & Platt (1998), the simplified model for clear waters.

Parameters:
  • a_em (float or ndarray) – Absorption coefficient at emission wavelength λ [m-1]

  • bb_em (float or ndarray) – Elastic backscattering coefficient at emission wavelength λ [m-1]

  • a_ex (float or ndarray) – Absorption coefficient at excitation wavelength λ’ [m-1]

  • bb_ex (float or ndarray) – Elastic backscattering coefficient at excitation wavelength λ’ [m-1]

  • bb_R (float or ndarray) – Raman backscattering coefficient at λ’ [m-1]

  • Ed_ratio (float or ndarray) – Ratio Ed(λ’)/Ed(λ). Default is 1.0

  • s_E (float) – Shape factor for elastic scattering

  • mu_d (float) – Mean cosine for downwelling irradiance

  • mu_u (float) – Mean cosine for upwelling irradiance

  • mu_R (float) – Mean cosine for Raman-scattered light

  • include_second_order (bool) – If True, include second-order Raman terms. Default is True

Returns:

Total reflectance R(λ, 0) = RE(λ) + RR(λ) + RRE(λ) + RER(λ)

Return type:

float or ndarray

calc_raman_correction_factor(a_em, bb_em, a_ex, bb_ex, bb_R, Ed_ratio=1.0, s_E=1.0, mu_d=0.9, mu_u=0.4, mu_R=0.5, include_second_order=True)

Calculate the multiplicative correction factor for Raman scattering.

This returns the ratio of total reflectance (with Raman) to elastic reflectance, useful for correcting Rrs retrievals.

Parameters:
  • a_em (float or ndarray) – Absorption coefficient at emission wavelength λ [m-1]

  • bb_em (float or ndarray) – Elastic backscattering coefficient at emission wavelength λ [m-1]

  • a_ex (float or ndarray) – Absorption coefficient at excitation wavelength λ’ [m-1]

  • bb_ex (float or ndarray) – Elastic backscattering coefficient at excitation wavelength λ’ [m-1]

  • bb_R (float or ndarray) – Raman backscattering coefficient at λ’ [m-1]

  • Ed_ratio (float or ndarray) – Ratio Ed(λ’)/Ed(λ). Default is 1.0

  • s_E (float) – Shape factor for elastic scattering

  • mu_d (float) – Mean cosine for downwelling irradiance

  • mu_u (float) – Mean cosine for upwelling irradiance

  • mu_R (float) – Mean cosine for Raman-scattered light

  • include_second_order (bool) – If True, include second-order Raman terms. Default is True

Returns:

Correction factor: (RE + Rraman) / RE

Return type:

float or ndarray

To remove Raman contribution from measured reflectance:

R_elastic = R_measured / correction_factor

Note

Typical correction factors range from 1.0 to ~1.25, with largest corrections in clear (oligotrophic) waters at longer wavelengths.

calc_R_elastic(a, bb, s=1.0, mu_d=0.9, mu_u=0.4)

Calculate elastic-scattering reflectance at the sea surface.

This is Eq. (5) from Sathyendranath & Platt (1998), the standard elastic scattering term (Term 0 in Table 1).

Parameters:
  • a (float or ndarray) – Absorption coefficient [m-1]

  • bb (float or ndarray) – Backscattering coefficient [m-1]

  • s (float) – Shape factor for scattering (s = 1 for isotropic/Rayleigh)

  • mu_d (float) – Mean cosine for downwelling irradiance

  • mu_u (float) – Mean cosine for upwelling irradiance

Returns:

Elastic reflectance RE(λ, 0)

Return type:

float or ndarray

\[R^E(\lambda, 0) = \frac{\mu_u \times s}{\mu_u + \mu_d} \times \frac{b_b}{a + b_b}\]

This is equivalent to the Gordon model when appropriate G factors are used.

calc_attenuation_coeffs(a, bb, mu_d=0.9, mu_u=0.4, mu_R=0.5)

Calculate diffuse attenuation coefficients for elastic and Raman scattering.

Following Sathyendranath & Platt (1998) Eqs. (3) and (4).

Parameters:
  • a (float or ndarray) – Absorption coefficient [m-1]

  • bb (float or ndarray) – Backscattering coefficient [m-1]

  • mu_d (float) – Mean cosine for downwelling irradiance

  • mu_u (float) – Mean cosine for upwelling irradiance

  • mu_R (float) – Mean cosine for Raman-scattered light (typically 0.5 for isotropic)

Returns:

Dictionary containing attenuation coefficients:

  • 'K': Downwelling attenuation coefficient

  • 'kappa_E': Upwelling attenuation for elastic scatter

  • 'kappa_R': Upwelling attenuation for Raman scatter

  • 'K_R': Downwelling attenuation after Raman scatter

Return type:

dict

Physical Background

Wavelength Dependence

The Raman scattering coefficient follows a strong power-law wavelength dependence:

Units

Excitation Form

Emission Form

Energy

bR ∝ (λ’)-5.5

bR ∝ λ-4.8

Photon

bR ∝ (λ’)-5.3

bR ∝ λ-4.6

This strong wavelength dependence means Raman scattering is much more significant at blue wavelengths than at red wavelengths.

Emission Spectrum

The emission spectrum is modeled using the Walrafen (1967) four-Gaussian parameterization:

Component

Weight

Center (cm-1)

FWHM (cm-1)

1

0.41

3250

210

2

0.39

3425

175

3

0.10

3530

140

4

0.10

3625

140

This produces the characteristic peak-and-shoulder shape of the water Raman emission band.

Wavelength Shifts

The wavelength shift increases with excitation wavelength due to the fixed wavenumber shift:

λ’ (nm)

λ (nm)

Shift (nm)

350

397

47

400

463

63

450

531

81

488

585

97

500

602

102

550

677

127

Backscattering

The Raman phase function is nearly symmetric about 90°, resulting in a backscattering ratio of exactly 0.5. This is similar to Rayleigh (molecular) scattering and quite different from particle scattering (which is strongly forward-peaked).

Example: Radiative Transfer Source Term

In radiative transfer calculations, Raman scattering appears as a source term. For unpolarized light:

import numpy as np
from raman_seawater import raman_vsf

def raman_source_term(L_excitation, lambda_ex, lambda_em, psi):
    """
    Calculate Raman scattering source term for RT equation.

    Parameters
    ----------
    L_excitation : ndarray
        Radiance at excitation wavelength [W m⁻² sr⁻¹ nm⁻¹]
    lambda_ex : float
        Excitation wavelength [nm]
    lambda_em : float
        Emission wavelength [nm]
    psi : ndarray
        Scattering angles [radians]

    Returns
    -------
    S_raman : ndarray
        Source term contribution [W m⁻³ sr⁻¹ nm⁻¹]
    """
    beta_R = raman_vsf(lambda_ex, lambda_em, psi)
    # Integrate over solid angle (simplified)
    S_raman = beta_R * L_excitation
    return S_raman

Example: Effect on Remote Sensing Reflectance

Raman scattering can contribute significantly to remote sensing reflectance, especially in clear waters at red wavelengths:

import numpy as np
import matplotlib.pyplot as plt
from raman_seawater import raman_scattering_coeff, excitation_to_emission_wavelength

# Wavelengths where Raman contributes to Rrs
emission_wavelengths = np.array([550, 600, 650, 700])

# Find corresponding excitation wavelengths
for lam_em in emission_wavelengths:
    # Light at ~450-500 nm scatters into these wavelengths
    lam_ex = 1e7 / (1e7/lam_em + 3400)  # Approximate
    b_R = raman_scattering_coeff(lam_ex)
    print(f"Light at {lam_ex:.0f} nm → {lam_em} nm, b_R = {b_R:.2e} m⁻¹")

Limitations and Notes

  1. Temperature/Salinity Dependence: The current implementation uses Walrafen (1967) parameters for pure water at 25°C. The emission spectrum shape varies slightly with temperature and salinity (see Artlett & Pask 2017).

  2. Pure Water vs Seawater: Bartlett et al. (1998) found no statistically significant difference between pure water and seawater Raman scattering coefficients.

  3. Polarization: The phase function averages over all polarization states. For polarized radiative transfer, a full Mueller matrix treatment is required.

  4. Energy vs Photon Units: Use units='energy' for radiative transfer codes like HydroLight that work in energy units (W m-2 nm-1), and units='photon' for Monte Carlo simulations that track photon numbers.

References

[SathyendranathPlatt1998]

Sathyendranath, S. and Platt, T. (1998). “Ocean-colour model incorporating transspectral processes,” Appl. Opt. 37, 2216-2227.

[Bartlett1998]

Bartlett, J.S., Voss, K.J., Sathyendranath, S., and Vodacek, A. (1998). “Raman scattering by pure water and seawater,” Appl. Opt. 37, 3324-3332.

[Desiderio2000]

Desiderio, R.A. (2000). “Application of the Raman scattering coefficient of water to calculations in marine optics,” Appl. Opt. 39, 1893-1894.

[Ge1993]

Ge, Y., Gordon, H.R., and Voss, K.J. (1993). “Simulation of inelastic-scattering contributions to the irradiance field in the ocean: variation in Fraunhofer line depths,” Appl. Opt. 32, 4028-4036.

[Mobley1994]

Mobley, C.D. (1994). Light and Water: Radiative Transfer in Natural Waters. Academic Press.

[Walrafen1967]

Walrafen, G.E. (1967). “Raman spectral studies of the effects of temperature on water structure,” J. Chem. Phys. 47, 114-126.

[Artlett2017]

Artlett, C.P. and Pask, H.M. (2017). “Optical remote sensing of water temperature using Raman spectroscopy,” Opt. Express 25, 2840-2851.