Phys

class sbpy.data.Phys[source]

Bases: DataClass

Class for storing and querying physical properties

Methods Summary

from_jplspec(temp_estimate, transition_freq, ...)

Constants from JPLSpec catalog and energy calculations

from_sbdb(targetids[, references, notes])

Load physical properties from JPL Small-Body Database (SBDB) using jplsbdb for one or more targets.

Methods Documentation

classmethod from_jplspec(temp_estimate, transition_freq, mol_tag)[source]

Constants from JPLSpec catalog and energy calculations

Parameters:
temp_estimateQuantity

Estimated temperature in Kelvins

transition_freqQuantity

Transition frequency in MHz

mol_tagint or str

Molecule identifier. Make sure it is an exclusive identifier, although this function can take a regex as your molecule tag, it will return an error if there is ambiguity on what the molecule of interest is. The function query_lines_async with the option parse_name_locally=True can be used to parse for the exclusive identifier of a molecule you might be interested in. For more information, visit astroquery.jplspec documentation.

Returns:
dataPhys

Quantities in the following order from JPL Spectral Molecular Catalog:

  • Transition frequency

  • Temperature

  • Integrated line intensity at 300 K

  • Partition function at 300 K

  • Partition function at designated temperature

  • Upper state degeneracy

  • Upper level energy in Joules

  • Lower level energy in Joules

  • Degrees of freedom

classmethod from_sbdb(targetids, references=False, notes=False)[source]

Load physical properties from JPL Small-Body Database (SBDB) using jplsbdb for one or more targets. Builds a Phys object from the output of 'phys_par' from SBDB. Units are applied, where available. Missing data are filled up as nan values. Note that SBDB only serves physical properties data for a limited number of objects.

Parameters:
targetidsstr, int or iterable thereof

Target identifier(s) to be queried; use object numbers, names, or designations as unambiguous as possible.

Returns:
Phys object

Examples

>>> from sbpy.data import Phys
>>> phys = Phys.from_sbdb(
...    ['Ceres', '12893', '3552']
... ) 
>>> print(phys['targetname', 'H', 'diameter'])  
        targetname                 H          diameter
                                  mag            km
-------------------------- ------------------ --------
                   1 Ceres               3.34    939.4
 12893 Mommert (1998 QS55)               13.9    5.214
3552 Don Quixote (1983 SA) 12.800000000000002     19.0