In [4]:
import sys
#sys.path.insert(0,'/Users/wildrocker/PmagPy')
sys.path.insert(0,'/Users/ltauxe/Programs/PmagPy/GIT/PmagPy')
from IPython.display import Image
import pandas as pd
import pmag,exceptions
import numpy as np
In [5]:
!IODP_descr_magic.py -A -f SRM_data/SRM_dscr_355_U1456A_W.csv -F U1456A_MagIC/no_ave_SRM_dscr_355_U1456A_W.csv.magic
dscr_data,filetype=pmag.magic_read("U1456A_MagIC/no_ave_SRM_dscr_355_U1456A_W.csv.magic")
specs=pmag.get_specs(dscr_data)
In [3]:
def parse_data(step):
dir=[float(step['measurement_dec']),float(step['measurement_inc']),float(step['measurement_magn_moment'])]
xyz=pmag.dir2cart(dir)
return xyz
In [4]:
diffs=[]
for spec in specs:
spec_data=pmag.get_dictitem(dscr_data,'er_specimen_name',spec,'T') # get the data for this spec
treats=pmag.get_dictkey(spec_data,'treatment_ac_field','') # find the treatments
next_to_last=pmag.get_dictitem(spec_data,'treatment_ac_field',treats[-2],'T') # next to last treatment
start=next_to_last[-1] # one just before the last set of treatments
last_step=pmag.get_dictitem(spec_data,'treatment_ac_field',treats[-1],'T') # last set
xyz0=parse_data(start)
for s in last_step:
xyz=parse_data(s)
resultant=pmag.cart2dir([xyz-xyz0])
if 'oward' in s['measurement_description']:
ref=[0,0,1]
elif 'ight' in s['measurement_description']:
ref=[90,0,1]
elif 'Away' in s['measurement_description']:
ref=[0,90,1]
angle=pmag.angle(ref,resultant)
diffs.append({'specimen':s['er_specimen_name'],'orientation':s['measurement_description'],'angle':'%f7.1'%(angle)})
xyz0=xyz
pmag.magic_write('angles.txt',diffs,'special')
Out[4]:
In [4]: