AeroViz 0.1.21__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.
Files changed (180) hide show
  1. AeroViz/__init__.py +13 -0
  2. AeroViz/__pycache__/__init__.cpython-312.pyc +0 -0
  3. AeroViz/data/DEFAULT_DATA.csv +1417 -0
  4. AeroViz/data/DEFAULT_PNSD_DATA.csv +1417 -0
  5. AeroViz/data/hysplit_example_data.txt +101 -0
  6. AeroViz/dataProcess/Chemistry/__init__.py +149 -0
  7. AeroViz/dataProcess/Chemistry/__pycache__/__init__.cpython-312.pyc +0 -0
  8. AeroViz/dataProcess/Chemistry/_calculate.py +557 -0
  9. AeroViz/dataProcess/Chemistry/_isoropia.py +150 -0
  10. AeroViz/dataProcess/Chemistry/_mass_volume.py +487 -0
  11. AeroViz/dataProcess/Chemistry/_ocec.py +172 -0
  12. AeroViz/dataProcess/Chemistry/isrpia.cnf +21 -0
  13. AeroViz/dataProcess/Chemistry/isrpia2.exe +0 -0
  14. AeroViz/dataProcess/Optical/PyMieScatt_update.py +577 -0
  15. AeroViz/dataProcess/Optical/_IMPROVE.py +452 -0
  16. AeroViz/dataProcess/Optical/__init__.py +281 -0
  17. AeroViz/dataProcess/Optical/__pycache__/PyMieScatt_update.cpython-312.pyc +0 -0
  18. AeroViz/dataProcess/Optical/__pycache__/__init__.cpython-312.pyc +0 -0
  19. AeroViz/dataProcess/Optical/__pycache__/mie_theory.cpython-312.pyc +0 -0
  20. AeroViz/dataProcess/Optical/_derived.py +518 -0
  21. AeroViz/dataProcess/Optical/_extinction.py +123 -0
  22. AeroViz/dataProcess/Optical/_mie_sd.py +912 -0
  23. AeroViz/dataProcess/Optical/_retrieve_RI.py +243 -0
  24. AeroViz/dataProcess/Optical/coefficient.py +72 -0
  25. AeroViz/dataProcess/Optical/fRH.pkl +0 -0
  26. AeroViz/dataProcess/Optical/mie_theory.py +260 -0
  27. AeroViz/dataProcess/README.md +271 -0
  28. AeroViz/dataProcess/SizeDistr/__init__.py +245 -0
  29. AeroViz/dataProcess/SizeDistr/__pycache__/__init__.cpython-312.pyc +0 -0
  30. AeroViz/dataProcess/SizeDistr/__pycache__/_size_dist.cpython-312.pyc +0 -0
  31. AeroViz/dataProcess/SizeDistr/_size_dist.py +810 -0
  32. AeroViz/dataProcess/SizeDistr/merge/README.md +93 -0
  33. AeroViz/dataProcess/SizeDistr/merge/__init__.py +20 -0
  34. AeroViz/dataProcess/SizeDistr/merge/_merge_v0.py +251 -0
  35. AeroViz/dataProcess/SizeDistr/merge/_merge_v0_1.py +246 -0
  36. AeroViz/dataProcess/SizeDistr/merge/_merge_v1.py +255 -0
  37. AeroViz/dataProcess/SizeDistr/merge/_merge_v2.py +244 -0
  38. AeroViz/dataProcess/SizeDistr/merge/_merge_v3.py +518 -0
  39. AeroViz/dataProcess/SizeDistr/merge/_merge_v4.py +422 -0
  40. AeroViz/dataProcess/SizeDistr/prop.py +62 -0
  41. AeroViz/dataProcess/VOC/__init__.py +14 -0
  42. AeroViz/dataProcess/VOC/__pycache__/__init__.cpython-312.pyc +0 -0
  43. AeroViz/dataProcess/VOC/_potential_par.py +108 -0
  44. AeroViz/dataProcess/VOC/support_voc.json +446 -0
  45. AeroViz/dataProcess/__init__.py +66 -0
  46. AeroViz/dataProcess/__pycache__/__init__.cpython-312.pyc +0 -0
  47. AeroViz/dataProcess/core/__init__.py +272 -0
  48. AeroViz/dataProcess/core/__pycache__/__init__.cpython-312.pyc +0 -0
  49. AeroViz/mcp_server.py +352 -0
  50. AeroViz/plot/__init__.py +13 -0
  51. AeroViz/plot/__pycache__/__init__.cpython-312.pyc +0 -0
  52. AeroViz/plot/__pycache__/bar.cpython-312.pyc +0 -0
  53. AeroViz/plot/__pycache__/box.cpython-312.pyc +0 -0
  54. AeroViz/plot/__pycache__/pie.cpython-312.pyc +0 -0
  55. AeroViz/plot/__pycache__/radar.cpython-312.pyc +0 -0
  56. AeroViz/plot/__pycache__/regression.cpython-312.pyc +0 -0
  57. AeroViz/plot/__pycache__/scatter.cpython-312.pyc +0 -0
  58. AeroViz/plot/__pycache__/violin.cpython-312.pyc +0 -0
  59. AeroViz/plot/bar.py +126 -0
  60. AeroViz/plot/box.py +69 -0
  61. AeroViz/plot/distribution/__init__.py +1 -0
  62. AeroViz/plot/distribution/__pycache__/__init__.cpython-312.pyc +0 -0
  63. AeroViz/plot/distribution/__pycache__/distribution.cpython-312.pyc +0 -0
  64. AeroViz/plot/distribution/distribution.py +576 -0
  65. AeroViz/plot/meteorology/CBPF.py +295 -0
  66. AeroViz/plot/meteorology/__init__.py +3 -0
  67. AeroViz/plot/meteorology/__pycache__/CBPF.cpython-312.pyc +0 -0
  68. AeroViz/plot/meteorology/__pycache__/__init__.cpython-312.pyc +0 -0
  69. AeroViz/plot/meteorology/__pycache__/hysplit.cpython-312.pyc +0 -0
  70. AeroViz/plot/meteorology/__pycache__/wind_rose.cpython-312.pyc +0 -0
  71. AeroViz/plot/meteorology/hysplit.py +93 -0
  72. AeroViz/plot/meteorology/wind_rose.py +77 -0
  73. AeroViz/plot/optical/__init__.py +1 -0
  74. AeroViz/plot/optical/__pycache__/__init__.cpython-312.pyc +0 -0
  75. AeroViz/plot/optical/__pycache__/optical.cpython-312.pyc +0 -0
  76. AeroViz/plot/optical/optical.py +388 -0
  77. AeroViz/plot/pie.py +210 -0
  78. AeroViz/plot/radar.py +184 -0
  79. AeroViz/plot/regression.py +200 -0
  80. AeroViz/plot/scatter.py +174 -0
  81. AeroViz/plot/templates/__init__.py +6 -0
  82. AeroViz/plot/templates/__pycache__/__init__.cpython-312.pyc +0 -0
  83. AeroViz/plot/templates/__pycache__/ammonium_rich.cpython-312.pyc +0 -0
  84. AeroViz/plot/templates/__pycache__/contour.cpython-312.pyc +0 -0
  85. AeroViz/plot/templates/__pycache__/corr_matrix.cpython-312.pyc +0 -0
  86. AeroViz/plot/templates/__pycache__/diurnal_pattern.cpython-312.pyc +0 -0
  87. AeroViz/plot/templates/__pycache__/koschmieder.cpython-312.pyc +0 -0
  88. AeroViz/plot/templates/__pycache__/metal_heatmap.cpython-312.pyc +0 -0
  89. AeroViz/plot/templates/ammonium_rich.py +34 -0
  90. AeroViz/plot/templates/contour.py +47 -0
  91. AeroViz/plot/templates/corr_matrix.py +267 -0
  92. AeroViz/plot/templates/diurnal_pattern.py +61 -0
  93. AeroViz/plot/templates/koschmieder.py +95 -0
  94. AeroViz/plot/templates/metal_heatmap.py +164 -0
  95. AeroViz/plot/timeseries/__init__.py +2 -0
  96. AeroViz/plot/timeseries/__pycache__/__init__.cpython-312.pyc +0 -0
  97. AeroViz/plot/timeseries/__pycache__/template.cpython-312.pyc +0 -0
  98. AeroViz/plot/timeseries/__pycache__/timeseries.cpython-312.pyc +0 -0
  99. AeroViz/plot/timeseries/template.py +47 -0
  100. AeroViz/plot/timeseries/timeseries.py +446 -0
  101. AeroViz/plot/utils/__init__.py +4 -0
  102. AeroViz/plot/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  103. AeroViz/plot/utils/__pycache__/_color.cpython-312.pyc +0 -0
  104. AeroViz/plot/utils/__pycache__/_unit.cpython-312.pyc +0 -0
  105. AeroViz/plot/utils/__pycache__/plt_utils.cpython-312.pyc +0 -0
  106. AeroViz/plot/utils/__pycache__/sklearn_utils.cpython-312.pyc +0 -0
  107. AeroViz/plot/utils/_color.py +71 -0
  108. AeroViz/plot/utils/_unit.py +55 -0
  109. AeroViz/plot/utils/fRH.json +390 -0
  110. AeroViz/plot/utils/plt_utils.py +92 -0
  111. AeroViz/plot/utils/sklearn_utils.py +49 -0
  112. AeroViz/plot/utils/units.json +89 -0
  113. AeroViz/plot/violin.py +80 -0
  114. AeroViz/rawDataReader/FLOW.md +138 -0
  115. AeroViz/rawDataReader/__init__.py +220 -0
  116. AeroViz/rawDataReader/__pycache__/__init__.cpython-312.pyc +0 -0
  117. AeroViz/rawDataReader/config/__init__.py +0 -0
  118. AeroViz/rawDataReader/config/__pycache__/__init__.cpython-312.pyc +0 -0
  119. AeroViz/rawDataReader/config/__pycache__/supported_instruments.cpython-312.pyc +0 -0
  120. AeroViz/rawDataReader/config/supported_instruments.py +135 -0
  121. AeroViz/rawDataReader/core/__init__.py +658 -0
  122. AeroViz/rawDataReader/core/__pycache__/__init__.cpython-312.pyc +0 -0
  123. AeroViz/rawDataReader/core/__pycache__/logger.cpython-312.pyc +0 -0
  124. AeroViz/rawDataReader/core/__pycache__/pre_process.cpython-312.pyc +0 -0
  125. AeroViz/rawDataReader/core/__pycache__/qc.cpython-312.pyc +0 -0
  126. AeroViz/rawDataReader/core/__pycache__/report.cpython-312.pyc +0 -0
  127. AeroViz/rawDataReader/core/logger.py +171 -0
  128. AeroViz/rawDataReader/core/pre_process.py +308 -0
  129. AeroViz/rawDataReader/core/qc.py +961 -0
  130. AeroViz/rawDataReader/core/report.py +579 -0
  131. AeroViz/rawDataReader/script/AE33.py +173 -0
  132. AeroViz/rawDataReader/script/AE43.py +151 -0
  133. AeroViz/rawDataReader/script/APS.py +339 -0
  134. AeroViz/rawDataReader/script/Aurora.py +191 -0
  135. AeroViz/rawDataReader/script/BAM1020.py +90 -0
  136. AeroViz/rawDataReader/script/BC1054.py +161 -0
  137. AeroViz/rawDataReader/script/EPA.py +79 -0
  138. AeroViz/rawDataReader/script/GRIMM.py +68 -0
  139. AeroViz/rawDataReader/script/IGAC.py +140 -0
  140. AeroViz/rawDataReader/script/MA350.py +179 -0
  141. AeroViz/rawDataReader/script/Minion.py +218 -0
  142. AeroViz/rawDataReader/script/NEPH.py +199 -0
  143. AeroViz/rawDataReader/script/OCEC.py +173 -0
  144. AeroViz/rawDataReader/script/Q-ACSM.py +12 -0
  145. AeroViz/rawDataReader/script/SMPS.py +389 -0
  146. AeroViz/rawDataReader/script/TEOM.py +181 -0
  147. AeroViz/rawDataReader/script/VOC.py +106 -0
  148. AeroViz/rawDataReader/script/Xact.py +244 -0
  149. AeroViz/rawDataReader/script/__init__.py +28 -0
  150. AeroViz/rawDataReader/script/__pycache__/AE33.cpython-312.pyc +0 -0
  151. AeroViz/rawDataReader/script/__pycache__/AE43.cpython-312.pyc +0 -0
  152. AeroViz/rawDataReader/script/__pycache__/APS.cpython-312.pyc +0 -0
  153. AeroViz/rawDataReader/script/__pycache__/Aurora.cpython-312.pyc +0 -0
  154. AeroViz/rawDataReader/script/__pycache__/BAM1020.cpython-312.pyc +0 -0
  155. AeroViz/rawDataReader/script/__pycache__/BC1054.cpython-312.pyc +0 -0
  156. AeroViz/rawDataReader/script/__pycache__/EPA.cpython-312.pyc +0 -0
  157. AeroViz/rawDataReader/script/__pycache__/GRIMM.cpython-312.pyc +0 -0
  158. AeroViz/rawDataReader/script/__pycache__/IGAC.cpython-312.pyc +0 -0
  159. AeroViz/rawDataReader/script/__pycache__/MA350.cpython-312.pyc +0 -0
  160. AeroViz/rawDataReader/script/__pycache__/Minion.cpython-312.pyc +0 -0
  161. AeroViz/rawDataReader/script/__pycache__/NEPH.cpython-312.pyc +0 -0
  162. AeroViz/rawDataReader/script/__pycache__/OCEC.cpython-312.pyc +0 -0
  163. AeroViz/rawDataReader/script/__pycache__/Q-ACSM.cpython-312.pyc +0 -0
  164. AeroViz/rawDataReader/script/__pycache__/SMPS.cpython-312.pyc +0 -0
  165. AeroViz/rawDataReader/script/__pycache__/TEOM.cpython-312.pyc +0 -0
  166. AeroViz/rawDataReader/script/__pycache__/VOC.cpython-312.pyc +0 -0
  167. AeroViz/rawDataReader/script/__pycache__/Xact.cpython-312.pyc +0 -0
  168. AeroViz/rawDataReader/script/__pycache__/__init__.cpython-312.pyc +0 -0
  169. AeroViz/tools/__init__.py +2 -0
  170. AeroViz/tools/__pycache__/__init__.cpython-312.pyc +0 -0
  171. AeroViz/tools/__pycache__/database.cpython-312.pyc +0 -0
  172. AeroViz/tools/__pycache__/dataclassifier.cpython-312.pyc +0 -0
  173. AeroViz/tools/database.py +95 -0
  174. AeroViz/tools/dataclassifier.py +117 -0
  175. AeroViz/tools/dataprinter.py +58 -0
  176. aeroviz-0.1.21.dist-info/METADATA +294 -0
  177. aeroviz-0.1.21.dist-info/RECORD +180 -0
  178. aeroviz-0.1.21.dist-info/WHEEL +5 -0
  179. aeroviz-0.1.21.dist-info/licenses/LICENSE +21 -0
  180. aeroviz-0.1.21.dist-info/top_level.txt +1 -0
@@ -0,0 +1,446 @@
1
+ {
2
+ "Benzene": {
3
+ "MIR": 0.72,
4
+ "MW": 78.11,
5
+ "SOAP": 92.9,
6
+ "KOH": 1.22
7
+ },
8
+ "Toluene": {
9
+ "MIR": 4.0,
10
+ "MW": 92.14,
11
+ "SOAP": 100.0,
12
+ "KOH": 5.63
13
+ },
14
+ "Ethylbenzene": {
15
+ "MIR": 3.04,
16
+ "MW": 106.17,
17
+ "SOAP": 111.6,
18
+ "KOH": 7.0
19
+ },
20
+ "m/p-Xylene": {
21
+ "MIR": 7.8,
22
+ "MW": 106.2,
23
+ "SOAP": 75.8,
24
+ "KOH": 18.95
25
+ },
26
+ "o-Xylene": {
27
+ "MIR": 7.64,
28
+ "MW": 106.16,
29
+ "SOAP": 95.5,
30
+ "KOH": 13.6
31
+ },
32
+ "Ethane": {
33
+ "MIR": 0.28,
34
+ "MW": 30.07,
35
+ "SOAP": 0.1,
36
+ "KOH": 0.248
37
+ },
38
+ "Propane": {
39
+ "MIR": 0.49,
40
+ "MW": 44.1,
41
+ "SOAP": 0.0,
42
+ "KOH": 1.09
43
+ },
44
+ "Isobutane": {
45
+ "MIR": 1.23,
46
+ "MW": 58.12,
47
+ "SOAP": 0.0,
48
+ "KOH": 2.12
49
+ },
50
+ "n-Butane": {
51
+ "MIR": 1.15,
52
+ "MW": 58.12,
53
+ "SOAP": 0.3,
54
+ "KOH": 2.36
55
+ },
56
+ "Isopentane": {
57
+ "MIR": 1.45,
58
+ "MW": 72.15,
59
+ "SOAP": 0.2,
60
+ "KOH": 3.6
61
+ },
62
+ "n-Pentane": {
63
+ "MIR": 1.31,
64
+ "MW": 72.15,
65
+ "SOAP": 0.3,
66
+ "KOH": 3.8
67
+ },
68
+ "n-Hexane": {
69
+ "MIR": 1.24,
70
+ "MW": 86.18,
71
+ "SOAP": 0.1,
72
+ "KOH": 5.2
73
+ },
74
+ "n-Heptane": {
75
+ "MIR": 1.07,
76
+ "MW": 100.21,
77
+ "SOAP": 0.1,
78
+ "KOH": 6.76
79
+ },
80
+ "n-Octane": {
81
+ "MIR": 0.9,
82
+ "MW": 114.23,
83
+ "SOAP": 0.8,
84
+ "KOH": 8.11
85
+ },
86
+ "n-Nonane": {
87
+ "MIR": 0.78,
88
+ "MW": 128.2,
89
+ "SOAP": 1.9,
90
+ "KOH": 9.7
91
+ },
92
+ "n-Decane": {
93
+ "MIR": 0.68,
94
+ "MW": 142.29,
95
+ "SOAP": 7.0,
96
+ "KOH": 11.0
97
+ },
98
+ "n-Undecane": {
99
+ "MIR": 0.61,
100
+ "MW": 156.31,
101
+ "SOAP": 16.2,
102
+ "KOH": 12.3
103
+ },
104
+ "n-Dodecane": {
105
+ "MIR": 0.55,
106
+ "MW": 170.34,
107
+ "SOAP": null,
108
+ "KOH": null
109
+ },
110
+ "Ethylene": {
111
+ "MIR": 9.0,
112
+ "MW": 28.05,
113
+ "SOAP": 1.3,
114
+ "KOH": 8.52
115
+ },
116
+ "Propylene": {
117
+ "MIR": 11.66,
118
+ "MW": 42.08,
119
+ "SOAP": 1.6,
120
+ "KOH": 26.3
121
+ },
122
+ "1-Butene": {
123
+ "MIR": 9.73,
124
+ "MW": 56.1,
125
+ "SOAP": 1.2,
126
+ "KOH": 31.4
127
+ },
128
+ "t-2-Butene": {
129
+ "MIR": 15.16,
130
+ "MW": 56.1,
131
+ "SOAP": 3.1,
132
+ "KOH": 56.4
133
+ },
134
+ "cis-2-Butene": {
135
+ "MIR": 14.24,
136
+ "MW": 56.1,
137
+ "SOAP": 3.6,
138
+ "KOH": 64.0
139
+ },
140
+ "1-Pentene": {
141
+ "MIR": 7.21,
142
+ "MW": 70.13,
143
+ "SOAP": 0.0,
144
+ "KOH": 31.4
145
+ },
146
+ "t-2-Pentene": {
147
+ "MIR": 10.56,
148
+ "MW": 70.13,
149
+ "SOAP": 4.0,
150
+ "KOH": 67.0
151
+ },
152
+ "cis-2-Pentene": {
153
+ "MIR": 10.38,
154
+ "MW": 70.13,
155
+ "SOAP": 3.6,
156
+ "KOH": 65.0
157
+ },
158
+ "1-Hexene": {
159
+ "MIR": 5.49,
160
+ "MW": 84.16,
161
+ "SOAP": null,
162
+ "KOH": null
163
+ },
164
+ "Acetylene": {
165
+ "MIR": 0.95,
166
+ "MW": 26.04,
167
+ "SOAP": 0.1,
168
+ "KOH": 0.85
169
+ },
170
+ "Cyclopentane": {
171
+ "MIR": 2.39,
172
+ "MW": 70.1,
173
+ "SOAP": 0.0,
174
+ "KOH": 4.97
175
+ },
176
+ "Methylcyclopentane": {
177
+ "MIR": 2.19,
178
+ "MW": 84.16,
179
+ "SOAP": 0.0,
180
+ "KOH": 5.2
181
+ },
182
+ "Cyclohexane": {
183
+ "MIR": 1.25,
184
+ "MW": 84.16,
185
+ "SOAP": 0.0,
186
+ "KOH": 6.97
187
+ },
188
+ "Methylcyclohexane": {
189
+ "MIR": 1.7,
190
+ "MW": 98.19,
191
+ "SOAP": 0.0,
192
+ "KOH": 4.97
193
+ },
194
+ "Isoprene": {
195
+ "MIR": 10.61,
196
+ "MW": 68.1,
197
+ "SOAP": 1.9,
198
+ "KOH": 100.0
199
+ },
200
+ "2,2-Dimethylbutane": {
201
+ "MIR": 1.17,
202
+ "MW": 86.17,
203
+ "SOAP": 0.0,
204
+ "KOH": 2.23
205
+ },
206
+ "2,3-Dimethylbutane": {
207
+ "MIR": 0.97,
208
+ "MW": 86.18,
209
+ "SOAP": 0.0,
210
+ "KOH": 5.78
211
+ },
212
+ "2-Methylpentane": {
213
+ "MIR": 1.5,
214
+ "MW": 86.18,
215
+ "SOAP": 0.0,
216
+ "KOH": 5.4
217
+ },
218
+ "3-Methylpentane": {
219
+ "MIR": 1.8,
220
+ "MW": 86.18,
221
+ "SOAP": 0.2,
222
+ "KOH": 5.2
223
+ },
224
+ "2,3-Dimethylpentane": {
225
+ "MIR": 1.34,
226
+ "MW": 100.2,
227
+ "SOAP": 0.4,
228
+ "KOH": 1.5
229
+ },
230
+ "2,4-Dimethylpentane": {
231
+ "MIR": 1.55,
232
+ "MW": 100.2,
233
+ "SOAP": 0.0,
234
+ "KOH": 4.77
235
+ },
236
+ "2-Methylhexane": {
237
+ "MIR": 1.19,
238
+ "MW": 100.2,
239
+ "SOAP": 0.0,
240
+ "KOH": 5.65
241
+ },
242
+ "3-Methylheptane": {
243
+ "MIR": 1.24,
244
+ "MW": 114.23,
245
+ "SOAP": 0.0,
246
+ "KOH": 5.6
247
+ },
248
+ "2,2,4-Trimethylpentane": {
249
+ "MIR": 1.26,
250
+ "MW": 114.23,
251
+ "SOAP": 0.0,
252
+ "KOH": 3.34
253
+ },
254
+ "2,3,4-Trimethylpentane": {
255
+ "MIR": 1.03,
256
+ "MW": 114.23,
257
+ "SOAP": 0.0,
258
+ "KOH": 6.6
259
+ },
260
+ "2-Methylheptane": {
261
+ "MIR": 1.07,
262
+ "MW": 114.23,
263
+ "SOAP": 0.0,
264
+ "KOH": 7.0
265
+ },
266
+ "3-Methylhexane": {
267
+ "MIR": 1.61,
268
+ "MW": 100.2,
269
+ "SOAP": 0.0,
270
+ "KOH": 7.0
271
+ },
272
+ "Styrene": {
273
+ "MIR": 1.73,
274
+ "MW": 104.15,
275
+ "SOAP": 212.3,
276
+ "KOH": 58.0
277
+ },
278
+ "Isopropylbenzene": {
279
+ "MIR": 2.52,
280
+ "MW": 120.19,
281
+ "SOAP": 95.5,
282
+ "KOH": 6.3
283
+ },
284
+ "n-Propylbenzene": {
285
+ "MIR": 2.03,
286
+ "MW": 120.2,
287
+ "SOAP": 109.7,
288
+ "KOH": 5.8
289
+ },
290
+ "m-Ethyltoluene": {
291
+ "MIR": 7.39,
292
+ "MW": 120.19,
293
+ "SOAP": 100.6,
294
+ "KOH": 11.8
295
+ },
296
+ "p-Ethyltoluene": {
297
+ "MIR": 4.44,
298
+ "MW": 120.19,
299
+ "SOAP": 69.7,
300
+ "KOH": 18.6
301
+ },
302
+ "o-Ethyltoluene": {
303
+ "MIR": 5.59,
304
+ "MW": 120.19,
305
+ "SOAP": 94.8,
306
+ "KOH": 11.9
307
+ },
308
+ "m-Diethylbenzene": {
309
+ "MIR": 7.1,
310
+ "MW": 134.22,
311
+ "SOAP": 0.0,
312
+ "KOH": 32.5
313
+ },
314
+ "p-Diethylbenzene": {
315
+ "MIR": 4.43,
316
+ "MW": 134.22,
317
+ "SOAP": 0.0,
318
+ "KOH": 32.7
319
+ },
320
+ "1,3,5-Trimethylbenzene": {
321
+ "MIR": 11.76,
322
+ "MW": 120.19,
323
+ "SOAP": 13.5,
324
+ "KOH": 56.7
325
+ },
326
+ "1,2,4-Trimethylbenzene": {
327
+ "MIR": 8.87,
328
+ "MW": 120.19,
329
+ "SOAP": 20.6,
330
+ "KOH": 32.5
331
+ },
332
+ "1,2,3-Trimethylbenzene": {
333
+ "MIR": 11.97,
334
+ "MW": 120.19,
335
+ "SOAP": 43.9,
336
+ "KOH": 32.7
337
+ },
338
+ "1,2-DCB": {
339
+ "MIR": 0.18,
340
+ "MW": 147.0,
341
+ "SOAP": null,
342
+ "KOH": null
343
+ },
344
+ "1,3-Butadiene": {
345
+ "MIR": 12.61,
346
+ "MW": 54.1,
347
+ "SOAP": 1.8,
348
+ "KOH": 66.6
349
+ },
350
+ "1,4-DCB": {
351
+ "MIR": 0.18,
352
+ "MW": 147.0,
353
+ "SOAP": null,
354
+ "KOH": null
355
+ },
356
+ "1-Octene": {
357
+ "MIR": 3.25,
358
+ "MW": 112.2,
359
+ "SOAP": null,
360
+ "KOH": 30.0
361
+ },
362
+ "2-Ethyltoluene": {
363
+ "MIR": 5.59,
364
+ "MW": 120.2,
365
+ "SOAP": 94.8,
366
+ "KOH": 11.9
367
+ },
368
+ "3,4-Ethyltoluene": {
369
+ "MIR": 5.92,
370
+ "MW": 120.2,
371
+ "SOAP": 85.2,
372
+ "KOH": 15.2
373
+ },
374
+ "Acetaldehyde": {
375
+ "MIR": 6.54,
376
+ "MW": 44.1,
377
+ "SOAP": 0.6,
378
+ "KOH": 15.0
379
+ },
380
+ "Acetone": {
381
+ "MIR": 0.36,
382
+ "MW": 58.1,
383
+ "SOAP": 0.3,
384
+ "KOH": 0.17
385
+ },
386
+ "Butyl Acetate": {
387
+ "MIR": 0.83,
388
+ "MW": 116.2,
389
+ "SOAP": 0.0,
390
+ "KOH": null
391
+ },
392
+ "Ethanol": {
393
+ "MIR": 1.53,
394
+ "MW": 46.1,
395
+ "SOAP": 0.6,
396
+ "KOH": 3.2
397
+ },
398
+ "Ethyl Acetate": {
399
+ "MIR": 0.63,
400
+ "MW": 88.1,
401
+ "SOAP": 0.1,
402
+ "KOH": null
403
+ },
404
+ "Hexane": {
405
+ "MIR": 1.24,
406
+ "MW": 86.2,
407
+ "SOAP": 0.1,
408
+ "KOH": 5.2
409
+ },
410
+ "IPA": {
411
+ "MIR": 0.61,
412
+ "MW": 60.1,
413
+ "SOAP": 0.4,
414
+ "KOH": 5.1
415
+ },
416
+ "Iso-Propylbenzene": {
417
+ "MIR": 2.52,
418
+ "MW": 120.2,
419
+ "SOAP": 95.5,
420
+ "KOH": 6.3
421
+ },
422
+ "PCE": {
423
+ "MIR": 0.03,
424
+ "MW": 165.8,
425
+ "SOAP": null,
426
+ "KOH": 0.16
427
+ },
428
+ "Propene": {
429
+ "MIR": 11.66,
430
+ "MW": 42.1,
431
+ "SOAP": 1.6,
432
+ "KOH": 26.3
433
+ },
434
+ "TCE": {
435
+ "MIR": 0.64,
436
+ "MW": 131.4,
437
+ "SOAP": null,
438
+ "KOH": 1.9
439
+ },
440
+ "VCM": {
441
+ "MIR": 2.83,
442
+ "MW": 62.5,
443
+ "SOAP": null,
444
+ "KOH": null
445
+ }
446
+ }
@@ -0,0 +1,66 @@
1
+ from pathlib import Path
2
+
3
+ from .Chemistry import Chemistry
4
+ from .Optical import Optical
5
+ from .SizeDistr import SizeDistr
6
+ from .VOC import VOC
7
+
8
+ __all__ = ['DataProcess']
9
+
10
+
11
+ def DataProcess(method: str,
12
+ path_out: Path,
13
+ excel: bool = False,
14
+ csv: bool = True,
15
+ ):
16
+ """Factory function to create appropriate data processing module based on method type.
17
+
18
+ This function serves as an entry point for different data processing methods in AeroViz.
19
+ It returns an instance of the appropriate processor class based on the specified method.
20
+
21
+ Parameters
22
+ ----------
23
+ method : str
24
+ The processing method to use. Must be one of: 'Chemistry', 'Optical',
25
+ 'SizeDistr', or 'VOC'.
26
+ path_out : Path
27
+ Path where processed output files will be saved.
28
+ excel : bool, default=False
29
+ Whether to save output in Excel format.
30
+ csv : bool, default=True
31
+ Whether to save output in CSV format.
32
+
33
+ Returns
34
+ -------
35
+ object
36
+ Instance of the selected processing class initialized with the provided parameters.
37
+
38
+ Raises
39
+ ------
40
+ ValueError
41
+ If the specified method name is not in the supported methods list.
42
+
43
+ Examples
44
+ --------
45
+ >>> from AeroViz import DataProcess
46
+ >>> from pathlib import Path
47
+ >>> processor = DataProcess(method='Optical', path_out=Path('./results'))
48
+ """
49
+ # Mapping of method names to their respective classes
50
+ method_class_map = {
51
+ 'Chemistry': Chemistry,
52
+ 'Optical': Optical,
53
+ 'SizeDistr': SizeDistr,
54
+ 'VOC': VOC
55
+ }
56
+
57
+ if method not in method_class_map.keys():
58
+ raise ValueError(f"Method name '{method}' is not valid. \nMust be one of: {list(method_class_map.keys())}")
59
+
60
+ writer_module = method_class_map[method](
61
+ path_out=path_out,
62
+ excel=excel,
63
+ csv=csv
64
+ )
65
+
66
+ return writer_module