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
t –
model – The model used. As default, use the Martinecz model https://irfpy.irf.se/projects/planets/api/api_irfpy.venus.bowshock.html is used. Currently, only Martinecz model is implemented
- 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
t –
model – The model used. As default, use the Martinecz model https://irfpy.irf.se/projects/planets/api/api_irfpy.venus.bowshock.html is used. Currently, only Martinecz model is implemented
- 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 andr
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.inbound_bowshock(orbit_number, tolerance=0.1, model=None)[source]¶
Bow shock time inbound the specific orbit
- Parameters
orbit_number – Orbit number
tolerance – Tolerance acceptable
model – The model used. As default, use the Martinecz model https://irfpy.irf.se/projects/planets/api/api_irfpy.venus.bowshock.html is used. Currently, only Martinecz model is implemented
- 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
orbit_number – Orbit number
tolerance – Tolerance acceptable
model – The model used. As default, use the Martinecz model https://irfpy.irf.se/projects/planets/api/api_irfpy.venus.bowshock.html is used. Currently, only Martinecz model is implemented
- 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
orbit_number – Orbit number
tolerance – Tolerance acceptable
model – The model used. As default, use the Martinecz model https://irfpy.irf.se/projects/planets/api/api_irfpy.venus.icb.html is used. Currently, only Martinecz model is implemented
- 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
orbit_number – Orbit number
tolerance – Tolerance acceptable
model – The model used. As default, use the Martinecz model https://irfpy.irf.se/projects/planets/api/api_irfpy.venus.icb.html is used. Currently, only Martinecz model is implemented
- Returns
Time of crossing
>>> print('{:%F %T}'.format(outbound_icb(1000))) 2009-01-15 08:38:41