imap_processing.codice.codice_l1a.create_direct_event_dataset#
- imap_processing.codice.codice_l1a.create_direct_event_dataset(apid: int, packets: Dataset) Dataset#
Create dataset for direct event data.
For direct event data, the raw data from the spacecraft is organized first by epoch, then by priority, then by events. For example, for a CoDICE-Lo dataset with 10 epochs, we expect the length of the event_data field to be (10 epochs * 8 priorities) = 80 items, with each item being a compressed byte object representing a variable number of events (up to 10000 events). Each compressed byte object is comprised of several fields with specific bit lengths/positions, described by the constants.[LO|HI]_DE_BIT_STRUCTURE dictionary. Padding is added to any fields that have less than 10000 events.
In order to process these data, we must take the decommed raw data, group the packets appropriately based on their seq_flgs, decompress the data, then arrange the data into CDF data variables for each priority and bit field. For example, P2_SpinAngle represents the spin angles for the 2nd priority data.
- Parameters:
apid (int) – The APID of the packet.
packets (xarray.Dataset) – The packets to process..
- Returns:
dataset – Xarray dataset containing the direct event data.
- Return type: