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’)