nook.groundstate

Ground-state properties: masses, abundances, radii and moments.

Livechart aggregates several distinct compilations behind one endpoint. They are not ENSDF and do not share a provenance, so EVALUATIONS records the attribution per quantity and UNITS the units – atomic_mass is in micro-u, the kind of mismatch that survives review.

nook.groundstate.EVALUATIONS = {'abundance': 'NUBASE', 'atomic_mass': 'AME (atomic mass evaluation)', 'binding_per_nucleon': 'AME (atomic mass evaluation)', 'charge_radius': 'nuclear ground-state charge radii compilation', 'discovery_year': 'NUBASE', 'electric_quadrupole': 'nuclear electric quadrupole moment tables', 'half_life': 'ENSDF', 'isospin': 'ENSDF', 'magnetic_dipole': 'nuclear magnetic dipole moment tables', 'mass_excess': 'AME (atomic mass evaluation)', 'q_alpha': 'AME (atomic mass evaluation)', 'q_beta_minus': 'AME (atomic mass evaluation)', 'q_beta_minus_n': 'AME (atomic mass evaluation)', 'q_ec': 'AME (atomic mass evaluation)', 's_n': 'AME (atomic mass evaluation)', 's_p': 'AME (atomic mass evaluation)', 'spin_parity': 'ENSDF'}

Which compilation each quantity comes from. Livechart does not stamp a version per field, so treat these as the evaluation families; check the Livechart guide for the vintage currently being served.

nook.groundstate.UNITS = {'abundance': '% (mole fraction)', 'atomic_mass': 'micro-u', 'binding_per_nucleon': 'keV', 'charge_radius': 'fm', 'electric_quadrupole': 'barn', 'magnetic_dipole': 'nuclear magnetons', 'mass_excess': 'keV', 'q_alpha': 'keV', 'q_beta_minus': 'keV', 'q_beta_minus_n': 'keV', 'q_ec': 'keV', 's_n': 'keV', 's_p': 'keV'}

The API’s units. Note that atomic_mass is in micro-u, not u.

class nook.groundstate.GroundState(nuclide, spin_parity=<factory>, half_life=<factory>, mass_excess=<factory>, atomic_mass=<factory>, binding_per_nucleon=<factory>, mass_from_systematics=False, q_beta_minus=<factory>, q_beta_minus_n=<factory>, q_alpha=<factory>, q_ec=<factory>, s_n=<factory>, s_p=<factory>, abundance=<factory>, discovery_year=None, charge_radius=<factory>, magnetic_dipole=<factory>, electric_quadrupole=<factory>, isospin=None, decay_modes=(), source='', metadata=<factory>, raw=<factory>)[source]

Bases: object

Aggregated ground-state properties for one nuclide.

Every numeric field is an Uncertain; a quantity the compilations do not carry is left with value is None rather than defaulted, so a missing mass excess cannot be mistaken for zero.

nuclide: Nuclide
spin_parity: SpinParity
half_life: HalfLife
mass_excess: Uncertain
atomic_mass: Uncertain
binding_per_nucleon: Uncertain
mass_from_systematics: bool = False

True when the mass comes from systematics rather than measurement.

q_beta_minus: Uncertain
q_beta_minus_n: Uncertain
q_alpha: Uncertain
q_ec: Uncertain
s_n: Uncertain
s_p: Uncertain
abundance: Uncertain
discovery_year: int | None = None
charge_radius: Uncertain
magnetic_dipole: Uncertain
electric_quadrupole: Uncertain
isospin: str | None = None
decay_modes: tuple[tuple[str, Uncertain], ...] = ()
source: str = ''
metadata: dict[str, Any]
raw: dict[str, str]
property is_stable: bool
property total_binding_energy: Uncertain

Binding energy summed over all nucleons, in keV.

provenance(quantity)[source]

Which compilation a given attribute came from.

units(quantity)[source]