code: def aer2enu(az: float, el: float, srange: float, deg: bool = True) -> Tuple[float, float, float]:
      
      if deg:
          el = radians(el)
          az = radians(az)
  
      with np.errstate(invalid='ignore'):
          if (np.asarray(srange) < 0).any():
              raise ValueError('Slant range  [0, Infinity)')
  
      r = srange * cos(el)
  
      return r * sin(az), r * cos(az), srange * sin(el)
docs: Azimuth, Elevation, Slant range to target to East, north, Up
  
      Parameters
      ----------
      azimuth : float or np.ndarray of float
              azimuth clockwise from north (degrees)
      elevation : float or np.ndarray of float
          elevation angle above horizon, neglecting aberattions (degrees)
      srange : float or np.ndarray of float
          slant range [meters]
      deg : bool, optional
          degrees input/output  (False: radians in/out)
  
      Returns
      --------
      e : float or np.ndarray of float
          East ENU coordinate (meters)
      n : float or np.ndarray of float
          North ENU coordinate (meters)
      u : float or np.ndarray of float
          Up ENU coordinate (meters)