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