pyrfu.mms.vdf_projection module#

pyrfu.mms.vdf_projection.vdf_projection(vdf, tint, coord_sys: ndarray = array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]), sc_pot: DataArray | None = None, e_lim: float = 20, bins_correction: bool = False)[source]#

Compute the projection of the velocity distribution onto a specified plane.

Parameters:
  • vdf (xarray.Dataset) – Electron or ion 3D skymap velocity distribution function.

  • tint (list of str) – Computes data for time interval if len(tint) = 2 or closest time if len(tint) = 1. For tint includes two or more distributions the energies are rebinned into 64 channels.

  • coord_sys (ndarray, Optional) – 3x3 matrix with 1st column is x, 2nd column is y and 3rd column is z. z is normal to the projection plane and x and y are made orthogonal to z and each other if they are not already. Default is np.eye(3) (project onto spacecraft spin plane).

  • sc_pot (xarray.DataArray, Optional) – Spacecraft potential to correct velocities. For a single value of tint the closest potential is used. For an interval the spacecraft potential is average over that interval. Default is None (no correction).

  • e_lim (float, Optional) – Elevation angle limit in degrees above/below projection plane to include in projection. Default is e_lim = 20.

  • bins_correction (bool, Optional) – Flag to correction elevation bins. Default is False.

Returns:

  • v_x (numpy.ndarray) – 2D grid of the velocities in the x direction.

  • v_y (numpy.ndarray) – 2D grid of the velocities in the y direction.

  • f_mat (numpy.ndarray) – 2D projection of the velocity distribution onto the specified plane