code: def get_cos_sza(data_arr: xr.DataArray) -> xr.DataArray:
      """Generate the cosine of the solar zenith angle for the provided data.
  
      Returns:
          DataArray with the same shape as ``data_arr``.
  
      """
      chunks = _geo_chunks_from_data_arr(data_arr)
      lons, lats = _get_valid_lonlats(data_arr.attrs["area"], chunks)
      if lons.dtype != data_arr.dtype and np.issubdtype(
          data_arr.dtype, np.floating
      ):
          lons = lons.astype(data_arr.dtype)
          lats = lats.astype(data_arr.dtype)
      cos_sza = _get_cos_sza(data_arr.attrs["start_time"], lons, lats)
      return _geo_dask_to_data_array(cos_sza)
  
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 13 for calling a global function with example usage: get_cos_sza(data_arr) and returns: _geo_dask_to_data_array