SPART.SMAC module

SMAC model.

Library for atmospheric correction using SMAC method (Rahman and Dedieu, 1994) Original translated and improved by: Peiqi Yang, ITC, University of Twente

Adapted to Python by: George Worrall, CRS, University of Florida

class src.spart.smac.AtmosphericOptics(Ta_s, Ta_o, Tg, Ra_dd, Ra_so, Ta_ss, Ta_sd, Ta_oo, Ta_do)

Bases: object

Class to hold atmospheric optics results from the SMAC model.

Parameters:
  • Ta_s (np.array) – Total scattering transmission downard
  • Ta_o (np.array) – Total scattering transmission upward
  • Tg (np.array) – Transmittance for all gases
  • Ra_dd (np.array) – Hemispherical atmospheric reflectance for diffuse light
  • Ra_so (np.array) – Directional atmospheric reflectance for direct incidence
  • Ta_ss (np.array) – Directional transmittance for direct incidence
  • Ta_sd (np.array) – Hemispherical transmittance for direct incidence
  • Ta_oo (np.array) – Directional transmittance for direct incidence (in viewing direction)
  • Ta_do (np.array) – Hemispherical transmittance for direct incidence (in viewing direction)
Ta_s

Total scattering transmission downard

Type:np.array
Ta_o

Total scattering transmission upward

Type:np.array
Tg

Transmittance for all gases

Type:np.array
Ra_dd

Hemispherical atmospheric reflectance for diffuse light

Type:np.array
Ra_so

Directional atmospheric reflectance for direct incidence

Type:np.array
Ta_ss

Directional transmittance for direct incidence

Type:np.array
Ta_sd

Hemispherical transmittance for direct incidence

Type:np.array
Ta_oo

Directional transmittance for direct incidence (in viewing direction)

Type:np.array
Ta_do

Hemispherical transmittance for direct incidence (in viewing direction)

Type:np.array
class src.spart.smac.AtmosphericProperties(aot550, uo3, uh2o, Pa=None, alt_m=None, temp_k=None)

Bases: object

Class to hold the properties of the atmosphere used in SMAC calculations.

Parameters:
  • aot550 (float) – Aerosol optical thickness at 550 nm
  • uo3 (float) – Ozone content, cm-atm
  • uh2o (float) – Water vapour content, g cm^-2
  • Pa (float, optional) – Air pressure, hPa, defaults to 1013.25
  • alt_m (int, optional) – Altitude of observation site, used to calculate air pressure if air pressure not known.
  • temp_k (float, optional) – Temperature in kelvin used to estimate air pressure
aot550

Aerosol optical thickness at 550 nm

Type:float
uO3

Ozone content, cm-atm

Type:float
uh20

Water vapour content, g cm^-2

Type:float
Pa

Air pressure, hPa

Type:float
src.spart.smac.SMAC(angles, atm, coefs)

Run the SMAC atmosphere model.

Parameters:
  • angles (sailh.Angles) – Contains solar zenith, observational zentiy, and relative difference of azimuth angles in degrees.
  • atm (AtmosphericProperties) – Contains the atmospheric properties for the model.
  • coefs (dict) – Contains all the transmittance coefficients for different atmospheric gases at the wavelengths of the specified sensor.
Returns:

Contains atmospheric reflectance and transmittance arrays

Return type:

AtmosphericOptics