Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions imap_processing/cdf/config/imap_lo_global_cdf_attrs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,12 @@ imap_lo_l1c_pset:
Logical_source: imap_lo_l1c_pset
Logical_source_description: IMAP Mission IMAP-Lo Instrument Level-1C Data

imap_lo_l1c_quickmap:
<<: *instrument_base
Data_type: L1C_quickmap>Level-1C QuickMap (Histogram Sky Map)
Logical_source: imap_lo_l1c_quickmap
Logical_source_description: IMAP Mission IMAP-Lo Instrument Level-1C Sky Map

# Global attributes for different sensors and sky tiling types and durations
imap_lo_l2_enamap:
<<: *instrument_base
Expand Down
60 changes: 43 additions & 17 deletions imap_processing/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -1300,23 +1300,49 @@ def do_processing(

elif self.data_level == "l1c":
data_dict = {}
anc_dependencies: list = dependencies.get_file_paths(
source="lo", data_type="ancillary"
)
science_files = dependencies.get_file_paths(source="lo", descriptor="de")
science_files += dependencies.get_file_paths(
source="lo", data_type="l1b", descriptor="goodtimes"
)
science_files += dependencies.get_file_paths(
source="lo", data_type="l1b", descriptor="bgrates"
)
science_files += dependencies.get_file_paths(
source="lo", data_type="l1b", descriptor="histrates"
)
for file in science_files:
dataset = load_cdf(file)
data_dict[dataset.attrs["Logical_source"]] = dataset
datasets = lo_l1c.lo_l1c(data_dict, anc_dependencies)
if self.descriptor == "pset":
anc_dependencies: list = dependencies.get_file_paths(
source="lo", data_type="ancillary"
)
science_files = dependencies.get_file_paths(
source="lo", descriptor="de"
)
science_files += dependencies.get_file_paths(
source="lo", data_type="l1b", descriptor="goodtimes"
)
science_files += dependencies.get_file_paths(
source="lo", data_type="l1b", descriptor="bgrates"
)
science_files += dependencies.get_file_paths(
source="lo", data_type="l1b", descriptor="histrates"
)
for file in science_files:
dataset = load_cdf(file)
data_dict[dataset.attrs["Logical_source"]] = dataset
datasets = lo_l1c.lo_l1c(data_dict, anc_dependencies)

elif self.descriptor == "quickmap":
science_files = (
dependencies.get_file_paths(source="lo", descriptor="de")
+ dependencies.get_file_paths(source="lo", descriptor="nhk")
+ dependencies.get_file_paths(source="lo", descriptor="histrates")
+ dependencies.get_file_paths(source="lo", descriptor="goodtimes")
+ dependencies.get_file_paths(source="lo", descriptor="bgrates")
)

for file in science_files:
dataset = load_cdf(file)
data_dict[dataset.attrs["Logical_source"]] = dataset

quaternion_files = dependencies.get_file_paths(
source="spacecraft", descriptor="quaternions", data_type="l1a"
)
quaternion_dependencies = [
load_cdf(dep) for dep in list(set(quaternion_files))
]
quaternion_dependencies.sort(key=lambda ds: ds["epoch"].values[0])

datasets = lo_l1c.lo_l1c_quickmap(data_dict, quaternion_dependencies)

elif self.data_level == "l2":
data_dict = {}
Expand Down
34 changes: 34 additions & 0 deletions imap_processing/lo/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,40 @@ class LoConstants:
# cycles are covered at interval edges.
GOODTIME_PADDING: float = 2.0

N_COLAT_BINS: int = 30

# The following are indexed by ESA level (0-indexed, ESA level = index + 1)
ESA_ENERGY: ClassVar[list[float]] = [
0.016,
0.030,
0.056,
0.106,
0.200,
0.405,
0.787,
1.821,
]
GEO_FACTOR: ClassVar[list[float]] = [
7.0e-5,
7.9e-5,
9.7e-5,
11.2e-5,
14.0e-5,
17.7e-5,
22.5e-5,
6.721e-5,
]
GEO_FACTOR_ERR: ClassVar[list[float]] = [
4.9e-5,
5.5e-5,
6.8e-5,
3.0e-5,
4.5e-5,
2.0e-5,
1.4e-5,
6.721e-5,
]

# Star-sensor spin-angle binning offset (fractional bin-index shift used when
# computing sample centers), keyed by the IFB star-sync housekeeping state
# (ifb_ctrl_star_sync). Flight software 4.8 enabled star sync ("EN"),
Expand Down
Loading
Loading