Generated from schema/schema.yaml — the same file that generates
the tables, the TAP_SCHEMA metadata and the
search form. These are the only names an
ADQL query may use.
survey.sourceOne row per detection (or forced measurement) per exposure.
| column | type | unit | UCD | description |
|---|---|---|---|---|
| source_id | long | meta.id;meta.main | Unique detection identifier. | |
| run_id | int | meta.id | Processing run that produced this row; see survey.processing_runs. run_id is where a row came from, and a search returns every run at once. Run 0 is the reserved synthetic fixture; any other run is a real ingest — ZTF stand-in data today (ADR 004), VW observations later. Filter on this column to keep one of them. | |
| exposure_id | long | meta.id | Exposure this measurement was made on. | |
| mjd | double | d | time.epoch | Modified Julian Date at exposure mid-point, UTC. |
| ra | double | deg | pos.eq.ra;meta.main | Measured right ascension, ICRS. |
| dec | double | deg | pos.eq.dec;meta.main | Measured declination, ICRS. |
| flux | float | nJy | phot.flux | Calibrated flux. |
| flux_err | float | nJy | stat.error;phot.flux | 1-sigma uncertainty on flux. |
| snr | float | stat.snr | Signal-to-noise ratio of the measurement. | |
| is_detection | boolean | meta.code | False for forced photometry, which may be an upper limit. | |
| flags | long | meta.code.qual | Quality bitmask; see named boolean columns. flags is a raw bitmask and the meaning of its bits is not defined anywhere in this project — for stand-in rows it is ZTF catflags, passed through unchanged. Compare whole values, or test a bit you already know the meaning of. |
survey.exposuresOne row per calibrated exposure, with its sky footprint.
| column | type | unit | UCD | description |
|---|---|---|---|---|
| exposure_id | long | meta.id;meta.main | Unique exposure identifier. | |
| run_id | int | meta.id | Processing run that produced this row; see survey.processing_runs. | |
| band | char | instr.bandpass | Filter, from the controlled vocabulary in ingest/headers.py. | |
| mjd_start | double | d | time.start | MJD at the start of the exposure, UTC. |
| exptime | float | s | time.duration;obs.exposure | Exposure time in seconds. |
| footprint | spoly | pos.outline;obs.field | Sky footprint polygon, ICRS, from the image WCS. footprint is a polygon, not a number: it is queried by position, not by a comparison. It is also NULL for every stand-in ZTF exposure (ADR 004). | |
| seeing_arcsec | float | arcsec | instr.obsty.seeing | Delivered image quality, FWHM. seeing_arcsec is NULL for every stand-in ZTF exposure — the IRSA lightcurve service does not publish it (ADR 004). Any comparison against it therefore drops all ZTF detections, silently: NULL is neither less nor greater than anything. |
| zp | float | mag | phot.calib | Photometric zero point. |
| zp_scatter | float | mag | stat.error;phot.calib | Scatter in the zero-point fit; a quality indicator. |
| airmass | float | obs.airMass | Airmass at observation, secant of the zenith angle. airmass is NULL for any exposure ingested before this column existed (issue #16) — re-run ingest/ztf.py over a region to backfill it. | |
| limitmag | float | mag | phot.mag;obs.param | Limiting magnitude reported by the pipeline for this exposure. limitmag is NULL for any exposure ingested before this column existed (issue #16) — re-run ingest/ztf.py over a region to backfill it. |
A bare column name that appears in both tables — run_id,
exposure_id — has to be qualified in ADQL
(source.run_id), because guessing would silently answer a
different question.