AeroViz 0.1.15__py3-none-any.whl → 0.1.16__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.

Potentially problematic release.


This version of AeroViz might be problematic. Click here for more details.

Files changed (75) hide show
  1. AeroViz/__pycache__/__init__.cpython-312.pyc +0 -0
  2. AeroViz/dataProcess/Chemistry/__pycache__/__init__.cpython-312.pyc +0 -0
  3. AeroViz/dataProcess/Optical/__pycache__/PyMieScatt_update.cpython-312.pyc +0 -0
  4. AeroViz/dataProcess/Optical/__pycache__/__init__.cpython-312.pyc +0 -0
  5. AeroViz/dataProcess/Optical/__pycache__/mie_theory.cpython-312.pyc +0 -0
  6. AeroViz/dataProcess/Optical/_scattering.py +1 -1
  7. AeroViz/dataProcess/SizeDistr/__pycache__/__init__.cpython-312.pyc +0 -0
  8. AeroViz/dataProcess/VOC/__pycache__/__init__.cpython-312.pyc +0 -0
  9. AeroViz/dataProcess/__pycache__/__init__.cpython-312.pyc +0 -0
  10. AeroViz/dataProcess/core/__pycache__/__init__.cpython-312.pyc +0 -0
  11. AeroViz/plot/__pycache__/__init__.cpython-312.pyc +0 -0
  12. AeroViz/plot/__pycache__/bar.cpython-312.pyc +0 -0
  13. AeroViz/plot/__pycache__/box.cpython-312.pyc +0 -0
  14. AeroViz/plot/__pycache__/pie.cpython-312.pyc +0 -0
  15. AeroViz/plot/__pycache__/radar.cpython-312.pyc +0 -0
  16. AeroViz/plot/__pycache__/regression.cpython-312.pyc +0 -0
  17. AeroViz/plot/__pycache__/scatter.cpython-312.pyc +0 -0
  18. AeroViz/plot/__pycache__/violin.cpython-312.pyc +0 -0
  19. AeroViz/plot/distribution/__pycache__/__init__.cpython-312.pyc +0 -0
  20. AeroViz/plot/distribution/__pycache__/distribution.cpython-312.pyc +0 -0
  21. AeroViz/plot/meteorology/__pycache__/CBPF.cpython-312.pyc +0 -0
  22. AeroViz/plot/meteorology/__pycache__/__init__.cpython-312.pyc +0 -0
  23. AeroViz/plot/meteorology/__pycache__/hysplit.cpython-312.pyc +0 -0
  24. AeroViz/plot/meteorology/__pycache__/wind_rose.cpython-312.pyc +0 -0
  25. AeroViz/plot/optical/__pycache__/__init__.cpython-312.pyc +0 -0
  26. AeroViz/plot/optical/__pycache__/optical.cpython-312.pyc +0 -0
  27. AeroViz/plot/templates/__pycache__/__init__.cpython-312.pyc +0 -0
  28. AeroViz/plot/templates/__pycache__/ammonium_rich.cpython-312.pyc +0 -0
  29. AeroViz/plot/templates/__pycache__/contour.cpython-312.pyc +0 -0
  30. AeroViz/plot/templates/__pycache__/corr_matrix.cpython-312.pyc +0 -0
  31. AeroViz/plot/templates/__pycache__/diurnal_pattern.cpython-312.pyc +0 -0
  32. AeroViz/plot/templates/__pycache__/koschmieder.cpython-312.pyc +0 -0
  33. AeroViz/plot/templates/__pycache__/metal_heatmap.cpython-312.pyc +0 -0
  34. AeroViz/plot/timeseries/__pycache__/__init__.cpython-312.pyc +0 -0
  35. AeroViz/plot/timeseries/__pycache__/template.cpython-312.pyc +0 -0
  36. AeroViz/plot/timeseries/__pycache__/timeseries.cpython-312.pyc +0 -0
  37. AeroViz/plot/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  38. AeroViz/plot/utils/__pycache__/_color.cpython-312.pyc +0 -0
  39. AeroViz/plot/utils/__pycache__/_unit.cpython-312.pyc +0 -0
  40. AeroViz/plot/utils/__pycache__/plt_utils.cpython-312.pyc +0 -0
  41. AeroViz/plot/utils/__pycache__/sklearn_utils.cpython-312.pyc +0 -0
  42. AeroViz/rawDataReader/__pycache__/__init__.cpython-312.pyc +0 -0
  43. AeroViz/rawDataReader/config/__pycache__/__init__.cpython-312.pyc +0 -0
  44. AeroViz/rawDataReader/config/__pycache__/supported_instruments.cpython-312.pyc +0 -0
  45. AeroViz/rawDataReader/core/__init__.py +76 -25
  46. AeroViz/rawDataReader/core/__pycache__/__init__.cpython-312.pyc +0 -0
  47. AeroViz/rawDataReader/core/__pycache__/logger.cpython-312.pyc +0 -0
  48. AeroViz/rawDataReader/core/__pycache__/qc.cpython-312.pyc +0 -0
  49. AeroViz/rawDataReader/script/TEOM.py +54 -17
  50. AeroViz/rawDataReader/script/__pycache__/AE33.cpython-312.pyc +0 -0
  51. AeroViz/rawDataReader/script/__pycache__/AE43.cpython-312.pyc +0 -0
  52. AeroViz/rawDataReader/script/__pycache__/APS.cpython-312.pyc +0 -0
  53. AeroViz/rawDataReader/script/__pycache__/Aurora.cpython-312.pyc +0 -0
  54. AeroViz/rawDataReader/script/__pycache__/BAM1020.cpython-312.pyc +0 -0
  55. AeroViz/rawDataReader/script/__pycache__/BC1054.cpython-312.pyc +0 -0
  56. AeroViz/rawDataReader/script/__pycache__/EPA.cpython-312.pyc +0 -0
  57. AeroViz/rawDataReader/script/__pycache__/GRIMM.cpython-312.pyc +0 -0
  58. AeroViz/rawDataReader/script/__pycache__/IGAC.cpython-312.pyc +0 -0
  59. AeroViz/rawDataReader/script/__pycache__/MA350.cpython-312.pyc +0 -0
  60. AeroViz/rawDataReader/script/__pycache__/Minion.cpython-312.pyc +0 -0
  61. AeroViz/rawDataReader/script/__pycache__/NEPH.cpython-312.pyc +0 -0
  62. AeroViz/rawDataReader/script/__pycache__/OCEC.cpython-312.pyc +0 -0
  63. AeroViz/rawDataReader/script/__pycache__/SMPS.cpython-312.pyc +0 -0
  64. AeroViz/rawDataReader/script/__pycache__/TEOM.cpython-312.pyc +0 -0
  65. AeroViz/rawDataReader/script/__pycache__/VOC.cpython-312.pyc +0 -0
  66. AeroViz/rawDataReader/script/__pycache__/XRF.cpython-312.pyc +0 -0
  67. AeroViz/rawDataReader/script/__pycache__/__init__.cpython-312.pyc +0 -0
  68. AeroViz/tools/__pycache__/__init__.cpython-312.pyc +0 -0
  69. AeroViz/tools/__pycache__/database.cpython-312.pyc +0 -0
  70. AeroViz/tools/__pycache__/dataclassifier.cpython-312.pyc +0 -0
  71. {AeroViz-0.1.15.dist-info → AeroViz-0.1.16.dist-info}/METADATA +2 -2
  72. {AeroViz-0.1.15.dist-info → AeroViz-0.1.16.dist-info}/RECORD +75 -75
  73. {AeroViz-0.1.15.dist-info → AeroViz-0.1.16.dist-info}/LICENSE +0 -0
  74. {AeroViz-0.1.15.dist-info → AeroViz-0.1.16.dist-info}/WHEEL +0 -0
  75. {AeroViz-0.1.15.dist-info → AeroViz-0.1.16.dist-info}/top_level.txt +0 -0
@@ -14,7 +14,7 @@ def _scaCoe(df, instru, specified_band: list):
14
14
  df_sca = df.copy().dropna()
15
15
 
16
16
  if instru == 'Neph':
17
- df_out = df_sca[['B']].copy()
17
+ df_out = df_sca[['G']].copy()
18
18
  df_out.columns = [f'sca_{_band}' for _band in specified_band]
19
19
  else:
20
20
  df_out = df_sca.apply(get_species_wavelength, axis=1, result_type='expand', args=(specified_band,))
@@ -1,7 +1,7 @@
1
1
  import json
2
2
  from abc import ABC, abstractmethod
3
3
  from contextlib import contextmanager
4
- from datetime import datetime, timedelta
4
+ from datetime import datetime
5
5
  from pathlib import Path
6
6
  from typing import Generator
7
7
 
@@ -179,20 +179,27 @@ class AbstractReader(ABC):
179
179
  else:
180
180
  self.__calculate_rates(raw_data, qc_data, all_keys=True, with_log=True)
181
181
 
182
- # 計算週和月的數據
182
+ # 使用 Grouper 對數據按週和月進行分組
183
183
  current_time = datetime.now()
184
- week_mask = raw_data.index >= current_time - timedelta(days=7)
185
- month_mask = raw_data.index >= current_time - timedelta(days=30)
184
+
185
+ # 按週分組 (使用星期一作為每週的開始)
186
+ weekly_raw_groups = raw_data.groupby(pd.Grouper(freq='W-MON'))
187
+ weekly_qc_groups = qc_data.groupby(pd.Grouper(freq='W-MON'))
188
+
189
+ # 按月分組 (使用月初作為每月的開始)
190
+ monthly_raw_groups = raw_data.groupby(pd.Grouper(freq='MS'))
191
+ monthly_qc_groups = qc_data.groupby(pd.Grouper(freq='MS'))
186
192
 
187
193
  # 生成報告
188
- self.__generate_report(
194
+ self.__generate_grouped_report(
189
195
  current_time,
190
- raw_data[week_mask], qc_data[week_mask],
191
- raw_data[month_mask], qc_data[month_mask]
196
+ weekly_raw_groups, weekly_qc_groups,
197
+ monthly_raw_groups, monthly_qc_groups
192
198
  )
193
199
 
194
- def __generate_report(self, current_time, week_raw_data, week_qc_data, month_raw_data, month_qc_data):
195
- """生成獲取率和良率的報告"""
200
+ def __generate_grouped_report(self, current_time, weekly_raw_groups, weekly_qc_groups,
201
+ monthly_raw_groups, monthly_qc_groups):
202
+ """生成基於分組數據的獲取率和良率報告"""
196
203
  report = {
197
204
  "report_time": current_time.strftime('%Y-%m-%d %H:%M:%S'),
198
205
  "instrument_info": {
@@ -200,21 +207,50 @@ class AbstractReader(ABC):
200
207
  "instrument": self.nam
201
208
  },
202
209
  "rates": {
203
- "weekly": self.__calculate_rates(week_raw_data, week_qc_data),
204
- "monthly": self.__calculate_rates(month_raw_data, month_qc_data),
205
- },
206
- "details": {
207
- "weekly": {
208
- "start_time": (current_time - timedelta(days=7)).strftime('%Y-%m-%d %H:%M:%S'),
209
- "end_time": current_time.strftime('%Y-%m-%d %H:%M:%S')
210
- },
211
- "monthly": {
212
- "start_time": (current_time - timedelta(days=30)).strftime('%Y-%m-%d %H:%M:%S'),
213
- "end_time": current_time.strftime('%Y-%m-%d %H:%M:%S')
214
- }
210
+ "weekly": {},
211
+ "monthly": {}
215
212
  }
216
213
  }
217
214
 
215
+ # 處理週數據 - 使用標準週時間範圍
216
+ for week_start, week_raw_data in weekly_raw_groups:
217
+ # 獲取對應的QC數據
218
+ week_qc_data = weekly_qc_groups.get_group(
219
+ week_start) if week_start in weekly_qc_groups.groups else pd.DataFrame()
220
+
221
+ if not week_raw_data.empty:
222
+ # 計算標準週結束時間(週日23:59:59)
223
+ week_end = week_start + pd.Timedelta(days=6, hours=23, minutes=59, seconds=59)
224
+
225
+ # 使用週的開始日期作為鍵
226
+ period_key = week_start.strftime('%Y-%m-%d')
227
+
228
+ report["rates"]["weekly"][period_key] = {
229
+ "start_time": week_start.strftime('%Y-%m-%d %H:%M:%S'),
230
+ "end_time": week_end.strftime('%Y-%m-%d %H:%M:%S'),
231
+ "rates": self.__calculate_rates(week_raw_data, week_qc_data)
232
+ }
233
+
234
+ # 處理月數據 - 使用標準月時間範圍
235
+ for month_start, month_raw_data in monthly_raw_groups:
236
+ # 獲取對應的QC數據
237
+ month_qc_data = monthly_qc_groups.get_group(
238
+ month_start) if month_start in monthly_qc_groups.groups else pd.DataFrame()
239
+
240
+ if not month_raw_data.empty:
241
+ # 計算標準月結束時間(月末23:59:59)
242
+ next_month_start = (month_start + pd.Timedelta(days=32)).replace(day=1)
243
+ month_end = next_month_start - pd.Timedelta(seconds=1)
244
+
245
+ # 使用月份作為鍵
246
+ period_key = month_start.strftime('%Y-%m')
247
+
248
+ report["rates"]["monthly"][period_key] = {
249
+ "start_time": month_start.strftime('%Y-%m-%d %H:%M:%S'),
250
+ "end_time": month_end.strftime('%Y-%m-%d %H:%M:%S'),
251
+ "rates": self.__calculate_rates(month_raw_data, month_qc_data)
252
+ }
253
+
218
254
  # 寫入報告
219
255
  with open(self.report_out, 'w') as f:
220
256
  json.dump(report, f, indent=4)
@@ -247,13 +283,28 @@ class AbstractReader(ABC):
247
283
  # Create new time index
248
284
  new_index = pd.date_range(user_start or df_start, user_end or df_end, freq=freq, name='time')
249
285
 
250
- # Process data: convert to numeric, resample, and reindex
286
+ # Process data: convert to numeric, resample, and reindex with controlled tolerance
251
287
  if freq in ['1min', 'min', 'T']:
252
- return _df.reindex(new_index, method='nearest', tolerance='1min')
288
+ # 對於分鐘級數據,使用較小的tolerance,例如30秒
289
+ return _df.reindex(new_index, method='nearest', tolerance='30s')
253
290
  elif freq in ['1h', 'h', 'H']:
254
- return _df.reindex(new_index, method='nearest', tolerance='1h')
291
+ # 對於小時級數據,使用30分鐘作為tolerance
292
+ # 這樣08:20會匹配到08:00,但不會匹配到09:00
293
+ return _df.reindex(new_index, method='nearest', tolerance='30min')
255
294
  else:
256
- return _df.reindex(new_index, method='nearest', tolerance=freq)
295
+ # 對於其他頻率,tolerance設置為頻率的一半
296
+ if isinstance(freq, str) and freq[-1].isalpha():
297
+ # 如果freq格式為'數字+單位',例如'2h','3min'
298
+ try:
299
+ num = int(freq[:-1])
300
+ unit = freq[-1]
301
+ half_freq = f"{num // 2}{unit}" if num > 1 else f"30{'min' if unit == 'h' else 's'}"
302
+ return _df.reindex(new_index, method='nearest', tolerance=half_freq)
303
+ except ValueError:
304
+ # 無法解析freq,使用默認值
305
+ return _df.reindex(new_index, method='nearest', tolerance=freq)
306
+ else:
307
+ return _df.reindex(new_index, method='nearest', tolerance=freq)
257
308
 
258
309
  def _outlier_process(self, _df):
259
310
  outlier_file = self.path / 'outlier.json'
@@ -7,40 +7,77 @@ from AeroViz.rawDataReader.core import AbstractReader
7
7
  class Reader(AbstractReader):
8
8
  nam = 'TEOM'
9
9
 
10
+ # TEOM Output Data Formats
11
+ # There are three data formats from TEOM instrument output:
12
+ #
13
+ # 1. Remote download format
14
+ # - Identified by 'Time Stamp' column
15
+ # - Date format: 'DD - MM - YYYY HH:MM:SS'
16
+ # - May contain Chinese month names requiring conversion
17
+ # - Maps columns: Time Stamp → time, System status → status,
18
+ # PM-2.5 base MC → PM_NV, PM-2.5 MC → PM_Total, PM-2.5 TEOM noise → noise
19
+ #
20
+ # 2. USB download or auto export format
21
+ # - Identified by 'tmoStatusCondition_0' column
22
+ # - Two possible time formats:
23
+ # a) Standard: 'Date' and 'Time' columns (YYYY-MM-DD HH:MM:SS)
24
+ # b) Alternative: 'time_stamp' column (similar to remote format)
25
+ # - Maps columns: tmoStatusCondition_0 → status, tmoTEOMABaseMC_0 → PM_NV,
26
+ # tmoTEOMAMC_0 → PM_Total, tmoTEOMANoise_0 → noise
27
+ #
28
+ # 3. Other formats
29
+ # - Not implemented, raises NotImplementedError
30
+ #
31
+ # All formats are standardized to the same column names with timestamp as index
32
+
10
33
  def _raw_reader(self, file):
34
+ # TEOM Data Format Handler
35
+ # Standardizes different TEOM data formats (remote download and USB/auto export)
11
36
  _df = read_csv(file, skiprows=3, index_col=False)
12
37
 
13
- if 'Time Stamp' in _df.columns: # remote download
14
- _df = _df.rename(columns={'Time Stamp': 'time',
15
- 'System status': 'status',
16
- 'PM-2.5 base MC': 'PM_NV',
17
- 'PM-2.5 MC': 'PM_Total',
18
- 'PM-2.5 TEOM noise': 'noise', })
19
-
20
- _time_replace = {'十一月': '11', '十二月': '12', '一月': '01', '二月': '02', '三月': '03', '四月': '04',
21
- '五月': '05', '六月': '06', '七月': '07', '八月': '08', '九月': '09', '十月': '10'}
22
-
38
+ # Chinese month name conversion dictionary
39
+ _time_replace = {'十一月': '11', '十二月': '12', '一月': '01', '二月': '02', '三月': '03', '四月': '04',
40
+ '五月': '05', '六月': '06', '七月': '07', '八月': '08', '九月': '09', '十月': '10'}
41
+
42
+ # Try both naming conventions (will ignore columns that don't exist)
43
+ _df = _df.rename(columns={
44
+ # Remote download format
45
+ 'Time Stamp': 'time',
46
+ 'System status': 'status',
47
+ 'PM-2.5 base MC': 'PM_NV',
48
+ 'PM-2.5 MC': 'PM_Total',
49
+ 'PM-2.5 TEOM noise': 'noise',
50
+ # USB/auto export format
51
+ 'time_stamp': 'time',
52
+ 'tmoStatusCondition_0': 'status',
53
+ 'tmoTEOMABaseMC_0': 'PM_NV',
54
+ 'tmoTEOMAMC_0': 'PM_Total',
55
+ 'tmoTEOMANoise_0': 'noise'
56
+ })
57
+
58
+ # Handle different time formats
59
+ if 'time' in _df.columns: # Remote download or auto export with time column
23
60
  _tm_idx = _df.time
61
+ # Convert Chinese month names if present
24
62
  for _ori, _rpl in _time_replace.items():
25
63
  _tm_idx = _tm_idx.str.replace(_ori, _rpl)
26
64
 
27
65
  _df = _df.set_index(to_datetime(_tm_idx, errors='coerce', format='%d - %m - %Y %X'))
28
66
 
29
- elif 'tmoStatusCondition_0' in _df.columns: # usb download
30
- _df['time'] = pd.to_datetime(_df['Date'] + ' ' + _df['Time'], errors='coerce', format='%Y-%m-%d %H:%M:%S')
67
+ elif 'Date' in _df.columns and 'Time' in _df.columns: # USB download format
68
+ _df['time'] = pd.to_datetime(_df['Date'] + ' ' + _df['Time'],
69
+ errors='coerce', format='%Y-%m-%d %H:%M:%S')
31
70
  _df.drop(columns=['Date', 'Time'], inplace=True)
32
71
  _df.set_index('time', inplace=True)
33
72
 
34
- _df = _df.rename(columns={'tmoStatusCondition_0': 'status',
35
- 'tmoTEOMABaseMC_0': 'PM_NV',
36
- 'tmoTEOMAMC_0': 'PM_Total',
37
- 'tmoTEOMANoise_0': 'noise', })
38
73
  else:
39
- raise NotImplementedError
74
+ raise NotImplementedError("Unsupported TEOM data format")
40
75
 
76
+ # Filter and clean data
41
77
  _df = _df.where(_df['status'] < 1)
42
78
  _df = _df[['PM_NV', 'PM_Total', 'noise']].apply(to_numeric, errors='coerce')
43
79
 
80
+ # Remove duplicates and NaN indices
44
81
  return _df.loc[~_df.index.duplicated() & _df.index.notna()]
45
82
 
46
83
  # QC data
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: AeroViz
3
- Version: 0.1.15
3
+ Version: 0.1.16
4
4
  Summary: Aerosol science
5
5
  Author-email: alex <alex870521@gmail.com>
6
6
  License: MIT
@@ -111,7 +111,7 @@ data = RawDataReader(
111
111
  ```
112
112
 
113
113
  ```pycon
114
- > Concole output
114
+ > Console output
115
115
  ╔════════════════════════════════════════════════════════════════════════════════╗
116
116
  ║ Reading NEPH RAW DATA from 2024-02-01 00:00:00 to 2024-04-30 23:59:59 ║
117
117
  ╚════════════════════════════════════════════════════════════════════════════════╝
@@ -1,5 +1,5 @@
1
1
  AeroViz/__init__.py,sha256=4ICXg4UATkGXIUziaXcPX2Yaqj6OK5SL0ilU1JKeGFw,341
2
- AeroViz/__pycache__/__init__.cpython-312.pyc,sha256=aFpl89yMoqZUtVBa95RCgX-Vj9wrkvmFq3WmV1X_0cA,428
2
+ AeroViz/__pycache__/__init__.cpython-312.pyc,sha256=vRC7b-VlxS3o-6jvkrEl43xP3kR7uuvOVFUVcCzZXVs,428
3
3
  AeroViz/data/DEFAULT_DATA.csv,sha256=eeeyeh8vSLKkE5tAF0TYnUNOyQIH98VA41bJaAP204Y,2248526
4
4
  AeroViz/data/DEFAULT_PNSD_DATA.csv,sha256=imLvLA80oYwo_jzXZtlQn5hZ76d47HUIlK2jp0tZPrg,2636511
5
5
  AeroViz/data/hysplit_example_data.txt,sha256=DWfY83EW3fOcv9dW-Y4pudq8-M7BJlXD-tlMSYrAk2w,8946
@@ -13,7 +13,7 @@ AeroViz/dataProcess/Chemistry/_partition.py,sha256=tKhb6BJns46UiUlEq6Zq7ahYnvUJ_
13
13
  AeroViz/dataProcess/Chemistry/_teom.py,sha256=IiM-TrifWpQLTbKllG-4k4c3mvQulfcmjswWu6muCXA,486
14
14
  AeroViz/dataProcess/Chemistry/isrpia.cnf,sha256=iWXTqsOZFmNrJxAI9nYuilZ9h6ru1icdPFVim7YKc_k,566
15
15
  AeroViz/dataProcess/Chemistry/isrpia2.exe,sha256=xFYPTXHSjl_-atmVcTmqqOkTZgUn1p8h-kFMcoGMIQw,1560032
16
- AeroViz/dataProcess/Chemistry/__pycache__/__init__.cpython-312.pyc,sha256=9A8LX8u96t1GRqam9CifX9sWL-Gx4dGVsu8UCwlgu0Q,2712
16
+ AeroViz/dataProcess/Chemistry/__pycache__/__init__.cpython-312.pyc,sha256=Z3oyvCe_BkPSHDKwYD3nylM6JONTMwBb207uHSdwBPg,2712
17
17
  AeroViz/dataProcess/Optical/Angstrom_exponent.py,sha256=KSGM_hf2oUPsLoLuhYSRDK5zdekwce9KgqhzRnf2Y4g,706
18
18
  AeroViz/dataProcess/Optical/PyMieScatt_update.py,sha256=3W2nqo9sQLqj9dqWh5Eqx2XUdu44bGWDLTa3QnjiUvM,20943
19
19
  AeroViz/dataProcess/Optical/_IMPROVE.py,sha256=deS94SmoW9H3YyFyzCZ6mWLYoY2f2M-UWLr4qN6RwbI,1662
@@ -22,12 +22,12 @@ AeroViz/dataProcess/Optical/_absorption.py,sha256=Ysstm48fFksq6l0QT_kfAXreGVtIhl
22
22
  AeroViz/dataProcess/Optical/_extinction.py,sha256=anUemSXmLvJi2CSxqTYgQCgUW4pSUqgZ0q0xZ4zs0zY,1189
23
23
  AeroViz/dataProcess/Optical/_mie.py,sha256=K_I8NqRStCdExRVxq2rX5hQdvYmfKuu9JCkNtL1OzfE,352
24
24
  AeroViz/dataProcess/Optical/_mie_sd.py,sha256=cbWSorfG-l92csaXsZJ7005f8ij2H_VZopIhNPCwx70,4812
25
- AeroViz/dataProcess/Optical/_scattering.py,sha256=w5xXXOfafV9a_dXY60YqTyzFDZppjBJeLcKl5PeCQe4,961
25
+ AeroViz/dataProcess/Optical/_scattering.py,sha256=fD07dKU_inPzRvg6iFT0hU4ouTplxof8Qkluhb6q3oU,961
26
26
  AeroViz/dataProcess/Optical/fRH.pkl,sha256=PhJ-BYTaUDjl2Lp5Wz0zeiLQCzrsNdq8nP7Jd1BXyXE,4528
27
27
  AeroViz/dataProcess/Optical/mie_theory.py,sha256=EC3SsUaq5G3SdQyPMQxcosbEokqAgJw-4Gz6moJiOsk,8666
28
- AeroViz/dataProcess/Optical/__pycache__/PyMieScatt_update.cpython-312.pyc,sha256=-2rzyAEZM7eevuYpX6gjfCzsEPE4bAfQMIz3MUnS1iY,32602
29
- AeroViz/dataProcess/Optical/__pycache__/__init__.cpython-312.pyc,sha256=jD7VueIF7c6pxqvgacyvnu6_jJf32jKMKXTHrXGus4w,2114
30
- AeroViz/dataProcess/Optical/__pycache__/mie_theory.cpython-312.pyc,sha256=ASAb2F6drr8RIuhYXnpbTyKsG8QuyCWyr3crb9XZxqY,10662
28
+ AeroViz/dataProcess/Optical/__pycache__/PyMieScatt_update.cpython-312.pyc,sha256=LGDZNtckwIEb9-jbe56bS3u7_b4znn4oCZpEZpw_LjA,32602
29
+ AeroViz/dataProcess/Optical/__pycache__/__init__.cpython-312.pyc,sha256=XcRR7ZMwt82j1y1r8dm_nhTXGx0ZkcGC9CEf5x8hAs8,2114
30
+ AeroViz/dataProcess/Optical/__pycache__/mie_theory.cpython-312.pyc,sha256=okM2B3BJuWELFVPkLTjEWXDkTtW3nFb-U6A1MlosTlM,10662
31
31
  AeroViz/dataProcess/SizeDistr/__init__.py,sha256=fka1IJW4wZzYWE9HjWi8i03ab0JLFXOUdaHWYs4VHEQ,2172
32
32
  AeroViz/dataProcess/SizeDistr/__merge.py,sha256=A-ZmduUA9a0nVM8szhG1AWhsfUPu2UhGIaqFLcmg7Lk,9422
33
33
  AeroViz/dataProcess/SizeDistr/_merge.py,sha256=CyZwUc2M4lL-OE74e8mXq41nC6X0LJTAV8TwpO3fS2o,9176
@@ -37,14 +37,14 @@ AeroViz/dataProcess/SizeDistr/_merge_v3.py,sha256=HN2ARFmeWOawOWRPPv_pHEGBBZNgXV
37
37
  AeroViz/dataProcess/SizeDistr/_merge_v4.py,sha256=b8RVAievGIOLrmJHJXRsKXQ1tkMkm6rx43S7XAfeXE4,16228
38
38
  AeroViz/dataProcess/SizeDistr/_size_distr.py,sha256=ULhGKlxE9QmbDO_PS3HOSKzepeMfJZWabJvGXqsDEvE,3259
39
39
  AeroViz/dataProcess/SizeDistr/prop.py,sha256=7f18SOkkLgDiY_g1c1We8g-3WDJJIFcxkfR4F99jUgc,1845
40
- AeroViz/dataProcess/SizeDistr/__pycache__/__init__.cpython-312.pyc,sha256=HQQSE151Gl-RmtqMU7_i64Il2vDonWkYbzQkeHSrrow,2552
40
+ AeroViz/dataProcess/SizeDistr/__pycache__/__init__.cpython-312.pyc,sha256=GmMS45n7FUkENDVeZIjov216jjuKNsaS6_o60jSfhM4,2552
41
41
  AeroViz/dataProcess/VOC/__init__.py,sha256=8GNP0RMymTkJXK18pSgfLHqrKPWboN-3x1_Ke4UrI44,259
42
42
  AeroViz/dataProcess/VOC/_potential_par.py,sha256=h3rVdvtBvC6xHa_ZG4Oq5eXezeSZtHNy6T6I40maIcM,3863
43
43
  AeroViz/dataProcess/VOC/support_voc.json,sha256=tMYp_NERqhSriVRE2NavXh33CQ5CnsbJHtmMFlE5q_E,6804
44
- AeroViz/dataProcess/VOC/__pycache__/__init__.cpython-312.pyc,sha256=q-7F7nQU57mEhfiOLOR0airNy8wyoVvDYp6wqHfsHkg,716
45
- AeroViz/dataProcess/__pycache__/__init__.cpython-312.pyc,sha256=xuXgVmG8ogAnBxPtmdN8uscVM8LFme_mRlDGnr56R_Y,1067
44
+ AeroViz/dataProcess/VOC/__pycache__/__init__.cpython-312.pyc,sha256=q1RZTDvai4qDtHT2_5mgJNzJ7F_D3xQYBMT3MUvK48E,716
45
+ AeroViz/dataProcess/__pycache__/__init__.cpython-312.pyc,sha256=E2uqJPGbb3f4-6Z-M_8-ph0vT2JvTZO_UihjH0i-UHg,1067
46
46
  AeroViz/dataProcess/core/__init__.py,sha256=FhGwqlP8ZwXZQS0LjH0YOz2g1Q2yJniUUhRZ_jDOQ6k,2707
47
- AeroViz/dataProcess/core/__pycache__/__init__.cpython-312.pyc,sha256=FvirqjFRqb5eKVfkg5itJe9EY3u9IDGEuHIt24N90iQ,4430
47
+ AeroViz/dataProcess/core/__pycache__/__init__.cpython-312.pyc,sha256=YdOLGgmubM8PFQtzgjWqbotzGeiincTakcz-nrvjanU,4430
48
48
  AeroViz/plot/__init__.py,sha256=Cy42d1t58zeutxLYDkm8bFbRNGE0G1T8VpqGj1li1Cw,419
49
49
  AeroViz/plot/bar.py,sha256=cSPKJLWGifCzICCZVPcbZtrDrea_AStlwSli9-b-lsA,4246
50
50
  AeroViz/plot/box.py,sha256=8zDd8jYndSv5f0P1lFeX0m7VWYh9okYgJTClh2Lj7Dg,2115
@@ -53,30 +53,30 @@ AeroViz/plot/radar.py,sha256=QHXkLQlAZZQDWHcqVGJBeRsGiu45GYmy3lN6gwlh6xY,6965
53
53
  AeroViz/plot/regression.py,sha256=mTCNrCAYvH7QjIb_5WlltCR1Kqwer1anpGEsxmO2S3o,7292
54
54
  AeroViz/plot/scatter.py,sha256=sxk5QxgC1Jk9PuY18q9aRgR_Ipvg5dM1RkwYQxRkn1c,6787
55
55
  AeroViz/plot/violin.py,sha256=pU2Z2yTWocEtImmCAmbtn0WvXtUOrnCGOdDOrLxjooU,2689
56
- AeroViz/plot/__pycache__/__init__.cpython-312.pyc,sha256=MwBwwe71jvWSfvDvsfu99D5ZHrfiQPuExRfAAiT3cGY,684
57
- AeroViz/plot/__pycache__/bar.cpython-312.pyc,sha256=xCpXbN-OGOyYCcS6mbUmHLPP_tBQJYE_sK7n-xp9Io8,5954
58
- AeroViz/plot/__pycache__/box.cpython-312.pyc,sha256=ESPQuHC5AuSWWXt9qvx4pejxdyxYu4-8lrdmWagvW7U,4043
59
- AeroViz/plot/__pycache__/pie.cpython-312.pyc,sha256=ymm167YXrg_Q12y76E2IFFvXff2QNPLSLkh0tnR-q7U,10689
60
- AeroViz/plot/__pycache__/radar.cpython-312.pyc,sha256=qXByAZeK4NdpjfF0tLKAJVlR6jC-i9seIAFy5idRMU4,9335
61
- AeroViz/plot/__pycache__/regression.cpython-312.pyc,sha256=nEwaGTRN2yn1sYCS5pFNjfTOLJ6kHdymYjzG3ZwtMU8,8417
62
- AeroViz/plot/__pycache__/scatter.cpython-312.pyc,sha256=AQyKQxZmQ1WIAxOgmFphHGXbVeI_svmRqaSaQmv9PnY,9540
63
- AeroViz/plot/__pycache__/violin.cpython-312.pyc,sha256=SnaBLe0rL-hBs4JoOIfLILFifgjkZ5f-JTqLdPhnfjs,4291
56
+ AeroViz/plot/__pycache__/__init__.cpython-312.pyc,sha256=rUk0WdBHCO57Y4_VQ8Jjx-nmZsgHU_uZeKROUCjarnU,684
57
+ AeroViz/plot/__pycache__/bar.cpython-312.pyc,sha256=-vIzJOE8OUK80iLewxAqCzOuSVXhbKfmhkRdyyBUnpQ,5954
58
+ AeroViz/plot/__pycache__/box.cpython-312.pyc,sha256=QOqAX9pM9l1336NPjIZC-8CGBwGSezi9E6dRxwkzFM4,4043
59
+ AeroViz/plot/__pycache__/pie.cpython-312.pyc,sha256=yxacomurGEjzjeg-Tb2G1RFxMFCUQKXMNLBzF_eKJc8,10689
60
+ AeroViz/plot/__pycache__/radar.cpython-312.pyc,sha256=7H1DuR7Sy6N00JoMOKMjsKa10STh-6CL-wlIom7zTVc,9335
61
+ AeroViz/plot/__pycache__/regression.cpython-312.pyc,sha256=bnUOTmVjJS1P4obclp6NE4VXqJGz6StIzRQPvTJKb5o,8417
62
+ AeroViz/plot/__pycache__/scatter.cpython-312.pyc,sha256=VbxOUQPGDomROnSklVpUjyEaqDHyrjNiQRAvDftaQXI,9540
63
+ AeroViz/plot/__pycache__/violin.cpython-312.pyc,sha256=nXTkzUxYLtiGs1c2fq08JBDRuMfrk5h_9wVvfAjxWOY,4291
64
64
  AeroViz/plot/distribution/__init__.py,sha256=nhbIegWczkuEfWsE7-2jfF0dnpmPDzJJzjq8Fuh6q5k,28
65
65
  AeroViz/plot/distribution/distribution.py,sha256=sAjqtqKavFwQqI8PGPFnpvZFSU-w2UKjcTTC5L91f4E,20595
66
- AeroViz/plot/distribution/__pycache__/__init__.cpython-312.pyc,sha256=V1jLIgZpG9ZDq_IUKjPCmhz7PAt6SWeQge8z0RsRY4Q,202
67
- AeroViz/plot/distribution/__pycache__/distribution.cpython-312.pyc,sha256=dJcB244tnzH1FZGN3qUh5AMipwmCX36tWaMG0U8YDPY,30983
66
+ AeroViz/plot/distribution/__pycache__/__init__.cpython-312.pyc,sha256=QaWYoGNYNv_S43Mm1hNFgOPQXyZaJZm5Rklu-XCqLfM,202
67
+ AeroViz/plot/distribution/__pycache__/distribution.cpython-312.pyc,sha256=aWkhxQAJ0gSLPkOJb7umhGVHTotQNgzGdwNOFCMNJHA,30983
68
68
  AeroViz/plot/meteorology/CBPF.py,sha256=4BjPNW2H2Q9HSyDvqxGAibQSIieKkt7CrFQo1rmdKWQ,11136
69
69
  AeroViz/plot/meteorology/__init__.py,sha256=6HRc9TwUDOohULJ4hURbQSMKlHfoZzG1zLS1AUg0fH4,85
70
70
  AeroViz/plot/meteorology/hysplit.py,sha256=gUlg1Gr-PbqDQI8bWqnHR5UpzRGstvGM0QrrT_EpWtg,2910
71
71
  AeroViz/plot/meteorology/wind_rose.py,sha256=Bp2LjyJhm5FRINH6UUb70g9rA9kZ1oK-9rLvSGHBjwU,2876
72
- AeroViz/plot/meteorology/__pycache__/CBPF.cpython-312.pyc,sha256=nFHrCXtozWTUv7FfnFQ3-lz-Rv_peTJsf_eybzv6WsY,15329
73
- AeroViz/plot/meteorology/__pycache__/__init__.cpython-312.pyc,sha256=gXubgaMM5KcAseYvtsVbLMucUl3SXWKSBJoLM3wnEa0,261
74
- AeroViz/plot/meteorology/__pycache__/hysplit.cpython-312.pyc,sha256=xEBEtf8dXr5IpO7v4o0VZZMCEj11ZspFtNTSA7D0qJY,4013
75
- AeroViz/plot/meteorology/__pycache__/wind_rose.cpython-312.pyc,sha256=CD0018pVaip7_IbtKC6jGdz7fjrQ1E4NgCCUNf4kQkA,3413
72
+ AeroViz/plot/meteorology/__pycache__/CBPF.cpython-312.pyc,sha256=8wi-bQM3RlvO68Ihssk74k12ATN0b5ofrK-HLg59JQs,15329
73
+ AeroViz/plot/meteorology/__pycache__/__init__.cpython-312.pyc,sha256=9-Bt2sW6ezi1i7H0TzIZSyRNVqpyidto_y_nqZuxA5U,261
74
+ AeroViz/plot/meteorology/__pycache__/hysplit.cpython-312.pyc,sha256=cst63HBC9wr6OUe2jNXv994brfc9YhL_qKI9W7GdzSI,4013
75
+ AeroViz/plot/meteorology/__pycache__/wind_rose.cpython-312.pyc,sha256=uDXkuSLCliLl1pGV2x3oG0SkVzqxNr8RZnNPDiQSmS8,3413
76
76
  AeroViz/plot/optical/__init__.py,sha256=5S2WPq8NouPYgc46c1XBveSL8Cxs3w8wNYN7vWIpB-s,23
77
77
  AeroViz/plot/optical/optical.py,sha256=j8LUSga9BvVjZnGKNG8bt62E9xoBoO2OQxvDBqY6U90,13664
78
- AeroViz/plot/optical/__pycache__/__init__.cpython-312.pyc,sha256=-DBXQMq2cErzf2zV5mnAfAmZW_1CfKn8PsumDa49Lao,192
79
- AeroViz/plot/optical/__pycache__/optical.cpython-312.pyc,sha256=1cvd52cntP-8Qm1WRNYJCR7JqU6t31uOAakZa-duOl4,18435
78
+ AeroViz/plot/optical/__pycache__/__init__.cpython-312.pyc,sha256=uJ9m6-J5tVzvehM-AXrPSgV0Yrm8NNUiK1yYlrlAP5c,192
79
+ AeroViz/plot/optical/__pycache__/optical.cpython-312.pyc,sha256=WTci6qcl1ilNuMpd7_aiSfNZ_fHIKS_aHJuMLoSxTLs,18435
80
80
  AeroViz/plot/templates/__init__.py,sha256=z6kNVmpYbfT24BlLeUwt-I8BCGBLcKuS17aWSAmatV8,246
81
81
  AeroViz/plot/templates/ammonium_rich.py,sha256=a46rfwhSZ3LIj71LxdOnklAFyy6Xe_VQ-kh1komnZ5g,1225
82
82
  AeroViz/plot/templates/contour.py,sha256=fAM6Wn_EmENQM1IW6KJpwmLva6D9P2dEAaK6cNQBtdQ,1678
@@ -84,19 +84,19 @@ AeroViz/plot/templates/corr_matrix.py,sha256=5o4BmcOk4wDX0e9cu_TPZJ2OeA9K8c9xVtz
84
84
  AeroViz/plot/templates/diurnal_pattern.py,sha256=TOE4PvHluZhjZvDEeZIv8hcb-PthBNDrgEWtyPmwMcg,2051
85
85
  AeroViz/plot/templates/koschmieder.py,sha256=zAfv3tlC8tHyWm1PD93hDAx3hCzgIu19z-Pyfwb0y4I,3386
86
86
  AeroViz/plot/templates/metal_heatmap.py,sha256=V0lvVsEtPzp_yJfOVX60rnkJOLotn8B5KNT36akOOSY,5218
87
- AeroViz/plot/templates/__pycache__/__init__.cpython-312.pyc,sha256=221efF7QH2sQYk_kSTnOYDLaCBTq51D_5HnIJHJoxoU,441
88
- AeroViz/plot/templates/__pycache__/ammonium_rich.cpython-312.pyc,sha256=W_7jAyH-fbIfDgYIftogFZg-Jy6IoyaFJ1SHCn298sU,2201
89
- AeroViz/plot/templates/__pycache__/contour.cpython-312.pyc,sha256=gm06odLGvd5qNMKfv8Bq3doEnX-up55-AKBpnfBoC24,3550
90
- AeroViz/plot/templates/__pycache__/corr_matrix.cpython-312.pyc,sha256=e17LSS_RwT3hkw332b9P-qV4YLAjay0GTzuciTp7qAc,13563
91
- AeroViz/plot/templates/__pycache__/diurnal_pattern.cpython-312.pyc,sha256=nvDfXgfg07G1lDsYsm2spCSer3wA1-fiNH3WULCPgXU,3422
92
- AeroViz/plot/templates/__pycache__/koschmieder.cpython-312.pyc,sha256=Pk0w4UlQbrvB4QG3ictj0SckHhwW7yh_Ni3LBhA4STw,5753
93
- AeroViz/plot/templates/__pycache__/metal_heatmap.cpython-312.pyc,sha256=dZWMu_vK0alUb6Qai_HdCxSTLnMUfDFYE2tHbi514ek,7525
87
+ AeroViz/plot/templates/__pycache__/__init__.cpython-312.pyc,sha256=6lnTk2JddsCIJVVTMlHRNNXw_WCPbiGcQUmNqFJmQCk,441
88
+ AeroViz/plot/templates/__pycache__/ammonium_rich.cpython-312.pyc,sha256=YFcPEd-Z0wLE1ymXcneLRLBNUnHlUxnY87jVXIJBxdw,2201
89
+ AeroViz/plot/templates/__pycache__/contour.cpython-312.pyc,sha256=X2oDTCabxNVUOXfS1Z82q65d9VRctbBTE_4YIytlo8w,3550
90
+ AeroViz/plot/templates/__pycache__/corr_matrix.cpython-312.pyc,sha256=n4UvgwD-ZhqPrEe_aNtfTYpUwMuKjsce7wWtPHn4Aac,13563
91
+ AeroViz/plot/templates/__pycache__/diurnal_pattern.cpython-312.pyc,sha256=8LdGOb1r-TYvm53qR9GBactu-6jbksRgiv658_FWFVY,3422
92
+ AeroViz/plot/templates/__pycache__/koschmieder.cpython-312.pyc,sha256=SUuEcvKcabwY1zWXhMcudYq66Fm6UTg5jTSkn7aZmsE,5753
93
+ AeroViz/plot/templates/__pycache__/metal_heatmap.cpython-312.pyc,sha256=sG7QswKMUv1cldqd86yssLCpVrjlw-g1G0lVFrE2-04,7525
94
94
  AeroViz/plot/timeseries/__init__.py,sha256=LQ_aE32pvp5ouC--BRa0NwSJ48DYO3rFaOt4AKGmn_s,50
95
95
  AeroViz/plot/timeseries/template.py,sha256=ey16q66UAOLhXGKHAPGbRp-QD3J6GkF_cXhkrRIybS8,1472
96
96
  AeroViz/plot/timeseries/timeseries.py,sha256=mldc6BVY0AsM52qzMwhKFDbqfp109sFVKxCd3PXz-jM,17846
97
- AeroViz/plot/timeseries/__pycache__/__init__.cpython-312.pyc,sha256=UwkSZW6u467J6dAicvXloAjmXwMyRMVyQ7m5xETXQ1Q,221
98
- AeroViz/plot/timeseries/__pycache__/template.cpython-312.pyc,sha256=kGTzrZTeJDZ_wrSbjBjTOcxnTWzIhvZCULuqVj0NsAU,1919
99
- AeroViz/plot/timeseries/__pycache__/timeseries.cpython-312.pyc,sha256=0KfEV_FKiHtkUsKr4d8aeV-2wPtqKRdh3aYEJUsd34s,21800
97
+ AeroViz/plot/timeseries/__pycache__/__init__.cpython-312.pyc,sha256=CXMBjP-2YrKHzY1A5VqAWkFZMsh3Xx5X5C1mvlKUDNc,221
98
+ AeroViz/plot/timeseries/__pycache__/template.cpython-312.pyc,sha256=nA7JXr9jhVp-a_sU4rm8IE4yM3OKJKDQ2HyOBQBpdjU,1919
99
+ AeroViz/plot/timeseries/__pycache__/timeseries.cpython-312.pyc,sha256=1urGit6mgiCc0E03_P4ks89VteAfPEXppZ6lATCZNoc,21800
100
100
  AeroViz/plot/utils/__init__.py,sha256=sxp3nfUnyVIIXYd-F874gEHkhQiDnMPDE1nJ_Z98270,104
101
101
  AeroViz/plot/utils/_color.py,sha256=Vhjo-v4UWFME1JbbBR_Ro8FRj6dHB2O5Sud_9lpdu_U,2797
102
102
  AeroViz/plot/utils/_unit.py,sha256=Abum0WDnq08DzkSoxkKvBc0mYKo8izIDmgduPo9Q27A,1671
@@ -104,23 +104,23 @@ AeroViz/plot/utils/fRH.json,sha256=t-2ux4TLOYAB-4jJ72LSM4jv1jk9XkaxKYNMDepMHIg,6
104
104
  AeroViz/plot/utils/plt_utils.py,sha256=JYYtmEKoKqvZ8mr3QEHdYcWabaBMhNWkgEmeBTdZZ-g,3438
105
105
  AeroViz/plot/utils/sklearn_utils.py,sha256=hKFfkVkYLRxkIDKvO9COHXwhjD_UWqQigdT3mDToni4,2098
106
106
  AeroViz/plot/utils/units.json,sha256=JKcqvLA6dkc8REV_NhX85Jl9LA4iAZxzw9RJp6JTla0,2965
107
- AeroViz/plot/utils/__pycache__/__init__.cpython-312.pyc,sha256=yB6vVt5FzznpFaxJlgsGCF8Vouow1kpBe_okYq7S818,292
108
- AeroViz/plot/utils/__pycache__/_color.cpython-312.pyc,sha256=n-pmrBtvFXAt6ZuSOg8bvFx8Vim2sp861X9rFV9HRvg,3959
109
- AeroViz/plot/utils/__pycache__/_unit.cpython-312.pyc,sha256=i0EKlJJWqvzfplnXqlp3qZ28si5PyvvMwB-zZ-1JNVc,3427
110
- AeroViz/plot/utils/__pycache__/plt_utils.cpython-312.pyc,sha256=ypFlMClRYVgGUjTH-EZrxMViyhQ53TMp78Sd0Yg2khI,4670
111
- AeroViz/plot/utils/__pycache__/sklearn_utils.cpython-312.pyc,sha256=WKKwh7OfmeOoGMN1BGvWfrNnOeN3P1tgIwLD8-zTLmk,3018
107
+ AeroViz/plot/utils/__pycache__/__init__.cpython-312.pyc,sha256=4EMn3ds-yfHXpSKSpkv-sBDiekIS5FmogGeT2u85Uts,292
108
+ AeroViz/plot/utils/__pycache__/_color.cpython-312.pyc,sha256=tk37KWO_LA4FWudOATsJBpH0flgl4SzFFmqn7oehRm8,3959
109
+ AeroViz/plot/utils/__pycache__/_unit.cpython-312.pyc,sha256=fgidyvFBlzUAcackKjO4ZpEIimtzaYpOJHoHYQ8Siwc,3427
110
+ AeroViz/plot/utils/__pycache__/plt_utils.cpython-312.pyc,sha256=MEFZnZPzdPaViHDIvKn6RUenI3IphrRr7s_RzCgFaMs,4670
111
+ AeroViz/plot/utils/__pycache__/sklearn_utils.cpython-312.pyc,sha256=G9QiONEg--5jvwzZqujzgoFpeZqfJoiacX328VdxLkA,3018
112
112
  AeroViz/rawDataReader/__init__.py,sha256=Kzov27kGaeg797-j0N8md60spMKz4ARa-lgEpaASZNs,7285
113
- AeroViz/rawDataReader/__pycache__/__init__.cpython-312.pyc,sha256=RIv49e3qhR-RuQQROCn9Ywjjvq0P92SWFMISdQ0m0oE,8143
113
+ AeroViz/rawDataReader/__pycache__/__init__.cpython-312.pyc,sha256=d_oA7KbUT1gf0rTyT7Pg9eN1nUTQNuDT-kf_XjK29XM,8143
114
114
  AeroViz/rawDataReader/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
115
  AeroViz/rawDataReader/config/supported_instruments.py,sha256=aGpAqgXKXvXzc8j7LA2m3UVthWsaBVbGxcaF7LKDdCY,5952
116
- AeroViz/rawDataReader/config/__pycache__/__init__.cpython-312.pyc,sha256=2jeHtJUPx1VW_oQh1Lz9ag95YxjJM4DUv5YIBdTadtU,171
117
- AeroViz/rawDataReader/config/__pycache__/supported_instruments.cpython-312.pyc,sha256=uwo81CnhTYuvHaddhz7q3NIELKHiJOyGwuAyGZyVyGM,5195
118
- AeroViz/rawDataReader/core/__init__.py,sha256=Gb4jDmWRM_GHuYnbASWpBUWPJpHo3ygILUOLpSi_BMw,17000
116
+ AeroViz/rawDataReader/config/__pycache__/__init__.cpython-312.pyc,sha256=ROLmCkrq7WF1r-HVNeIzxjuLOriiXCTsvYNIy5zVTtc,171
117
+ AeroViz/rawDataReader/config/__pycache__/supported_instruments.cpython-312.pyc,sha256=ihEqi_5kRAy6rwHnTtDxYmhJGdKq4iYry7A4WkxTFp0,5195
118
+ AeroViz/rawDataReader/core/__init__.py,sha256=V_G0x3HbzYMjf6bf_sBt4bpPuCNqKvE5vv8sddLCHJc,19617
119
119
  AeroViz/rawDataReader/core/logger.py,sha256=cZUFbYq2tECuMaOI6CBca7npTkhrtSZbOsUrGg0uKfY,5988
120
120
  AeroViz/rawDataReader/core/qc.py,sha256=lgTQm6AMdJj8QmovC1nfGb1NhZXE1LorhtSLGwLnJg8,5694
121
- AeroViz/rawDataReader/core/__pycache__/__init__.cpython-312.pyc,sha256=L6g1_brrhPn522O1BTTp6qi3kFDgwQzg-HtOTfzlg6c,23578
122
- AeroViz/rawDataReader/core/__pycache__/logger.cpython-312.pyc,sha256=QBvJRdkprQ3Zr6gMYJG5qYxIl2ya-2tU9vuK3TU9Trc,9287
123
- AeroViz/rawDataReader/core/__pycache__/qc.cpython-312.pyc,sha256=ltCNQ5j_KKIYGFXv9Pn4yBBGENvXs7pABd_UvQ4BmHE,8231
121
+ AeroViz/rawDataReader/core/__pycache__/__init__.cpython-312.pyc,sha256=zymUpMiOemfuSX_OHlMWVzuQ_3jJZm3EjT9-SRUiH7Y,25463
122
+ AeroViz/rawDataReader/core/__pycache__/logger.cpython-312.pyc,sha256=l-yWlXUq65mBNxsd0wGsPP0C07tfgtWVXDsQmLcpkd4,9287
123
+ AeroViz/rawDataReader/core/__pycache__/qc.cpython-312.pyc,sha256=HJlnvIAzhY-1szvhn8AUMKk-WTWoKPxWVRHM2_u21qc,8231
124
124
  AeroViz/rawDataReader/script/AE33.py,sha256=L5AYtuJBC2aAe6muFc2wZADhtTKyBS_53p0LL1M1DHs,1286
125
125
  AeroViz/rawDataReader/script/AE43.py,sha256=GjcICBJ3nIANyMd4kovteBUtkyCGLTos07BczgSCuVE,1231
126
126
  AeroViz/rawDataReader/script/APS.py,sha256=HrPRkE3DUFQ_dgGhZ4NHosW8vOvl0lqUlpaICn2EGbk,1527
@@ -135,37 +135,37 @@ AeroViz/rawDataReader/script/Minion.py,sha256=lTn7VMmApmkGtbDMkTVXIGFp51Dw99Cd5c
135
135
  AeroViz/rawDataReader/script/NEPH.py,sha256=pDA-3u15ywKK49dVmgCafLM7RAO0hWIkMhS0867C77w,2898
136
136
  AeroViz/rawDataReader/script/OCEC.py,sha256=z13CB8uoGuWFc_3yd6IEYpvhsTOqtsbChQy5nCo57hw,3432
137
137
  AeroViz/rawDataReader/script/SMPS.py,sha256=Yegi8S069sPbmvpUyNL21MwaUMw5vpQr-4Ky20Pu0qU,4490
138
- AeroViz/rawDataReader/script/TEOM.py,sha256=0ugZ5calWjA_iVAbyJqi52jH9CzbpdwiOrfT1aswyJM,2730
138
+ AeroViz/rawDataReader/script/TEOM.py,sha256=ptagKrQCatOroF1laHYO_i-eUDmBpu1AsfQL6jNSjiE,4239
139
139
  AeroViz/rawDataReader/script/VOC.py,sha256=GUme72ZyjSzREsFNUgOV_OCESIVJBXY9KrKP1c9Av7I,1248
140
140
  AeroViz/rawDataReader/script/XRF.py,sha256=SU1-D94GkwdkjlNXcyXbwQG1tOYCpeL6GTVkaLBHc-s,187
141
141
  AeroViz/rawDataReader/script/__init__.py,sha256=OnLgK3LNumQHL4sa9A7EBMehNvcuZnx4cz203npwRLk,224
142
- AeroViz/rawDataReader/script/__pycache__/AE33.cpython-312.pyc,sha256=sRHsI1CJp3sBX_ZZbr6Y3x0b2uCsDBLMomaodf-_SjI,2451
143
- AeroViz/rawDataReader/script/__pycache__/AE43.cpython-312.pyc,sha256=NeNm4yFJ0r3uiF53gO3ClkZGvgZYmW_go23wXyljB9g,2198
144
- AeroViz/rawDataReader/script/__pycache__/APS.cpython-312.pyc,sha256=iLsDFYyt6uAONI2l-WohT7ZdGHZDqv8JMuvESsTcWPM,2877
145
- AeroViz/rawDataReader/script/__pycache__/Aurora.cpython-312.pyc,sha256=Tc0n75KmxUj9oJ-SdoIdjoVVtC182-ajoan30Bil7E4,2662
146
- AeroViz/rawDataReader/script/__pycache__/BAM1020.cpython-312.pyc,sha256=oShLVUvLvA7G-JvRg0BZJ6uXk44bs8CyGgARpP9ssbQ,1858
147
- AeroViz/rawDataReader/script/__pycache__/BC1054.cpython-312.pyc,sha256=i2_QhUGzMIkoSzrxfMbP0eyfeRvKFBP-ZoDv_4PPCjY,2455
148
- AeroViz/rawDataReader/script/__pycache__/EPA.cpython-312.pyc,sha256=pCGqdEpqCGzVi8wF-0eNzBF9WflRzu7DCg8CM3N4H8s,2343
149
- AeroViz/rawDataReader/script/__pycache__/GRIMM.cpython-312.pyc,sha256=7Ct5m1DuxsQIsvFRv7vIg-LopD30PklB0-A2Teyr5VE,1812
150
- AeroViz/rawDataReader/script/__pycache__/IGAC.cpython-312.pyc,sha256=PBJWP_zt0xu3pfBttgbbOcd8T7O0zTOCu4tZ-ARY6EM,3645
151
- AeroViz/rawDataReader/script/__pycache__/MA350.cpython-312.pyc,sha256=YXDNEfwUq60_RgjVw9eOHXh6ZSW5wAOY193H2lebMPs,2074
152
- AeroViz/rawDataReader/script/__pycache__/Minion.cpython-312.pyc,sha256=vhiD-0ezYgtp975ThyGjiUGJgZgg8_TRSIlbaOQ0kS4,10204
153
- AeroViz/rawDataReader/script/__pycache__/NEPH.cpython-312.pyc,sha256=xW8DQpSWTtlt4Hno0Ccu7g74m2TLqm-gzOFFPgy5dHk,4520
154
- AeroViz/rawDataReader/script/__pycache__/OCEC.cpython-312.pyc,sha256=QvH14Onv33t7qV6OqhKgzbB_tFs3qjKC9Od1-h0pazM,4179
155
- AeroViz/rawDataReader/script/__pycache__/SMPS.cpython-312.pyc,sha256=K7_L07otrRBZkFjZVY5HpOGasSw1EFizRcKeIJAth5o,6695
156
- AeroViz/rawDataReader/script/__pycache__/TEOM.cpython-312.pyc,sha256=fZ13yMDnZT5abiPbg5JBAL4qvdNVe-5811-UNQiOzG0,3781
157
- AeroViz/rawDataReader/script/__pycache__/VOC.cpython-312.pyc,sha256=Y7IGRdU96rcQR6csO9tn_H8QwFLOLrMm9bCoXC8Islg,2493
158
- AeroViz/rawDataReader/script/__pycache__/XRF.cpython-312.pyc,sha256=8viztkCTy9NAULhRuyF3R28yG0FmROD3_8zHLnkVqwQ,668
159
- AeroViz/rawDataReader/script/__pycache__/__init__.cpython-312.pyc,sha256=Et0hhZxrNs4ncL3aT-y0SOD52_8in6-fzKlzroSLJfo,303
142
+ AeroViz/rawDataReader/script/__pycache__/AE33.cpython-312.pyc,sha256=65Xg_6m7fj35DHk-6v_MLiLIISYDId4NeC3XgNAX70g,2451
143
+ AeroViz/rawDataReader/script/__pycache__/AE43.cpython-312.pyc,sha256=6GOYnRYI42p7pM379phNEB_Fa_lumV8sRvw-YFLymg8,2198
144
+ AeroViz/rawDataReader/script/__pycache__/APS.cpython-312.pyc,sha256=vDSi6_F_Yr0IdE_uBRyXFGWgMrgpj33_D61A3nNw0hA,2877
145
+ AeroViz/rawDataReader/script/__pycache__/Aurora.cpython-312.pyc,sha256=oIBRE9NVmVFANK0yn8aQEjE670JxuHWl5WM6u5SVhB8,2662
146
+ AeroViz/rawDataReader/script/__pycache__/BAM1020.cpython-312.pyc,sha256=0i4aVZNm0PGwZwlJGj3O4aTmYViMmdbZ03TMUbSzH4k,1858
147
+ AeroViz/rawDataReader/script/__pycache__/BC1054.cpython-312.pyc,sha256=VXHyEIDRal_u3Ii1r-EpZLuFKcGnJBVHYezb4KCc_3s,2455
148
+ AeroViz/rawDataReader/script/__pycache__/EPA.cpython-312.pyc,sha256=4vcRLdEn7ypO_X0xnpiFuqLtK2uOfZR97ZdMmjgA88U,2343
149
+ AeroViz/rawDataReader/script/__pycache__/GRIMM.cpython-312.pyc,sha256=plHb9D4uXOJrjBPnR7lASDJAuddzbf-FBVzEdN2MPAE,1812
150
+ AeroViz/rawDataReader/script/__pycache__/IGAC.cpython-312.pyc,sha256=ywfpiVCF8GyOJt_obg_FadvVUtQHg08vJTXAN10fVoU,3645
151
+ AeroViz/rawDataReader/script/__pycache__/MA350.cpython-312.pyc,sha256=CO6FR7xMHjYZm_mGHHwfBkOhvxyooPtavPH9WRwgGnQ,2074
152
+ AeroViz/rawDataReader/script/__pycache__/Minion.cpython-312.pyc,sha256=rhXi1y3QKZiE6IMtqraqJ4odMCXPI6VptmM1HEdImmE,10204
153
+ AeroViz/rawDataReader/script/__pycache__/NEPH.cpython-312.pyc,sha256=jKBmSnYQZs_5XE5Xc22LzT2vOqJfqsXcxxpM3w7kuaM,4520
154
+ AeroViz/rawDataReader/script/__pycache__/OCEC.cpython-312.pyc,sha256=_ugaLGLd_suC4HkjYuHIs8lzdsQc-n0OvEyvOd-MHqg,4179
155
+ AeroViz/rawDataReader/script/__pycache__/SMPS.cpython-312.pyc,sha256=xh0ColRB8Vjle5-Fipsheqr-BX5TVONwWSaTGy8hEnE,6695
156
+ AeroViz/rawDataReader/script/__pycache__/TEOM.cpython-312.pyc,sha256=CmE90fzdRUs3tVhwERyz8_AKXhOw3j-8S2Yr3fwjdb8,3819
157
+ AeroViz/rawDataReader/script/__pycache__/VOC.cpython-312.pyc,sha256=HssEGIleuK0ABLExxF5Rxq6fzD6sROWSSZ35yroeWiY,2493
158
+ AeroViz/rawDataReader/script/__pycache__/XRF.cpython-312.pyc,sha256=xhNuGl7D5lyi6c8EoOLGxjYGa4UjdX6we5HPHF2SOYs,668
159
+ AeroViz/rawDataReader/script/__pycache__/__init__.cpython-312.pyc,sha256=s8KvztZTVHIz-bL2vRFTSvOxwEi9kRrQiViS8AfeyZc,303
160
160
  AeroViz/tools/__init__.py,sha256=3yC7clSoIAs7tvRy6M0BEM_N-0Fn2najLP7njT0ogME,74
161
161
  AeroViz/tools/database.py,sha256=05VzjJyhlRrhsZdhfFQ__7CxGm4MdFekLjz3_Is5h9U,3430
162
162
  AeroViz/tools/dataclassifier.py,sha256=_wpv0PlZ5EGkcNqHxfFtdEsYvHP5FVE8sMZXikhm_YE,4492
163
163
  AeroViz/tools/dataprinter.py,sha256=Jq2Yztpa9YCOeLDVTrRs7PhSdNIPhEAexVj1YSuJ7hY,2249
164
- AeroViz/tools/__pycache__/__init__.cpython-312.pyc,sha256=Q3-5X8sYaPLUMZ2QZQrb_K1jHRHg0mBcGOaSDNfM6f4,254
165
- AeroViz/tools/__pycache__/database.cpython-312.pyc,sha256=-4C1JaVzgp8Dv8Ax9MjbZUGgG-1Tm5fD6HhKyOAs2Fs,3605
166
- AeroViz/tools/__pycache__/dataclassifier.cpython-312.pyc,sha256=iyygxX4bWWhrYr_eM1b8T5W_vTzkpoT497cQS38kuDU,6801
167
- AeroViz-0.1.15.dist-info/LICENSE,sha256=E-679GpGGkp3irmtuJXiT7R4cNUA4cmsH6Q7QUgPf5U,1069
168
- AeroViz-0.1.15.dist-info/METADATA,sha256=dzy3AzC0CjQkHNP0AGrJ2tqC5AZzVKi3L6yAHRpPIp8,5588
169
- AeroViz-0.1.15.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
170
- AeroViz-0.1.15.dist-info/top_level.txt,sha256=BYsmTst_o4FZOKRP1XIvIMlN6mMTTXNfnSToL2_nVbQ,8
171
- AeroViz-0.1.15.dist-info/RECORD,,
164
+ AeroViz/tools/__pycache__/__init__.cpython-312.pyc,sha256=tA7JWr9d4gJ9ZhpuBb4UO_MjYeFWKa2SWNe3QxE2zWc,254
165
+ AeroViz/tools/__pycache__/database.cpython-312.pyc,sha256=0q0042RgTO0veRX_MFFb7j6VGoPYQ0Ua8WBrZZsX9SU,3605
166
+ AeroViz/tools/__pycache__/dataclassifier.cpython-312.pyc,sha256=iNBMhELXrNwXWwYYAatfHmKa-UiFZ_mZAzB4tSOuN2I,6801
167
+ AeroViz-0.1.16.dist-info/LICENSE,sha256=E-679GpGGkp3irmtuJXiT7R4cNUA4cmsH6Q7QUgPf5U,1069
168
+ AeroViz-0.1.16.dist-info/METADATA,sha256=LcER-bUSEQfkQUnDSgjAzzBZTVEyFcZ12M7bd9oHK5c,5588
169
+ AeroViz-0.1.16.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
170
+ AeroViz-0.1.16.dist-info/top_level.txt,sha256=BYsmTst_o4FZOKRP1XIvIMlN6mMTTXNfnSToL2_nVbQ,8
171
+ AeroViz-0.1.16.dist-info/RECORD,,