ararpy 0.1.199__py3-none-any.whl → 0.2.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ararpy/Example - Check arr.py +52 -0
- ararpy/Example - Granite Cooling History.py +411 -0
- ararpy/Example - Plot temperature calibration.py +291 -0
- ararpy/Example - Show MDD results.py +561 -0
- ararpy/Example - Show all Kfs age spectra.py +344 -0
- ararpy/Example - Show random walk results.py +363 -0
- ararpy/Example - Tc calculation.py +437 -0
- ararpy/__init__.py +3 -4
- ararpy/calc/age.py +34 -36
- ararpy/calc/arr.py +0 -20
- ararpy/calc/basic.py +26 -3
- ararpy/calc/corr.py +131 -85
- ararpy/calc/jvalue.py +7 -5
- ararpy/calc/plot.py +1 -2
- ararpy/calc/raw_funcs.py +41 -2
- ararpy/calc/regression.py +224 -132
- ararpy/files/arr_file.py +2 -1
- ararpy/files/basic.py +0 -22
- ararpy/files/calc_file.py +107 -84
- ararpy/files/raw_file.py +242 -229
- ararpy/smp/basic.py +133 -34
- ararpy/smp/calculation.py +6 -6
- ararpy/smp/corr.py +339 -153
- ararpy/smp/diffusion_funcs.py +345 -36
- ararpy/smp/export.py +247 -129
- ararpy/smp/info.py +2 -2
- ararpy/smp/initial.py +93 -45
- ararpy/smp/json.py +2 -2
- ararpy/smp/plots.py +144 -164
- ararpy/smp/raw.py +11 -15
- ararpy/smp/sample.py +222 -181
- ararpy/smp/style.py +26 -7
- ararpy/smp/table.py +42 -33
- ararpy/thermo/atomic_level_random_walk.py +56 -48
- ararpy/thermo/basic.py +2 -2
- {ararpy-0.1.199.dist-info → ararpy-0.2.2.dist-info}/METADATA +10 -1
- ararpy-0.2.2.dist-info/RECORD +73 -0
- {ararpy-0.1.199.dist-info → ararpy-0.2.2.dist-info}/WHEEL +1 -1
- ararpy-0.1.199.dist-info/RECORD +0 -66
- {ararpy-0.1.199.dist-info → ararpy-0.2.2.dist-info}/licenses/LICENSE +0 -0
- {ararpy-0.1.199.dist-info → ararpy-0.2.2.dist-info}/top_level.txt +0 -0
ararpy/files/calc_file.py
CHANGED
|
@@ -22,7 +22,7 @@ import os
|
|
|
22
22
|
import msoffcrypto
|
|
23
23
|
|
|
24
24
|
from . import xls
|
|
25
|
-
from ..calc.basic import get_datetime
|
|
25
|
+
from ..calc.basic import get_datetime, parser
|
|
26
26
|
from ..calc import arr, err, isochron
|
|
27
27
|
|
|
28
28
|
|
|
@@ -66,6 +66,7 @@ def open_252(data: pd.DataFrame, logs01: pd.DataFrame, logs02: pd.DataFrame):
|
|
|
66
66
|
data[-999] = [0] * data.index.size
|
|
67
67
|
data[999] = [1] * data.index.size
|
|
68
68
|
data[-1] = [np.nan] * data.index.size
|
|
69
|
+
data[-2] = [''] * data.index.size
|
|
69
70
|
# rows_unm --> 样品阶段数
|
|
70
71
|
sequence_index = [1, 2, ]
|
|
71
72
|
sample_values_index = [16, 17, 21, 22, 26, 27, 31, 32, 36, 37,]
|
|
@@ -88,28 +89,27 @@ def open_252(data: pd.DataFrame, logs01: pd.DataFrame, logs02: pd.DataFrame):
|
|
|
88
89
|
isochron_values_index = [
|
|
89
90
|
116, 117, 118, 119, 122, # normal isochron
|
|
90
91
|
-1, 127, 128, 129, 130, 133, # inverse
|
|
91
|
-
-1, -
|
|
92
|
-
-1, -
|
|
93
|
-
-1, -
|
|
94
|
-
-1, -
|
|
92
|
+
-1, -1, -1, -1, -1, -1, # 39/38 vs 40/38
|
|
93
|
+
-1, -1, -1, -1, -1, -1, # 39/40 vs 39/40
|
|
94
|
+
-1, -1, -1, -1, -1, -1, # 38/39 vs 40/39
|
|
95
|
+
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, # 3D isochron, 36/39, 38/39, 40/39
|
|
95
96
|
]
|
|
96
97
|
isochron_mark_index = [115,]
|
|
97
98
|
total_param_index = [
|
|
98
99
|
71, 72, 73, 74, 75, 76, 77, 78, 79, 80, # 0-9
|
|
99
100
|
81, 82, 83, 84, 85, 86, 87, 88, 89, 90, # 10-19
|
|
100
|
-
91, 92, 93, 94, 95, 96, -999, -
|
|
101
|
-
-999, -
|
|
101
|
+
91, 92, 93, 94, 95, 96, -999, -2, 63, -999, # 20-29
|
|
102
|
+
-999, -2, -1, -1, -999, -999, -999, -999, -999, -999, # 30-39
|
|
102
103
|
-999, -999, -999, -999, -999, -999, -999, -999, -999, -999, # 40-49
|
|
103
104
|
-999, -999, -999, -999, -999, -999, -999, -999, 67, 49, # 50-59
|
|
104
105
|
50, -999, -999, -999, -999, -999, -999, 51, 52, 53, # 60-69
|
|
105
106
|
54, -999, -999, -999, -999, -999, -999, -999, -999, -999, # 70-79
|
|
106
107
|
-999, -999, -999, -999, -999, -999, -999, -999, -999, -999, # 80-89
|
|
107
|
-
-999, -999, -999, -999, -999, -999, -999, -
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-999, -999, -999, -999, -999, -999, -999, -999, #
|
|
111
|
-
|
|
112
|
-
-999, -999, -999, -999, -999, # 131-135
|
|
108
|
+
-999, -999, -999, -999, -999, -999, -999, -2, -999, -999, # 90-99
|
|
109
|
+
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, # 100-109
|
|
110
|
+
-2, -2, -2, -2, -2, -2, -999, -999, -999, -999, # 110-119
|
|
111
|
+
-999, -999, -999, -999, -999, -999, 999, -999, 999, -999, # 120-129
|
|
112
|
+
999, -999, 999, -999, 999, -999, 999, -999, # 130-137
|
|
113
113
|
]
|
|
114
114
|
|
|
115
115
|
# double transpose to remove keys
|
|
@@ -128,6 +128,14 @@ def open_252(data: pd.DataFrame, logs01: pd.DataFrame, logs02: pd.DataFrame):
|
|
|
128
128
|
|
|
129
129
|
# adjustment
|
|
130
130
|
isochron_mark.replace({4.0: '1'}, inplace=True)
|
|
131
|
+
isochron_mark.replace({'●': '1'}, inplace=True)
|
|
132
|
+
|
|
133
|
+
total_param[71] = 35.96754628
|
|
134
|
+
total_param[73] = 36.9667759
|
|
135
|
+
total_param[75] = 37.9627322
|
|
136
|
+
total_param[77] = 38.964313
|
|
137
|
+
total_param[79] = 39.962383123
|
|
138
|
+
|
|
131
139
|
total_param[83] = logs01[1][9] # No
|
|
132
140
|
total_param[84] = logs01[1][10] # %SD
|
|
133
141
|
total_param[81] = logs01[1][11] # K mass
|
|
@@ -150,9 +158,9 @@ def open_252(data: pd.DataFrame, logs01: pd.DataFrame, logs02: pd.DataFrame):
|
|
|
150
158
|
total_param[51] = logs01[1][27] # %SD
|
|
151
159
|
total_param[52] = logs01[1][28] # 40K(\beta-) activities param
|
|
152
160
|
total_param[53] = logs01[1][29] # %SD
|
|
153
|
-
total_param[48] = logs01[1][26] + logs01[1][28] # 40K
|
|
154
|
-
total_param[49] = 100 / total_param[48] * pow(
|
|
155
|
-
(logs01[1][27] / 100 * logs01[1][26]) ** 2 + (logs01[1][29] / 100 * logs01[1][28]) ** 2, 0.5) # %SD
|
|
161
|
+
total_param[48] = logs01[1][26] + logs01[1][28] # 40K total activities param
|
|
162
|
+
total_param[49] = round(100 / total_param[48] * pow(
|
|
163
|
+
(logs01[1][27] / 100 * logs01[1][26]) ** 2 + (logs01[1][29] / 100 * logs01[1][28]) ** 2, 0.5), 6) # %SD
|
|
156
164
|
|
|
157
165
|
total_param[34] = logs01[1][36] # decay constant of 40K total
|
|
158
166
|
total_param[35] = logs01[1][37] # %SD
|
|
@@ -169,30 +177,29 @@ def open_252(data: pd.DataFrame, logs01: pd.DataFrame, logs02: pd.DataFrame):
|
|
|
169
177
|
total_param[44] = logs01[1][40] # decay constant of 37Ar
|
|
170
178
|
total_param[45] = logs01[1][41] # %SD
|
|
171
179
|
|
|
172
|
-
# logs01[1][49]
|
|
173
|
-
# logs01[1][50]
|
|
174
|
-
#
|
|
180
|
+
# logs01[1][49] # 1 for using weighted YORK isochron regression, 2 for unweighted
|
|
181
|
+
# logs01[1][50] # True for including errors on irradiation constants, False for excluding those
|
|
182
|
+
# logs01[1][67] # MDF method, 'LIN'
|
|
175
183
|
total_param[93] = logs01[1][70] # 40Ar/36Ar air
|
|
176
184
|
total_param[94] = logs01[1][71] # %SD
|
|
177
|
-
|
|
178
|
-
total_param[97] = 'York-2' # Fitting method
|
|
185
|
+
total_param[97] = 'York-2' if int(logs01[1][49]) == 1 else "" # Fitting method
|
|
179
186
|
total_param[98] = logs01[1][0] # Convergence
|
|
180
187
|
total_param[99] = logs01[1][1] # Iterations number
|
|
181
188
|
total_param[100] = logs01[1][67] # MDF method
|
|
182
|
-
total_param[101] = logs01[1][65] # force negative to zero when correct blank
|
|
189
|
+
total_param[101] = parser(logs01[1][65], bool) # force negative to zero when correct blank
|
|
183
190
|
total_param[102] = True # Apply 37Ar decay
|
|
184
191
|
total_param[103] = True # Apply 39Ar decay
|
|
185
|
-
total_param[104] = logs01[1][6] # Apply 37Ar decay
|
|
186
|
-
total_param[105] = logs01[1][7] # Apply 39Ar decay
|
|
187
|
-
total_param[106] = True # Apply
|
|
188
|
-
total_param[107] = True # Apply
|
|
189
|
-
total_param[108] =
|
|
190
|
-
total_param[109] =
|
|
192
|
+
total_param[104] = parser(logs01[1][6], bool) # Apply 37Ar decay
|
|
193
|
+
total_param[105] = parser(logs01[1][7], bool) # Apply 39Ar decay
|
|
194
|
+
total_param[106] = True # Apply Ca degas
|
|
195
|
+
total_param[107] = True # Apply K degas
|
|
196
|
+
total_param[108] = parser(logs01[1][8], bool) # Apply Cl degas
|
|
197
|
+
total_param[109] = True # Apply Trap degas
|
|
191
198
|
|
|
192
199
|
total_param[110] = True if logs01[1][5] == 'MIN' else False # Calculating ages using Min equation [True] or conventional equation [False]
|
|
193
|
-
total_param[111] = logs01[1][89] # Use primary standard or not
|
|
194
|
-
total_param[112] = logs01[1][91] # Use standard age or not
|
|
195
|
-
total_param[113] = logs01[1][92] # Use primary ratio or not
|
|
200
|
+
total_param[111] = parser(logs01[1][89], bool) # Use primary standard or not
|
|
201
|
+
total_param[112] = parser(logs01[1][91], bool) # Use standard age or not
|
|
202
|
+
total_param[113] = parser(logs01[1][92], bool) # Use primary ratio or not
|
|
196
203
|
|
|
197
204
|
# irradiation time
|
|
198
205
|
total_param = general_adjustment(
|
|
@@ -217,6 +224,7 @@ def open_240(data: pd.DataFrame, logs01: pd.DataFrame, logs02: pd.DataFrame):
|
|
|
217
224
|
data[-999] = [0] * data.index.size
|
|
218
225
|
data[999] = [1] * data.index.size
|
|
219
226
|
data[-1] = [np.nan] * data.index.size
|
|
227
|
+
data[-2] = [''] * data.index.size
|
|
220
228
|
# values index
|
|
221
229
|
sequence_index = [1, 2, ]
|
|
222
230
|
sample_values_index = [16, 17, 21, 22, 26, 27, 31, 32, 36, 37,]
|
|
@@ -248,13 +256,13 @@ def open_240(data: pd.DataFrame, logs01: pd.DataFrame, logs02: pd.DataFrame):
|
|
|
248
256
|
# inverse
|
|
249
257
|
-1, 125, 126, 127, 128, 131,
|
|
250
258
|
# 39/38 vs 40/38
|
|
251
|
-
-1, -
|
|
259
|
+
-1, -1, -1, -1, -1, -1,
|
|
252
260
|
# 39/40 vs 39/40
|
|
253
|
-
-1, -
|
|
261
|
+
-1, -1, -1, -1, -1, -1,
|
|
254
262
|
# 38/39 vs 40/39
|
|
255
|
-
-1, -
|
|
263
|
+
-1, -1, -1, -1, -1, -1,
|
|
256
264
|
# 3D isochron, 36/39, 38/39, 40/39, r1, r2, r3
|
|
257
|
-
-1, -
|
|
265
|
+
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
258
266
|
]
|
|
259
267
|
isochron_mark_index = [113,]
|
|
260
268
|
total_param_index = [
|
|
@@ -286,8 +294,8 @@ def open_240(data: pd.DataFrame, logs01: pd.DataFrame, logs02: pd.DataFrame):
|
|
|
286
294
|
-999, -999, -999, -999, -999, -999, -999, -999,
|
|
287
295
|
# 123-130
|
|
288
296
|
-999, -999, -999, -999, -999, -999, -999, -999,
|
|
289
|
-
# 131-
|
|
290
|
-
-999, -999, -999, -999, -999,
|
|
297
|
+
# 131-137
|
|
298
|
+
-999, -999, -999, -999, -999, 999, -999,
|
|
291
299
|
]
|
|
292
300
|
|
|
293
301
|
# double transpose to remove keys
|
|
@@ -310,12 +318,12 @@ def open_240(data: pd.DataFrame, logs01: pd.DataFrame, logs02: pd.DataFrame):
|
|
|
310
318
|
)
|
|
311
319
|
# Do adjustment
|
|
312
320
|
isochron_mark.replace({4.0: '1'}, inplace=True)
|
|
313
|
-
total_param[44] = logs01[1][40]
|
|
314
|
-
total_param[45] = logs01[1][41]
|
|
315
|
-
total_param[42] = logs01[1][38]
|
|
316
|
-
total_param[43] = logs01[1][39]
|
|
317
321
|
total_param[34] = logs01[1][36]
|
|
318
322
|
total_param[35] = logs01[1][37]
|
|
323
|
+
total_param[42] = logs01[1][38]
|
|
324
|
+
total_param[43] = logs01[1][39]
|
|
325
|
+
total_param[44] = logs01[1][40]
|
|
326
|
+
total_param[45] = logs01[1][41]
|
|
319
327
|
|
|
320
328
|
return [
|
|
321
329
|
sample_values, blank_values, corrected_values, degas_values, publish_values,
|
|
@@ -399,6 +407,8 @@ def general_adjustment(
|
|
|
399
407
|
total_param[32] = [i / (3600 * 24 * 365.242) for i in stand_time_second] # stand year
|
|
400
408
|
|
|
401
409
|
# initial ratios & error display settings
|
|
410
|
+
total_param[95] = logs02[9][irradiation_index] # 38Ar/36Ar air
|
|
411
|
+
total_param[96] = logs02[10][irradiation_index] # %SD
|
|
402
412
|
total_param[115] = 0
|
|
403
413
|
total_param[116] = 298.56
|
|
404
414
|
total_param[117] = 0.31
|
|
@@ -486,40 +496,41 @@ def open_full_xls(file_path: str, sample_name: str = ''):
|
|
|
486
496
|
res['Inverse Isochron Table'], rows, [4, 5, 6, 7, 10])
|
|
487
497
|
total_param = arr.partial(
|
|
488
498
|
res['Sample Parameters'], rows, [
|
|
489
|
-
# 1, 2,
|
|
490
|
-
-1, -1, -1, -1, #
|
|
491
|
-
-1, -1, -1, -1, #
|
|
492
|
-
-1, -1, -1, -1, -1, -1, #
|
|
493
|
-
-1, -1, -1, -1, #
|
|
494
|
-
-1, -1, #
|
|
495
|
-
23, 24, -1, -1, -1, -1, #
|
|
496
|
-
-1, -1, #
|
|
497
|
-
22, -1, -1, -1, #
|
|
498
|
-
-1, -1, #
|
|
499
|
-
-1, -1, #
|
|
500
|
-
-1, -1, #
|
|
501
|
-
-1, -1, #
|
|
502
|
-
-1, -1, #
|
|
503
|
-
-1, -1, #
|
|
504
|
-
-1, -1, #
|
|
505
|
-
-1, -1, #
|
|
506
|
-
-1, -1, #
|
|
507
|
-
-1, -1, #
|
|
508
|
-
-1, -1, #
|
|
509
|
-
-1, -1, #
|
|
510
|
-
-1, -1, #
|
|
511
|
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, #
|
|
512
|
-
10, 11, 12, 13, #
|
|
513
|
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, #
|
|
514
|
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, #
|
|
515
|
-
-1, -1, -1, -1, #
|
|
516
|
-
-1, -1, -1, -1, #
|
|
517
|
-
-1, -1, -1, -1, #
|
|
518
|
-
-1, -1, -1, -1, #
|
|
519
|
-
-1, -1, -1, -1, #
|
|
520
|
-
-1, -1, -1, -1, -1, -1, -1, -1, #
|
|
521
|
-
-1, -1, -1, -1, -1, -1, -1, -1, #
|
|
522
|
-
-1, -1, -1, -1, -1, #
|
|
499
|
+
# 1, 2, -1, # 0-2
|
|
500
|
+
-1, -1, -1, -1, # 3-6
|
|
501
|
+
-1, -1, -1, -1, # 7-10
|
|
502
|
+
-1, -1, -1, -1, -1, -1, # 11-16
|
|
503
|
+
-1, -1, -1, -1, # 17-20
|
|
504
|
+
-1, -1, # 21-22
|
|
505
|
+
23, 24, -1, -1, -1, -1, # 23-28
|
|
506
|
+
-1, -1, # 29-30
|
|
507
|
+
22, -1, -1, -1, # 31-34
|
|
508
|
+
-1, -1, # 35-36
|
|
509
|
+
-1, -1, # 37-38
|
|
510
|
+
-1, -1, # 39-40
|
|
511
|
+
-1, -1, # 41-42
|
|
512
|
+
-1, -1, # 43-44
|
|
513
|
+
-1, -1, # 45-46
|
|
514
|
+
-1, -1, # 47-48
|
|
515
|
+
-1, -1, # 49-50
|
|
516
|
+
-1, -1, # 51-52
|
|
517
|
+
-1, -1, # 53-54
|
|
518
|
+
-1, -1, # 55-56
|
|
519
|
+
-1, -1, # 57-58
|
|
520
|
+
-1, -1, # 59-60
|
|
521
|
+
-1, -1, -1, -1, -1, -1, -1, -1, -1, # 61-69
|
|
522
|
+
10, 11, 12, 13, # 70-73
|
|
523
|
+
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, # 74-85
|
|
524
|
+
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, # 86-95
|
|
525
|
+
-1, -1, -1, -1, # 96-99
|
|
526
|
+
-1, -1, -1, -1, # 100-103
|
|
527
|
+
-1, -1, -1, -1, # 104-107
|
|
528
|
+
-1, -1, -1, -1, # 108-111
|
|
529
|
+
-1, -1, -1, -1, # 112-115
|
|
530
|
+
-1, -1, -1, -1, -1, -1, -1, -1, # 116-123
|
|
531
|
+
-1, -1, -1, -1, -1, -1, -1, -1, # 124-131
|
|
532
|
+
-1, -1, -1, -1, -1, # 132-136
|
|
533
|
+
-1, -1, -1, -1, # 137-140
|
|
523
534
|
])
|
|
524
535
|
|
|
525
536
|
month_convert = {'Jan': '01', 'Feb': '02', 'Mar': '03', 'Apr': '04', 'May': '05', 'Jun': '06',
|
|
@@ -584,9 +595,9 @@ class ArArCalcFile:
|
|
|
584
595
|
book_contents = read_calc_file(self.file_path)
|
|
585
596
|
# create data frames for book values
|
|
586
597
|
content = pd.DataFrame(book_contents['Data Tables'])
|
|
587
|
-
logs01 = pd.DataFrame(book_contents
|
|
588
|
-
logs02 = pd.DataFrame(book_contents
|
|
589
|
-
logs03 = pd.DataFrame(book_contents
|
|
598
|
+
logs01 = pd.DataFrame(book_contents.get('Logs01', [[]]))
|
|
599
|
+
logs02 = pd.DataFrame(book_contents.get('Logs02', [[]]))
|
|
600
|
+
logs03 = pd.DataFrame(book_contents.get('Logs03', [[]]))
|
|
590
601
|
|
|
591
602
|
start_row = 5
|
|
592
603
|
sequence_num = int(logs03[2][0])
|
|
@@ -600,13 +611,15 @@ class ArArCalcFile:
|
|
|
600
611
|
if version == '25.2':
|
|
601
612
|
handler = open_252
|
|
602
613
|
material = data[45][0]
|
|
614
|
+
irra_label = data[46][0]
|
|
603
615
|
analyst = data[47][0]
|
|
604
616
|
elif version == '24.0':
|
|
605
617
|
handler = open_240
|
|
606
618
|
material = data[46][0]
|
|
607
619
|
analyst = data[48][0]
|
|
620
|
+
irra_label = ''
|
|
608
621
|
else:
|
|
609
|
-
raise ValueError(f'
|
|
622
|
+
raise ValueError(f'Unsupported version: {version}')
|
|
610
623
|
|
|
611
624
|
# change error type, 2sigma to 1sigma..., relative errors to absolute errors
|
|
612
625
|
data = change_error_type(data, header)
|
|
@@ -624,15 +637,19 @@ class ArArCalcFile:
|
|
|
624
637
|
# list(range(1, 26, 2)) irradiation correction constants
|
|
625
638
|
# list(range(39, 58, 2)) decay constants
|
|
626
639
|
# list(range(68, 97, 2)) J, MDF, other constants
|
|
627
|
-
for column in list(range(1, 26, 2)) + list(range(68, 71, 2)):
|
|
640
|
+
for column in list(range(1, 26, 2)) + list(range(68, 71, 2)): # irradiation constants and J, MDF uncertainties
|
|
628
641
|
self.content.loc[:, ('pam', column)] = \
|
|
629
|
-
(self.content['pam', column].astype("float") / (
|
|
630
|
-
self.content['pam', column - 1].astype("float")) * 100).replace(np.nan, 0)
|
|
642
|
+
round(self.content['pam', column].astype("float") / (
|
|
643
|
+
self.content['pam', column - 1].astype("float")) * 100, 6).replace(np.nan, 0)
|
|
631
644
|
|
|
632
645
|
# sample info
|
|
633
646
|
self.sample_info = {
|
|
647
|
+
'experiment': {
|
|
648
|
+
'name': self.sample_name,
|
|
649
|
+
'type': material, 'instrument': '', 'collectors': '','step_num': 0,
|
|
650
|
+
},
|
|
634
651
|
'sample': {
|
|
635
|
-
'name':
|
|
652
|
+
'name': data[44][0],
|
|
636
653
|
'material': material, 'location': 'LOCATION'
|
|
637
654
|
},
|
|
638
655
|
'researcher': {'name': data[64][0]},
|
|
@@ -640,7 +657,13 @@ class ArArCalcFile:
|
|
|
640
657
|
'name': logs01[1][44],
|
|
641
658
|
'analyst': analyst,
|
|
642
659
|
'info': '\n'.join([logs01[1][45], logs01[1][46], logs01[1][47]]),
|
|
643
|
-
}
|
|
660
|
+
},
|
|
661
|
+
'reference': {
|
|
662
|
+
'name': '', 'journal': '', 'doi': '',
|
|
663
|
+
},
|
|
664
|
+
'irradiation': {
|
|
665
|
+
'label': irra_label, 'pos_h': '', 'pos_x': '', 'pos_y': '',
|
|
666
|
+
},
|
|
644
667
|
}
|
|
645
668
|
|
|
646
669
|
return self
|