irfpy.venus.icb
¶
Collection of ICB model
Reference:
Martinecz et al. (2008): “Location of the bow shock and ion composition boundaries at Venus–initial determinations from Venus Express ASPERA-4” PSS 56, 780-784.
Code author: Moa Persson
Code author: Yoshifumi Futaana
- irfpy.venus.icb.xr_martinecz08(scale=1.0)[source]¶
Return the (x,r) coordinates of Martinecz 08 model.
Dayside: Circle with the radius 1.109 Rv.
Nightside: \(y=kx+d\), where \(k=-0.097\) and \(d=1.109\).
- Returns:
A tuple, (x, r), where x is the array of x coordinates and r is the array of \(\sqrt{y^2+z^2}\).
>>> from irfpy.venus import icb >>> x, r = icb.xr_martinecz08() >>> print(x.shape, r.shape) (590,) (590,)
You can plot the boundary as
import matplotlib.pyplot as plt plt.plot(x, r, 'r')
- irfpy.venus.icb.inside_martinecz08(x, y, z, scale=1.0)[source]¶
Return True if the given position is inside Martinecz ICB model.
- Parameters:
z (x, y,) – Position. The unit should be Rv.
- Returns:
True if the given position is inside the Martinecz model.
Code author: Moa Persson
>>> from irfpy.venus import icb >>> print(icb.inside_martinecz08(1, 0, 0)) True >>> print(icb.inside_martinecz08(2, 0, 0)) False >>> print(icb.inside_martinecz08(0, 1.1, 0)) True >>> print(icb.inside_martinecz08(-1, 1.2, 0)) True >>> print(icb.inside_martinecz08(-1, 1.208, 0)) False