Hi Community,
I'm using Iolite V4 to process some zircon U-Pb data with the U-Pb geochronology DRS with linear down-hole correction. After running the DRS, the 'Final Pb207/Pb206_2SE(int)' and 'Final Pb206/U238_2SE(int)' columns appear to be the standard deviation for each spot. I've been converting them with excel, are there ways to fix it in Iolite?

The problem only occurs when using linear down-hole fit, not other fitting methods.

  • Joe replied to this.

    I also have a follow-up question. When doing down-hole correction, if we want to use one reference material (e. g. Z_91500) to correct the Pb206/U238, and use another one (e. g. Z_Plesovice) to correct the Pb207/U235? Can we do it through iolite?

    • Joe replied to this.

      PatrickHu

      Can you send/share an example io4 file and the exported data in question to the iolite support email (support@iolite-software.com) for me to investigate?

      You could try running a script to check manually calculated values vs those according to iolite, e.g.:

      import numpy as np
      from math import sqrt
      
      group_name = 'Z_Plesovice'
      channel_name = 'Final Pb207/Pb206'
      
      group = data.selectionGroup(group_name)
      sel = group.selection(0)
      ch = data.timeSeries(channel_name)
      sel_data = ch.dataForSelection(sel)
      
      print('Calculated with numpy:')
      print('    Mean = %f'%np.mean(sel_data))
      print('    2SD = %f'%(2*np.std(sel_data, ddof=1)))
      print('    2SE = %f'%(2*np.std(sel_data, ddof=1)/sqrt(len(sel_data))))
      
      print('According to iolite:')
      print('    Mean = %f'%data.result(sel, ch).value())
      print('    2SD = %f'%data.result(sel, ch).uncertainty())
      print('    2SE = %f'%data.result(sel, ch).uncertaintyAs2SE())

      In my test here using a linear down-hole fit the values are identical between iolite's values, the values calculated manually in python and those in the exported Excel file.

      All the best,

      • Joe

      PatrickHu

      There is no way to use different reference materials for different U-Pb ratios using the built in DRS all in one shot. You could, of course, process the data with one RM, export the data, then process it with a different RM, export the data a second time, and then make a composite dataset. You could also streamline this process by either setting up a processing template or using a python script. A python script to do the job might look something like below:

      import pandas as pd
      from iolite.QtGui import QFileDialog
      
      drs = data.dataReductionScheme('U-Pb Geochronology')
      s = drs.settings()
      s['DefaultFitType'] = 'Linear'
      s['ReferenceMaterial'] = 'Z_91500'
      drs.setSettings(s)
      drs.run()
      
      groups = data.selectionGroupList(data.ReferenceMaterial | data.Sample)
      
      names = [s.name for g in groups for s in g.selections()]
      Pb68 = [data.result(s, data.timeSeries('Final Pb206/U238')).value() for g in groups for s in g.selections()]
      Pb68_2se = [data.result(s, data.timeSeries('Final Pb206/U238')).uncertaintyAs2SE() for g in groups for s in g.selections()]
      
      s['ReferenceMaterial'] = 'Z_Plesovice'
      drs.setSettings(s)
      drs.run()
      
      Pb75 = [data.result(s, data.timeSeries('Final Pb207/U235')).value() for g in groups for s in g.selections()]
      Pb75_2se = [data.result(s, data.timeSeries('Final Pb207/U235')).uncertaintyAs2SE() for g in groups for s in g.selections()]
      rho = [data.associatedResult(s, 'rho 206Pb/238U v 207Pb/235U').value() for g in groups for s in g.selections()]
      df = pd.DataFrame({
      	'Name': names,
      	'Final Pb206/U238': Pb68,
      	'Final Pb206/U238_2SE(int)': Pb68_2se,
      	'Final Pb207/U235': Pb75,
      	'Final Pb207/U235_2SE(int)': Pb75_2se,
      	'rho 206Pb/238U v 207Pb/235U': rho
      })
      
      fn = QFileDialog.getSaveFileName()
      
      if not fn:
      	raise Exception('No path provided')
      
      df.to_excel(fn)

      Alternatively, you could adapt the python U-Pb DRS example to use different RMs for each ratio.

      All the best,

      • Joe
      3 months later

      Hey fellas,

      I recently tried the first strategy, of processing first with 91500 and then re-processing/exporting with OG1, since I'm only interested in the 7/6 ratio we only have that ratio in our RM file. Interestingly, the uncertainty is not propagated and only 2SE int is calculated. I can't get to the bottom of the problem because I can't find the expresiion to prop in the example DRS. Could it be that not having some of the ratios in the refmat is preventing it from propagating?

      Thanks for the clarification

      I think it was a poorly fitted DH correction that was preventing the errors to be propagated. Now I've adjusted the curve and the errors were prop. My bad

        a month later

        VitorBarrote I had a similar issue, but in my case Iolite says it's because of too few selections to be propagated. Just fyi