godslibrary
By suitable way to resolve this problem, do you mean have the various ages calculated from the mean of the ratios? If so, you could accomplish that with a script like this:
import numpy as np
groups = data.selectionGroupList(data.Sample | data.ReferenceMaterial)
channel_names = ['Final Pb206/U238', 'Final Pb207/U235', 'Final Pb207/Pb206', 'Final U238/Pb206']
channels = [data.timeSeries(name) for name in channel_names]
l235 = 9.8485e-10
l238 = 1.55125e-10
u = 137.818
t76 = np.linspace(-5e9, 5e9, 20000)
r76 = (1/u)*(np.exp(l235*t76) - 1)/(np.exp(l238*t76) - 1)
def age_from_76_ratio(r):
return np.interp(r, r76, t76)/1e6
def age_from_u_pb_ratio(r, l):
return (np.log(r + 1)/l)/1e6
df = data.frame(groups, ['name', 'duration'], channels, ['mean', 'prop2se'], [], ['rho 206Pb/238U v 207Pb/235U', 'rho 207Pb/206Pb v 238U/206Pb'])
df['Final Pb206/U238 age'] = age_from_u_pb_ratio(df['Final Pb206/U238 mean'], l238)
df['Final Pb206/U238 age prop2se'] = 0.5*(age_from_u_pb_ratio(df['Final Pb206/U238 mean'] + df['Final Pb206/U238 prop2se'], l238) - age_from_u_pb_ratio(df['Final Pb206/U238 mean'] - df['Final Pb206/U238 prop2se'], l238))
df['Final Pb207/U235 age'] = age_from_u_pb_ratio(df['Final Pb207/U235 mean'], l235)
df['Final Pb207/U235 age prop2se'] = 0.5*(age_from_u_pb_ratio(df['Final Pb207/U235 mean'] + df['Final Pb207/U235 prop2se'], l235) - age_from_u_pb_ratio(df['Final Pb207/U235 mean'] - df['Final Pb207/U235 prop2se'], l235))
df['Final Pb207/Pb206 age'] = age_from_76_ratio(df['Final Pb207/Pb206 mean'])
df['Final Pb207/Pb206 age prop2se'] = 0.5*(age_from_76_ratio(df['Final Pb207/Pb206 mean'] + df['Final Pb207/Pb206 prop2se']) - age_from_76_ratio(df['Final Pb207/Pb206 mean'] - df['Final Pb207/Pb206 prop2se']))
column_order = [
'name',
'duration',
'Final Pb207/U235 mean',
'Final Pb207/U235 prop2se',
'Final Pb206/U238 mean',
'Final Pb206/U238 prop2se',
'Final Pb207/Pb206 mean',
'Final Pb207/Pb206 prop2se',
'rho 206Pb/238U v 207Pb/235U',
'rho 207Pb/206Pb v 238U/206Pb',
'Final Pb207/U235 age',
'Final Pb207/U235 age prop2se',
'Final Pb206/U238 age',
'Final Pb206/U238 age prop2se',
'Final Pb207/Pb206 age',
'Final Pb207/Pb206 age prop2se'
]
df = df[column_order]
df.to_clipboard()
This will create a table in the clipboard that you can paste into Excel or wherever you like. It gets the mean ratios and their prop 2SE from iolite then calculates the ages from those (rather than the usual way of calculating the age for each time slice then averaging). You would run that in the python workspace. With a few small changes it could be made into a script that you could use in iolite's export area.
Not sure if this is the type of thing you're after though?
All the best,