def photo_lengthscale(species, source=None):
"""Photodissociation lengthscale for a gas species.
Parameters
----------
species : string
The species to look up.
source : string, optional
Retrieve values from this source (case insensitive). See
references for keys.
Returns
-------
gamma : astropy Quantity
The lengthscale at 1 au.
Example
-------
>>> from sbpy.activity import photo_lengthscale
>>> gamma = photo_lengthscale('OH')
References
----------
[CS93] H2O and OH from Table IV of Cochran & Schleicher 1993,
Icarus 105, 235-253. Quoted for intermediate solar activity.
"""
data = { # (value, {key feature: ADS bibcode})
'H2O': { 'CS93': (2.4e4 * u.km, {'H2O photodissociation lengthscale': '1993Icar..105..235C'})},
'OH': { 'CS93': (1.6e5 * u.km, {'OH photodissociation lengthscale': '1993Icar..105..235C'})},
}
default_sources = {
'H2O': 'CS93',
'OH': 'CS93',
}
assert species.upper() in data, "No timescale available for {}. Choose from: {}".format(
species, ', '.join(data.keys()))
gas = data[species.upper()]
source = default_sources[species.upper()] if source is None else source
assert source.upper() in gas, 'Source key {} not available for {}. Choose from: {}'.format(
source, species, ', '.join(gas.keys()))
gamma, bibcode = gas[source.upper()]
bib.register('activity.gas.photo_lengthscale', bibcode)
return gamma
评论列表
文章目录