code: def _get_sensor_angles_from_sat_pos(
      sat_lon, sat_lat, sat_alt, start_time, area_def, chunks
  ):
      lons, lats = _get_valid_lonlats(area_def, chunks)
      res = da.map_blocks(
          _get_sensor_angles_ndarray,
          lons,
          lats,
          start_time,
          sat_lon,
          sat_lat,
          sat_alt,
          dtype=lons.dtype,
          meta=np.array((), dtype=lons.dtype),
          new_axis=[0],
          chunks=(2,) + lons.chunks,
      )
      return res[0], res[1]
  
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 22 for calling a global function with example usage: _get_sensor_angles_from_sat_pos(sat_lon, sat_lat, sat_alt, start_time, area_def, chunks) and returns: res,  res