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