satpy.modifiers.atmosphere module

Modifiers related to atmospheric corrections or adjustments.

class satpy.modifiers.atmosphere.CO2Corrector(name, prerequisites=None, optional_prerequisites=None, **kwargs)[source]

Bases: ModifierBase

CO2 correction of the brightness temperature of the MSG 3.9um channel.

\[T4_CO2corr = (BT(IR3.9)^4 + Rcorr)^0.25 Rcorr = BT(IR10.8)^4 - (BT(IR10.8)-dt_CO2)^4 dt_CO2 = (BT(IR10.8)-BT(IR13.4))/4.0\]

Derived from D. Rosenfeld, “CO2 Correction of Brightness Temperature of Channel IR3.9” .. rubric:: References

Initialise the compositor.

class satpy.modifiers.atmosphere.PSPAtmosphericalCorrection(name, prerequisites=None, optional_prerequisites=None, **kwargs)[source]

Bases: ModifierBase

Correct for atmospheric effects.

Initialise the compositor.

class satpy.modifiers.atmosphere.PSPRayleighReflectance(name, prerequisites=None, optional_prerequisites=None, **kwargs)[source]

Bases: ModifierBase

Pyspectral-based rayleigh corrector for visible channels.

It is possible to use reduce_lim_low, reduce_lim_high and reduce_strength together to reduce rayleigh correction at high solar zenith angle and make the image transition from rayleigh-corrected to partially/none rayleigh-corrected at day/night edge, therefore producing a more natural look, which could be especially helpful for geostationary satellites. This reduction starts at solar zenith angle of reduce_lim_low, and ends in reduce_lim_high. It’s linearly scaled between these two angles. The reduce_strength controls the amount of the reduction. When the solar zenith angle reaches reduce_lim_high, the rayleigh correction will remain (1 - reduce_strength) of its initial reduce_strength at reduce_lim_high.

To use this function in a YAML configuration file:

rayleigh_corrected_reduced:
  modifier: !!python/name:satpy.modifiers.PSPRayleighReflectance
  atmosphere: us-standard
  aerosol_type: rayleigh_only
  reduce_lim_low: 70
  reduce_lim_high: 95
  reduce_strength: 0.6
  prerequisites:
    - name: B03
      modifiers: [sunz_corrected]
  optional_prerequisites:
    - satellite_azimuth_angle
    - satellite_zenith_angle
    - solar_azimuth_angle
    - solar_zenith_angle

In the case above, rayleigh correction is reduced gradually starting at solar zenith angle 70°. When reaching 95°, the correction will only remain 40% its initial strength at 95°.

Initialise the compositor.

satpy.modifiers.atmosphere._call_mapped_correction(satz, band_data, corrector, band_name)[source]