class_docstr: Correct for atmospheric effects.
class_docstr_tok: ["Correct","for","atmospheric","effects","."]
docstr: Get the atmospherical correction.
  
  Uses pyspectral.
docstr_tok: ["Get","the","atmospherical","correction",".","Uses","pyspectral","."]
code: def __call__(self, projectables, optional_datasets=None, **info):
      """Get the atmospherical correction.
  
      Uses pyspectral.
      """
      from pyspectral.atm_correction_ir import AtmosphericalCorrection
  
      band = projectables[0]
  
      if optional_datasets:
          satz = optional_datasets[0]
      else:
          satz = get_satellite_zenith_angle(band)
      satz = satz.data  # get dask array underneath
  
      logger.info("Correction for limb cooling")
      corrector = AtmosphericalCorrection(
          band.attrs["platform_name"], band.attrs["sensor"]
      )
  
      atm_corr = da.map_blocks(
          _call_mapped_correction,
          satz,
          band.data,
          corrector=corrector,
          band_name=band.attrs["name"],
          meta=np.array((), dtype=band.dtype),
      )
      proj = xr.DataArray(
          atm_corr, attrs=band.attrs, dims=band.dims, coords=band.coords
      )
      self.apply_modifier_info(band, proj)
  
      return proj
  
file_path: satpy/satpy/modifiers/atmosphere.py
imports: import logging
  import dask.array
  import numpy
  import xarray
  from satpy.modifiers import ModifierBase
  from satpy.modifiers._crefl import ReflectanceCorrector
  from satpy.modifiers.angles import compute_relative_azimuth, get_angles, get_satellite_zenith_angle
label_desc: Use image node_id 1 for calling the PSPAtmosphericalCorrection obj's underlying member method code with example usage: obj.__call__(projectables, optional_datasets) and returns: proj