code: def _get_sensor_angles_ndarray(
      lons, lats, start_time, sat_lon, sat_lat, sat_alt
  ) -> np.ndarray:
      with ignore_invalid_float_warnings():
          sata, satel = get_observer_look(
              sat_lon,
              sat_lat,
              sat_alt / 1000.0,  # km
              start_time,
              lons,
              lats,
              0,
          )
          satz = 90 - satel
          return np.stack([sata, satz])
  
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 23 for calling a global function with example usage: _get_sensor_angles_ndarray(lons, lats, start_time, sat_lon, sat_lat, sat_alt) and returns: np