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

Problem 3.4.I B


In [3]:
#-----
ev_9 = 1.4419e-11

#--  3.4 B)
print ((ev_9 * 100 * 2e6) / (.1 * sigma_t)) ** (1/4.)


4.74882050166

Problem 3.12 E


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


111.983738982

Problem 3.14 I


In [4]:

Problem 4.13 E


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


K/cm: -0.000119543329812
K/km: -11.9543329812

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


K/cm: -4.99707371227e-05
K/km: -4.99707371227

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


K/cm: -9.69739568348e-05
K/km: -9.69739568348

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


K/cm: -1.87833171625e-05
K/km: -1.87833171625

Problem 4.14 I


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"


cp:  10104440.6279
-(gp/cp), to verify: -9.69739568348e-05

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


P_w: 0.00918628371128

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


molecular weight of water: 18.0
molecular weight of air: 28.8
w_s: 0.00574142731955

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


wet lapse rate: -5.67124501832e-06
wet lapse rate: -0.567124501832

In [16]:
((-gp / 5.0) - cp) / (Ls/18.0)


Out[16]:
-0.00035663423299057924

In [16]: