Skip to content

Make channels time snapshots via Channel.at(obstime)#208

Open
nabobalis wants to merge 2 commits into
sunpy:mainfrom
nabobalis:channel-obstime-snapshot
Open

Make channels time snapshots via Channel.at(obstime)#208
nabobalis wants to merge 2 commits into
sunpy:mainfrom
nabobalis:channel-obstime-snapshot

Conversation

@nabobalis

Copy link
Copy Markdown
Member

A channel instance now represents the instrument at one time. AbstractChannel.at(obstime) returns a time-bound copy and is the only way time enters a response calculation; effective_area() and wavelength_response() no longer accept obstime, and neither do get_temperature_response() or SourceSpectra.temperature_response(). An unbound channel (or at(None)) never evaluates degradation, so degradation() implementations may require a time.

Why: consumers such as emission models call channel methods without a time argument; threading obstime through every coupling function forced per-function adapter proxies and broke caches keyed on channel identity. Binding time on the channel removes the dual code path entirely.

BREAKING CHANGE: obstime keyword removed from wavelength_response, effective_area, get_temperature_response and
SourceSpectra.temperature_response; use channel.at(obstime) instead.

@nabobalis nabobalis force-pushed the channel-obstime-snapshot branch from c34f987 to f166e0a Compare July 8, 2026 22:28
@nabobalis nabobalis changed the title feat!: make channels time snapshots via Channel.at(obstime) Make channels time snapshots via Channel.at(obstime) Jul 8, 2026
@nabobalis nabobalis force-pushed the channel-obstime-snapshot branch 2 times, most recently from 3e1ab7e to 0927782 Compare July 8, 2026 22:38
@nabobalis nabobalis force-pushed the channel-obstime-snapshot branch from 0927782 to 2ff4d5a Compare July 8, 2026 23:00
@nabobalis nabobalis marked this pull request as ready for review July 9, 2026 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant