DiadFit 0.0.78__py3-none-any.whl → 0.0.80__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.
- DiadFit/CO2_EOS.py +14 -3
- DiadFit/CO2_H2O_EOS.py +1088 -0
- DiadFit/CO2_in_bubble_error.py +4 -1
- DiadFit/Highrho_polyfit_dataUCB_1117_1400.pkl +0 -0
- DiadFit/Highrho_polyfit_data_CCMR.pkl +0 -0
- DiadFit/Lowrho_polyfit_dataUCB_1117_1400.pkl +0 -0
- DiadFit/Lowrho_polyfit_data_CCMR.pkl +0 -0
- DiadFit/Mediumrho_polyfit_dataUCB_1117_1400.pkl +0 -0
- DiadFit/Mediumrho_polyfit_data_CCMR.pkl +0 -0
- DiadFit/__init__.py +1 -0
- DiadFit/_version.py +1 -1
- DiadFit/cosmicray_filter.py +2 -0
- DiadFit/densimeters.py +124 -58
- DiadFit/diads.py +129 -52
- DiadFit/error_propagation.py +19 -4
- DiadFit/importing_data_files.py +37 -1
- DiadFit/ne_lines.py +108 -5
- {DiadFit-0.0.78.dist-info → DiadFit-0.0.80.dist-info}/METADATA +1 -1
- {DiadFit-0.0.78.dist-info → DiadFit-0.0.80.dist-info}/RECORD +21 -14
- {DiadFit-0.0.78.dist-info → DiadFit-0.0.80.dist-info}/WHEEL +1 -1
- {DiadFit-0.0.78.dist-info → DiadFit-0.0.80.dist-info}/top_level.txt +0 -0
DiadFit/ne_lines.py
CHANGED
@@ -3,7 +3,7 @@ import numpy as np
|
|
3
3
|
import matplotlib.pyplot as plt
|
4
4
|
from matplotlib import patches
|
5
5
|
import lmfit
|
6
|
-
from lmfit.models import GaussianModel, VoigtModel, LinearModel, ConstantModel, PseudoVoigtModel
|
6
|
+
from lmfit.models import GaussianModel, VoigtModel, LinearModel, ConstantModel, PseudoVoigtModel, SkewedVoigtModel
|
7
7
|
from scipy.signal import find_peaks
|
8
8
|
import os
|
9
9
|
import re
|
@@ -88,7 +88,8 @@ def calculate_Ne_splitting(wavelength=532.05, line1_shift=1117, line2_shift=1447
|
|
88
88
|
def calculate_Ne_line_positions(wavelength=532.05, cut_off_intensity=2000):
|
89
89
|
"""
|
90
90
|
Calculates Raman shift for a given laser wavelength of Ne lines, using the datatable from NIST of Ne line
|
91
|
-
emissoin in air and the intensity of each line.
|
91
|
+
emissoin in air and the intensity of each line.
|
92
|
+
Data from https://physics.nist.gov/PhysRefData/ASD/lines_form.html
|
92
93
|
|
93
94
|
Parameters
|
94
95
|
---------------
|
@@ -106,6 +107,31 @@ def calculate_Ne_line_positions(wavelength=532.05, cut_off_intensity=2000):
|
|
106
107
|
"""
|
107
108
|
|
108
109
|
Ne_emission_line_air=np.array([
|
110
|
+
|
111
|
+
|
112
|
+
541.85584,
|
113
|
+
542.009,
|
114
|
+
542.0155,
|
115
|
+
543.36513,
|
116
|
+
544.7120,
|
117
|
+
|
118
|
+
544.85091,
|
119
|
+
549.44158,
|
120
|
+
550.73442,
|
121
|
+
551.1176,
|
122
|
+
551.1485,
|
123
|
+
|
124
|
+
552.063,
|
125
|
+
553.36788,
|
126
|
+
553.86510,
|
127
|
+
555.90978,
|
128
|
+
556.24416,
|
129
|
+
|
130
|
+
556.27662,
|
131
|
+
556.30531,
|
132
|
+
|
133
|
+
|
134
|
+
|
109
135
|
556.244160,
|
110
136
|
556.276620,
|
111
137
|
556.305310,
|
@@ -142,7 +168,34 @@ def calculate_Ne_line_positions(wavelength=532.05, cut_off_intensity=2000):
|
|
142
168
|
|
143
169
|
])
|
144
170
|
|
145
|
-
Intensity=np.array([
|
171
|
+
Intensity=np.array([
|
172
|
+
|
173
|
+
1500,
|
174
|
+
12 ,
|
175
|
+
500,
|
176
|
+
2500,
|
177
|
+
80,
|
178
|
+
|
179
|
+
1500,
|
180
|
+
500,
|
181
|
+
250,
|
182
|
+
30,
|
183
|
+
150,
|
184
|
+
|
185
|
+
30,
|
186
|
+
750,
|
187
|
+
500,
|
188
|
+
350,
|
189
|
+
1500,
|
190
|
+
|
191
|
+
5000,
|
192
|
+
750,
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
1500.00,
|
146
199
|
5000.00,
|
147
200
|
750.00,
|
148
201
|
350.00,
|
@@ -689,6 +742,8 @@ const_params=True, spec_res=0.4) :
|
|
689
742
|
model0 = PseudoVoigtModel(prefix='p0_')#+ ConstantModel(prefix='c0')
|
690
743
|
if model_name=="VoigtModel":
|
691
744
|
model0 = VoigtModel(prefix='p0_')#+ ConstantModel(prefix='c0')
|
745
|
+
if model_name=='SkewedVoigtModel':
|
746
|
+
model0=SkewedVoigtModel(prefix='p0_')
|
692
747
|
|
693
748
|
pars0 = model0.make_params()
|
694
749
|
pars0['p0_center'].set(Ne_center, min=Ne_center-2*spec_res, max=Ne_center+2*spec_res)
|
@@ -725,6 +780,10 @@ const_params=True, spec_res=0.4) :
|
|
725
780
|
model1 = PseudoVoigtModel(prefix='p1_')#+ ConstantModel(prefix='c0')
|
726
781
|
if model_name=="VoigtModel":
|
727
782
|
model1 = VoigtModel(prefix='p1_')#+ ConstantModel(prefix='c0')
|
783
|
+
|
784
|
+
if model_name=='SkewedVoigtModel':
|
785
|
+
model1=SkewedVoigtModel(prefix='p1_')
|
786
|
+
|
728
787
|
pars1 = model1.make_params()
|
729
788
|
pars1['p1_'+ 'amplitude'].set(Amp_p0, min=min_off*Amp_p0, max=max_off*Amp_p0)
|
730
789
|
pars1['p1_'+ 'center'].set(Center_p0, min=Center_p0-spec_res/2, max=Center_p0+spec_res/2)
|
@@ -737,6 +796,8 @@ const_params=True, spec_res=0.4) :
|
|
737
796
|
peak = PseudoVoigtModel(prefix='p2_')#+ ConstantModel(prefix='c0')
|
738
797
|
if model_name=="VoigtModel":
|
739
798
|
peak = VoigtModel(prefix='p2_')#+ ConstantModel(prefix='c0')
|
799
|
+
if model_name=='SkewedVoigtModel':
|
800
|
+
peak=SkewedVoigtModel(prefix='p2_')
|
740
801
|
|
741
802
|
|
742
803
|
pars = peak.make_params()
|
@@ -791,6 +852,8 @@ const_params=True, spec_res=0.4) :
|
|
791
852
|
model_combo = PseudoVoigtModel(prefix='p1_')#+ ConstantModel(prefix='c0')
|
792
853
|
if model_name=="VoigtModel":
|
793
854
|
model_combo= VoigtModel(prefix='p1_')#+ ConstantModel(prefix='c0')
|
855
|
+
if model_name=='SkewedVoigtModel':
|
856
|
+
model_combo=SkewedVoigtModel(prefix='p1_')
|
794
857
|
|
795
858
|
|
796
859
|
|
@@ -934,6 +997,8 @@ model_name='PseudoVoigtModel', print_report=False, const_params=True, spec_res=0
|
|
934
997
|
model = PseudoVoigtModel()#+ ConstantModel(prefix='c0')
|
935
998
|
if model_name=="VoigtModel":
|
936
999
|
model = VoigtModel()#+ ConstantModel(prefix='c0')
|
1000
|
+
if model_name=="SkewedVoigtModel":
|
1001
|
+
model = SkewedVoigtModel()#+ ConstantModel(prefix='c0')
|
937
1002
|
|
938
1003
|
|
939
1004
|
|
@@ -1660,10 +1725,48 @@ def filter_Ne_Line_neighbours(*, df_combo=None, Corr_factor=None, number_av=6, o
|
|
1660
1725
|
## Lets make a plotting function for this notebook
|
1661
1726
|
|
1662
1727
|
def generate_Ne_corr_model(*, time, Ne_corr, N_poly=3, CI=0.67, bootstrap=False, std_error=True, N_bootstrap=500,save_fig=False, pkl_name='polyfit_data.pkl'):
|
1728
|
+
""" This function takes time stamp and Ne correctoin data to make a predictive polynomial, which it then saves as a pkl file
|
1729
|
+
|
1730
|
+
Parameters
|
1731
|
+
---------------
|
1732
|
+
time: pd.Series
|
1733
|
+
Time through the run
|
1734
|
+
|
1735
|
+
Ne_corr: df or pd.Series
|
1736
|
+
if dataframe, has to have the column 'Ne_corr'
|
1737
|
+
Else, just Ne correction factor as a pd.Series itself
|
1738
|
+
|
1739
|
+
CI: float. Default 0.67
|
1740
|
+
Confidence interval to save as uncertainty on model.
|
1741
|
+
|
1742
|
+
Either:
|
1743
|
+
|
1744
|
+
std_error: bool (True)
|
1745
|
+
calculates uncertainty on model using CI
|
1746
|
+
|
1747
|
+
Or:
|
1748
|
+
boostrap: bool (False)
|
1749
|
+
Used for testing of method, keep as False
|
1750
|
+
|
1751
|
+
save_fig:bool
|
1752
|
+
Saves figure.
|
1753
|
+
|
1754
|
+
pkl_name: str
|
1755
|
+
Name of model that is saved.
|
1756
|
+
|
1757
|
+
|
1758
|
+
|
1759
|
+
|
1760
|
+
|
1761
|
+
"""
|
1663
1762
|
# Define the x and y values
|
1664
1763
|
x_all = np.array([time])
|
1665
|
-
|
1666
|
-
|
1764
|
+
if isinstance(Ne_corr, pd.DataFrame):
|
1765
|
+
y_all = np.array([Ne_corr['Ne_Corr']])
|
1766
|
+
y_err=Ne_corr['1σ_Ne_Corr']
|
1767
|
+
else:
|
1768
|
+
y_all=Ne_corr
|
1769
|
+
y_err=0*Ne_corr
|
1667
1770
|
non_nan_indices = ~np.isnan(x_all) & ~np.isnan(y_all)
|
1668
1771
|
|
1669
1772
|
# Filter out NaN values
|
@@ -1,33 +1,40 @@
|
|
1
|
-
DiadFit/CO2_EOS.py,sha256=
|
2
|
-
DiadFit/
|
1
|
+
DiadFit/CO2_EOS.py,sha256=AeiM_s0cIVip5i5q1Shy8QXTUWz4XHG0VnfuBH5qRDY,28034
|
2
|
+
DiadFit/CO2_H2O_EOS.py,sha256=TLU2goWB6yGFbN4RBS0dRXG0oDQuuG0JftW32DZHmn4,37722
|
3
|
+
DiadFit/CO2_in_bubble_error.py,sha256=Ga_hNA63m-OZg2hBOqM7VvpJhnvvTCg6L3Qixh1Bh7A,14196
|
3
4
|
DiadFit/H2O_fitting.py,sha256=pbEa0JivZFAmWxEGY5VMetD95BGNCzkaatfXRVAV4fs,43889
|
4
5
|
DiadFit/Highrho_polyfit_data.pkl,sha256=7t6uXxI-HdfsvreAWORzMa9dXxUsnXqKBSo1O3EgiBw,1213
|
6
|
+
DiadFit/Highrho_polyfit_dataUCB_1117_1400.pkl,sha256=B7nX560JpBBBssSgr50oDDG-UKsNxAjp235eytquVaI,1213
|
5
7
|
DiadFit/Highrho_polyfit_dataUCB_1220_1400.pkl,sha256=0_eZVQ3Byh9u5xW9TnvlUJg_-bTDSjG3EpVhCutZZkk,1213
|
6
8
|
DiadFit/Highrho_polyfit_dataUCB_1220_1447.pkl,sha256=eQw3HIsZ7xRr9QKBKsxuZKyRdlMbnaFxtxlM72jcRjU,1213
|
9
|
+
DiadFit/Highrho_polyfit_data_CCMR.pkl,sha256=8hgi0kFoEn6aWAHl0hX34ez3EDAndPXWX3wlBvqPQdA,909
|
7
10
|
DiadFit/Highrho_polyfit_data_CMASS.pkl,sha256=g592Rk7HwM93_Ws8lg1RSun5GkqBZmdENQGf3rZv1Ig,829
|
8
11
|
DiadFit/Lowrho_polyfit_data.pkl,sha256=LFg0C3D3FXzhp_LdwZ3xzdxDZzrA70xvFACCBwLmpF0,751
|
12
|
+
DiadFit/Lowrho_polyfit_dataUCB_1117_1400.pkl,sha256=FttCfGvf9dKOXvFHeYLP3w1_N93N8_X4jwx9o5U_JOA,751
|
9
13
|
DiadFit/Lowrho_polyfit_dataUCB_1220_1400.pkl,sha256=y_53yUG4lv_OIYVWs7BTJjqVh3w55EJ_7pkk8NWodOc,751
|
10
14
|
DiadFit/Lowrho_polyfit_dataUCB_1220_1447.pkl,sha256=UNpo1WPgbqTApazne0DYbflrRr1kGbWXWA97XjNRQlg,751
|
15
|
+
DiadFit/Lowrho_polyfit_data_CCMR.pkl,sha256=G58_l4TpdBmVdsR1z6FWTQ9qDsemNeZOJvbCl-36zKs,1141
|
11
16
|
DiadFit/Lowrho_polyfit_data_CMASS.pkl,sha256=meT16KSMUAlxb0XC1T-vTa-X3ooJ2JjdWFJetHHCQfQ,997
|
12
17
|
DiadFit/Mediumrho_polyfit_data.pkl,sha256=zfl3MuTE-Oyz0T9tsYS0uU43tL9zSqrdss9sGHldRb0,1301
|
18
|
+
DiadFit/Mediumrho_polyfit_dataUCB_1117_1400.pkl,sha256=oGlsChnHyH4rWOg-HBsrW_oQKGoqe6-2zRodpHH9MSA,1301
|
13
19
|
DiadFit/Mediumrho_polyfit_dataUCB_1220_1400.pkl,sha256=Qxj74-mcCFj8LmwgqdChqNlw4XMXlOuuL03SZNZz5R8,1301
|
14
20
|
DiadFit/Mediumrho_polyfit_dataUCB_1220_1447.pkl,sha256=zdo1t0F8X6S8ovPldH9Hu2kYQGHU18w67TK48isp4NI,1301
|
21
|
+
DiadFit/Mediumrho_polyfit_data_CCMR.pkl,sha256=U6ODSdurqS0-lynm1MG1zktg8NuhYRbrYCsx8KI4SQ4,1221
|
15
22
|
DiadFit/Mediumrho_polyfit_data_CMASS.pkl,sha256=SBy1pIdqCAF9UtB9FLNTuD0-tFyD7swwJppdE2U_FsY,1557
|
16
23
|
DiadFit/Psensor.py,sha256=C2xSlgxhUJIKIBDvUp02QaYRs5QsIqjGGRMP25ZLRZ0,10435
|
17
|
-
DiadFit/__init__.py,sha256=
|
18
|
-
DiadFit/_version.py,sha256=
|
24
|
+
DiadFit/__init__.py,sha256=wXZHfLvkI9ye1TFrdykATP8Kn7I-UdNFBTmHZI1V9EQ,1181
|
25
|
+
DiadFit/_version.py,sha256=SazyQZ1u3ZbLcm4V_X0Afuz2vYszLoDthUrzhh_eAB4,296
|
19
26
|
DiadFit/argon_lines.py,sha256=vtzsuDdEgrAmEF9xwpejpFqKV9hKPS1JUYhIl4AfXZ0,7675
|
20
|
-
DiadFit/cosmicray_filter.py,sha256=
|
27
|
+
DiadFit/cosmicray_filter.py,sha256=SqowmxChJG4Is6_K5E5OqJ1WaSWSaGKg-hSDBOJIVA0,23626
|
21
28
|
DiadFit/densimeter_fitting.py,sha256=Uel9a4qUVz6r-my09uuHFRjD9oPFF-kd5ZBPYfYfOQM,8086
|
22
|
-
DiadFit/densimeters.py,sha256=
|
29
|
+
DiadFit/densimeters.py,sha256=hcgcymwPf0POP5xT29mADM4L80arqW6ZKJ3Yq3EYJIE,48086
|
23
30
|
DiadFit/density_depth_crustal_profiles.py,sha256=XPauKf62hMp-iw701XfphaVe3o6LRJSwuQXAcSDXv6s,16983
|
24
|
-
DiadFit/diads.py,sha256=
|
25
|
-
DiadFit/error_propagation.py,sha256=
|
26
|
-
DiadFit/importing_data_files.py,sha256=
|
31
|
+
DiadFit/diads.py,sha256=61B5qFSsTO81k6T9Qy3wLFOv7oR5tubIySrtXUmdCWM,173053
|
32
|
+
DiadFit/error_propagation.py,sha256=_x82UIXz46-Qjvvz2tDAblyDkOe_51JI27wvSDkSOms,35080
|
33
|
+
DiadFit/importing_data_files.py,sha256=zghBVGWLLQaG9dWKSIa7KaDmqUBmyhm7ZgBmV5f4SuI,38926
|
27
34
|
DiadFit/molar_gas_proportions.py,sha256=_oEZn_vndHGDaXAjZ6UU8ycujBx_qB2KGCGqZSzotQU,3389
|
28
|
-
DiadFit/ne_lines.py,sha256
|
35
|
+
DiadFit/ne_lines.py,sha256=-Xv62LJ2OOGSCeKsQjmXZ7yD3g2ZOG1okxvVp8PYzXM,67144
|
29
36
|
DiadFit/relaxifi.py,sha256=hHzRsJPQIVohYi3liy9IQJpaomgsa2zbLQmhqkpdfrI,31549
|
30
|
-
DiadFit-0.0.
|
31
|
-
DiadFit-0.0.
|
32
|
-
DiadFit-0.0.
|
33
|
-
DiadFit-0.0.
|
37
|
+
DiadFit-0.0.80.dist-info/METADATA,sha256=EWYJK6FLJ5O1UaUS66QjXOPadAJQiJ41C1I8ZTR5riQ,1159
|
38
|
+
DiadFit-0.0.80.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
39
|
+
DiadFit-0.0.80.dist-info/top_level.txt,sha256=yZC6OFLVznaFA5kcPlFPkvhKotcVd-YO4bKxZZw3LQE,8
|
40
|
+
DiadFit-0.0.80.dist-info/RECORD,,
|
File without changes
|