shue

See Shue et al. (1997): “A new functional form to study the solar wind control of the magnetopause size and shape”

They describe a model where the radial magnetopause position r is treated as a function of angle wrt x-GSE axis

r(theta) = r_0 * (2 / (1+ cos(theta)))^alpha

r_0 is the subsolar standoff distance [in earth radii], alpha is a dimensionless parameter

The parameters r_0, alpha depend on the solar wind parameters:

B_z: z-component (GSE) of the magnetic field [nT] n_p: number density [cm^-3] v_sw: solar wind speed [km/sec]

Different Vlasiator runs had

Example usage (plot magnetopause for run ‘EGI’):

import numpy as np import matplotlib.pyplot as plt

theta = np.linspace(0,np.pi / 2, 1000) r, r0, alpha = f_shue(theta, run=’EGI’) x = r*np.cos(theta) y = r*np.sin(theta) plt.plot(x,y)

shue.f_shue(theta_polar, run=None, B_z=None, n_p=None, v_sw=None)

Shue et al. (1997): ‘A new functional form to study the solar wind control of the magnetopause size and shape’`

Inputs:
theta_polar: 1D numpy array [radians], angle wrt x-GSE axis

0 < theta_polar < 2pi

keyword run: string containing Vlasiator run name (e.g. ‘EGI’)

If set, look up the solar wind parameters B_z, n_p, v_sw for this run

Output:

magnetopause position r(theta) [R_E]

TODO: instead of using _f_shue_parameters(), use VlsvReader object’s get_config() method to look up parameters.