In [1]:
import numpy as np
In [2]:
#-----
k_boltzmann = 1.380658e-16
sigma_t = 5.67051e-5
AU = 1.496e13
l_sun = 3.9e33
amu = 1.6605402e-24
G = 6.67e-8
In [3]:
#-----
ev_9 = 1.4419e-11
#-- 3.4 B)
print ((ev_9 * 100 * 2e6) / (.1 * sigma_t)) ** (1/4.)
In [4]:
#-- 3.12 B)
Ab = .343
e = .9
r_d = 5.502 * AU
r_p = 71492e5
teqq = ((1-Ab) * (l_sun / (15.0 * np.pi * r_d**2 * e * sigma_t)))** (1/4.)
print teqq
In [4]:
In [5]:
N2 = 28
O2 = 32
O = 16
H2 = 2
He = 4
H = 1
H2O = 18
CO2 = 12 + 16
In [6]:
def mean_molecular_weight(fractions, weights):
vals = []
for f, w in zip(fractions, weights):
vals.append(f * w)
return np.sum(vals)
In [7]:
def lapse_rate(gamma, gp, mmm, amu):
coeff_gamma = -1 * (gamma - 1) / gamma
return (coeff_gamma * gp * mmm * amu) / k_boltzmann
In [8]:
# venus
gp = (G * 4.870e27) / (6.050e8)**2
gamma = 5/3.
print 'K/cm:', lapse_rate(gamma, gp, CO2, amu)
print 'K/km:', lapse_rate(gamma, gp, CO2, amu) * 10**5
In [9]:
# mars
gp = (G * 6.418e26) / (3.397e8)**2
gamma = 5/3.
print 'K/cm:', lapse_rate(gamma, gp, CO2, amu)
print 'K/km:', lapse_rate(gamma, gp, CO2, amu) * 10**5
In [10]:
# Earth
gp = (G * 5.976e27) / (6.378e8)**2
gamma = 7/5.
mmm = mean_molecular_weight([.2, .8], [O2, N2])
print 'K/cm:', lapse_rate(gamma, gp, mmm, amu)
print 'K/km:', lapse_rate(gamma, gp, mmm, amu) * 10**5
In [11]:
# Jupiter
gp = (G * 1.899e30) / (7.140e9)**2
gamma = 7/5.
mmm = mean_molecular_weight([.9, .1], [H2, He])
print 'K/cm:', lapse_rate(gamma, gp, mmm, amu)
print 'K/km:', lapse_rate(gamma, gp, mmm, amu) * 10**5
In [12]:
# A
gp = (G * 5.976e27) / (6.378e8)**2
gamma = 7/5.
mmm = mean_molecular_weight([.2, .8], [O2, N2])
cp = (gamma / (gamma - 1)) * (k_boltzmann / (mmm * amu))
print "cp: ", cp
print "-(gp/cp), to verify:", -gp / cp, " should be 10K / km"
In [13]:
# B
T = 280.0
Cl = 3e7
Ls = 5.1e11
R = 8.3144621e7
P_w = Cl * np.exp((-1.0 * Ls) / (R * T))
print "P_w:", P_w
In [14]:
# C
mmm_w = float(H2O)
mmm_air = mean_molecular_weight([.2, .8], [O2, N2])
print "molecular weight of water:", mmm_w
print "molecular weight of air:", mmm_air
w_s = P_w * (float(mmm_w) / mmm_air)
print "w_s:", w_s
In [15]:
# D
# Should be 5 to 6 K/km
#1.27e20
wet_lapse_rate = -gp / (cp + Ls * (1/18.) * w_s)
print "wet lapse rate:", wet_lapse_rate
print "wet lapse rate:", wet_lapse_rate * 10**5
In [16]:
((-gp / 5.0) - cp) / (Ls/18.0)
Out[16]:
In [16]: