I'm currently working on a fun project in my free time where I'm trying to calculate the temperature, among other things, of stars based on their spectra. Since I have essentially no prior experience in astronomy, except for quite a strong interest, this may sound like quite a dumb question, but I would appreciate an answer. The data provided from SDSS (Sloan Digital Sky Survey) that I'm using plots the spectral flux density, Fλ, over wavelength, λ. Now my problem is, I'm trying to do a curve fit in Python using Planck's law, (I'm aware that it is also possible to use the proportions between red and blue light, but I first want to see how close I can get using this method) but Planck's law (as below) gives spectral radiance. This means that while the data I'm using is in different units than the numbers I get from Planck's law. Therefore, (as you can see below) they are on greatly different scales. So my question is, how do I fix this? How can I use Planck's law to be able to fit the data? Is there any relationship between units that I have not been able to find? I want to clarify that I have tried my best to find the answer on my own, using Wikipedia and other sources, but my attempts have, obviously, not been rather successful.

enter image description here

The data that I'm using (The y-axis is 10^-17 erg/s/cm^2/Å):

enter image description here

The graphs I have got using Planck's law:

enter image description here

  • $\begingroup$ As far as I can tell, you have not correctly calculated $B_{\lambda}$. Units appear to be a possible issue. $\endgroup$ – Rob Jeffries Jun 29 at 23:20
  • $\begingroup$ @RobJeffries why do you say that? :) $\endgroup$ – Melvin Jun 29 at 23:21
  • $\begingroup$ Because a 6000 K blackbody doesn't peak in the ultraviolet. Could it be that the x-axis is in nm, but you have not realised the x-axis of the data is in Angstroms? $\endgroup$ – Rob Jeffries Jun 29 at 23:23
  • 1
    $\begingroup$ The difference between the two quantities, for a star, is just a factor of pi, i.e. $F_\lambda = \pi B_\lambda$ (which comes from integrating the emitted light from the star’s surface over all solid angles). Since you’ll need an arbitrary scaling factor anyway to get the quantities to agree (to account for the surface area of the star, and for the star’s distance from Earth), this factor of pi can just get folded into your scaling. $\endgroup$ – ELNJ Jun 29 at 23:32
  • 1
    $\begingroup$ related - not a solution, but an interesting bit of "news" about stars and spectral radiance curves aasnova.org/2018/10/31/perfect-blackbodies-in-the-sky $\endgroup$ – Carl Witthoft Jun 30 at 14:20

As I understand it, spectral flux is defined as

$ F_{\nu} = \int_\Omega I_{\nu}(\theta, \phi)\cos{\theta} d\Omega $

where $d\Omega$ is the solid angle element over which the integral is performed. Here $I_{\nu}$ is the specific intensity. The $\nu$ subscript denotes frequency dependence.

According to A. Choudhuri "Astrophysics for Physicists" p. 25, blackbody sources are isotropic emitters therefore we can drop the angular dependence in the spectral intensity and $I_{\nu}(\theta, \phi)$ becomes your Planck formula $B_{\nu}(T)$.


$ F_{\nu} = \pi B_{\nu}(T)$

| improve this answer | |
  • $\begingroup$ would that be the same if I used wavelength dependent? So that both F and B are dependent on the wavelength $\endgroup$ – Melvin Jul 1 at 18:55
  • $\begingroup$ @Melvin, yes, the flux law should be the same, if we just assume the specific intensity I was wavelength dependent, but we can't simply substitute the relationship (nu = c / lambda) in the Planck formula, as it has a different form depending on whether the dependence is frequency or wavelength. Explained here I think en.wikipedia.org/wiki/Planck%27s_law#Different_forms $\endgroup$ – sunra Jul 3 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.