Script

Access the pipelines state using state

e.g.

unknown_analyses = state.unknowns

for convenience the unknowns are exposed directly via unknowns

#the follow are equivalent
ans = state.unknowns
ans = unknowns

Available attributes for analyses

# the first analysis in the list
analysis = unknowns[0]

# a dictionary of `Isotope` objects
isotopes = analysis.isotopes

age = analysis.age

# age as a `ufloat` object
uage = analysis.uage

from uncertainties import nominal_value, std_dev
age = nominal_value(uage)
age_err = std_dev(uage)

# or
age = analysis.age
age_w_j_err = analysis.age_err

# see ArArAge for comprehensive view of the Analysis object

Analysis Attributes

Attribute

Type

Description

kca

ufloat

K/Ca

cak

ufloat

Ca/K

kcl

ufloat

K/Cl

clk

ufloat

Cl/K

radiogenic_yield

ufloat

%40Ar*

rad40

ufloat

40Ar*

total40

ufloat

k39

ufloat

uF

ufloat

F

float

F_err

float

F_err_wo_irrad

float

uage

ufloat

uage_w_j_err

ufloat

uage_w_position_err

ufloat

age

float

age_err

float

age_err_wo_j

float

age_err_wo_irrad

float

age_err_wo_j_irrad

float

ar39decayfactor

float

ar37decayfactor

float

isotopes

dict

Dictionary of isotopes

isochron3940

ufloat

isochron3640

ufloat

lambda_k

ufloat

irradiation_label

decay_days

moles_k39

Analysis Methods

Method

Arguments

Return

Description

get_interference_corrected_value

str

ufloat

get_corrected_ratio

str, str

ufloat

get_value

str

ufloat

get_interference_corrected_value('Ar40')
get_corrected_ratio('Ar38', 'Ar36')  # returns Ar38/Ar36 ratio
get_value('age')  # helper function for getting commonly accessed values

Isotope Attributes

Attribute

Type

Description

name

str

Name of the isotope e.g. Ar40

detector

str

Name of detector used to measure isotope e.g. H1

n

int

Total number of data points collected. e.g. len(xs)

fn

int

Total number of data points collected. e.g. len(xs)

offset_xs

array

xs

array

ys

array

fit

str

value

float

error

float

uvalue

ufloat

baseline

Isotope

blank

Isotope

Isotope Methods

Method

Return

Description

get_baseline_corrected_value

ufloat

get_ic_decay_corrected_value

ufloat

get_decay_corrected_value

ufloat

get_interference_corrected_value

ufloat

get_disc_corrected_value

ufloat

get_ic_corrected_value

ufloat

get_non_detector_corrected_value

ufloat

Plotting Examples

Plot with error bars

import matplotlib.pyplot as plt
from uncertainties import nominal_value, std_dev

def main():

    ns = [a.get_value('Ar40/Ar38') for a in unknowns]
    ds = [a.get_value('Ar40/Ar36') for a in unknowns]

    xs = [nominal_value(di) for di in ds]
    ys = [nominal_value(ni) for ni in ns]

    xerrs = [std_dev(di) for di in ds]
    yerrs = [std_dev(ni) for ni in ns]

    plt.ylabel('Ar40/Ar36')
    plt.xlabel('Ar40/Ar38')

    plt.errorbar(xs, ys, xerr=xerrs, yerr=yerrs, fmt='bo')

    plt.show()

Simple scatter plot

import matplotlib.pyplot as plt
from uncertainties import nominal_value, std_dev

def main():

    ns = [a.get_value('Ar40/Ar38') for a in unknowns]
    ds = [a.get_value('Ar40/Ar36') for a in unknowns]

    xs = [nominal_value(di) for di in ds]
    ys = [nominal_value(ni) for ni in ns]

    plt.ylabel('Ar40/Ar36')
    plt.xlabel('Ar40/Ar38')

    plt.plot(xs, ys, 'bo')

    plt.show()