Skip to content

Fold the temperature response on the spectra wavelengths - #231

Draft
nabobalis wants to merge 2 commits into
sunpy:mainfrom
nabobalis:fold-on-spectra-grid
Draft

nabobalis wants to merge 2 commits into
sunpy:mainfrom
nabobalis:fold-on-spectra-grid

Conversation

@nabobalis

Copy link
Copy Markdown
Member

Summary

 SourceSpectra.temperature_response(channel)
-  interpolate the spectra onto channel.wavelength
-  integrate over channel.wavelength
+  interpolate channel.wavelength_response() onto the spectra wavelengths, 0 outside
+  integrate over the spectra wavelengths

Interpolating the spectra onto the channel wavelengths drops or multiplies lines narrower than the channel sampling.

Evidence

  • Before: in the new test_temperature_response_line, a 0.02 Å unit-integral line gives 50.5× the response at the line when it sits on a channel wavelength, and 0 when it sits between two.
    After: both give the response at the line. All response tests pass.
  • Against SSW aia_get_response(/temperature,/dn) for the seven AIA EUV channels (aiapy's Channel from refactor channel on top of abstract channel class LM-SAL/aiapy#419, SolarSoft V9 emissivity), the worst relative difference is 1.1e-4 before and 3.7e-5 after. The remainder comes from SSW's hc = 12398 eV Å.

Merge Danger

Door: two-way

Blast Radius: values

Every temperature_response result changes: slightly for smooth spectra, and a lot for line spectra sampled more finely than the channel.

Interpolating the spectra onto the channel grid lost or multiplied
the flux of lines narrower than the channel sampling.
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