spacepy.empiricals.getMagnetopause

spacepy.empiricals.getMagnetopause(ticks, LTs=None, dbase='QDhourly')[source]

Calculates the Shue et al. (1997) position in equatorial plane

Shue et al. (1997), A new functional form to study the solar wind control of the magnetopause size and shape, J. Geophys. Res., 102(A5), 9497–9511, doi:10.1029/97JA00196.

Parameters:
ticksspacepy.time.Ticktock

TickTock object of desired times (will be interpolated from hourly OMNI data) OR dictionary of form {‘P’: [], ‘Bz’: []} Where P is SW ram pressure [nPa] and Bz is IMF Bz (GSM) [nT]

LTsarray-like

Array-like of local times for evaluating the magnetopause model. Default is 6 LT to 18 LT in steps of 20 minutes.

Returns:
outarray

NxMx2 array of magnetopause positions [Re] N is number of timesteps, M is number of local times. The 2 positions are the X_GSE and Y_GSE positions of the magnetopause

Examples

>>> import spacepy.time as spt
>>> import spacepy.empiricals as emp
>>> ticks = spt.Ticktock(['2002-01-01T12:00:00','2002-01-04T00:00:00'])
>>> localtimes = [13,12,11]
>>> emp.getMagnetopause(ticks, LTs=localtimes)
array([[[ 10.27674331,  -2.75364507],
    [ 10.52909163,   0.        ],
    [ 10.27674331,   2.75364507]],
   [[ 10.91791834,  -2.9254474 ],
    [ 11.18712131,   0.        ],
    [ 10.91791834,   2.9254474 ]]])
>>> emp.getMPstandoff(ticks) #should give same result as getMagnetopause for 12LT
array([ 10.52909163,  11.18712131])

To plot the magnetopause: >>> import numpy as np >>> import spacepy.plot as splot >>> import matplotlib.pyplot as plt >>> localtimes = np.arange(5, 19.1, 0.5) >>> mp_pos = emp.getMagnetopause(ticks, localtimes) >>> plt.plot(mp_pos[0,:,0], mp_pos[0,:,1]) >>> ax1 = plt.gca() >>> ax1.set_xlim([-5,20]) >>> ax1.set_xlabel(‘X$_{GSE}$ [R$_E$]’) >>> ax1.set_ylabel(‘Y$_{GSE}$ [R$_E$]’) >>> splot.dual_half_circle(ax=ax1) >>> ax1.axes.set_aspect(‘equal’)