sdss-almanac 0.2.8__py3-none-any.whl → 0.2.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- almanac/__init__.py +1 -1
- almanac/catalog.py +221 -221
- almanac/cli.py +42 -14
- almanac/data_models/metadata.py +247 -0
- almanac/data_models/types.py +29 -0
- almanac/utils.py +15 -4
- {sdss_almanac-0.2.8.dist-info → sdss_almanac-0.2.10.dist-info}/METADATA +2 -2
- {sdss_almanac-0.2.8.dist-info → sdss_almanac-0.2.10.dist-info}/RECORD +12 -11
- {sdss_almanac-0.2.8.dist-info → sdss_almanac-0.2.10.dist-info}/WHEEL +0 -0
- {sdss_almanac-0.2.8.dist-info → sdss_almanac-0.2.10.dist-info}/entry_points.txt +0 -0
- {sdss_almanac-0.2.8.dist-info → sdss_almanac-0.2.10.dist-info}/licenses/LICENSE.md +0 -0
- {sdss_almanac-0.2.8.dist-info → sdss_almanac-0.2.10.dist-info}/top_level.txt +0 -0
almanac/__init__.py
CHANGED
almanac/catalog.py
CHANGED
@@ -17,240 +17,240 @@ def query_catalog(sdss_ids: List[int], batch_size: int = 1000):
|
|
17
17
|
.SDSS_ID_To_Catalog
|
18
18
|
.select(
|
19
19
|
db.SDSS_ID_To_Catalog.sdss_id,
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
20
|
+
db.SDSS_ID_To_Catalog.catalogid,
|
21
|
+
db.SDSS_ID_To_Catalog.version_id,
|
22
|
+
db.SDSS_ID_To_Catalog.lead,
|
23
|
+
db.SDSS_ID_To_Catalog.allstar_dr17_synspec_rev1,
|
24
|
+
db.SDSS_ID_To_Catalog.allwise,
|
25
|
+
db.SDSS_ID_To_Catalog.bhm_rm_v0,
|
26
|
+
db.SDSS_ID_To_Catalog.bhm_rm_v0_2,
|
27
|
+
db.SDSS_ID_To_Catalog.catwise,
|
28
|
+
db.SDSS_ID_To_Catalog.catwise2020,
|
29
|
+
db.SDSS_ID_To_Catalog.gaia_dr2_source,
|
30
|
+
db.SDSS_ID_To_Catalog.gaia_dr3_source,
|
31
|
+
db.SDSS_ID_To_Catalog.glimpse,
|
32
|
+
db.SDSS_ID_To_Catalog.guvcat,
|
33
|
+
db.SDSS_ID_To_Catalog.legacy_survey_dr10,
|
34
|
+
db.SDSS_ID_To_Catalog.legacy_survey_dr8,
|
35
|
+
db.SDSS_ID_To_Catalog.mangatarget,
|
36
|
+
db.SDSS_ID_To_Catalog.marvels_dr11_star,
|
37
|
+
db.SDSS_ID_To_Catalog.marvels_dr12_star,
|
38
|
+
db.SDSS_ID_To_Catalog.mastar_goodstars,
|
39
|
+
db.SDSS_ID_To_Catalog.panstarrs1,
|
40
|
+
db.SDSS_ID_To_Catalog.ps1_g18,
|
41
|
+
db.SDSS_ID_To_Catalog.sdss_dr13_photoobj,
|
42
|
+
db.SDSS_ID_To_Catalog.sdss_dr17_specobj,
|
43
|
+
db.SDSS_ID_To_Catalog.skymapper_dr1_1,
|
44
|
+
db.SDSS_ID_To_Catalog.skymapper_dr2,
|
45
|
+
db.SDSS_ID_To_Catalog.supercosmos,
|
46
|
+
db.SDSS_ID_To_Catalog.tic_v8,
|
47
|
+
db.SDSS_ID_To_Catalog.twomass_psc,
|
48
|
+
db.SDSS_ID_To_Catalog.tycho2,
|
49
|
+
db.SDSS_ID_To_Catalog.unwise,
|
50
50
|
db.Gaia_DR3.source_id,
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
51
|
+
db.Gaia_DR3.solution_id,
|
52
|
+
db.Gaia_DR3.designation,
|
53
|
+
db.Gaia_DR3.random_index,
|
54
|
+
db.Gaia_DR3.ref_epoch,
|
55
55
|
db.Gaia_DR3.ra,
|
56
|
-
|
56
|
+
db.Gaia_DR3.ra_error,
|
57
57
|
db.Gaia_DR3.dec,
|
58
|
-
|
58
|
+
db.Gaia_DR3.dec_error,
|
59
59
|
db.Gaia_DR3.parallax,
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
60
|
+
db.Gaia_DR3.parallax_error,
|
61
|
+
db.Gaia_DR3.parallax_over_error,
|
62
|
+
db.Gaia_DR3.pm,
|
63
|
+
db.Gaia_DR3.pmra,
|
64
|
+
db.Gaia_DR3.pmra_error,
|
65
|
+
db.Gaia_DR3.pmdec,
|
66
|
+
db.Gaia_DR3.pmdec_error,
|
67
|
+
db.Gaia_DR3.ra_dec_corr,
|
68
|
+
db.Gaia_DR3.ra_parallax_corr,
|
69
|
+
db.Gaia_DR3.ra_pmra_corr,
|
70
|
+
db.Gaia_DR3.ra_pmdec_corr,
|
71
|
+
db.Gaia_DR3.dec_parallax_corr,
|
72
|
+
db.Gaia_DR3.dec_pmra_corr,
|
73
|
+
db.Gaia_DR3.dec_pmdec_corr,
|
74
|
+
db.Gaia_DR3.parallax_pmra_corr,
|
75
|
+
db.Gaia_DR3.parallax_pmdec_corr,
|
76
|
+
db.Gaia_DR3.pmra_pmdec_corr,
|
77
|
+
db.Gaia_DR3.astrometric_n_obs_al,
|
78
|
+
db.Gaia_DR3.astrometric_n_obs_ac,
|
79
|
+
db.Gaia_DR3.astrometric_n_good_obs_al,
|
80
|
+
db.Gaia_DR3.astrometric_n_bad_obs_al,
|
81
|
+
db.Gaia_DR3.astrometric_gof_al,
|
82
|
+
db.Gaia_DR3.astrometric_chi2_al,
|
83
|
+
db.Gaia_DR3.astrometric_excess_noise,
|
84
|
+
db.Gaia_DR3.astrometric_excess_noise_sig,
|
85
|
+
db.Gaia_DR3.astrometric_params_solved,
|
86
|
+
db.Gaia_DR3.astrometric_primary_flag,
|
87
|
+
db.Gaia_DR3.nu_eff_used_in_astrometry,
|
88
|
+
db.Gaia_DR3.pseudocolour,
|
89
|
+
db.Gaia_DR3.pseudocolour_error,
|
90
|
+
db.Gaia_DR3.ra_pseudocolour_corr,
|
91
|
+
db.Gaia_DR3.dec_pseudocolour_corr,
|
92
|
+
db.Gaia_DR3.parallax_pseudocolour_corr,
|
93
|
+
db.Gaia_DR3.pmra_pseudocolour_corr,
|
94
|
+
db.Gaia_DR3.pmdec_pseudocolour_corr,
|
95
|
+
db.Gaia_DR3.astrometric_matched_transits,
|
96
|
+
db.Gaia_DR3.visibility_periods_used,
|
97
|
+
db.Gaia_DR3.astrometric_sigma5d_max,
|
98
|
+
db.Gaia_DR3.matched_transits,
|
99
|
+
db.Gaia_DR3.new_matched_transits,
|
100
|
+
db.Gaia_DR3.matched_transits_removed,
|
101
|
+
db.Gaia_DR3.ipd_gof_harmonic_amplitude,
|
102
|
+
db.Gaia_DR3.ipd_gof_harmonic_phase,
|
103
|
+
db.Gaia_DR3.ipd_frac_multi_peak,
|
104
|
+
db.Gaia_DR3.ipd_frac_odd_win,
|
105
|
+
db.Gaia_DR3.ruwe,
|
106
|
+
db.Gaia_DR3.scan_direction_strength_k1,
|
107
|
+
db.Gaia_DR3.scan_direction_strength_k2,
|
108
|
+
db.Gaia_DR3.scan_direction_strength_k3,
|
109
|
+
db.Gaia_DR3.scan_direction_strength_k4,
|
110
|
+
db.Gaia_DR3.scan_direction_mean_k1,
|
111
|
+
db.Gaia_DR3.scan_direction_mean_k2,
|
112
|
+
db.Gaia_DR3.scan_direction_mean_k3,
|
113
|
+
db.Gaia_DR3.scan_direction_mean_k4,
|
114
|
+
db.Gaia_DR3.duplicated_source,
|
115
|
+
db.Gaia_DR3.phot_g_n_obs,
|
116
|
+
db.Gaia_DR3.phot_g_mean_flux,
|
117
|
+
db.Gaia_DR3.phot_g_mean_flux_error,
|
118
|
+
db.Gaia_DR3.phot_g_mean_flux_over_error,
|
119
|
+
db.Gaia_DR3.phot_g_mean_mag,
|
120
|
+
db.Gaia_DR3.phot_bp_n_obs,
|
121
|
+
db.Gaia_DR3.phot_bp_mean_flux,
|
122
|
+
db.Gaia_DR3.phot_bp_mean_flux_error,
|
123
|
+
db.Gaia_DR3.phot_bp_mean_flux_over_error,
|
124
|
+
db.Gaia_DR3.phot_bp_mean_mag,
|
125
|
+
db.Gaia_DR3.phot_rp_n_obs,
|
126
|
+
db.Gaia_DR3.phot_rp_mean_flux,
|
127
|
+
db.Gaia_DR3.phot_rp_mean_flux_error,
|
128
|
+
db.Gaia_DR3.phot_rp_mean_flux_over_error,
|
129
|
+
db.Gaia_DR3.phot_rp_mean_mag,
|
130
|
+
db.Gaia_DR3.phot_bp_rp_excess_factor,
|
131
|
+
db.Gaia_DR3.phot_bp_n_contaminated_transits,
|
132
|
+
db.Gaia_DR3.phot_bp_n_blended_transits,
|
133
|
+
db.Gaia_DR3.phot_rp_n_contaminated_transits,
|
134
|
+
db.Gaia_DR3.phot_rp_n_blended_transits,
|
135
|
+
db.Gaia_DR3.phot_proc_mode,
|
136
136
|
db.Gaia_DR3.bp_rp,
|
137
137
|
db.Gaia_DR3.bp_g,
|
138
138
|
db.Gaia_DR3.g_rp,
|
139
139
|
db.Gaia_DR3.radial_velocity,
|
140
140
|
db.Gaia_DR3.radial_velocity_error,
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
141
|
+
db.Gaia_DR3.rv_method_used,
|
142
|
+
db.Gaia_DR3.rv_nb_transits,
|
143
|
+
db.Gaia_DR3.rv_nb_deblended_transits,
|
144
|
+
db.Gaia_DR3.rv_visibility_periods_used,
|
145
|
+
db.Gaia_DR3.rv_expected_sig_to_noise,
|
146
|
+
db.Gaia_DR3.rv_renormalised_gof,
|
147
|
+
db.Gaia_DR3.rv_chisq_pvalue,
|
148
|
+
db.Gaia_DR3.rv_time_duration,
|
149
|
+
db.Gaia_DR3.rv_amplitude_robust,
|
150
|
+
db.Gaia_DR3.rv_template_teff,
|
151
|
+
db.Gaia_DR3.rv_template_logg,
|
152
|
+
db.Gaia_DR3.rv_template_fe_h,
|
153
|
+
db.Gaia_DR3.rv_atm_param_origin,
|
154
|
+
db.Gaia_DR3.vbroad,
|
155
|
+
db.Gaia_DR3.vbroad_error,
|
156
|
+
db.Gaia_DR3.vbroad_nb_transits,
|
157
|
+
db.Gaia_DR3.grvs_mag,
|
158
|
+
db.Gaia_DR3.grvs_mag_error,
|
159
|
+
db.Gaia_DR3.grvs_mag_nb_transits,
|
160
|
+
db.Gaia_DR3.rvs_spec_sig_to_noise,
|
161
|
+
db.Gaia_DR3.phot_variable_flag,
|
162
|
+
db.Gaia_DR3.l,
|
163
|
+
db.Gaia_DR3.b,
|
164
|
+
db.Gaia_DR3.ecl_lon,
|
165
|
+
db.Gaia_DR3.ecl_lat,
|
166
|
+
db.Gaia_DR3.in_qso_candidates,
|
167
|
+
db.Gaia_DR3.in_galaxy_candidates,
|
168
|
+
db.Gaia_DR3.non_single_star,
|
169
|
+
db.Gaia_DR3.has_xp_continuous,
|
170
|
+
db.Gaia_DR3.has_xp_sampled,
|
171
|
+
db.Gaia_DR3.has_rvs,
|
172
|
+
db.Gaia_DR3.has_epoch_photometry,
|
173
|
+
db.Gaia_DR3.has_epoch_rv,
|
174
|
+
db.Gaia_DR3.has_mcmc_gspphot,
|
175
|
+
db.Gaia_DR3.has_mcmc_msc,
|
176
|
+
db.Gaia_DR3.in_andromeda_survey,
|
177
|
+
db.Gaia_DR3.classprob_dsc_combmod_quasar,
|
178
|
+
db.Gaia_DR3.classprob_dsc_combmod_galaxy,
|
179
|
+
db.Gaia_DR3.classprob_dsc_combmod_star,
|
180
|
+
db.Gaia_DR3.teff_gspphot,
|
181
|
+
db.Gaia_DR3.teff_gspphot_lower,
|
182
|
+
db.Gaia_DR3.teff_gspphot_upper,
|
183
|
+
db.Gaia_DR3.logg_gspphot,
|
184
|
+
db.Gaia_DR3.logg_gspphot_lower,
|
185
|
+
db.Gaia_DR3.logg_gspphot_upper,
|
186
|
+
db.Gaia_DR3.mh_gspphot,
|
187
|
+
db.Gaia_DR3.mh_gspphot_lower,
|
188
|
+
db.Gaia_DR3.mh_gspphot_upper,
|
189
|
+
db.Gaia_DR3.distance_gspphot,
|
190
|
+
db.Gaia_DR3.distance_gspphot_lower,
|
191
|
+
db.Gaia_DR3.distance_gspphot_upper,
|
192
|
+
db.Gaia_DR3.azero_gspphot,
|
193
|
+
db.Gaia_DR3.azero_gspphot_lower,
|
194
|
+
db.Gaia_DR3.azero_gspphot_upper,
|
195
|
+
db.Gaia_DR3.ag_gspphot,
|
196
|
+
db.Gaia_DR3.ag_gspphot_lower,
|
197
|
+
db.Gaia_DR3.ag_gspphot_upper,
|
198
|
+
db.Gaia_DR3.ebpminrp_gspphot,
|
199
|
+
db.Gaia_DR3.ebpminrp_gspphot_lower,
|
200
|
+
db.Gaia_DR3.ebpminrp_gspphot_upper,
|
201
|
+
db.Gaia_DR3.libname_gspphot,
|
202
202
|
db.TwoMassPSC.designation,
|
203
203
|
db.TwoMassPSC.j_m,
|
204
|
-
|
205
|
-
|
206
|
-
|
204
|
+
db.TwoMassPSC.j_cmsig,
|
205
|
+
db.TwoMassPSC.j_msigcom,
|
206
|
+
db.TwoMassPSC.j_snr,
|
207
207
|
db.TwoMassPSC.h_m,
|
208
|
-
|
209
|
-
|
210
|
-
|
208
|
+
db.TwoMassPSC.h_cmsig,
|
209
|
+
db.TwoMassPSC.h_msigcom,
|
210
|
+
db.TwoMassPSC.h_snr,
|
211
211
|
db.TwoMassPSC.k_m,
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
212
|
+
db.TwoMassPSC.k_cmsig,
|
213
|
+
db.TwoMassPSC.k_msigcom,
|
214
|
+
db.TwoMassPSC.k_snr,
|
215
|
+
db.TwoMassPSC.ph_qual,
|
216
|
+
db.TwoMassPSC.rd_flg,
|
217
|
+
db.TwoMassPSC.bl_flg,
|
218
|
+
db.TwoMassPSC.cc_flg,
|
219
|
+
db.TwoMassPSC.ndet,
|
220
|
+
db.TwoMassPSC.prox,
|
221
|
+
db.TwoMassPSC.pxpa,
|
222
|
+
db.TwoMassPSC.pxcntr,
|
223
|
+
db.TwoMassPSC.gal_contam,
|
224
|
+
db.TwoMassPSC.mp_flg,
|
225
|
+
db.TwoMassPSC.scan,
|
226
|
+
db.TwoMassPSC.glon,
|
227
|
+
db.TwoMassPSC.glat,
|
228
|
+
db.TwoMassPSC.x_scan,
|
229
|
+
db.TwoMassPSC.jdate,
|
230
|
+
db.TwoMassPSC.j_psfchi,
|
231
|
+
db.TwoMassPSC.h_psfchi,
|
232
|
+
db.TwoMassPSC.k_psfchi,
|
233
|
+
db.TwoMassPSC.j_m_stdap,
|
234
|
+
db.TwoMassPSC.j_msig_stdap,
|
235
|
+
db.TwoMassPSC.h_m_stdap,
|
236
|
+
db.TwoMassPSC.h_msig_stdap,
|
237
|
+
db.TwoMassPSC.k_m_stdap,
|
238
|
+
db.TwoMassPSC.k_msig_stdap,
|
239
|
+
db.TwoMassPSC.dist_edge_ns,
|
240
|
+
db.TwoMassPSC.dist_edge_ew,
|
241
|
+
db.TwoMassPSC.dist_edge_flg,
|
242
|
+
db.TwoMassPSC.dup_src,
|
243
|
+
db.TwoMassPSC.use_src,
|
244
|
+
db.TwoMassPSC.a,
|
245
|
+
db.TwoMassPSC.dist_opt,
|
246
|
+
db.TwoMassPSC.phi_opt,
|
247
|
+
db.TwoMassPSC.b_m_opt,
|
248
|
+
db.TwoMassPSC.vr_m_opt,
|
249
|
+
db.TwoMassPSC.nopt_mchs,
|
250
|
+
db.TwoMassPSC.ext_key,
|
251
|
+
db.TwoMassPSC.scan_key,
|
252
|
+
db.TwoMassPSC.coadd_key,
|
253
|
+
db.TwoMassPSC.coadd
|
254
254
|
)
|
255
255
|
.distinct(db.SDSS_ID_To_Catalog.sdss_id)
|
256
256
|
.join(db.Gaia_DR3, join_type=JOIN.LEFT_OUTER)
|
almanac/cli.py
CHANGED
@@ -203,29 +203,58 @@ def add(**kwargs):
|
|
203
203
|
|
204
204
|
@add.command()
|
205
205
|
@click.argument("input_path", type=str)
|
206
|
-
@click.option("--mjd", default=None, type=int, help="Modified Julian
|
207
|
-
@click.option("--
|
208
|
-
@click.option("--
|
209
|
-
|
210
|
-
|
206
|
+
@click.option("--mjd", default=None, type=int, help="Modified Julian date to query. Use negative values to indicate relative to current MJD")
|
207
|
+
@click.option("--mjd-start", default=None, type=int, help="Start of MJD range to query")
|
208
|
+
@click.option("--mjd-end", default=None, type=int, help="End of MJD range to query")
|
209
|
+
@click.option("--date", default=None, type=str, help="Date to query (e.g., 2024-01-15)")
|
210
|
+
@click.option("--date-start", default=None, type=str, help="Start of date range to query")
|
211
|
+
@click.option("--date-end", default=None, type=str, help="End of date range to query")
|
212
|
+
@click.option("--apo", is_flag=True, help="Query Apache Point Observatory data")
|
213
|
+
@click.option("--lco", is_flag=True, help="Query Las Campanas Observatory data")
|
214
|
+
def metadata(input_path, mjd, mjd_start, mjd_end, date, date_start, date_end, apo, lco, **kwargs):
|
215
|
+
"""Add astrometry and photometry to an existing Almanac file."""
|
211
216
|
|
212
217
|
import numpy as np
|
218
|
+
import h5py as h5
|
219
|
+
from itertools import product
|
213
220
|
from almanac import utils
|
214
221
|
from almanac.catalog import query_catalog
|
222
|
+
from almanac.data_models.metadata import SourceMetadata
|
223
|
+
from tqdm import tqdm
|
215
224
|
|
216
225
|
observatories = utils.get_observatories(apo, lco)
|
226
|
+
mjds, *_ = utils.parse_mjds(
|
227
|
+
mjd, mjd_start, mjd_end, date, date_start, date_end, return_nones=True
|
228
|
+
)
|
229
|
+
|
230
|
+
sdss_ids = set()
|
231
|
+
with h5.File(input_path, "r") as fp:
|
232
|
+
if mjds is None:
|
233
|
+
mjds = []
|
234
|
+
for obs in observatories:
|
235
|
+
mjds.extend(fp[obs])
|
236
|
+
mjds = list(set(mjds))
|
237
|
+
|
238
|
+
for mjd, obs in product(mjds, observatories):
|
239
|
+
group = fp.get(f"{obs}/{mjd}/fibers", [])
|
240
|
+
for config in group:
|
241
|
+
if "source_id" in group[config]:
|
242
|
+
continue
|
243
|
+
sdss_ids.update(group[config]["sdss_id"][:])
|
244
|
+
|
245
|
+
v = []
|
246
|
+
for row in tqdm(query_catalog(sdss_ids), total=len(sdss_ids)):
|
247
|
+
v.append(row)
|
248
|
+
|
249
|
+
|
217
250
|
|
218
|
-
# Open the input file and get all possible sdss_ids
|
219
|
-
import h5py as h5
|
220
|
-
from tqdm import tqdm
|
221
|
-
with h5.File(input_path, "r+") as fp:
|
222
|
-
sdss_ids = dict()
|
223
251
|
|
224
252
|
if mjd is None:
|
225
253
|
total = sum([len(fp[obs].keys()) for obs in observatories])
|
226
254
|
else:
|
227
255
|
total = 1 * len(observatories)
|
228
256
|
|
257
|
+
sdss_ids = dict()
|
229
258
|
with tqdm(total=total, desc="Collecting SDSS identifiers") as pb:
|
230
259
|
for observatory in observatories:
|
231
260
|
if observatory not in fp:
|
@@ -234,11 +263,10 @@ def metadata(input_path, mjd, apo, lco, **kwargs):
|
|
234
263
|
mjds = fp[observatory].keys() if mjd is None else [str(mjd)]
|
235
264
|
|
236
265
|
for mjd in mjds:
|
237
|
-
if mjd not in fp[observatory]:
|
238
|
-
continue
|
239
266
|
group = fp[f"{observatory}/{mjd}"]
|
240
267
|
if "fibers" not in group:
|
241
268
|
continue
|
269
|
+
|
242
270
|
for config_id in group["fibers"]:
|
243
271
|
config_group = group[f"fibers/{config_id}"]
|
244
272
|
|
@@ -355,10 +383,10 @@ def update(key, value, **kwargs):
|
|
355
383
|
click.echo(click.style("Deprecated: use `almanac config set`", fg="yellow"))
|
356
384
|
return set(key, value, **kwargs)
|
357
385
|
|
358
|
-
@config.command
|
386
|
+
@config.command(name="set")
|
359
387
|
@click.argument("key")
|
360
388
|
@click.argument("value")
|
361
|
-
def
|
389
|
+
def _set(key, value, **kwargs):
|
362
390
|
"""Set a configuration value"""
|
363
391
|
|
364
392
|
from almanac import config, get_config_path, ConfigManager
|
@@ -0,0 +1,247 @@
|
|
1
|
+
from pydantic import BaseModel, Field, computed_field, field_validator, model_validator
|
2
|
+
from almanac.data_models.types import *
|
3
|
+
|
4
|
+
class SourceMetadata(BaseModel):
|
5
|
+
|
6
|
+
# Identifiers
|
7
|
+
sdss_id: Int64 = Field(default=-1)
|
8
|
+
catalogid: Int64 = Field(default=-1)
|
9
|
+
version_id: int = Field(default=-1)
|
10
|
+
lead: str = Field(default="")
|
11
|
+
allstar_dr17_synspec_rev1: Str = Field(default=-1)
|
12
|
+
allwise: Int64 = Field(default=-1)
|
13
|
+
bhm_rm_v0: Int64 = Field(default=-1)
|
14
|
+
bhm_rm_v0_2: Int64 = Field(default=-1)
|
15
|
+
catwise: Str = Field(default=-1)
|
16
|
+
catwise2020: Str = Field(default=-1)
|
17
|
+
gaia_dr2_source: Int64 = Field(default=-1)
|
18
|
+
gaia_dr3_source: Int64 = Field(default=-1)
|
19
|
+
glimpse: Int64 = Field(default=-1)
|
20
|
+
guvcat: Int64 = Field(default=-1)
|
21
|
+
legacy_survey_dr10: Int64 = Field(default=-1)
|
22
|
+
legacy_survey_dr8: Int64 = Field(default=-1)
|
23
|
+
mangatarget: Str = Field(default=-1)
|
24
|
+
marvels_dr11_star: Str = Field(default=-1)
|
25
|
+
marvels_dr12_star: Int64 = Field(default=-1)
|
26
|
+
mastar_goodstars: Str = Field(default=-1)
|
27
|
+
panstarrs1: Int64 = Field(default=-1)
|
28
|
+
ps1_g18: Int64 = Field(default=-1)
|
29
|
+
sdss_dr13_photoobj: Int64 = Field(default=-1)
|
30
|
+
sdss_dr17_specobj: Str = Field(default=-1)
|
31
|
+
skymapper_dr1_1: Int64 = Field(default=-1)
|
32
|
+
skymapper_dr2: Int64 = Field(default=-1)
|
33
|
+
supercosmos: Int64 = Field(default=-1)
|
34
|
+
tic_v8: Int64 = Field(default=-1)
|
35
|
+
twomass_psc: Int64 = Field(default=-1)
|
36
|
+
tycho2: Str = Field(default=-1)
|
37
|
+
unwise: Str = Field(default=-1)
|
38
|
+
|
39
|
+
# Gaia
|
40
|
+
source_id: Int = Field(default=-1)
|
41
|
+
solution_id: Int = Field(default=-1)
|
42
|
+
designation: Str = Field(default=-1)
|
43
|
+
random_index: Float = Field(default=-1)
|
44
|
+
ref_epoch: Float = Field(default=-1)
|
45
|
+
ra: Float = Field(default=-1)
|
46
|
+
ra_error: Float = Field(default=-1)
|
47
|
+
dec: Float = Field(default=-1)
|
48
|
+
dec_error: Float = Field(default=-1)
|
49
|
+
parallax: Float = Field(default=-1)
|
50
|
+
parallax_error: Float = Field(default=-1)
|
51
|
+
parallax_over_error: Float = Field(default=-1)
|
52
|
+
pm: Float = Field(default=-1)
|
53
|
+
pmra: Float = Field(default=-1)
|
54
|
+
pmra_error: Float = Field(default=-1)
|
55
|
+
pmdec: Float = Field(default=-1)
|
56
|
+
pmdec_error: Float = Field(default=-1)
|
57
|
+
ra_dec_corr: Float = Field(default=-1)
|
58
|
+
ra_parallax_corr: Float = Field(default=-1)
|
59
|
+
ra_pmra_corr: Float = Field(default=-1)
|
60
|
+
ra_pmdec_corr: Float = Field(default=-1)
|
61
|
+
dec_parallax_corr: Float = Field(default=-1)
|
62
|
+
dec_pmra_corr: Float = Field(default=-1)
|
63
|
+
dec_pmdec_corr: Float = Field(default=-1)
|
64
|
+
parallax_pmra_corr: Float = Field(default=-1)
|
65
|
+
parallax_pmdec_corr: Float = Field(default=-1)
|
66
|
+
pmra_pmdec_corr: Float = Field(default=-1)
|
67
|
+
astrometric_n_obs_al: Int = Field(default=-1)
|
68
|
+
astrometric_n_obs_ac: Int = Field(default=-1)
|
69
|
+
astrometric_n_good_obs_al: Int = Field(default=-1)
|
70
|
+
astrometric_n_bad_obs_al: Int = Field(default=-1)
|
71
|
+
astrometric_gof_al: Float = Field(default=-1)
|
72
|
+
astrometric_chi2_al: Float = Field(default=-1)
|
73
|
+
astrometric_excess_noise: Float = Field(default=-1)
|
74
|
+
astrometric_excess_noise_sig: Float = Field(default=-1)
|
75
|
+
astrometric_params_solved: Int = Field(default=-1)
|
76
|
+
astrometric_primary_flag: Bool = Field(default=-1)
|
77
|
+
nu_eff_used_in_astrometry: Float = Field(default=-1)
|
78
|
+
pseudocolour: Float = Field(default=-1)
|
79
|
+
pseudocolour_error: Float = Field(default=-1)
|
80
|
+
ra_pseudocolour_corr: Float = Field(default=-1)
|
81
|
+
dec_pseudocolour_corr: Float = Field(default=-1)
|
82
|
+
parallax_pseudocolour_corr: Float = Field(default=-1)
|
83
|
+
pmra_pseudocolour_corr: Float = Field(default=-1)
|
84
|
+
pmdec_pseudocolour_corr: Float = Field(default=-1)
|
85
|
+
astrometric_matched_transits: Int = Field(default=-1)
|
86
|
+
visibility_periods_used: Int = Field(default=-1)
|
87
|
+
astrometric_sigma5d_max: Float = Field(default=-1)
|
88
|
+
matched_transits: Int = Field(default=-1)
|
89
|
+
new_matched_transits: Int = Field(default=-1)
|
90
|
+
matched_transits_removed: Int = Field(default=-1)
|
91
|
+
ipd_gof_harmonic_amplitude: Float = Field(default=-1)
|
92
|
+
ipd_gof_harmonic_phase: Float = Field(default=-1)
|
93
|
+
ipd_frac_multi_peak: Float = Field(default=-1)
|
94
|
+
ipd_frac_odd_win: Float = Field(default=-1)
|
95
|
+
ruwe: Float = Field(default=-1)
|
96
|
+
scan_direction_strength_k1: Float = Field(default=-1)
|
97
|
+
scan_direction_strength_k2: Float = Field(default=-1)
|
98
|
+
scan_direction_strength_k3: Float = Field(default=-1)
|
99
|
+
scan_direction_strength_k4: Float = Field(default=-1)
|
100
|
+
scan_direction_mean_k1: Float = Field(default=-1)
|
101
|
+
scan_direction_mean_k2: Float = Field(default=-1)
|
102
|
+
scan_direction_mean_k3: Float = Field(default=-1)
|
103
|
+
scan_direction_mean_k4: Float = Field(default=-1)
|
104
|
+
duplicated_source: Bool = Field(default=-1)
|
105
|
+
phot_g_n_obs: Int = Field(default=-1)
|
106
|
+
phot_g_mean_flux: Float = Field(default=-1)
|
107
|
+
phot_g_mean_flux_error: Float = Field(default=-1)
|
108
|
+
phot_g_mean_flux_over_error: Float = Field(default=-1)
|
109
|
+
phot_g_mean_mag: Float = Field(default=-1)
|
110
|
+
phot_bp_n_obs: Int = Field(default=-1)
|
111
|
+
phot_bp_mean_flux: Float = Field(default=-1)
|
112
|
+
phot_bp_mean_flux_error: Float = Field(default=-1)
|
113
|
+
phot_bp_mean_flux_over_error: Float = Field(default=-1)
|
114
|
+
phot_bp_mean_mag: Float = Field(default=-1)
|
115
|
+
phot_rp_n_obs: Int = Field(default=-1)
|
116
|
+
phot_rp_mean_flux: Float = Field(default=-1)
|
117
|
+
phot_rp_mean_flux_error: Float = Field(default=-1)
|
118
|
+
phot_rp_mean_flux_over_error: Float = Field(default=-1)
|
119
|
+
phot_rp_mean_mag: Float = Field(default=-1)
|
120
|
+
phot_bp_rp_excess_factor: Float = Field(default=-1)
|
121
|
+
phot_bp_n_contaminated_transits: Int = Field(default=-1)
|
122
|
+
phot_bp_n_blended_transits: Int = Field(default=-1)
|
123
|
+
phot_rp_n_contaminated_transits: Int = Field(default=-1)
|
124
|
+
phot_rp_n_blended_transits: Int = Field(default=-1)
|
125
|
+
phot_proc_mode: Int = Field(default=-1)
|
126
|
+
bp_rp: Float = Field(default=-1)
|
127
|
+
bp_g: Float = Field(default=-1)
|
128
|
+
g_rp: Float = Field(default=-1)
|
129
|
+
radial_velocity: Float = Field(default=-1)
|
130
|
+
radial_velocity_error: Float = Field(default=-1)
|
131
|
+
rv_method_used: Str = Field(default=-1)
|
132
|
+
rv_nb_transits: Int = Field(default=-1)
|
133
|
+
rv_nb_deblended_transits: Int = Field(default=-1)
|
134
|
+
rv_visibility_periods_used: Int = Field(default=-1)
|
135
|
+
rv_expected_sig_to_noise: Float = Field(default=-1)
|
136
|
+
rv_renormalised_gof: Float = Field(default=-1)
|
137
|
+
rv_chisq_pvalue: Float = Field(default=-1)
|
138
|
+
rv_time_duration: Float = Field(default=-1)
|
139
|
+
rv_amplitude_robust: Float = Field(default=-1)
|
140
|
+
rv_template_teff: Float = Field(default=-1)
|
141
|
+
rv_template_logg: Float = Field(default=-1)
|
142
|
+
rv_template_fe_h: Float = Field(default=-1)
|
143
|
+
rv_atm_param_origin: Str = Field(default=-1)
|
144
|
+
vbroad: Float = Field(default=-1)
|
145
|
+
vbroad_error: Float = Field(default=-1)
|
146
|
+
vbroad_nb_transits: Int = Field(default=-1)
|
147
|
+
grvs_mag: Float = Field(default=-1)
|
148
|
+
grvs_mag_error: Float = Field(default=-1)
|
149
|
+
grvs_mag_nb_transits: Int = Field(default=-1)
|
150
|
+
rvs_spec_sig_to_noise: Float = Field(default=-1)
|
151
|
+
phot_variable_flag: Str = Field(default=-1)
|
152
|
+
l: Float = Field(default=-1)
|
153
|
+
b: Float = Field(default=-1)
|
154
|
+
ecl_lon: Float = Field(default=-1)
|
155
|
+
ecl_lat: Float = Field(default=-1)
|
156
|
+
in_qso_candidates: Bool = Field(default=-1)
|
157
|
+
in_galaxy_candidates: Bool = Field(default=-1)
|
158
|
+
non_single_star: Bool = Field(default=-1)
|
159
|
+
has_xp_continuous: Bool = Field(default=-1)
|
160
|
+
has_xp_sampled: Bool = Field(default=-1)
|
161
|
+
has_rvs: Bool = Field(default=-1)
|
162
|
+
has_epoch_photometry: Bool = Field(default=-1)
|
163
|
+
has_epoch_rv: Bool = Field(default=-1)
|
164
|
+
has_mcmc_gspphot: Bool = Field(default=-1)
|
165
|
+
has_mcmc_msc: Bool = Field(default=-1)
|
166
|
+
in_andromeda_survey: Bool = Field(default=-1)
|
167
|
+
classprob_dsc_combmod_quasar: Float = Field(default=-1)
|
168
|
+
classprob_dsc_combmod_galaxy: Float = Field(default=-1)
|
169
|
+
classprob_dsc_combmod_star: Float = Field(default=-1)
|
170
|
+
teff_gspphot: Float = Field(default=-1)
|
171
|
+
teff_gspphot_lower: Float = Field(default=-1)
|
172
|
+
teff_gspphot_upper: Float = Field(default=-1)
|
173
|
+
logg_gspphot: Float = Field(default=-1)
|
174
|
+
logg_gspphot_lower: Float = Field(default=-1)
|
175
|
+
logg_gspphot_upper: Float = Field(default=-1)
|
176
|
+
mh_gspphot: Float = Field(default=-1)
|
177
|
+
mh_gspphot_lower: Float = Field(default=-1)
|
178
|
+
mh_gspphot_upper: Float = Field(default=-1)
|
179
|
+
distance_gspphot: Float = Field(default=-1)
|
180
|
+
distance_gspphot_lower: Float = Field(default=-1)
|
181
|
+
distance_gspphot_upper: Float = Field(default=-1)
|
182
|
+
azero_gspphot: Float = Field(default=-1)
|
183
|
+
azero_gspphot_lower: Float = Field(default=-1)
|
184
|
+
azero_gspphot_upper: Float = Field(default=-1)
|
185
|
+
ag_gspphot: Float = Field(default=-1)
|
186
|
+
ag_gspphot_lower: Float = Field(default=-1)
|
187
|
+
ag_gspphot_upper: Float = Field(default=-1)
|
188
|
+
ebpminrp_gspphot: Float = Field(default=-1)
|
189
|
+
ebpminrp_gspphot_lower: Float = Field(default=-1)
|
190
|
+
ebpminrp_gspphot_upper: Float = Field(default=-1)
|
191
|
+
libname_gspphot: Str = Field(default=-1)
|
192
|
+
j_m: Float = Field(default=-1)
|
193
|
+
j_cmsig: Float = Field(default=-1)
|
194
|
+
j_msigcom: Float = Field(default=-1)
|
195
|
+
j_snr: Float = Field(default=-1)
|
196
|
+
h_m: Float = Field(default=-1)
|
197
|
+
h_cmsig: Float = Field(default=-1)
|
198
|
+
h_msigcom: Float = Field(default=-1)
|
199
|
+
h_snr: Float = Field(default=-1)
|
200
|
+
k_m: Float = Field(default=-1)
|
201
|
+
k_cmsig: Float = Field(default=-1)
|
202
|
+
k_msigcom: Float = Field(default=-1)
|
203
|
+
k_snr: Float = Field(default=-1)
|
204
|
+
ph_qual: Str = Field(default=-1)
|
205
|
+
rd_flg: Str = Field(default=-1)
|
206
|
+
bl_flg: Str = Field(default=-1)
|
207
|
+
cc_flg: Str = Field(default=-1)
|
208
|
+
ndet: Int = Field(default=-1)
|
209
|
+
prox: Float = Field(default=-1)
|
210
|
+
pxpa: Float = Field(default=-1)
|
211
|
+
pxcntr: Float = Field(default=-1)
|
212
|
+
gal_contam: Int = Field(default=-1)
|
213
|
+
mp_flg: Int = Field(default=-1)
|
214
|
+
scan: Int = Field(default=-1)
|
215
|
+
glon: Float = Field(default=-1)
|
216
|
+
glat: Float = Field(default=-1)
|
217
|
+
x_scan: Float = Field(default=-1)
|
218
|
+
jdate: Float = Field(default=-1)
|
219
|
+
j_psfchi: Float = Field(default=-1)
|
220
|
+
h_psfchi: Float = Field(default=-1)
|
221
|
+
k_psfchi: Float = Field(default=-1)
|
222
|
+
j_m_stdap: Float = Field(default=-1)
|
223
|
+
j_msig_stdap: Float = Field(default=-1)
|
224
|
+
h_m_stdap: Float = Field(default=-1)
|
225
|
+
h_msig_stdap: Float = Field(default=-1)
|
226
|
+
k_m_stdap: Float = Field(default=-1)
|
227
|
+
k_msig_stdap: Float = Field(default=-1)
|
228
|
+
dist_edge_ns: Float = Field(default=-1)
|
229
|
+
dist_edge_ew: Float = Field(default=-1)
|
230
|
+
dist_edge_flg: Str = Field(default=-1)
|
231
|
+
dup_src: Int = Field(default=-1)
|
232
|
+
use_src: Int = Field(default=-1)
|
233
|
+
a: Str = Field(default=-1)
|
234
|
+
dist_opt: Float = Field(default=-1)
|
235
|
+
phi_opt: Float = Field(default=-1)
|
236
|
+
b_m_opt: Float = Field(default=-1)
|
237
|
+
vr_m_opt: Float = Field(default=-1)
|
238
|
+
nopt_mchs: Int = Field(default=-1)
|
239
|
+
ext_key: Int = Field(default=-1)
|
240
|
+
scan_key: Int = Field(default=-1)
|
241
|
+
coadd_key: Int = Field(default=-1)
|
242
|
+
coad: Int = Field(default=-1)
|
243
|
+
|
244
|
+
class Config:
|
245
|
+
validate_by_name = True
|
246
|
+
validate_assignment = True
|
247
|
+
arbitrary_types_allowed = True
|
almanac/data_models/types.py
CHANGED
@@ -4,11 +4,40 @@ from typing_extensions import Annotated
|
|
4
4
|
from pydantic import BeforeValidator
|
5
5
|
|
6
6
|
def validate_np_int64(v):
|
7
|
+
if v is None:
|
8
|
+
return np.int64(-1)
|
7
9
|
if not isinstance(v, np.int64):
|
8
10
|
return np.int64(v)
|
9
11
|
return v
|
10
12
|
|
13
|
+
def validate_int(v):
|
14
|
+
if v is None:
|
15
|
+
return -1
|
16
|
+
return int(v)
|
17
|
+
|
18
|
+
def validate_float(v):
|
19
|
+
if v is None:
|
20
|
+
return float('nan')
|
21
|
+
try:
|
22
|
+
return float(v)
|
23
|
+
except (ValueError, TypeError):
|
24
|
+
return float('nan')
|
25
|
+
|
26
|
+
def validate_str(v):
|
27
|
+
if v is None:
|
28
|
+
return ""
|
29
|
+
return str(v)
|
30
|
+
|
31
|
+
def validate_bool(v):
|
32
|
+
if v is None:
|
33
|
+
return False
|
34
|
+
return bool(v)
|
35
|
+
|
11
36
|
Int64 = Annotated[np.int64, BeforeValidator(validate_np_int64)]
|
37
|
+
Int = Annotated[int, BeforeValidator(validate_int)]
|
38
|
+
Float = Annotated[float, BeforeValidator(validate_float)]
|
39
|
+
Str = Annotated[str, BeforeValidator(validate_str)]
|
40
|
+
Bool = Annotated[bool, BeforeValidator(validate_bool)]
|
12
41
|
|
13
42
|
|
14
43
|
Observatory = Literal["apo", "lco"]
|
almanac/utils.py
CHANGED
@@ -83,9 +83,16 @@ def mjd_to_datetime(mjd: float) -> datetime:
|
|
83
83
|
"""
|
84
84
|
return Time(mjd, format='mjd').datetime
|
85
85
|
|
86
|
-
def parse_mjds(
|
87
|
-
|
88
|
-
|
86
|
+
def parse_mjds(
|
87
|
+
mjd: Optional[int],
|
88
|
+
mjd_start: Optional[int],
|
89
|
+
mjd_end: Optional[int],
|
90
|
+
date: Optional[str],
|
91
|
+
date_start: Optional[str],
|
92
|
+
date_end: Optional[str],
|
93
|
+
earliest_mjd: int = 0,
|
94
|
+
return_nones: bool = False
|
95
|
+
) -> Tuple[Union[int, range, Tuple[int, ...]], int, int]:
|
89
96
|
"""Parse MJD and date parameters to determine observation date range.
|
90
97
|
|
91
98
|
Args:
|
@@ -96,6 +103,7 @@ def parse_mjds(mjd: Optional[int], mjd_start: Optional[int], mjd_end: Optional[i
|
|
96
103
|
date_start: Start date string in "YYYY-MM-DD" format
|
97
104
|
date_end: End date string in "YYYY-MM-DD" format
|
98
105
|
earliest_mjd: Earliest allowed MJD value (default: 0)
|
106
|
+
return_nones: If True, return None for mjd range if no dates are specified (default: False)
|
99
107
|
|
100
108
|
Returns:
|
101
109
|
Tuple containing:
|
@@ -117,7 +125,10 @@ def parse_mjds(mjd: Optional[int], mjd_start: Optional[int], mjd_end: Optional[i
|
|
117
125
|
"Cannot specify more than one of --mjd, --mjd-start/--mjd-end, --date, --date-start/--date-end"
|
118
126
|
)
|
119
127
|
if n_given == 0:
|
120
|
-
|
128
|
+
if return_nones:
|
129
|
+
return (None, None, None)
|
130
|
+
else:
|
131
|
+
return ((current_mjd, ), current_mjd, current_mjd)
|
121
132
|
if mjd is not None:
|
122
133
|
if mjd < 0:
|
123
134
|
mjd += current_mjd
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: sdss-almanac
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.10
|
4
4
|
Summary: Everything we've got
|
5
5
|
Author-email: Andy Casey <andrew.casey@monash.edu>
|
6
6
|
License: BSD 3-Clause License
|
@@ -17,7 +17,7 @@ Classifier: Programming Language :: Python :: 3.7
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.8
|
18
18
|
Classifier: Topic :: Documentation :: Sphinx
|
19
19
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
20
|
-
Requires-Python: >=3.
|
20
|
+
Requires-Python: >=3.12
|
21
21
|
Description-Content-Type: text/markdown
|
22
22
|
License-File: LICENSE.md
|
23
23
|
Requires-Dist: numpy
|
@@ -1,27 +1,28 @@
|
|
1
|
-
almanac/__init__.py,sha256=
|
1
|
+
almanac/__init__.py,sha256=o_bowgFBdkGVkmnHzBWUTrlCXvLvGJqYQuBojDtBv6Q,110
|
2
2
|
almanac/apogee.py,sha256=Q7juc7BJdnP56-4UZ4CSg6FCULr22KHinHly2d0KMt8,10390
|
3
|
-
almanac/catalog.py,sha256=
|
4
|
-
almanac/cli.py,sha256=
|
3
|
+
almanac/catalog.py,sha256=tVwlLtVaUbSt1hoTpIPP2bMhgd4rpcUUP_zdr6uks2c,11633
|
4
|
+
almanac/cli.py,sha256=MUqE9kBfRfJPl6FLw-pJ1EUpIfZcami5IakGqxCvXsQ,26523
|
5
5
|
almanac/config.py,sha256=5oRO-mrtaCKIcqGxcrfeNHZIjHkULDRrI_Bv1CU5uxE,3259
|
6
6
|
almanac/database.py,sha256=6YeuRSFU5zfIen7zU-nI4pN_Z_fnYkglPcYxzVF4Xqo,758
|
7
7
|
almanac/display.py,sha256=IflM5Y3yOJEDkvyUYQe3bOFs1iEwoe3mUj8mbODsYDk,15388
|
8
8
|
almanac/io.py,sha256=8p3XX9m8r8SZirPFmemQ8twhqnaRZP5CIUrm1tp8MXM,10412
|
9
9
|
almanac/logger.py,sha256=N7U610gLP6JVDUGcua3UaV9DLoWg1njfkg4F7t11UW4,665
|
10
10
|
almanac/qa.py,sha256=hws0YLjD6C-yC81LKmEZPRXOvucfmZE4cYEZot1R9mk,776
|
11
|
-
almanac/utils.py,sha256=
|
11
|
+
almanac/utils.py,sha256=0ditIHNb41_OKjaMHxEnicHnTT0NAp3SAW3QZ196JL0,4832
|
12
12
|
almanac/data_models/__init__.py,sha256=OVLgGYbJmmetYJ7pKUs5jylzC6XAyk2BnC6arjZnuMY,89
|
13
13
|
almanac/data_models/exposure.py,sha256=aUzavB8Xdv5rizVJI1jSdN0KaIf7UvxiPp5kTKqXakE,12834
|
14
14
|
almanac/data_models/fps.py,sha256=6wM3TgCOnq2cEiGe_rKAp2pW-klGya9Fx9Y_5EbBHRU,5319
|
15
|
+
almanac/data_models/metadata.py,sha256=49Gkhw-saVJbx5t_B61SyV2qMmvXgB-yLCFQk5Kpw5M,10990
|
15
16
|
almanac/data_models/plate.py,sha256=hehFKr35PL_iaqLHcAHBxnDraB1_y_S7sc9wL6z7vYQ,6618
|
16
|
-
almanac/data_models/types.py,sha256=
|
17
|
+
almanac/data_models/types.py,sha256=An2xrTDb4UT1DVsySiFv94pAbJZnY06kkiS9PPYZLwM,2247
|
17
18
|
almanac/data_models/utils.py,sha256=FBmY2OMRrOr6elisq910Uj5ZvaXmLQWOGAbMPqA2_T4,6232
|
18
19
|
almanac/etc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
20
|
almanac/etc/bad_exposures.csv,sha256=VQQoq6uXDhnnIyp6vw0cfeTaoyNqPi5dW0MwfKsDRCk,25394
|
20
21
|
almanac/stash/data_models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
22
|
almanac/stash/plugmap_models.py,sha256=8yxw6ZXuLP1ZdFuT7wCW_Z5JSJll4uymiIWRb6WvSOk,8973
|
22
|
-
sdss_almanac-0.2.
|
23
|
-
sdss_almanac-0.2.
|
24
|
-
sdss_almanac-0.2.
|
25
|
-
sdss_almanac-0.2.
|
26
|
-
sdss_almanac-0.2.
|
27
|
-
sdss_almanac-0.2.
|
23
|
+
sdss_almanac-0.2.10.dist-info/licenses/LICENSE.md,sha256=_7dAUQQ5Ph_x1hcFXhi9aHBcqq9H11zco12eO4B3Cyg,1504
|
24
|
+
sdss_almanac-0.2.10.dist-info/METADATA,sha256=p7n9LIOz_DFzxqvuM9GVmYJpYaL3Lno_IV3u-Sq-nr0,6995
|
25
|
+
sdss_almanac-0.2.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
26
|
+
sdss_almanac-0.2.10.dist-info/entry_points.txt,sha256=5Obfm-uaVxE3RnRm2W7dYaX_O_j5ggGvAW5UQG5AtuE,45
|
27
|
+
sdss_almanac-0.2.10.dist-info/top_level.txt,sha256=sWBGH9a-2-nFB2-rGqioyigbkcz14t1u8rqAs_RYe_w,8
|
28
|
+
sdss_almanac-0.2.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|