Posts for the month of July 2019

Coupled EBM Project Update 7/29

Overview of Current Model

Change in Population

To model rise in population, we begin with a basic logistic growth equation, which models rise in any population with a carrying capacity, by having exponential rise slow as the population size approaches its maximum.



http://www.pas.rochester.edu/~esavitch/plots/relRate.png

  • = relative growth rate
    • T = temperature
    • E = technological efficiency (ie: measurement of how much technology a civilization has)
  • = current population
  • = maximum population
  • = global temperature resulting in maximum growth rates
  • = initial growth rate
  • = initial death rate
    • assuming a 70 year avg lifespan
  • = width of gaussian (or exponential ramping distance)

Change in Temperature

In order to model rise in temperature, we use an energy balance model, which balances the incoming solar radiation with the outgoing longwave radiation, in order to give an approximate planetary temperature.



  • S(1-a) = amount of solar flux being absorbed by the planet
    • S = diurnally averaged solar flux
    • a = albedo of the planet (1 for perfect reflector)
  • IR = outgoing infrared flux, modeled with a higher-order polynomial parameterization of outgoing longwave radiation
  • C = effective heat capacity of surface and atmosphere =
  • D = diffusive parameter describing efficiency of energy transport =
  • L = latitude (18 bands total)

Change in CO2

We model changes in CO2 using a constant, annual, per-capita CO2 increase, assuming constant technology (ie: constant E). We can eventually progress this model by having E progress with time, as it would for any realistic technological civilization. If I were to leave the model here, we would inevitable end up with extinction. Thus, the extra term that is subtracted represents the constant reduction of CO2 by trees

  • = annual average pco2 contributions from 1 million people
  • = constant reduction of CO2 by trees

Results (E=1)

E acts to quantify a civilizations technological capacities, and affects our model in two ways. Higher E results in…

  1. a higher peak growth rate
    • the more technology you have, the lower your infantile death rates becomes, which raises the relative growth rate
  2. higher per capita CO2 contributions
    • the more technologically advanced a civilization, the more evenly distributed the technology becomes. (ex: cars were invented in the late 1700's, yet weren't commonplace until the 1900's)

http://www.pas.rochester.edu/~esavitch/plots/unstableLimitCycle.png

Next Steps

  • Put a dTdt dependence on the death rate as a way to quantify acclimation
  • Put a time dependence on E as a way to quantify the technological advancements of energy-harvesting civilizations
  • Include more complete models for the environmental impacts of various resources, so that given a set of planetary/climate parameters, we could calculate climate sensitivity for the use of various resources
  • Put more accurate temperature dependence onto the relative growth rate

Update 7/22

Charge Exchange

A few more frames. So far, charge exchange is occurring, presumably creating a hot neutral population which is then immediately ionized (on the next line transfer step [not subcycle], by both photoionization and possibly ionization by "reverse" charge exchange). This suggests that the amount of neutral stellar material should be alternating between zero and some small value every step, which means at some point a frame may be output with nonzero amounts of Hhot….

Charge exchange should be creating at most ~10-4 Hhot (in CN). The highest-rate locations are in the shadow of the planet. HIIcold reacts with Hhot, and we have large amounts (~10-2-100) of HIIcold. This reverse charge exchange is already taken into account in the rate calculation, but if it's oscillating we may not have seen the opposite side of the step yet.

All this to say I'm not yet sure where the Hhot is going, and I haven't figured out the appropriate diagnostics to look at to make sure everything is happening as it should be, even if it's not quite the expected result (everything being zero when Hhot is zero, and not having seen a frame with nonzero Hhot yet).

Here are some figures for the latest frame:

rho, 1-X, T

http://www.pas.rochester.edu/~adebrech/ChargeExchange/HD209458b_charge_exchange_20003.png

Proportion of species

Clockwise from top left: Ionized cold, ionized hot, neutral hot, neutral cold

http://www.pas.rochester.edu/~adebrech/ChargeExchange/HD209458b_charge_exchange_species_prop_20003.png

Amount of species

http://www.pas.rochester.edu/~adebrech/ChargeExchange/HD209458b_charge_exchange_species_20003.png

"Charge exchange potential"

min(Hcold, HIIhot)/max(Hcold,HIIhot) - so proportion of material that can undergo an exchange, disregarding the reverse interaction.

http://www.pas.rochester.edu/~adebrech/ChargeExchange/HD209458b_charge_exchange_pot_20003.png

Charge exchange rate (CU)

Multiply by dt to get delta Hhot

http://www.pas.rochester.edu/~adebrech/ChargeExchange/HD209458b_charge_exchange_rate_20003.png

AMR line transfer ==

Still hasn't started on BlueHive.

Non-rotating charge exchange

Still waiting on AMR line transfer.

Paper

Good discussion Thursday. Haven't had much chance to start making figures or new changes yet.

Coupled EBM Project Update 7/22

http://www.pas.rochester.edu/~esavitch/plots/popPlots/extremes.jpg
The above graph details what range of temperatures an unprotected human can survive in…

  • Minimum Temperature:
  • Maximum Temperature:

Coupling Population Growth Equation to EBM

Goal: Couple the logistic growth equation to the energy balence model (EBM) by putting a temperature dependence on the relative growth rate


  • = current population
  • = maximum population
  • = relative growth rate
    • T = temperature
    • E = technological efficiency (ie: measurement of how much technology a civilization has)

Method: the behavior we desire can be modelled by the difference of two gaussian functions, corresponding to the average birth rate and death rate of a civilization:

  • = global temperature resulting in maximum growth rates
  • = initial growth rate
  • = initial death rate
    • assuming a 70 year avg lifespan
  • = width of gaussian (or exponential ramping distance)

http://www.pas.rochester.edu/~esavitch/plots/popPlots/growthRates.PNG http://www.pas.rochester.edu/~esavitch/plots/popPlots/growthRatesE.PNG

Update 7/15

Charge Exchange

Working on stampede. Here's the first frame:

http://www.pas.rochester.edu/~adebrech/ChargeExchange/HD209458b_charge_exchange_species_20001.png

http://www.pas.rochester.edu/~adebrech/ChargeExchange/HD209458b_charge_exchange_20001.png

I believe the neutral planetary material top-left is from the higher density (higher recombination rate, possibly also from higher temperature) in the stellar-planetary wind shock. Note that no charge exchange has occurred yet (but there's little contact between neutral planetary and ionized stellar material so far).

Trying to make a VisIt expression for charge exchange potential, but the following gives a "cannot divide by zero" error:

if(gt(Hcold,1e-2), HIIhot/Hcold, 0)

Note that the division should never happen if there could be a zero in the denominator, so I'm not sure why VisIt is complaining here…

AMR line transfer

Fixed the missing condition on the displaced child mask update. Still waiting on newest test on BlueHive.

Non-rotating charge exchange timing tests

Have the steady states ready. Need to calculate the stellar winds - use original distance (vs. larger orbital distance e.g. O-type)?

Radiation Pressure Paper

Got referee response. Sent around preliminary thoughts, will try to start addressing them this week. To recap my email:

  • Collisional nature of the wind (not hard-body collisional but electrostatically collisional)
  • Clearer distinction between our focus on the cometary tail vs. the observed velocities
  • Discussing more thoroughly the absorption of momentum by ionized hydrogen

Coupled EBM Project Update 7/15

EBM (Energy Balance Model) = climate model that balances the incoming solar radiation with outgoing infrared radiation (IR) to approximate the temporal progression of planetary temperature

  • Simplifications (from Williams & Kasting (1997))
    • ebm averages heat capacity, surface albedo, and temperature over 10 deg wide latitudinal areas…
      • causes us to overestimate the amplitude of the seasonal cycle over the continents
      • also in doing this we ignore meridional land-sea temperature gradients which affect dynamic heat transport and weather
        • becomes more of an issue with higher obliquity, as these types of planets have very large latitudinal temperature gradient
    • ebm models latitudinal heat transport as diffusion, where in reality, wind patterns and energy transport are much more complicated

Initial IR calculation: linear relationship for outgoing IR, based off of North et al. 1981 (A+BT)

New IR calculation: higher-order polynomial parameterization of outgoing longwave radiation and planetary albedo, from Williams & Kasting (1997) paper, obtained from fits to Jim Kasting's radiative-convective model earthtem_ir

  • Benefits:
    • lets us specify atmospheric co2 levels with variable=pco2 (unit bar)
  • Limitations:
    • error is 4.56 W*m-2
    • this version of ir can be applied for…
      • 190 K < Temperatures < 370 K
      • .00001 bars < pco2 < 10 bars

Exploring the EBM

Goal: Use our Energy Balance Model (EBM) to approximate the width of the habitable zone of our solar system

Method

  • Assuming all other parameters of the Earth are held constant, we change the effective orbital distance (d) by altering the input corresponding to the relative solar constant
    • the solar constant (S) is normally a function of stellar Luminosity and orbital distance, but with Luminosity being constant, it reduces to an inverse square law:

  • The Habitable ("Goldilocks") Zone is defined to be any orbital distance that can result in liquid water:
    • Water Freezes: (blue dotted line)
    • Water Boils: (red dotted line)
  • I then run our uncoupled EBM, with default, deterministic, Earth-like inputs, for three years, and then plot the final global temperatures, discretized by latitude
    • black dotted line is the final globally averaged temperature

https://www.pas.rochester.edu/~esavitch/plots/d0.61.PNG https://www.pas.rochester.edu/~esavitch/plots/d1.PNG https://www.pas.rochester.edu/~esavitch/plots/d1.2.PNG
The table below summarizes the findings from the plots above…

Orbital Distance (AU) Relative Solar Constant (relsolcon) New Solar Constant (Wm-2) Final Globally Averaged Temperature (Kelvin)
.61 2.69 3,658.4 371.94 Too Hot (left plot)
1 1 1,360 287 Just Right (middle plot)
1.2 0.69 938.4 274.05 Too Cold (right plot)

Conclusion: This data lets us give an approximate width for our habitable zone of 0.59 AU
(Williams and Kastings (1997) estimated a width of our habitable zone of approximately 0.4 AU)

Next Steps

  1. Add complexity to the population logistic growth equation
  2. Then couple the updated EBM to the updated population model
  3. Explore Results!

Update 7/8

Charge Exchange

As usual, Stampede is continually frustrating (related: Jonathan, you mentioned a plan to migrate from gitlab.circ to git.circ—any ETA on that?). Still making progress, though.

AMR timing

Baseline test complete (single frame of HD209458b steady state). What we believe to be the most efficient version is queued on BlueHive. Here are the relevant stats from the baseline run:

Total Runtime 43101 s
Total AMR Time 40543 s
Relative Time Across All Levels: LineTransfer 56.10%
Relative Time Within MaxLevel: LineTransfer 61.06%
Relative Times of Each Level: 4 91.87%

Other tests

  • Charge exchange timing for non-rotating parameter space planets
  • AMR ray tracking

Misc

Posted my suggested progress through Toro on a blog post. Feel like there should be a better place to put this - perhaps an "Introduction for New Students"-type page would be useful?

Suggestions for Working Through Toro

  • Read Chs 1-3 on the Euler equations and solutions to hyperbolic equations in general. Some of this will likely be familiar.
  • Read Ch 4 and write the exact Euler solver described.
  • Read Ch 5 and write the Godunov upwind scheme, for the linear systems described.
  • Read Ch 6 and update the Godunov upwind scheme to use the exact Euler solver.
  • Skip 7&8
  • Read Ch 9 and write the approximate-state solvers (good place to find out if you're following good programming practices).
  • Read/skim Chs 10-12 and write at least the HLLC solver (which is the one used in AstroBEAR). Note that there have been some significant improvements to the HLLC chapter in the third edition. Write the rest if you're interested, though I wouldn't recommend the Osher solver (it's interesting mathematically, but doesn't seem to offer much over the other solvers).
  • Read Ch 16 and write a 2D/3D solver (test problem in Ch 17). Another place where you'll really notice if you've been following good practice.
  • For second-order solvers: Read Ch 14 (skim 13 for an introduction to the same concepts for scalar equations) and write the WAF and MUSCL schemes (esp. MUSCL-Hancock, used in AstroBEAR).

Note that the ends of the code-related chapters have example code. I'd strongly suggest looking at some modern Fortran style guides rather than following the old style given in these, not least because it's much easier to follow your own code if it's written with meaning.

Update 07/01

CEJet

From last week: 3 test runs planned

4 levels of AMR with 64 base grid resolution. Each run is planed for 10 days in simulation time, and takes about 2 days to complete on bluehive.

Run 45 - low ambient, small separation

Secondary starts right against the primary envelope: a0 = 49 R_sun.

Use lower ambient density and pressure profile: rho_amb = 1e-10 g/cc, p_amb = 1961 dyn/cm2 .

Movies and frames

density-edgeon-throughparticles

density-faceon-box

Run 46 - high ambient, small separation

Secondary starts right against the primary envelope: a0 = 49 R_sun.

Use ambient profile as the CE fiducial run (run 143): rho amb = 6.67e-9 g/cc, p_amb = 1e5 dyn/cm2

This and the first run will compare the effect of ambient material over the jet. Also a comparison with the CE fiducial run.

Movies and frames

density-edgeon-throughparticles

density-faceon-box

Temp-edgeon-throughparticles

Run 47 - low ambient, large separation

Start with the secondary farther out: a0 = 98 R_sun (meant to do 72.5 R_sun, but I messed up), and use lower ambient profile.

Movies and franes

density-edgeon-throughparticles_frame16

density-faceon-box

Issue: unstable primary, 2 tests without jet

Secondary starts right against the primary envelope: a0 = 49 R_sun. Use lower ambient density and pressure profile: rho_amb = 1e-10 g/cc, p_amb = 1961 dyn/cm2 .

test 1 - low ambient, small separation

no mass in the secondary (M2=0),

but the two particles are given the same initial velocity as the orbiting case.

Movies and frames

See the primary blows up in the opposite direction of its motion: density-faceon

test 2 - low ambient, small separation

with secondary (M2=0.978 Msun),

this is like Run 45 without the jet.

Movies and frames

Same effect observed in the orbiting case: density-faceon

a zoomed-in view: density-faceon-zoom

Meeting Update

Parameters

Define critical resistivity

Table of Runs

  • Resistivity = and (1/6 of critical)
  • Magnetic field direction = By, Bz, none
  • Planet absorption coefficient = -1, 1

https://www.pas.rochester.edu/~aanand/movies/b_rho_1e6-vn.gif

Update 7/1

Charge Exchange

Modified to track stellar and planetary ionization rates separately. I believe this is the most efficient solution to dividing the ionization and recombination properly among the species, since a single rate can't account for the difference in proportion between the recombination and ionization rates.

rates(i,j,k,iPlanetIoniz) = f*(1d0-emtau)/dx*(q(iHcold)/q(iH))
rates(i,j,k,iStellarIoniz) = f*(1d0-emtau)/dx*(q(iHhot)/q(iH))

rates(i,j,k,iPlanetIoniz) = rates(i,j,k,iPlanetIoniz) - RecombinationRate(T, ne*(1-ambFrac), q(iHIIcold)*(1-ambFrac))
rates(i,j,k,iStellarIoniz) = rates(i,j,k,iStellarIoniz) - RecombinationRate(T, ne*(1-ambFrac), q(iHIIhot)*(1-ambFrac))

Non-rotating timing on BlueHive

Need to get the data from Baowei. Then will do this after AMR tests are done.

AMR line transfer

The first timing test (projected-grid, for comparison) is queued. I'm using a single frame (220→221) of the steady state of HD209458b, no radiation pressure.

Tracking rays

Lowest testing priority right now, but ready once other tests are complete. Contemplating how best to implement plotter for output in Mathematica/Matlab/python.

Misc

Working through pre-req to fall course. My website is up.