Add resumable all-sky 2MASS acquisition
This commit is contained in:
1 parent
388055c01e
commit
747f8eb695
6 files changed
+362
-7
No files matched your search
@@ -23,6 +23,7 @@ OUTPUT = ROOT / "assets/2mass/processed/2mass_psc_m31_0p5deg_stars.csv"
|
||||
WAVELENGTH_M = np.array([1.235, 1.662, 2.159]) * 1e-6
|
||||
ZERO_POINT_JY = np.array([1594.0, 1024.0, 666.7])
|
||||
GOOD_RD_FLAGS = frozenset("123")
|
||||
MISSING_NUMERIC_TOKENS = frozenset(("", "null"))
|
||||
MIN_TEMPERATURE_K = 300.0
|
||||
MAX_TEMPERATURE_K = 100000.0
|
||||
|
||||
@@ -62,7 +63,8 @@ def load_required_columns(path: Path) -> dict[str, np.ndarray]:
|
||||
result: dict[str, np.ndarray] = {}
|
||||
for name in ("ra", "dec", "j_m", "h_m", "k_m"):
|
||||
result[name] = np.array(
|
||||
[float(value) if value else math.nan for value in values[name]], dtype=float
|
||||
[float(value) if value.lower() not in MISSING_NUMERIC_TOKENS else math.nan
|
||||
for value in values[name]], dtype=float
|
||||
)
|
||||
result["rd_flg"] = np.array(values["rd_flg"], dtype="U3")
|
||||
return result
|
||||
@@ -123,11 +125,14 @@ def main() -> None:
|
||||
columns = load_required_columns(args.input)
|
||||
magnitudes = np.column_stack((columns["j_m"], columns["h_m"], columns["k_m"]))
|
||||
valid_photometry = np.isfinite(magnitudes).all(axis=1)
|
||||
valid_position = (np.isfinite(columns["ra"]) & np.isfinite(columns["dec"]) &
|
||||
(columns["ra"] >= 0.0) & (columns["ra"] < 360.0) &
|
||||
(columns["dec"] >= -90.0) & (columns["dec"] <= 90.0))
|
||||
valid_rd_flag = np.array(
|
||||
[len(flag) == 3 and all(value in GOOD_RD_FLAGS for value in flag)
|
||||
for flag in columns["rd_flg"]]
|
||||
)
|
||||
keep = valid_photometry & valid_rd_flag
|
||||
keep = valid_position & valid_photometry & valid_rd_flag
|
||||
if not np.any(keep):
|
||||
raise ValueError("no sources retain valid J/H/Ks photometry")
|
||||
|
||||
@@ -145,6 +150,7 @@ def main() -> None:
|
||||
f"{amplitude:.9e}"))
|
||||
|
||||
print(f"input_rows={len(keep)}")
|
||||
print(f"discarded_invalid_position={np.count_nonzero(~valid_position)}")
|
||||
print(f"discarded_invalid_photometry={np.count_nonzero(~valid_photometry)}")
|
||||
print(f"discarded_rd_flg_not_123={np.count_nonzero(~valid_rd_flag)}")
|
||||
print(f"retained_rows={np.count_nonzero(keep)}")
|
||||
|
||||
Reference in new issue
Block a user