import pylab import C14tools import matplotlib #%% fill Layer_top, Layer_bottom using Layer_top_norm Layer_bottom_norm filename = 'Non_peat_data_synthesis.csv' data = pd.read_csv(filename,encoding='iso-8859-1',index_col='ProfileID', skiprows=[1]) newdata = prep.get_originalLayerdepth(data) newdata.to_csv('Non_peat_data_synthesis2.csv',encoding='iso-8859-1') #%% plot 14C and SOC profile at each site filename = 'Non_peat_data_synthesis.csv' data = pd.read_csv(filename,encoding='iso-8859-1',index_col='ProfileID', skiprows=[1]) pid = data[data['Start_of_Profile']==1].index # index of profile start d14C = prep.getvarxls(data,'D14C_BulkLayer', pid, ':') sampleyr = prep.getvarxls(data, 'SampleYear', pid, ':') tau, cost = C14tools.cal_tau(d14C, sampleyr) data['tau'] = pd.Series(tau[:,0], index=data.index) #%% plot individual profile fig, axes = plt.subplots(nrows=4, ncols=4, figsize=(16,10)) for fign in range(15): i = fign + 135 ax1 = fig.axes[fign] plt.gca().invert_yaxis() ax2 = ax1.twiny() Y = data.loc[pid[i]:pid[i+1]-1,['Layer_bottom']] X1 = data.loc[pid[i]:pid[i+1]-1,['D14C_BulkLayer']] # total SOC X2 = np.array(data.loc[pid[i]:pid[i+1]-1,['BulkDensity']]).astype(float)* \ (np.array(data.loc[pid[i]:pid[i+1]-1,['Layer_bottom']].astype(float)) \ -np.array(data.loc[pid[i]:pid[i+1]-1,['Layer_top']].astype(float))) * \
return besttau #%% test cal_tau import D14Cpreprocess as prep import pandas as pd import C14tools filename = 'Non_peat_data_synthesis.csv' Cave14C = prep.getCweightedD14C2(filename) data = pd.read_csv(filename,encoding='iso-8859-1',index_col='ProfileID', skiprows=[1]) profid = Cave14C[:,3] d14C = prep.getvarxls(data,'D14C_BulkLayer', profid, ':') sampleyr = prep.getvarxls(data, 'SampleYear', profid, ':') n0 = 40 nend = 60 %timeit tau, cost = C14tools.cal_tau(d14C[n0:nend], sampleyr[n0:nend]) #%% import numba as nb #@nb.jit(nb.f8(nb.f8[:])) #@nb.autojit def summ(arr): summ = 0. for i in arr: summ = summ + i return summ %timeit out = summ(np.arange(100000,dtype='float')) #%% calculate turnover time for d14C of each layer import C14tools as C14 import D14Cpreprocess as prep import mystats as mysm