code: def sunzen_reduction(
      data: da.Array,
      sunz: da.Array,
      limit: float = 55.0,
      max_sza: float = 90.0,
      strength: float = 1.5,
  ) -> da.Array:
      """Reduced strength of signal at high sun zenith angles."""
      return da.map_blocks(
          _sunzen_reduction_ndarray,
          data,
          sunz,
          limit,
          max_sza,
          strength,
          meta=np.array((), dtype=data.dtype),
          chunks=data.chunks,
      )
  
imports: from __future__ import annotations
  import hashlib
  import os
  import shutil
  import warnings
  from datetime import datetime
  from functools import update_wrapper
  from glob import glob
  from typing import Any, Callable, Optional, Union
  import dask
  import numpy
  import xarray
  from dask import array
  from pyorbital.astronomy import cos_zen
  from pyorbital.astronomy import get_alt_az
  from pyorbital.orbital import get_observer_look
  from pyresample.geometry import AreaDefinition, StackedAreaDefinition, SwathDefinition
  import satpy
  from satpy.utils import PerformanceWarning, get_satpos, ignore_invalid_float_warnings
label_desc: Use image node_id 26 for calling a global function with example usage: sunzen_reduction(data, sunz, limit, max_sza, strength) and returns: da