Results 1 to 22 of 22

Thread: Terrestrial Exoplanet Skies I've Made a Visual Chart. Is It Accurate?

  1. #1
    Join Date
    Dec 2017
    Posts
    3

    Terrestrial Exoplanet Skies I've Made a Visual Chart. Is It Accurate?

    I'm an artist (and science enthusiast) and I've been trying to find a comprehensive resource that would help me clearly identify likely sky colors (as perceived by human vision) for exoplanets that have atmospheres with a similar chemical composition to Earth. It's trickier than I expected. I've cobbled together several resources, and built what I hope is a decently accurate chart of apparent sun color along with sky color.

    sky-color.png

    How accurate is my chart? Is this a fair representation of sky/sun on alien worlds with heavily Nitrogen/Oxygen atmospheres? In what ways could I improve it?

    The chart is not meant to account for things like dust, the look of the sky at sunrise/sunset, or other atmospheric effects. This is meant to be a boilerplate for the baseline look of the sky during the day. However if you'd like to comment on how the sky may change during things like sunset, or with effects like volcanism, I'm game!

    Also, I'm more interested in relative color, than getting absolute color 100% right. The image was built in a vector program in RGB mode, so assuming your screen is calibrated in the standard way, we are probably seeing almost the same thing.

    Here are the key ideas I've gleamed from my reading that I'm using to build this. I consider most of them tentatively held, and am very open to input:

    • Earth-like atmospheres would tend to be light to dark blue at the zenith, due to the scattering of low-wavelength blue light. If the planet's sun was very hot, the sky would look a deeper blue, while cooler stars would give the sky a lighter blue to almost white look. When the sun gets to 3000k and below, the sky starts to take on an orange/brown tinge.
      Like on earth, the horizon is the lightest in color and the zenith the deepest.

    • Denser atmospheres would appear brighter (more washed out) and the primary color in the spectrum more "pure" (I'm unsure what the term "pure" means exactly when it comes to optical perception...would it look whiter?). Likewise, thinner atmospheres would be less bright than earth's and the colors more "pure."

    • With increasing pressure the sky color at the zenith becomes increasingly yellow. In my image this means that an earth-like sky at 10x earth pressure would appear blueish/green near the zenith.

    • At lower temperatures I'm assuming the sun would appear tinged by the color listed under "star temperature." Otherwise you'll probably only see the star's color when it's near the horizon.

    • I'm assuming when you get down into K and M class suns, the surroundings on the planet would take on a progressively redder tinge due to the decreasing prevalence of blue wavelength light.

    • I suspect the gradient of color from horizon to zenith will be steeper/gentler in some atmospheres. I've guessed that the gradient would be more apparent on a high G world (on the right).


    Reference #1: http://homepages.wmich.edu/~korista/...ren_Fraser.pdf
    Referene #2: http://www.orionsarm.com/page/321

  2. #2
    Join Date
    Jun 2003
    Posts
    8,463
    I co-wrote the Orion's Arm page, and mostly based it on the Bohren and Fraser paper- so it is probably best to refer to the Bohren/Fraser paper as a primary source rather than my page (I tried my best, but I'm not an atmospheric scientist).
    I assume you've read the article by Robert Freitas? It does address the question of star colour as well.
    http://www.xenology.info/Xeno/5.4.2.htm
    Last edited by eburacum45; 2017-Dec-19 at 02:59 PM.

  3. #3
    Join Date
    Jun 2003
    Posts
    8,463
    I'm not sure that a terrestrial planet with a dense atmosphere need have a high gravity. Both Venus and Titan are less massive than Earth, but they have denser atmospheres than our world. The density of a planet's atmosphere might be dependent on many things, such as the fraction of volatiles left on the surface and in the crust after the planet's formation, and its bombardment history. I could imagine an Earth-like planet with an atmosphere of at least 10 bars, assuming that the planet suffered few major impacts after the formation of its crust and hydrosphere.
    Last edited by eburacum45; 2017-Dec-19 at 03:12 PM.

  4. #4
    Join Date
    Dec 2017
    Posts
    3
    Absolutely agree.
    Last edited by bandit; 2017-Dec-21 at 03:54 AM.

  5. #5
    Join Date
    Dec 2017
    Posts
    3
    Great page! Thanks for writing it. I've reviewed both http://www.xenology.info/Xeno/5.4.2.htm and http://homepages.wmich.edu/~korista/...ren_Fraser.pdf. Using the information in these papers I've revised and expanded my chart. I'd love for you to take a look and see if you concur.

    Improved chart:
    sky-color-2.png

  6. #6
    Join Date
    Jun 2003
    Posts
    8,463
    Thanks! I'm not an expert by any means, just a worldbuilder trying to get things right. This is a lovely chart, and I would think it is mostly correct. But something you have said has made me think. An Earth-like planet with high gravity might be expected to have a dense atmosphere, and this would cause the effects shown in the appropriate sector of your chart. But a planet with much lower gravity might also retain a dense atmosphere, since the atmosphere seems to be affected by the formation history of the planet and the temperature changes it has experienced.

    But with a lower gravity the atmosphere would be much taller, and this could cause a lot more scattering (and probably an even paler sky).
    Last edited by eburacum45; 2017-Dec-25 at 12:04 PM.

  7. #7
    Join Date
    Nov 2001
    Posts
    711
    There is a problem with the OP's picture. I've seen a simulation of Rayleigh scattering where at 10 bars of pressure, the atmosphere becomes yellow. That is a rather paradoxical result, but that is supported by the color that the horizon looks like -- nearly white. That is because looking toward the horizon involves looking through so much atmosphere that its scattering is balanced by its extinction (absorption + scattering combined). In other words, it has a high "optical depth" or (distance) / (extinction distance). High meaning >> 1.

    I have attempted to do radiative-transfer calculations, but the most success that I have had is with isotropic, unpolarized absorption and scattering. But that should be sufficient to give the typical behavior. I will measure optical depth in the vertical direction. For low optical depth, << 1, the atmosphere's brightness is approximately proportional to the optical depth. It peaks at about 1 or 2, then exponentially declines. This decline is slower than the extinction of the incoming light, and that is why clouds seem luminous even when one cannot see the Sun through them.

    So for a thick atmosphere, its blue optical depth may be greater than 1, while its yellow optical depth may be near 1, so that would make it yellowish.


    For different colors of stars, one simply superimposes the stars' spectra on atmosphere-scattering results.

  8. #8
    Join Date
    Jul 2005
    Posts
    16,015
    I think you'd need more than ten bars to produce the yellowing effect. The horizon air mass is about 40 - that is, forty times what you see looking straight up. So at 10 bars we should still have blue sky overhead, but a considerable depth of white above the horizon. Once the white closes overhead (somewhere close to 40 bars), we'd then start to see the sky colour decay from white through the various shades of sunset.

    Grant Hutchison

  9. #9
    Join Date
    Nov 2001
    Posts
    711
    I've done a *lot* of searching, and I can't find that page. I have also searched the professional literature, and I could not find anything on exoplanet sky color. So I have done my own calculations, and I find that with increasing thickness that the sky goes blue - cyan - white - yellow - orange - red. I also find that in the thin limit, for a M5 star, the sky is whitish and 1/3 the brightness as for the Sun and the same insolation (incoming light).

  10. #10
    Join Date
    Jun 2003
    Posts
    8,463

  11. #11
    Join Date
    Nov 2001
    Posts
    711
    The article by Bohren and Fraser states a lot of results, but it does not say much about how those results were obtained. I have tried to fill in that gap with radiative-transfer calculations. I can post my source code for anyone who is interested.

  12. #12
    Join Date
    Jun 2003
    Posts
    8,463

  13. #13
    Join Date
    Nov 2001
    Posts
    711
    Here is my isotropic-scattering code. I've done it in Mathematica, and I hope that it is not too difficult to read.
    Code:
    Illuminated Slab
    
    Isotropic Scattering
    
    Optical depth: tau
    Angle cosine: mu
    
    Thickness: tau0
    Illumination Angle cosine: mu0
    Scattering fraction: p
    Source intensity: I0 -- normalized to 1
    
    mu*D(I,tau) = - I + p*<I> + p*I0*exp(-tau/mu0)
    
    I = p*(<I> + I0*exp(-tau/mu0)) / (1-mu/mu0)
    <I> = I0*exp(-tau/mu0) * (p*mu0*arctanh(mu0)) / (1 - p*mu0*arctanh(mu0))
    I = p*I0*exp(-tau/mu0) / (1-mu/mu0)  / (1 - p*mu0*arctanh(mu0))
    
    Schwarzschild-Milne equation:
    J = <I>
    J(tau) = (p/2) * integral of (J(tau') + I0*exp(-tau'/mu0)) * E1(|tau - tau'|) for tau' from 0 to tau0
    
    mu*D(I,tau) + I = S
    I(mu,tau) = integral of S(tau') * exp(-mu*(tau-tau'))/mu over tau'
    = integral of S(tau') * exp(-mu*(tau-tau'))/mu over tau' from 0 to tau for mu > 0
    = integral of S(tau') * exp(+mu(tau'-tau))/(-mu) over tau' from tau to tau0 for mu < 0
    
    En(x) = integral of exp(-x*y)/y^n for y from 1 to infinity
    
    Using both trapezoidal and midpoint rules
    
    Ref:
    http://www.people.fas.harvard.edu/~sfinch/csolve/sac.pdf
    
    Uses associations, a recently-introduced feature in Mathematica for handling structured data
    (* Total number of points.
    
    nsdv = number of intervals *)
    totnum[nsdv_, "tpzd"] := nsdv + 1
    totnum[nsdv_, "mdpt"] := nsdv
    (* Exponential-integral matrices.
    
    odmax = maximum optical depth
    nsdv = number of intervals *)
    eimat[odmax_, nsdv_, "tpzd"] := Module[{itvl, k, eival, k1, k2},
      itvl = N[odmax/(2*nsdv)];
      eival = -Differences[
         Table[ExpIntegralE[2, itvl*(k - 1)], {k, 2 nsdv + 1}]];
      (1/2) Table[
        Table[If[k2 == nsdv + 1, 0, eival[[2*Abs[k1 - k2 - 1/4] + 1/2]]] +
           If[k2 == 1, 0, eival[[2*Abs[k1 - k2 + 1/4] + 1/2]]], {k2, 
          nsdv + 1}], {k1, nsdv + 1}]
      ]
    eimat[odmax_, nsdv_, "mdpt"] := Module[{itvl, k, eival, k1, k2},
      itvl = N[odmax/(2*nsdv)];
      eival = -Differences[
         Table[ExpIntegralE[2, itvl*(k - 1)], {k, 2 nsdv + 1}]];
      (1/2) Table[
        Table[eival[[2*Abs[k1 - k2 - 1/4] + 1/2]] + 
          eival[[2*Abs[k1 - k2 + 1/4] + 1/2]], {k2, nsdv}], {k1, nsdv}]
      ]
    (* Optical depths of points.
    
    odmax = maximum optical depth
    nsdv = number of intervals *)
    ods[odmax_, nsdv_, "tpzd"] := N[odmax/nsdv]*Range[0, nsdv]
    ods[odmax_, nsdv_, "mdpt"] := N[odmax/nsdv]*(Range[nsdv] + 1/2)
    (* Results. *)
    (* Precalculation function
    
    odmax = maximum optical depth
    refl = diffuse reflection (scattering)
    nsdv = number of intervals
    type = "tpzd" "mdpt"
    
    Returns: odmax, refl, nsdv, type
    ods = optical-depth values used
    slmat = slab matrix
    *)
    slabcalc[odmax_, refl_, nsdv_, type_] := 
     Module[{res = <||>, nvals, mat},
      res["odmax"] = odmax;
      res["refl"] = refl;
      res["nsdv"] = nsdv;
      res["type"] = type;
      res["ods"] = ods[odmax, nsdv, type];
      nvals = totnum[nsdv, type];
      mat = refl*eimat[odmax, nsdv, type];
      res["slmat"] = Inverse[IdentityMatrix[nvals] - mat].mat;
      res
      ]
    (* Total scattered intensity
    
    slpc = slab-precalculator association
    mu0 = cos(angle) of incoming light *)
    slabtotitn[slpc_, mu0_] := slpc["slmat"].Exp[-slpc["ods"]/mu0]
    (* What intensities coming out
    
    slpc = slab-precalculator association
    nmu = number of cos(angle) values, from 1/nmu to 1
    
    Lambert factor cos(incidence angle) divided out
    Reflectance also divided out
    *)
    slabitnexit[slpc_, nmu_] := 
     Module[{muvals, kmu, mu0, itentry, itexit, totitn},
      muvals = Table[N[kmu/nmu], {kmu, nmu}];
      itentry = Table[ Exp[-slpc["ods"]/mu0]/mu0, {mu0, muvals}];
      itexit = 
       Table[ Exp[-(slpc["odmax"] - slpc["ods"])/mu0]/mu0, {mu0, 
         muvals}];
      totitn = slpc["slmat"].Transpose[itentry];
      {muvals, {itentry.totitn, itexit.totitn}/slpc["refl"]}
      ]
    (* Display.
    
    slpc = slab-precalculator association
    mu0 = cos(incidence angle)
    nmu = number of angles, with cosine = 1/nmu to 1
    *)
    slabdisp[slpc_, mu0_] := Module[{},
      ListLogPlot[Transpose[{slpc["ods"], slabtotitn[slpc, mu0]}], 
       Joined -> True]
      ]
    slabmdsp[slpc_, nmu_] := Module[{kmu},
      ListLogPlot[
       Table[Transpose[{slpc["ods"], slabtotitn[slpc, kmu/nmu]}], {kmu, 
         nmu}], Joined -> True]
      ]
    dispsc = slabcalc[10, 0.95, 100, "mdpt"];
    slabdisp[dispsc, 1]
    slabmdsp[dispsc, 5]
    inoutsc = slabcalc[10, 0.95, 100, "mdpt"];
    sinvals = slabitnexit[inoutsc, 20];
    Dimensions /@ sinvals
    slab3d[svs_, i_] := Module[{muvals, hfunc, m1, m2, m12},
      muvals = svs[[1]];
      hfunc = svs[[2, i]];
      m12 = Transpose[
        Flatten[Table[{m1, m2}, {m1, muvals}, {m2, muvals}], 1]];
      ListPlot3D[Transpose[Append[m12, Flatten[hfunc, 1]]], 
       AxesLabel -> {"in", "out", "inten"}]
      ]
    slab3d[sinvals, 1]
    slab3d[sinvals, 2]
    Last edited by lpetrich; 2018-Mar-14 at 09:58 AM.

  14. #14
    Join Date
    Nov 2001
    Posts
    711
    Here is my sky-color code, also in Mathematica:
    Code:
    What is the color of the sky?
    
    What does Rayleigh scattering look like at high optical depths? What would it look like with different colors of starlight?
    
    Find the wavelength ranges for human vision
    Color vision - Wikipedia https://en.wikipedia.org/wiki/Color_vision
    Has range and peak size for small / beta, medium / gamma, and long / rho cones.
    Min range, min peak, max peak, max range.
    
    For digital cameras, I got numbers for red, green, and blue peaks from several Google Images pictures, and I averaged them.
    
    Will use wavenumbers rather than wavelengths so as to be frequency-like.
    
    Find blackbody curves for different temperatures, normalize to equal for the Sun's temperature.
    (* Human-vision ranges in nanometers *)
    humvis = {{400, 420, 440, 500}, {450, 534, 555, 630}, {500, 564, 580, 
         700}} // N;
    (* Digital cameras *)
    digcams = {{610, 540, 460}, {640, 530, 450}, {600, 540, 460}, {600, 
         540, 450}, {600, 530, 460}, {620, 540, 470}, {610, 540, 
         460}, {600, 525, 450}, {590, 520, 450}, {630, 550, 470}} // N;
    dgcmavg = Mean[digcams]
    -Differences[dgcmavg]
    dgcmwvno = 1000/dgcmavg
    Differences[dgcmwvno]
    (* Digital-camera results simplified *)
    dgcm = {1.6, 1.9, 2.2}; dgcmwd = 0.3;
    (* Integration over digital-camera responses -- luminosity function \
    takes wvno with 1 inv micron = 1, and returns red, green, and blue \
    channel values *)
    dcint[lum_] := Module[{dcpk, x},
      Table[NIntegrate[(1 - x)*(lum[dcpk - dgcmwd*x] + 
           lum[dcpk + dgcmwd*x]), {x, 0, 1}], {dcpk, dgcm}]
      ]
    (* Numerical factor: 1000 K \[Rule] how many inverse microns *)
    tempwvno = (1.38064852*10^(-23) * 1000)/(6.62607004*10^(-34) * 
          299792458.) * 10^(-6);
    (* Black-body spectrum -- use as approximation for star spectrum *)
    bbspec[wn_, temp_] := wn^3/(Exp[wn/(tempwvno*temp)] - 1)
    (* The Sun *)
    suntemp = 5770.;
    sunrgb = dcint[bbspec[#, suntemp/1000] &]
    normmax[xlst_] := xlst/Max[xlst]
    RGBColor @@ normmax[sunrgb]
    (* Stars: main sequence *)
    starmainseq = {{"O6", 38000.}, {"B0", 30000.}, {"B5", 16400.}, {"A0", 
        10800.}, {"A5", 8620.}, {"F0", 7240.}, {"F5", 6540.}, {"G0", 
        5920.}, {"G5", 5610}, {"K0", 5240.}, {"K5", 4410.}, {"M0", 
        3920.}, {"M5", 3120.}, {"M8", 2660}};
    maxcn[clr_] := {Max[clr], RGBColor @@ normmax[clr]}
    clrovly[temp_, ovly_] := 
     maxcn[dcint[ovly[#]*bbspec[#, temp/1000] &]/sunrgb]
    clrovcmpr[temp_, ovly_] := Module[{itn1, clr1, itn2, clr2},
      {itn1, clr1} = clrovly[temp, 1 &];
      {itn2, clr2} = clrovly[temp, ovly];
      {clr1, itn2/itn1, clr2}
      ]
    clrovcmprx[temp_, ovly1_, ovly2_] := 
     Module[{itn1, clr1, itn2, clr2, itn3, clr3},
      {itn1, clr1} = clrovly[temp, 1 &];
      {itn2, clr2} = clrovly[temp, ovly1];
      {itn3, clr3} = clrovly[temp, ovly2];
      {clr1, itn2/itn1, clr2, itn3/itn1, clr3}
      ]
    smcolor[sm_] := Join[sm, clrovcmpr[sm[[2]], #^4 &]]
    tbllbls = {"Sp", "Temp", "Star", "SkyBrt", "Sky"};
    TableForm[smcolor /@ starmainseq, TableHeadings -> {None, tbllbls}]
    attn[opdp_] := Exp[-opdp]
    atsc[opdp_, abs_] := (1 - Exp[-opdp])*Exp[-abs*opdp]
    smclat[sm_, thk_, abs_] := 
     Join[sm, clrovcmpr[sm[[2]], atsc[thk*#^4, abs] &]]
    smclatx[sm_, thk_, abs_] := 
     Join[sm, clrovcmprx[sm[[2]], attn[thk*#^4] &, atsc[thk*#^4, abs] &]]
    tbllblsx = {"Sp", "Temp", "Star", "StarSurf", "StSf", "SkyBrt", 
       "Sky"};
    TableForm[smclatx[#, 0.01, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]
    TableForm[smclatx[#, 0.03, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]
    TableForm[smclatx[#, 0.1, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]
    TableForm[smclatx[#, 0.3, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]
    TableForm[smclatx[#, 1, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]

  15. #15
    Join Date
    Jun 2003
    Posts
    8,463
    Very interesting; thanks!
    I don't have Mathematica, but it looks like you could produce RGB values for a range of stars, atmospheric densities and angle from the horizon. Is that the case? Could we have a few sample values, to check bandit's original chart?

  16. #16
    Join Date
    Nov 2001
    Posts
    711
    Here are the numbers in my notebook's output. Colors are {red,green,blue} with 1 the maximum color-channel value. Lists in general are delimited by { and }, and text strings are in " ".

    This is for the thin limit:
    Code:
    tbllbls = {"Sp", "Temp", "Star", "SkyBrt", "Sky"};
    TableForm[smcolor /@ starmainseq, TableHeadings -> {None, tbllbls}]
    
    {{"O6", 38000., {0.348718, 0.584577, 1.}, 
      24.3077, {0.101049, 0.329628, 1.}}, {"B0", 
      30000., {0.362243, 0.595998, 1.}, 
      24.2651, {0.104921, 0.336003, 1.}}, {"B5", 
      16400., {0.427792, 0.648832, 1.}, 
      24.0777, {0.123676, 0.365491, 1.}}, {"A0", 
      10800., {0.531578, 0.725106, 1.}, 
      23.833, {0.153317, 0.408027, 1.}}, {"A5", 
      8620., {0.633032, 0.79276, 1.}, 
      23.6381, {0.182211, 0.445693, 1.}}, {"F0", 
      7240., {0.752253, 0.865564, 1.}, 
      23.4478, {0.216068, 0.486157, 1.}}, {"F5", 
      6540., {0.846794, 0.919199, 1.}, 
      23.3186, {0.242848, 0.515924, 1.}}, {"G0", 
      5920., {0.964616, 0.981933, 1.}, 
      23.1776, {0.276149, 0.550696, 1.}}, {"G5", 
      5610, {1., 0.980096, 0.960133}, 
      22.1744, {0.297844, 0.572214, 1.}}, {"K0", 
      5240., {1., 0.930875, 0.865161}, 
      19.8849, {0.330044, 0.602733, 1.}}, {"K5", 
      4410., {1., 0.802022, 0.640635}, 
      14.5217, {0.443697, 0.699898, 1.}}, {"M0", 
      3920., {1., 0.712111, 0.504338}, 
      11.3075, {0.561473, 0.788071, 1.}}, {"M5", 
      3120., {1., 0.54008, 0.289463}, 
      6.56396, {0.934503, 1., 0.964088}}, {"M8", 
      2660, {1., 0.426845, 0.180574}, 5.9576, {1., 0.849655, 0.648788}}}
    These are for various atmosphere thicknesses:
    Code:
    tbllblsx = {"Sp", "Temp", "Star", "StarSurf", "StSf", "SkyBrt", 
       "Sky"};
    TableForm[smclatx[#, 0.01, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]
    
    {{"O6", 38000., {0.348718, 0.584577, 1.}, 
      0.785314, {0.413937, 0.649424, 1.}, 
      0.209319, {0.112114, 0.351141, 1.}}, {"B0", 
      30000., {0.362243, 0.595998, 1.}, 
      0.785647, {0.429876, 0.662009, 1.}, 
      0.209003, {0.116391, 0.3579, 1.}}, {"B5", 
      16400., {0.427792, 0.648832, 1.}, 
      0.787112, {0.507058, 0.720188, 1.}, 
      0.207613, {0.137103, 0.389155, 1.}}, {"A0", 
      10800., {0.531578, 0.725106, 1.}, 
      0.789028, {0.629091, 0.804112, 1.}, 
      0.205795, {0.169809, 0.434216, 1.}}, {"A5", 
      8620., {0.633032, 0.79276, 1.}, 0.790556, {0.748229, 0.878502, 1.}, 
      0.204344, {0.201667, 0.474104, 1.}}, {"F0", 
      7240., {0.752253, 0.865564, 1.}, 0.792051, {0.888078, 0.958509, 1.},
       0.202925, {0.238971, 0.516939, 1.}}, {"F5", 
      6540., {0.846794, 0.919199, 1.}, 0.806887, {0.981772, 1., 0.982872},
       0.201959, {0.268463, 0.548441, 1.}}, {"G0", 
      5920., {0.964616, 0.981933, 1.}, 0.902872, {1., 0.955532, 0.879612},
       0.200905, {0.305119, 0.585233, 1.}}, {"G5", 
      5610, {1., 0.980096, 0.960133}, 0.936277, {1., 0.920196, 0.815078}, 
      0.192303, {0.328992, 0.607995, 1.}}, {"K0", 
      5240., {1., 0.930875, 0.865161}, 0.936666, {1., 0.874237, 0.734959},
       0.172561, {0.364411, 0.640275, 1.}}, {"K5", 
      4410., {1., 0.802022, 0.640635}, 0.937782, {1., 0.753843, 0.545281},
       0.126257, {0.489336, 0.743006, 1.}}, {"M0", 
      3920., {1., 0.712111, 0.504338}, 0.938664, {1., 0.669761, 0.429919},
       0.0984568, {0.618671, 0.836182, 1.}}, {"M5", 
      3120., {1., 0.54008, 0.289463}, 0.940673, {1., 0.508691, 0.247587}, 
      0.0607781, {0.969607, 1., 0.909669}}, {"M8", 
      2660, {1., 0.426845, 0.180574}, 0.942325, {1., 0.402507, 0.154877}, 
      0.0573003, {1., 0.819487, 0.590994}}}
    
    TableForm[smclatx[#, 0.03, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]
    
    {{"O6", 38000., {0.348718, 0.584577, 1.}, 
      0.488346, {0.57918, 0.797678, 1.}, 
      0.474607, {0.135679, 0.393576, 1.}}, {"B0", 
      30000., {0.362243, 0.595998, 1.}, 0.48896, {0.601167, 0.812887, 1.},
       0.474098, {0.140819, 0.401094, 1.}}, {"B5", 
      16400., {0.427792, 0.648832, 1.}, 
      0.491666, {0.707457, 0.883122, 1.}, 
      0.471851, {0.165686, 0.43584, 1.}}, {"A0", 
      10800., {0.531578, 0.725106, 1.}, 
      0.495213, {0.875056, 0.984282, 1.}, 
      0.4689, {0.204897, 0.485894, 1.}}, {"A5", 
      8620., {0.633032, 0.79276, 1.}, 0.534828, {0.966884, 1., 0.931239}, 
      0.466535, {0.243043, 0.530172, 1.}}, {"F0", 
      7240., {0.752253, 0.865564, 1.}, 0.615768, {1., 0.951673, 0.813354},
       0.464211, {0.287662, 0.577698, 1.}}, {"F5", 
      6540., {0.846794, 0.919199, 1.}, 0.694132, {1., 0.89871, 0.724264}, 
      0.462627, {0.322906, 0.612636, 1.}}, {"G0", 
      5920., {0.964616, 0.981933, 1.}, 0.791938, {1., 0.8437, 0.637437}, 
      0.460891, {0.366677, 0.653425, 1.}}, {"G5", 
      5610, {1., 0.980096, 0.960133}, 0.821736, {1., 0.81284, 0.591253}, 
      0.44154, {0.395167, 0.678653, 1.}}, {"K0", 
      5240., {1., 0.930875, 0.865161}, 0.822751, {1., 0.772679, 0.533841},
       0.396673, {0.437414, 0.71442, 1.}}, {"K5", 
      4410., {1., 0.802022, 0.640635}, 0.825672, {1., 0.667334, 0.397548},
       0.291204, {0.586234, 0.828178, 1.}}, {"M0", 
      3920., {1., 0.712111, 0.504338}, 0.827983, {1., 0.593635, 0.314347},
       0.227683, {0.740065, 0.931275, 1.}}, {"M5", 
      3120., {1., 0.54008, 0.289463}, 0.833258, {1., 0.452123, 0.182202}, 
      0.163443, {1., 0.961718, 0.786965}}, {"M8", 
      2660, {1., 0.426845, 0.180574}, 0.837611, {1., 0.358551, 0.114573}, 
      0.159266, {1., 0.765142, 0.497124}}}
    
    TableForm[smclatx[#, 0.1, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]
    
    {{"O6", 38000., {0.348718, 0.584577, 1.}, 
      0.176077, {1., 0.892427, 0.570418}, 
      0.704421, {0.227499, 0.527231, 1.}}, {"B0", 
      30000., {0.362243, 0.595998, 1.}, 
      0.183183, {1., 0.876801, 0.550464}, 
      0.704405, {0.236, 0.537181, 1.}}, {"B5", 
      16400., {0.427792, 0.648832, 1.}, 
      0.217745, {1., 0.811981, 0.471194}, 
      0.70432, {0.277057, 0.58313, 1.}}, {"A0", 
      10800., {0.531578, 0.725106, 1.}, 
      0.272858, {1., 0.734649, 0.384582}, 
      0.704181, {0.341618, 0.649239, 1.}}, {"A5", 
      8620., {0.633032, 0.79276, 1.}, 0.327134, {1., 0.677681, 0.326553}, 
      0.704045, {0.404272, 0.707666, 1.}}, {"F0", 
      7240., {0.752253, 0.865564, 1.}, 0.39134, {1., 0.625531, 0.277756}, 
      0.70389, {0.477411, 0.770336, 1.}}, {"F5", 
      6540., {0.846794, 0.919199, 1.}, 0.442537, {1., 0.591968, 0.248525},
       0.703772, {0.535089, 0.816381, 1.}}, {"G0", 
      5920., {0.964616, 0.981933, 1.}, 0.506645, {1., 0.557007, 0.21987}, 
      0.703632, {0.606624, 0.870113, 1.}}, {"G5", 
      5610, {1., 0.980096, 0.960133}, 0.52678, {1., 0.537348, 0.204554}, 
      0.675496, {0.653132, 0.903333, 1.}}, {"K0", 
      5240., {1., 0.930875, 0.865161}, 0.528888, {1., 0.511712, 0.185436},
       0.608571, {0.722029, 0.950415, 1.}}, {"K5", 
      4410., {1., 0.802022, 0.640635}, 0.534979, {1., 0.444174, 0.139661},
       0.495437, {0.876496, 1., 0.909059}}, {"M0", 
      3920., {1., 0.712111, 0.504338}, 0.539824, {1., 0.396654, 0.111394},
       0.437837, {0.982413, 1., 0.809395}}, {"M5", 
      3120., {1., 0.54008, 0.289463}, 0.550972, {1., 0.304707, 0.0658156},
       0.420642, {1., 0.780776, 0.482888}}, {"M8", 
      2660, {1., 0.426845, 0.180574}, 0.560262, {1., 0.243319, 0.0420263},
       0.412694, {1., 0.623043, 0.306632}}}
    
    TableForm[smclatx[#, 0.3, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]
    
    {{"O6", 38000., {0.348718, 0.584577, 1.}, 
      0.0503149, {1., 0.301501, 0.03732}, 
      0.48726, {0.493906, 0.776937, 1.}}, {"B0", 
      30000., {0.362243, 0.595998, 1.}, 
      0.0524861, {1., 0.296654, 0.0361194}, 
      0.487862, {0.512298, 0.791618, 1.}}, {"B5", 
      16400., {0.427792, 0.648832, 1.}, 
      0.0631133, {1., 0.276486, 0.0313164}, 
      0.490518, {0.601042, 0.859386, 1.}}, {"A0", 
      10800., {0.531578, 0.725106, 1.}, 
      0.0802692, {1., 0.252231, 0.0259847}, 
      0.493998, {0.74046, 0.956893, 1.}}, {"A5", 
      8620., {0.633032, 0.79276, 1.}, 
      0.0973799, {1., 0.234186, 0.0223478}, 
      0.518204, {0.839504, 1., 0.958661}}, {"F0", 
      7240., {0.752253, 0.865564, 1.}, 
      0.117854, {1., 0.217515, 0.0192407}, 
      0.567283, {0.910084, 1., 0.880531}}, {"F5", 
      6540., {0.846794, 0.919199, 1.}, 
      0.134334, {1., 0.206704, 0.0173551}, 
      0.603509, {0.962051, 1., 0.830754}}, {"G0", 
      5920., {0.964616, 0.981933, 1.}, 0.155138, {1., 0.19537, 0.0154868},
       0.66068, {1., 0.977702, 0.761941}}, {"G5", 
      5610, {1., 0.980096, 0.960133}, 0.162129, {1., 0.188963, 0.0144796},
       0.68447, {1., 0.943021, 0.707807}}, {"K0", 
      5240., {1., 0.930875, 0.865161}, 
      0.163906, {1., 0.180571, 0.0132131}, 
      0.683855, {1., 0.897834, 0.640403}}, {"K5", 
      4410., {1., 0.802022, 0.640635}, 
      0.169094, {1., 0.158254, 0.0101345}, 
      0.682006, {1., 0.778994, 0.479806}}, {"M0", 
      3920., {1., 0.712111, 0.504338}, 
      0.173279, {1., 0.142361, 0.00819524}, 
      0.680462, {1., 0.695544, 0.381258}}, {"M5", 
      3120., {1., 0.54008, 0.289463}, 
      0.183108, {1., 0.111116, 0.00498847}, 
      0.676659, {1., 0.534404, 0.223563}}, {"M8", 
      2660, {1., 0.426845, 0.180574}, 
      0.191513, {1., 0.0898484, 0.00326046}, 
      0.673221, {1., 0.42701, 0.141993}}}
    
    TableForm[smclatx[#, 1, 0.1] & /@ starmainseq, 
     TableHeadings -> {None, tbllblsx}]
    
    {{"O6", 38000., {0.348718, 0.584577, 1.}, 
      0.00140756, {1., 0.0154412, 0.0000165115}, 
      0.175175, {1., 0.896968, 0.573354}}, {"B0", 
      30000., {0.362243, 0.595998, 1.}, 
      0.00147713, {1., 0.0152061, 0.000015988}, 
      0.182236, {1., 0.881304, 0.553325}}, {"B5", 
      16400., {0.427792, 0.648832, 1.}, 
      0.00182237, {1., 0.0142278, 0.0000138962}, 
      0.216574, {1., 0.81632, 0.473742}}, {"A0", 
      10800., {0.531578, 0.725106, 1.}, 
      0.00239471, {1., 0.0130461, 0.0000115689}, 
      0.271315, {1., 0.738778, 0.38677}}, {"A5", 
      8620., {0.633032, 0.79276, 1.}, 
      0.00298137, {1., 0.0121603, 9.97353*10^-6}, 
      0.325208, {1., 0.681645, 0.328486}}, {"F0", 
      7240., {0.752253, 0.865564, 1.}, 
      0.00370077, {1., 0.0113357, 8.60393*10^-6}, 
      0.388944, {1., 0.629337, 0.279467}}, {"F5", 
      6540., {0.846794, 0.919199, 1.}, 
      0.00429168, {1., 0.0107975, 7.76951*10^-6}, 
      0.439754, {1., 0.595668, 0.250098}}, {"G0", 
      5920., {0.964616, 0.981933, 1.}, 
      0.00505069, {1., 0.0102304, 6.94034*10^-6}, 
      0.503364, {1., 0.560592, 0.221303}}, {"G5", 
      5610, {1., 0.980096, 0.960133}, 
      0.00533687, {1., 0.00990845, 6.49232*10^-6}, 
      0.52331, {1., 0.540867, 0.20591}}, {"K0", 
      5240., {1., 0.930875, 0.865161}, 
      0.00547635, {1., 0.00948533, 5.92808*10^-6}, 
      0.525323, {1., 0.515141, 0.186695}}, {"K5", 
      4410., {1., 0.802022, 0.640635}, 
      0.00589425, {1., 0.00835226, 4.55237*10^-6}, 
      0.531127, {1., 0.447354, 0.140674}}, {"M0", 
      3920., {1., 0.712111, 0.504338}, 
      0.00624277, {1., 0.00753872, 3.68331*10^-6}, 
      0.535732, {1., 0.399644, 0.112244}}, {"M5", 
      3120., {1., 0.54008, 0.289463}, 
      0.00710135, {1., 0.00592449, 2.24321*10^-6}, 
      0.546287, {1., 0.307286, 0.06638}}, {"M8", 
      2660, {1., 0.426845, 0.180574}, 
      0.00788018, {1., 0.00481495, 1.46638*10^-6}, 
      0.555036, {1., 0.245579, 0.042422}}}

  17. #17
    Join Date
    Jun 2003
    Posts
    8,463
    Thanks- that's really good work! I'll put a graphic together in a day or two, if no-one beats me to it.

  18. #18
    Join Date
    Jun 2003
    Posts
    8,463
    This will take a little longer than I expected. Interestingly, the sky under a cool red dwarf looks pale yellow, even at the thin limit.
    What does "StarSurf", "StSf" mean in the second table?

  19. #19
    Join Date
    Jun 2003
    Posts
    8,463
    This will take a little longer than I expected. Interestingly, the sky under a cool red dwarf looks pale yellow, even at the thin limit.
    What does "StarSurf", "StSf" mean in the second table?

  20. #20
    Join Date
    Nov 2001
    Posts
    711
    Quote Originally Posted by eburacum45 View Post
    This will take a little longer than I expected. Interestingly, the sky under a cool red dwarf looks pale yellow, even at the thin limit.
    What does "StarSurf", "StSf" mean in the second table?
    Star at the planet's surface -- its overall brightness (no extinction = 1) and its color.

    All calculations with done for the star at the local zenith.

  21. #21
    Join Date
    Jun 2003
    Posts
    8,463
    To save time my daughter has used her copy of Mathematica to output the results in colour. The colours are much redder than I expected for observers in a thick atmosphere.

    What are the atmospheric densities you plugged into this table?
    Attached Images Attached Images

  22. #22
    Join Date
    Nov 2001
    Posts
    711
    I did it as optical depth of atmosphere: {0.01, 0.03, 0.1, 0.3, 1} * (wavenumber / (1 inverse micron))4 Wavenumber = 1 / wavelength.

    For wavelengths 700, 600, 500, and 400 nm, I get these optical depths:
    0.01: 0.04, 0.08, 0.16, 0.39
    0.03: 0.12, 0.23, 0.48, 1.17
    0.1: 0.42, 0.77, 1.6, 3.9
    0.3: 1.2, 2.3, 4.8, 12
    1: 4.2, 7.7, 16, 39

    I assumed that absorption was only around 1% of the scattering, making a falloff in the scattered light of only 0.1 times the rate of the scattering. That's what makes the star look red and the sky look much less red for thick atmospheres. Most of the light that one sees is from multiple scatterings in the atmosphere. It's like a cloudy day -- directly arriving sunlight gets scattered out, but gets rescattered enough to be visible.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •