code: def _run_crefl(
      self, mus, muv, phi, solar_zenith, sensor_zenith, height, coeffs
  ):
      return da.map_blocks(
          _run_crefl,
          self._refl.data,
          mus.data,
          muv.data,
          phi.data,
          height,
          self._refl.attrs.get("sensor"),
          *coeffs,
          meta=np.ndarray((), dtype=self._refl.dtype),
          chunks=self._refl.chunks,
          dtype=self._refl.dtype,
      )
  
imports: from __future__ import annotations
  import logging
  from typing import Optional, Type, Union
  import dask.array
  import numpy
  import xarray
  from satpy.dataset.dataid import WavelengthRange
label_desc: Use image node_id 1 for calling the _VIIRSMODISCREFLRunner obj's underlying member method code with example usage: obj._run_crefl(mus, muv, phi, solar_zenith, sensor_zenith, height, coeffs) and returns: da