spacepy.LANLstar.LANLstar

spacepy.LANLstar.LANLstar(inputdict, extMag)[source]

Calculate Lstar

Based on the L* artificial neural network (ANN) trained from different magnetospheric field models.

Parameters:
extMaglist of string(s)

containing one or more of the following external magnetic field models: ‘OPDYN’, ‘OPQUIET’, ‘T89’, ‘T96’, ‘T01QUIET’, ‘T01STORM’, ‘T05’

inputdictdictionary

containing the following keys, each entry is a list or array. Note the keys for the above models are different.

—For OPDYN: [‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘dens’, ‘velo’, ‘BzIMF’, ‘Lm’, ‘Bmirr’, ‘PA’, ‘rGSM’, ‘latGSM’, ‘lonGSM’]

– For OPQUIET:

[‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘dens’, ‘velo’, ‘BzIMF’, ‘Lm’, ‘Bmirr’, ‘PA’, ‘rGSM’, ‘latGSM’, ‘lonGSM’]

—For T89: [‘Year’, ‘DOY’, ‘Hr’, ‘Kp’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘Lm’, ‘Bmirr’, ‘PA’, ‘rGSM’, ‘latGSM’, ‘lonGSM’]

– For T96:

[‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘Lm’, ‘Bmirr’, ‘PA’, ‘rGSM’, ‘latGSM’, ‘lonGSM’]

—For T01QUIET: [‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘G1’, ‘G2’, ‘Lm’, ‘Bmirr’, ‘PA’, ‘rGSM’, ‘latGSM’, ‘lonGSM’]

– For T01STORM:

[‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘G2’, ‘G3’, ‘Lm’, ‘Bmirr’, ‘PA’, ‘rGSM’, ‘latGSM’, ‘lonGSM’]

—For T05: [‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘W1’,’W2’,’W3’,’W4’,’W5’,’W6’, ‘Lm’, ‘Bmirr’, ‘PA’, ‘rGSM’, ‘latGSM’, ‘lonGSM’]

– For RAMSCB:

[‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘PA’, ‘SMx’,’SMy’,’SMz’]

Dictionaries with numpy vectors are allowed.

Returns:
outdictionary

Lstar array for each key which corresponds to the specified magnetic field model.

Examples

>>> import spacepy.LANLstar as LS
>>> inputdict = {}
>>> inputdict['Kp']     = [2.7      ]            # Kp index
>>> inputdict['Dst']    = [7.7777   ]            # Dst index (nT)
>>> inputdict['dens']   = [4.1011   ]            # solar wind density (/cc)
>>> inputdict['velo']   = [400.1011 ]            # solar wind velocity (km/s)
>>> inputdict['Pdyn']   = [4.1011   ]            # solar wind dynamic pressure (nPa)
>>> inputdict['ByIMF']  = [3.7244   ]            # GSM y component of IMF magnetic field (nT)  
>>> inputdict['BzIMF']  = [-0.1266  ]            # GSM z component of IMF magnetic field (nT)
>>> inputdict['G1']     = [1.029666 ]            # as defined in Tsganenko 2003 
>>> inputdict['G2']     = [0.549334 ]
>>> inputdict['G3']     = [0.813999 ]                
>>> inputdict['W1']     = [0.122444 ]            # as defined in Tsyganenko and Sitnov 2005
>>> inputdict['W2']     = [0.2514   ]                                                                                      
>>> inputdict['W3']     = [0.0892   ]
>>> inputdict['W4']     = [0.0478   ]
>>> inputdict['W5']     = [0.2258   ]
>>> inputdict['W6']     = [1.0461   ]
>>> # now add date
>>> inputdict['Year']   = [1996     ]
>>> inputdict['DOY']    = [6        ]
>>> inputdict['Hr']     = [1.2444   ]
>>> # and pitch angle, which doesn't come if taking params from OMNI
>>> inputdict['Lm']     = [4.9360   ]             # McIllwain L
>>> inputdict['Bmirr']  = [315.6202 ]             # magnetic field strength at the mirror point
>>> inputdict['rGSM']   = [4.8341   ]             # radial coordinate in GSM [Re]
>>> inputdict['lonGSM'] = [-40.2663 ]             # longitude coodrinate in GSM [deg]
>>> inputdict['latGSM'] = [36.44696 ]             # latitude coordiante in GSM [deg]
>>> inputdict['PA']     = [57.3874  ]             # pitch angle [deg]
>>> inputdict['SMx']    = [3.9783   ]
>>> inputdict['SMy']    = [-2.51335 ]
>>> inputdict['SMz']    = [1.106617 ]
>>> # and then call the neural network
>>> LS.LANLstar(inputdict, ['OPDYN','OPQUIET','T01QUIET','T01STORM','T89','T96','T05','RAMSCB'])
{'OPDYN': array([4.7171]),
 'OPQUIET': array([4.6673]),
 'T01QUIET': array([4.8427]),
 'T01STORM': array([4.8669]), 
 'T89': array([4.5187]),
 'T96': array([4.6439]),
 'TS05': array([4.7174]),
 'RAMSCB','array([5.9609])}