class_docstr: Test that the ParallaxCorrection class is behaving sensibly.
docstr: Test that ParallaxCorrection doesn't change clearsky geolocation.
docstr_tok: ["Test","that","ParallaxCorrection","does","n't","change","clearsky","geolocation","."]
code: def test_correct_area_clearsky(
      self, sat_pos, ar_pos, resolution, caplog
  ):
      """Test that ParallaxCorrection doesn't change clearsky geolocation."""
      from satpy.modifiers.parallax import ParallaxCorrection
      from satpy.tests.utils import make_fake_scene
  
      (sat_lat, sat_lon) = sat_pos
      (ar_lat, ar_lon) = ar_pos
      small = 5
      large = 9
      (fake_area_small, fake_area_large) = _get_fake_areas(
          (ar_lon, ar_lat), [small, large], resolution
      )
      corrector = ParallaxCorrection(fake_area_small)
  
      sc = make_fake_scene(
          {"CTH_clear": np.full((large, large), np.nan)},
          daskify=False,
          area=fake_area_large,
          common_attrs=_get_attrs(sat_lat, sat_lon, 35_000),
      )
  
      with caplog.at_level(logging.DEBUG):
          new_area = corrector(sc["CTH_clear"])
      assert (
          "Calculating parallax correction using heights from CTH_clear"
          in caplog.text
      )
      np.testing.assert_allclose(
          new_area.get_lonlats(), fake_area_small.get_lonlats()
      )
  
imports: import datetime
  import logging
  import math
  import os
  import unittest.mock
  import dask.array
  import dask.config
  import numpy
  import pyorbital.tlefile
  import pyresample.kd_tree
  import pytest
  import xarray
  from pyproj import Geod
  from pyresample import create_area_def
  import satpy.resample
  from satpy.tests.utils import xfail_skyfield_unstable_numpy2
  from satpy.writers import get_enhanced_image
label_desc: Use image node_id 2 for calling the TestParallaxCorrectionClass obj's underlying member method code with example usage: obj.test_correct_area_clearsky(sat_pos, ar_pos, resolution, caplog) without return types