SWDatabase
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
Classes | Functions | Variables
model.model_parker Namespace Reference

Classes

class  ModelParkerError
 Error returned by model_parker. More...
 

Functions

def compute_footprint
 Use Parker spiral to compute SC/planet footpoint on source surface and delay between SC/planet and source surface. More...
 
def draw_parker_spiral_magnetic_field
 Compute at some point Parker spiral magnetic vector Bspiral in IAU_SUN coordinates and the oriented angle (-e_phi,Bspiral). More...
 
def draw_parker_spiral_point
 Draw Parker spiral points from a given start down to solar source surface. More...
 
def suntime_backward
 For a given time, compute the corresponding time for the scraft such that its Parker spiral's time arrival on source surface is (more or less) this input time. More...
 

Variables

int vhelio_min = 300
 
int vhelio_max = 800
 
float rmid = 21.5
 

Function Documentation

def model.model_parker.compute_footprint (   positions,
  vhelio = None,
  rss = 2.5 
)

Use Parker spiral to compute SC/planet footpoint on source surface and delay between SC/planet and source surface.

Achtung! Before using this function, must give a value to some module_heliosphere variables:

  • vhelio
  • rss
Parameters
[in]positionsList of module_timespace.Coordinate() objects in the heliosphere where Parker spiral starts.
[out]positions_ssList of module_timespace.Coordinate() objects. Footpoint of Parker spiral on source surface.
[out]delays_ssList of datetime.timedelta() objects. Propagation delay between positions and positions_ss.

Check:

  • Check module_heliosphere.vhelio is a float between 100 and 1000.
  • Check module_heliosphere.rss is in [2.,3.]
  • Check if SC/Planet radius is strictly above rss

If a test fails, returns a ModelParkerError.

Here is the call graph for this function:

Here is the caller graph for this function:

def model.model_parker.draw_parker_spiral_magnetic_field (   r,
  lon,
  v 
)

Compute at some point Parker spiral magnetic vector Bspiral in IAU_SUN coordinates and the oriented angle (-e_phi,Bspiral).

Parameters
[in]rradius in kilometers of the point
[in]lonlongitude in degree of the point
[in]vplasma velocity in km/s

$\vec{B_{spiral}} = -omega.r.\vec{e_{\phi}} + v.\vec{u} \text{ where } \vec{u} \text{ is the projection of } \vec{e_r} \text{ on (x,y) plane.}$
$\vec{B_{spiral}} = -omega.r.(cos(phi).\vec{e_y} - sin(phi).\vec{e_x}) + v.(cos(phi).\vec{e_x} + sin(phi).\vec{e_y})$
$\vec{B_{spiral}} = (omega.r.sin(phi) + v.cos(phi)).\vec{e_x} + (- omega.r.cos(phi) + v.sin(phi)).\vec{e_y}$

Parameters
[out]bx,by2 composantes of magnetic vector in IAU_SUN
[out]angle_spiralangle in degree between -{e_{}} and {B_{spiral}}
def model.model_parker.draw_parker_spiral_point (   rstart,
  lon,
  lat,
  v,
  npoint = 10 
)

Draw Parker spiral points from a given start down to solar source surface.

Point's abscissae and ordinates are given in IAU_SUN coordinates.

Parameters
[in]rstartradius in kilometers of the starting point
[in]lonlongitude in degree of the starting point
[in]latlatitude in degree of the starting point
[in]vplasma velocity in km/s
[in]npointnumber of spiral points to be displayed. Default 10.
[out]x_listlist of abscissae
[out]y_listlist of ordinates
def model.model_parker.suntime_backward (   scraft,
  date_surf,
  rss = 2.5,
  verbose = False 
)

For a given time, compute the corresponding time for the scraft such that its Parker spiral's time arrival on source surface is (more or less) this input time.

Parameters
[in]scraft
[in]date_surfDatetime.datetime() object. Time arrival of scraft's Parker spiral on source surface.
[in]rssHeight of source surface in solar radii
[out]date_scDatetime.datetime() object. At this time, the Parker spiral starting at the corresponding scraft position reach the source surface at the input date_surf time.
[out]errorNumber of hour between the arrival time of Parker spiral and the input date_surf.

Here is the call graph for this function:

Variable Documentation

float model.model_parker.rmid = 21.5
int model.model_parker.vhelio_max = 800
int model.model_parker.vhelio_min = 300