File Formats¶
file_formats¶
Contains the dataclass SliceData defining the data and metadata that is stored in files produced by borealis.
SliceData fields contain associated metadata that determines which file types (rawrf, antennas_iq, bfiq,
rawacf) should contain the aforementioned field, and at which level (file or record) the field
should be written. Fields at the file level are written only once, with the associated data immutable throughout
the experiment for the given slice. Fields at the record level are written to each averaging period, within the record
for that averaging period.
- class src.utils.file_formats.SliceData[source]¶
Bases:
objectThis class defines all fields that need to be written by any type of data file. The ‘groups’ metadata lists the applicable file types for each field.
Each field contains metadata that determines how the field is written to file.
descriptionA description of the field.
dim_labelsIf applicable, a brief descriptor for each dimension of the dataset. This could be different for different
groupvalues. If so, this metadata will be a dict, with the keys being thegroupname and the values the associated list of dimension labels.dim_scalesIf applicable, dimension scales will be associated to the field. These are datasets that match one of the dimensions of the data, such as timestamps to go along with an array of collected data. Note that some dimensions may be associated with multiple fields. If a dimension has no associated dataset, the list will have a
Noneentry.groupsThe types of data file that need this field to be written.
levelThe level within the file that the data will be stored at. Either
fileorrecord, indicating that the field is either written once per file, or once per record.nicknameA nickname for the field, used for making Dimension Scale names.
unitsUnits for the data.
- classmethod all_fields(file_type)[source]¶
Returns a list of names for all fields which belong in ‘file_type’ files.
- Parameters:
file_type (str)
- classmethod optional_fields(file_type)[source]¶
Returns a list of names for all fields which are optional for
file_typefiles.- Parameters:
file_type (str)
- classmethod required_fields(file_type)[source]¶
Returns a list of names for all fields which are required for
file_typefiles.- Parameters:
file_type (str)
- to_hdf5(group, metadata_group, data_type)[source]¶
Converts data from
selfof relevance for the data type into agroupandmetadata_group- Parameters:
group (h5py.Group) – HDF5 group that the data will be placed into
metadata_group (h5py.Group) – HDF5 group which file-level metadata should exist in
data_type (str) – Type of data that is being written.
- antenna_locations: ndarray¶
- antennas: ndarray¶
- antennas_iq_data: ndarray¶
- bfiq_data: ndarray¶
- blanked_samples: ndarray¶
- cfs_freqs: ndarray¶
- cfs_masks: ndarray¶
- cfs_noise: ndarray¶
- cfs_range: ndarray¶
- intf_acfs: ndarray¶
- lag_numbers: ndarray¶
- lag_pulses: ndarray¶
- lags: ndarray¶
- main_acfs: ndarray¶
- pulse_phase_offset: ndarray¶
- pulses: ndarray¶
- range_gates: ndarray¶
- rawrf_data: ndarray¶
- rx_antennas: ndarray¶
- sample_time: ndarray¶
- station_location: ndarray¶
- tx_excitations: ndarray¶
- xcfs: ndarray¶