class_docstr: Test the CREFL modifier.
class_docstr_tok: ["Test","the","CREFL","modifier","."]
docstr: Test that the modifier works with different chunk sizes for inputs.
  
  The modifier uses dask's "map_blocks". If the input chunks aren't the
  same an error is raised.
docstr_tok: ["Test","that","the","modifier","works","with","different","chunk","sizes","for","inputs",".","The","modifier","uses","dask","'s","``","map_blocks","''",".","If","the","input","chunks","are","n't","the","same","an","error","is","raised","."]
code: def test_reflectance_corrector_different_chunks(
      self, tmpdir, url, dem_mock_cm, dem_sds
  ):
      """Test that the modifier works with different chunk sizes for inputs.
  
      The modifier uses dask's "map_blocks". If the input chunks aren't the
      same an error is raised.
  
      """
      from satpy.modifiers._crefl import ReflectanceCorrector
      from satpy.tests.utils import make_dsq
  
      ref_cor = ReflectanceCorrector(
          optional_prerequisites=[
              make_dsq(name="satellite_azimuth_angle"),
              make_dsq(name="satellite_zenith_angle"),
              make_dsq(name="solar_azimuth_angle"),
              make_dsq(name="solar_zenith_angle"),
          ],
          name="I01",
          prerequisites=[],
          wavelength=(0.6, 0.64, 0.68),
          resolution=371,
          calibration="reflectance",
          modifiers=(
              "sunz_corrected_iband",
              "rayleigh_corrected_crefl_iband",
          ),
          sensor="viirs",
          url=url,
          dem_sds=dem_sds,
      )
  
      area, data = self.data_area_ref_corrector()
      c01 = _make_viirs_xarray(
          data,
          area,
          "I01",
          "toa_bidirectional_reflectance",
          wavelength=(0.6, 0.64, 0.68),
          units="%",
          calibration="reflectance",
      )
      c02 = _make_viirs_xarray(
          data, area, "satellite_azimuth_angle", "sensor_azimuth_angle"
      )
      c02.data = c02.data.rechunk((1, -1))
      c03 = _make_viirs_xarray(
          data, area, "satellite_zenith_angle", "sensor_zenith_angle"
      )
      c04 = _make_viirs_xarray(
          data, area, "solar_azimuth_angle", "solar_azimuth_angle"
      )
      c05 = _make_viirs_xarray(
          data, area, "solar_zenith_angle", "solar_zenith_angle"
      )
  
      with dem_mock_cm(tmpdir, url):
          res = ref_cor([c01], [c02, c03, c04, c05])
  
      # make sure it can actually compute
      res.compute()
  
imports: from contextlib import contextmanager
  from datetime import datetime
  from unittest import mock
  import numpy
  import pytest
  import xarray
  from dask import array
  from pyresample.geometry import AreaDefinition
  from satpy.tests.utils import assert_maximum_dask_computes
label_desc: Use image node_id 6 for calling the TestReflectanceCorrectorModifier obj's underlying member method code with example usage: obj.test_reflectance_corrector_different_chunks(tmpdir, url, dem_mock_cm, dem_sds) without return types