spacepy.LANLstar.LANLmax

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

Calculate last closed drift shell (Lmax)

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’, ‘PA’]

– For OPQUIET:

[‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘dens’, ‘velo’, ‘BzIMF’, ‘PA’]

– For T89:

[‘Year’, ‘DOY’, ‘Hr’, ‘Kp’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘PA’]

– For T96:

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

– For T01QUIET:

[‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘G1’, ‘G2’,’PA’]

– For T01STORM:

[‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘G2’, ‘G3’, ‘PA’]

– For T05:

[‘Year’, ‘DOY’, ‘Hr’, ‘Dst’, ‘Pdyn’, ‘ByIMF’, ‘BzIMF’, ‘W1’,’W2’,’W3’,’W4’,’W5’,’W6’, ‘PA’]

Dictionaries with numpy vectors are allowed.

Returns:
outdictionary

Lmax 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['PA']     = [57.3874  ]             # pitch angle [deg]
>>> # and then call the neural network
>>> LS.LANLmax(inputdict, ['OPDYN','OPQUIET','T01QUIET','T01STORM','T89','T96','T05'])
{'OPDYN': array([10.6278]),
 'OPQUIET': array([9.3352]),
 'T01QUIET': array([10.0538]),
 'T01STORM': array([9.9300]), 
 'T89': array([8.2888]),
 'T96': array([9.2410]),
 'T05': array([9.9295])}