ararpy 0.1.193__py3-none-any.whl → 0.1.195__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/__init__.py CHANGED
@@ -16,7 +16,7 @@ from . import calc, smp, files, thermo, test
16
16
  """ Information """
17
17
 
18
18
  name = 'ararpy'
19
- version = '0.1.193'
19
+ version = '0.1.195'
20
20
  __version__ = version
21
21
  full_version = version
22
22
  last_update = '2024-03-28'
ararpy/calc/arr.py CHANGED
@@ -575,7 +575,7 @@ def wtd_mean(a: list, e: list, sf: int = 1, adjust_error: bool = True):
575
575
  k0 = sum(a * wt) / sum(wt) # error weighting
576
576
  k4 = sum((a - k0) ** 2 * wt) # Chi square
577
577
  k3 = k4 / df # MSWD mentioned in Min et al., 2000
578
- if adjust_error:
578
+ if adjust_error and k3 > 1:
579
579
  k1 = (k3 / sum(wt)) ** .5
580
580
  else:
581
581
  k1 = (1 / sum(wt)) ** .5
ararpy/smp/basic.py CHANGED
@@ -500,10 +500,16 @@ def set_params(smp: Sample, params: Union[List, str], flag: Optional[str] = None
500
500
  flag = params.split(".")[-1]
501
501
  return set_params(smp, read_params(params), flag=flag)
502
502
 
503
+ def isValid(item):
504
+ valid = True
505
+ if isinstance(item, (float, int)):
506
+ valid = not np.isnan(item)
507
+ return valid and item is not None and item != ""
508
+
503
509
  def remove_none(old_params, new_params, row_list, length):
504
510
  res = [[old_params[i][j] if j < len(old_params[i]) else None for j in range(max(len(old_params[i]), length))] for i in range(len(old_params))]
505
511
  for index, item in enumerate(new_params):
506
- if item is not None:
512
+ if isValid(item):
507
513
  for row in row_list:
508
514
  res[index][row] = item
509
515
  return res
ararpy/smp/corr.py CHANGED
@@ -349,7 +349,7 @@ def calc_degas_r(sample: Sample):
349
349
  """
350
350
  ar40ar = calc.arr.sub(sample.CorrectedValues[8:10], sample.DegasValues[30:32])
351
351
  ar40r = calc.arr.sub(ar40ar, sample.DegasValues[26:28])
352
- ar40r[0] = [item if item >= 0 else 0 for item in ar40r[0]]
352
+ ar40r[0] = [0 if item < 0 and sample.TotalParam[101][index] else item for index, item in enumerate(ar40r[0])]
353
353
  sample.DegasValues[24:26] = copy.deepcopy(ar40r)
354
354
  sample.PublishValues[4] = copy.deepcopy(ar40r[0])
355
355
 
ararpy/smp/export.py CHANGED
@@ -1069,7 +1069,7 @@ class WritingWorkbook:
1069
1069
  material = self.sample.Info.sample.material
1070
1070
  weight = self.sample.Info.sample.weight
1071
1071
  J_value = self.sample.TotalParam[67][0]
1072
- J_error = self.sample.TotalParam[68][0]
1072
+ J_error = self.sample.TotalParam[68][0] * self.sample.TotalParam[67][0] / 100
1073
1073
  sigma = self.sample.Info.preference['confidenceLevel']
1074
1074
  sequence_type = {"StepLaser": "Laser", "StepFurnace": "Temperature", "StepCrusher": "Drop", }.get(method, "Step Value")
1075
1075
  sequence_unit = self.sample.Info.sample.sequence_unit if self.sample.Info.sample.sequence_unit != "" else "Unit"
ararpy/smp/initial.py CHANGED
@@ -268,10 +268,10 @@ def initial_plot_styles(sample: Sample, except_attrs=None):
268
268
  set_attr(plot, key, attr)
269
269
 
270
270
 
271
- def re_set_smp(sample: Sample):
271
+ def re_set_smp(smp: Sample):
272
272
  std = initial(Sample())
273
- basic.get_merged_smp(sample, std)
274
- return sample
273
+ basic.get_merged_smp(smp, std)
274
+ return check_version(smp)
275
275
 
276
276
 
277
277
  def check_version(smp: Sample):
@@ -286,10 +286,11 @@ def check_version(smp: Sample):
286
286
 
287
287
  """
288
288
  if smp.version != samples.VERSION:
289
- re_set_smp(smp)
290
- if int(smp.version) <= 20250328: # Experiment info
291
- smp.Info.experiment.name = smp.name()
292
- smp.Info.experiment.step_num = smp.sequence().size
289
+ std = initial(Sample())
290
+ basic.get_merged_smp(smp, std)
291
+ # if int(smp.version) <= 20250328: # Experiment info
292
+ smp.Info.experiment.name = smp.name()
293
+ smp.Info.experiment.step_num = smp.sequence().size
293
294
  return smp
294
295
 
295
296
 
@@ -356,7 +357,7 @@ def from_calc_files(file_path: str, **kwargs):
356
357
  """
357
358
  file = calc_file.ArArCalcFile(file_path=file_path, **kwargs).open()
358
359
  sample = create_sample_from_df(file.get_content(), file.get_smp_info())
359
- return sample
360
+ return check_version(sample)
360
361
 
361
362
 
362
363
  # create
@@ -375,7 +376,7 @@ def from_full_files(file_path: str, sample_name: str = None):
375
376
  sample_name = str(os.path.split(file_path)[-1]).split('.')[0]
376
377
  content, sample_info = calc_file.open_full_xls(file_path, sample_name)
377
378
  sample = create_sample_from_dict(content=content, smp_info=sample_info)
378
- return sample
379
+ return check_version(sample)
379
380
 
380
381
 
381
382
  # create
@@ -453,4 +454,4 @@ def from_raw_data(raw: RawData, mapping: Optional[List[dict]] = None) -> Sample:
453
454
 
454
455
  # sample.TotalParam[31] = [raw.get_sequence(row['unknown'], flag='name').datetime for row in mapping]
455
456
 
456
- return sample
457
+ return check_version(sample)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ararpy
3
- Version: 0.1.193
3
+ Version: 0.1.195
4
4
  Summary: A project for Ar-Ar geochronology
5
5
  Home-page: https://github.com/wuyangchn/ararpy.git
6
6
  Author: Yang Wu
@@ -1,8 +1,8 @@
1
- ararpy/__init__.py,sha256=QfdReexcG5Yr6FnRw6MgPjN21f5KMgIiZWqQeGo7eXM,6858
1
+ ararpy/__init__.py,sha256=kHlsop1f9Gs6d_F7G0JhTvhjwahHtgf73991YlqIAWs,6858
2
2
  ararpy/test.py,sha256=4F46-JJ1Ge12HGae0qO44Qc6kiEMHBgn2MsY_5LlHDo,3973
3
3
  ararpy/calc/__init__.py,sha256=kUjRuLE8TLuKOv3i976RnGJoEMj23QBZDu37LWs81U4,322
4
4
  ararpy/calc/age.py,sha256=POBF_UxfXM_GCfXR_sTE__-fOvYZleNXXSuR_SIrFrI,5782
5
- ararpy/calc/arr.py,sha256=D3z4jVSkRgQJfF0vgSUrSdvr_DIxSSrdulY1d9H7BNI,15138
5
+ ararpy/calc/arr.py,sha256=vrjerWuP-2VlMshoOPyOYvBnbHifkhdRISYfOD06ZZk,15149
6
6
  ararpy/calc/basic.py,sha256=uJCCUFaPd9zvfkggrdbFYSGLl2pt7UJ7ENgXanzHy68,4036
7
7
  ararpy/calc/corr.py,sha256=HnCbf_84gKD6vMX7PflZym-I1MezRKfNHYfEtkDCCaI,18598
8
8
  ararpy/calc/err.py,sha256=63LtprqjemlIb1QGDst4Ggcv5KMSDHdlAIL-nyQs1eA,2691
@@ -41,14 +41,14 @@ ararpy/files/raw_file.py,sha256=5hnZMS7r78lA0ZXrBEN5SWVurQyl0QsHOI9rJz5BQv8,2230
41
41
  ararpy/files/xls.py,sha256=DVcZ_yRnc19p-m4leGGjt-YPDpSa2udYKmGyrM0qub0,640
42
42
  ararpy/smp/EXPORT_TO_PDF_DATA_PROPERTIES.py,sha256=baDM437tu6hsPv0uYfod0TREXlPd6kvMBFT1S9ZZlkk,3024
43
43
  ararpy/smp/__init__.py,sha256=k6_fa27UJsQK7K7oC5GYlwMo6l0Xd8af3QtOrZz2XJk,478
44
- ararpy/smp/basic.py,sha256=kVB-MXIO2NWmYhLSuKqSFqmbns7pIcJytghl_I2eV2Y,22401
44
+ ararpy/smp/basic.py,sha256=k9Vk_LP6P9HO68gMvPQ-adkvaVXEobg1FY-rF5YG7HQ,22588
45
45
  ararpy/smp/calculation.py,sha256=LCFJWjLVLEKEQ5b7RFUIxsMahEzgLdodW4kCYXV5Z34,2919
46
46
  ararpy/smp/consts.py,sha256=XIdjdz8cYxspG2jMnoItdlUsxr3hKbNFJjMZJh1bpzw,393
47
- ararpy/smp/corr.py,sha256=1MDH41TsBVyuyI45mqaqP2IvEm_jAUMZgR0MG7uNiu4,25598
47
+ ararpy/smp/corr.py,sha256=D3Ac2iUq3FjzKZR8yhnMLpG__YVEbtyVVfly873m6xc,25649
48
48
  ararpy/smp/diffusion_funcs.py,sha256=4-PMMIZWzjk2HOYYWNgSp4GmApygp1MmOxJ2g3xrqWc,175049
49
- ararpy/smp/export.py,sha256=tSG4zJ7uaU4yjha8kr-dxancG7OiUA6QhoSeS9Vb4sE,115005
49
+ ararpy/smp/export.py,sha256=s89L5B1aHoCeJIjcw6nXA6NtV0j_5XXaWnOETWnomCs,115043
50
50
  ararpy/smp/info.py,sha256=iKUELm-BuUduDlJKC1d8tKKNHbwwbNmhUg2pi6bcBvA,489
51
- ararpy/smp/initial.py,sha256=SmV37y4u56VWn3_X3e9clzGlJtlTyX9P5ngl6QxkBZY,16211
51
+ ararpy/smp/initial.py,sha256=x4zBFXnNKFzuQEWrfBp9Z7LMHxtzr9ASBf-Dnqc_IEA,16304
52
52
  ararpy/smp/json.py,sha256=BTZCjVN0aj9epc700nwkYEYMKN2lHBYo-pLmtnz5oHY,2300
53
53
  ararpy/smp/plots.py,sha256=u4gUSTfLO6rErQDp3N0hyBf2uc-8CUfITlAtnpN3DG8,31722
54
54
  ararpy/smp/raw.py,sha256=51n-rrbW2FqeZHQyevuG7iObPLGvIBzTe414QDVM1FE,6523
@@ -59,8 +59,8 @@ ararpy/thermo/__init__.py,sha256=6VBuqTRFl403PVqOuMkVrut0nKaQsAosBmfW91X1dMg,263
59
59
  ararpy/thermo/arrhenius.py,sha256=Ass1ichHfqIAtpv8eLlgrUc1UOb3Urh1qzr1E3gLB4U,233
60
60
  ararpy/thermo/atomic_level_random_walk.py,sha256=Q97zfe2h2RaxADkoBAqd0uEiP16BFOajrTmXHMkL2EQ,25502
61
61
  ararpy/thermo/basic.py,sha256=nBGHI9uK7VdJwThwBIOcKAzdnYqPyQseFoY6s4zKizk,11504
62
- ararpy-0.1.193.dist-info/licenses/LICENSE,sha256=cvG5t_C1qY_zUyJI7sNOa7gCArdngNPaOrfujl2LYuc,1085
63
- ararpy-0.1.193.dist-info/METADATA,sha256=vRxhbvztlZdq06Z2FbYRqNw4xhYMYTB0ka4ca1NxbbM,24517
64
- ararpy-0.1.193.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
65
- ararpy-0.1.193.dist-info/top_level.txt,sha256=9iTpsPCYuRYq09yQTk9d2lqB8JtTEOmbN-IcGB-K3vY,7
66
- ararpy-0.1.193.dist-info/RECORD,,
62
+ ararpy-0.1.195.dist-info/licenses/LICENSE,sha256=cvG5t_C1qY_zUyJI7sNOa7gCArdngNPaOrfujl2LYuc,1085
63
+ ararpy-0.1.195.dist-info/METADATA,sha256=GVX2BTS_XSVYOwfWyGP1wcRbtly3ESqicOA-g_Afxao,24517
64
+ ararpy-0.1.195.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
65
+ ararpy-0.1.195.dist-info/top_level.txt,sha256=9iTpsPCYuRYq09yQTk9d2lqB8JtTEOmbN-IcGB-K3vY,7
66
+ ararpy-0.1.195.dist-info/RECORD,,