예제 #1
0
    def test_multiglaciate(self):

        dz_scalar_low = self.dz_scalar - 15.0

        self.assertTrue(dz_scalar_low >= 0.0)

        N = sim.multiglaciate(self.dz_scalar,
                              self.t_gl,
                              self.t_intergl,
                              self.t_postgl,
                              self.z,
                              self.n,
                              self.p,
                              postgl_shielding=self.pgl_shield,
                              n_gl=self.n_gl)

        N_deep = sim.multiglaciate(self.dz_scalar,
                                   self.t_gl,
                                   self.t_intergl,
                                   self.t_postgl,
                                   self.z + 1000.0,
                                   self.n,
                                   self.p,
                                   postgl_shielding=self.pgl_shield,
                                   n_gl=self.n_gl)

        N_hi = sim.multiglaciate(self.dz_scalar - 15.0,
                                 self.t_gl,
                                 self.t_intergl,
                                 self.t_postgl,
                                 self.z,
                                 self.n,
                                 self.p,
                                 postgl_shielding=self.pgl_shield,
                                 n_gl=self.n_gl)

        hi_gt_low = (N_hi > N).all()
        self.assertTrue(hi_gt_low)

        deep_lt_not = (N_deep < N).all()
        self.assertTrue(deep_lt_not)
예제 #2
0
# predict concentrations for these depths (to 8 m)
z0 = np.linspace(0, 800 * rho)

be10 = nuclide.Be10Qtz()

# most recent exposure time
tH = 17000

# holocene exposure only
Nhol = sim.expose(z=z0, ti=tH, tf=0.0, n=be10)

# vary glaciation length (t_gl), keeping glacial cycle length constant
N10 = sim.multiglaciate(dz=dz,
                        t_gl=10000,
                        t_intergl=90000,
                        t_postgl=tH,
                        z=z0,
                        n=be10,
                        n_gl=n)
N50 = sim.multiglaciate(dz=dz,
                        t_gl=50000,
                        t_intergl=50000,
                        t_postgl=tH,
                        z=z0,
                        n=be10,
                        n_gl=n)
N90 = sim.multiglaciate(dz=dz,
                        t_gl=90000,
                        t_intergl=10000,
                        t_postgl=tH,
                        z=z0,
예제 #3
0
파일: fexp.py 프로젝트: cosmolab/cosmogenic
# depth eroded per glaciation (500 cm in g/cm**2)
dz = 500 * rho * np.ones(n)

# predict concentrations for these depths (to 8 m) 
z0 = np.linspace(0, 800 * rho)

be10 = nuclide.Be10Qtz()

# most recent exposure time
tH = 17000

# holocene exposure only
Nhol = sim.expose(z=z0, ti=tH, tf=0.0, n=be10)

# vary glaciation length (t_gl), keeping glacial cycle length constant
N10 = sim.multiglaciate(dz=dz, t_gl=10000, t_intergl=90000, t_postgl=tH,
                        z=z0, n=be10, n_gl=n)
N50 = sim.multiglaciate(dz=dz, t_gl=50000, t_intergl=50000, t_postgl=tH,
                        z=z0, n=be10, n_gl=n)
N90 = sim.multiglaciate(dz=dz, t_gl=90000, t_intergl=10000, t_postgl=tH,
                        z=z0, n=be10, n_gl=n)

# sample depths in meters
z = z0 / 100.0 / rho

ax1 = plt.subplot(121)
plt.semilogx(Nhol, z, 'k', lw=2)
plt.semilogx(N10, z, N50, z, N90, z, lw=2)
ax1.invert_yaxis()
plt.xlabel('[Be-10] (atoms / g quartz)')
plt.ylabel('Depth (m)')
plt.legend(('Simple exposure', 'f_exp = 0.9', 'f_exp = 0.5', 'f_exp = 0.1'),