feat: add SDSS survey - #139
Merged
Merged
Conversation
Member
Author
|
Addressed code review findings:
All validation re-run and clean (pytest, pre-commit, speclite agreement). |
Add the Sloan Digital Sky Survey (SDSS) done with the 2.5m telescope at Apache Point Observatory and the SDSS imaging camera (Gunn et al. 1998). Sourcing: - pixel_scale, full_exposure_time: Xin et al. 2018 (arXiv:1805.02845), corroborated by Gunn et al. 1998's ~0.4"/54s design values. - gain, mirror_diameter, obscuration: Gunn et al. 1998 (arXiv:astro-ph/9809085); gain uses the nominal 6 e-/ADU value shared by r/i/z (u=2, g=5 differ per the same source). - sky_brightness: SDSS DR17 official imaging data-quality page (median per-filter dark-sky brightness). - psf_fwhm: derived from the official SDSS median r-band seeing (1.32"), scaled per band via the Kolmogorov FWHM ~ lambda^-0.2 relation from Xin et al. 2018 (Eq. 7) using speclite effective wavelengths. - zeropoint, effective_wavelength: computed with speclite's sdss2010 filters; zeropoint_airmass=1.3 matches speclite's reference APO atmosphere for those filters. Wire SDSS into scripts/check_zeropoints.py and scripts/check_effective_wavelengths.py (SPECLITE_SURVEY_PREFIXES); both scripts confirm exact agreement between speclite and the YAML values for all 5 filters. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- psf_fwhm: the reference comment claimed Xin et al. 2018 "shows" the
theoretical Kolmogorov relation (FWHM ~ lambda^-0.2, their Eq. 7)
approximates SDSS's measured seeing wavelength-dependence. Code review
found this misstates the paper: it reports the data "clearly deviate"
from alpha=-0.2 and are better described by a von Karman atmosphere
with alpha closer to -0.3 (their Sec 4.1 / Fig. 5), and explicitly
flags that the z-band doesn't follow the fitted power law as well as
u/g/r/i (their own refit excludes z). Recomputed psf_fwhm with
alpha=-0.3 instead of -0.2 (u: 1.47->1.55, g: 1.39->1.43, i: 1.27->1.25,
z: 1.23->1.18; r unchanged, it's the empirical anchor), rewrote the
comment to accurately describe the paper's actual finding, and added
an explicit caveat that the z-band value carries extra uncertainty.
- Fixed two incorrect section-number citations (values were already
correct, only the locators were wrong): gain's comment cited Gunn et
al. 1998 "Sec 5," but the quoted conversion-gain figures are actually
in Sec 7 ("The Electronics"); pixel_scale and full_exposure_time both
cited Xin et al. 2018 "Sec 2," but the quoted sentence is in Sec 1
(Introduction).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
aboucaud
force-pushed
the
add-sdss-survey
branch
from
October 1, 2026 00:13
b4517f6 to
c458268
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the Sloan Digital Sky Survey (SDSS) as
surveycodex/data/SDSS.yaml: the 2.5m SDSS telescope at Apache Point Observatory with the SDSS imaging camera (Gunn et al. 1998), filters u, g, r, i, z (speclite'ssdss2010filter group).Sourced values
pixel_scalegainmirror_diameterobscurationzeropoint_airmasssky_brightness(u,g,r,i,z)full_exposure_timepsf_fwhm(u,g,r,i,z)zeropoint,effective_wavelengthsdss2010-{u,g,r,i,z}filters (seescripts/check_zeropoints.py/check_effective_wavelengths.py).Judgment calls called out:
gainandpsf_fwhmvary per band in the primary sources but the schema stores one scalar survey-levelgain; I picked the value shared by the majority of bands (r/i/z = 6 e-/ADU) rather than averaging.psf_fwhm); I derived it from an official median r-band anchor plus a peer-reviewed wavelength-scaling relation rather than guessing, and documented the derivation explicitly in the YAMLreferencescomment (same pattern already used forLSST.yaml'spsf_fwhm).Validation methodology
Before trusting the speclite-based zeropoint/effective-wavelength computation for SDSS, reproduced DES's already-shipped g-band values using the exact formula in
scripts/check_zeropoints.py(compute_zeropoint_magwithexposure_time=1s,effective_areafrom DES's ownmirror_diameter/obscuration) and confirmed an exact match (zeropoint=26.7239≈26.72, effective_wavelength=489.0037≈489.004) before applying the same method to SDSS.Test plan
pytest --cov— 36 passedpre-commit run --all-files— all hooks passpython -m surveycodex— SDSS prints correctlysurveycodex --refs— SDSS references print correctlypython scripts/check_zeropoints.py— speclite vs surveycodex match exactly for all 5 SDSS filterspython scripts/check_effective_wavelengths.py— speclite vs surveycodex match exactly for all 5 SDSS filters🤖 Generated with Claude Code