Data levels
A data level labels how far a file has been processed through the
reduction pipeline. It is the first argument to almost every query method (e.g.
query_datetime('l2', ...)) and it picks which underlying table you search, so
getting it right is the first decision you make.
Frame it as one question: how processed do you need the data to be?
Level |
What it contains |
Who wants it |
|---|---|---|
Raw 2D detector frames, straight off the CCD |
Only if you run your own reduction |
|
Calibrated, wavelength-solved 1D extracted spectra |
Custom spectral / line / activity analysis |
|
RV-ready products: the CCF and the radial velocity |
Most science users |
|
Engineering / calibration frames |
Instrument debugging only |
Levels map to tables
Each archive maps its data_level strings to its own server tables (for
example, NEID’s 'l2' is the table neidl2). You pass the level string,
never the table name; the package translates for you, and archive.data_levels
lists the levels an archive offers.
The solar variants
Archives with a solar feed mirror the same hierarchy for Sun-as-a-star
data, with levels named solarl0, solarl1, solarl2, and so on. An archive
may offer only some levels; each archive’s page has its table of levels.
Practical default
Start with the level that holds the radial velocities — 'l2', or 'solarl2'
for solar data — since that is what most users came for. Drop to 'l1' only
when you want the spectra themselves, and to 'l0' only when you intend to
reduce raw frames yourself.
Once you have picked a level, see Choosing a query for picking the query method.