irfpy.vexpvat.domain

Domain of the spacecraft

Domains (solar wind, induced magnetosphere, magnetosheath) are handled.

irfpy.vexpvat.domain.inside_bowshock(t, model=None)[source]

Return if the spacecraft is inside the bow shock.

Parameters
Returns

True if the VEX is inside the bow shock. It include the magnetosheath, induced magnetosphere, magnetotail, or innosphere

>>> import datetime
>>> t = datetime.datetime(2009, 1, 15, 7, 0, 30)
>>> print(inside_bowshock(t))
True
>>> t = datetime.datetime(2009, 1, 15, 7, 0, 25)
>>> print(inside_bowshock(t))
False
irfpy.vexpvat.domain.inside_icb(t, model=None)[source]

Return if the spacecraft is inside the bow shock.

Parameters
Returns

True if the VEX is inside the ICB. It include the induced magnetosphere, magnetotail, or ionosphere.

>>> import datetime
>>> t = datetime.datetime(2009, 1, 15, 8, 38, 40)
>>> print(inside_icb(t))
True
>>> t = datetime.datetime(2009, 1, 15, 8, 38, 50)
>>> print(inside_icb(t))
False
irfpy.vexpvat.domain.inside_eclipse(t)[source]

Return if the spacecraft is inside the geometric eclipse.

Parameters

t – Time

Returns

Boolean value, True if the spacecraft is in the eclipse.

The definition of the eclipse is just geometric: \(R(=\sqrt{x^2+y^2+z^2})\ge 1 [Rv]\) and \(x<0\) and \(r(=\sqrt{y^2+z^2})\le 1 [Rv]\) where R is the radius and r is the distance from x-axis.

>>> import datetime
>>> t = datetime.datetime(2010, 8, 8, 8)
>>> print(inside_eclipse(t))
True
>>> t = datetime.datetime(2010, 8, 8, 9)
>>> print(inside_eclipse(t))
False
irfpy.vexpvat.domain.bowshock_crossings(orbit_number, tolerance=0.1)[source]
irfpy.vexpvat.domain.icb_crossings(orbit_number, tolerance=0.1)[source]
irfpy.vexpvat.domain.inbound_bowshock(orbit_number, tolerance=0.1, model=None)[source]

Bow shock time inbound the specific orbit

Parameters
Returns

Time of crossing

>>> print('{:%F %T}'.format(inbound_bowshock(1000)))
2009-01-15 07:00:27
irfpy.vexpvat.domain.outbound_bowshock(orbit_number, tolerance=0.1, model=None)[source]

Bow shock time outbound the specific orbit

Parameters
Returns

Time of crossing

>>> print('{:%F %T}'.format(outbound_bowshock(1000)))
2009-01-15 08:48:26
irfpy.vexpvat.domain.inbound_icb(orbit_number, tolerance=0.1, model=None)[source]

ICB time inbound the specific orbit

Parameters
Returns

Time of crossing

>>> print('{:%F %T}'.format(inbound_icb(1000)))
2009-01-15 08:01:54
irfpy.vexpvat.domain.outbound_icb(orbit_number, tolerance=0.1, model=None)[source]

ICB time outbound the specific orbit

Parameters
Returns

Time of crossing

>>> print('{:%F %T}'.format(outbound_icb(1000)))
2009-01-15 08:38:41