AeroViz 0.1.3__py3-none-any.whl → 0.1.4__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 (121) hide show
  1. AeroViz/__init__.py +7 -5
  2. AeroViz/{config → data}/DEFAULT_DATA.csv +1 -1
  3. AeroViz/dataProcess/Chemistry/__init__.py +40 -40
  4. AeroViz/dataProcess/Chemistry/_calculate.py +15 -15
  5. AeroViz/dataProcess/Chemistry/_isoropia.py +72 -68
  6. AeroViz/dataProcess/Chemistry/_mass_volume.py +158 -161
  7. AeroViz/dataProcess/Chemistry/_ocec.py +109 -109
  8. AeroViz/dataProcess/Chemistry/_partition.py +19 -18
  9. AeroViz/dataProcess/Chemistry/_teom.py +9 -11
  10. AeroViz/dataProcess/Chemistry/isrpia.cnf +21 -0
  11. AeroViz/dataProcess/Optical/Angstrom_exponent.py +20 -0
  12. AeroViz/dataProcess/Optical/_IMPROVE.py +40 -41
  13. AeroViz/dataProcess/Optical/__init__.py +29 -44
  14. AeroViz/dataProcess/Optical/_absorption.py +21 -47
  15. AeroViz/dataProcess/Optical/_extinction.py +31 -25
  16. AeroViz/dataProcess/Optical/_mie.py +5 -7
  17. AeroViz/dataProcess/Optical/_mie_sd.py +89 -90
  18. AeroViz/dataProcess/Optical/_scattering.py +19 -20
  19. AeroViz/dataProcess/SizeDistr/__init__.py +39 -39
  20. AeroViz/dataProcess/SizeDistr/__merge.py +159 -158
  21. AeroViz/dataProcess/SizeDistr/_merge.py +155 -154
  22. AeroViz/dataProcess/SizeDistr/_merge_v1.py +162 -161
  23. AeroViz/dataProcess/SizeDistr/_merge_v2.py +153 -152
  24. AeroViz/dataProcess/SizeDistr/_merge_v3.py +327 -327
  25. AeroViz/dataProcess/SizeDistr/_merge_v4.py +273 -275
  26. AeroViz/dataProcess/SizeDistr/_size_distr.py +51 -51
  27. AeroViz/dataProcess/VOC/__init__.py +9 -9
  28. AeroViz/dataProcess/VOC/_potential_par.py +53 -55
  29. AeroViz/dataProcess/__init__.py +28 -6
  30. AeroViz/dataProcess/core/__init__.py +59 -65
  31. AeroViz/plot/__init__.py +7 -2
  32. AeroViz/plot/bar.py +126 -0
  33. AeroViz/plot/box.py +69 -0
  34. AeroViz/plot/distribution/distribution.py +421 -427
  35. AeroViz/plot/meteorology/meteorology.py +240 -292
  36. AeroViz/plot/optical/__init__.py +0 -1
  37. AeroViz/plot/optical/optical.py +230 -230
  38. AeroViz/plot/pie.py +198 -0
  39. AeroViz/plot/regression.py +196 -0
  40. AeroViz/plot/scatter.py +165 -0
  41. AeroViz/plot/templates/__init__.py +2 -4
  42. AeroViz/plot/templates/ammonium_rich.py +34 -0
  43. AeroViz/plot/templates/contour.py +25 -25
  44. AeroViz/plot/templates/corr_matrix.py +86 -93
  45. AeroViz/plot/templates/diurnal_pattern.py +28 -26
  46. AeroViz/plot/templates/koschmieder.py +59 -123
  47. AeroViz/plot/templates/metal_heatmap.py +135 -37
  48. AeroViz/plot/timeseries/__init__.py +1 -0
  49. AeroViz/plot/timeseries/template.py +47 -0
  50. AeroViz/plot/timeseries/timeseries.py +324 -264
  51. AeroViz/plot/utils/__init__.py +2 -1
  52. AeroViz/plot/utils/_color.py +57 -57
  53. AeroViz/plot/utils/_unit.py +48 -48
  54. AeroViz/plot/utils/plt_utils.py +92 -0
  55. AeroViz/plot/utils/sklearn_utils.py +49 -0
  56. AeroViz/plot/utils/units.json +5 -0
  57. AeroViz/plot/violin.py +80 -0
  58. AeroViz/process/__init__.py +17 -17
  59. AeroViz/process/core/DataProc.py +9 -9
  60. AeroViz/process/core/SizeDist.py +81 -81
  61. AeroViz/process/method/PyMieScatt_update.py +488 -488
  62. AeroViz/process/method/mie_theory.py +231 -229
  63. AeroViz/process/method/prop.py +40 -40
  64. AeroViz/process/script/AbstractDistCalc.py +103 -103
  65. AeroViz/process/script/Chemical.py +168 -167
  66. AeroViz/process/script/IMPACT.py +40 -40
  67. AeroViz/process/script/IMPROVE.py +152 -152
  68. AeroViz/process/script/Others.py +45 -45
  69. AeroViz/process/script/PSD.py +26 -26
  70. AeroViz/process/script/PSD_dry.py +69 -70
  71. AeroViz/process/script/retrieve_RI.py +50 -51
  72. AeroViz/rawDataReader/__init__.py +53 -58
  73. AeroViz/rawDataReader/config/supported_instruments.py +155 -0
  74. AeroViz/rawDataReader/core/__init__.py +233 -356
  75. AeroViz/rawDataReader/script/AE33.py +17 -18
  76. AeroViz/rawDataReader/script/AE43.py +18 -21
  77. AeroViz/rawDataReader/script/APS_3321.py +30 -30
  78. AeroViz/rawDataReader/script/Aurora.py +23 -24
  79. AeroViz/rawDataReader/script/BC1054.py +36 -40
  80. AeroViz/rawDataReader/script/EPA_vertical.py +37 -9
  81. AeroViz/rawDataReader/script/GRIMM.py +16 -23
  82. AeroViz/rawDataReader/script/IGAC.py +90 -0
  83. AeroViz/rawDataReader/script/MA350.py +32 -39
  84. AeroViz/rawDataReader/script/Minion.py +103 -0
  85. AeroViz/rawDataReader/script/NEPH.py +69 -74
  86. AeroViz/rawDataReader/script/SMPS_TH.py +25 -25
  87. AeroViz/rawDataReader/script/SMPS_aim11.py +32 -32
  88. AeroViz/rawDataReader/script/SMPS_genr.py +31 -31
  89. AeroViz/rawDataReader/script/Sunset_OCEC.py +60 -0
  90. AeroViz/rawDataReader/script/TEOM.py +30 -28
  91. AeroViz/rawDataReader/script/Table.py +13 -14
  92. AeroViz/rawDataReader/script/VOC.py +26 -0
  93. AeroViz/rawDataReader/script/__init__.py +18 -20
  94. AeroViz/tools/database.py +64 -66
  95. AeroViz/tools/dataclassifier.py +106 -106
  96. AeroViz/tools/dataprinter.py +51 -51
  97. AeroViz/tools/datareader.py +38 -38
  98. {AeroViz-0.1.3.dist-info → AeroViz-0.1.4.dist-info}/METADATA +5 -4
  99. AeroViz-0.1.4.dist-info/RECORD +112 -0
  100. AeroViz/plot/improve/__init__.py +0 -1
  101. AeroViz/plot/improve/improve.py +0 -240
  102. AeroViz/plot/optical/aethalometer.py +0 -77
  103. AeroViz/plot/templates/event_evolution.py +0 -65
  104. AeroViz/plot/templates/regression.py +0 -256
  105. AeroViz/plot/templates/scatter.py +0 -130
  106. AeroViz/plot/templates/templates.py +0 -398
  107. AeroViz/plot/utils/_decorator.py +0 -74
  108. AeroViz/rawDataReader/script/IGAC_TH.py +0 -104
  109. AeroViz/rawDataReader/script/IGAC_ZM.py +0 -90
  110. AeroViz/rawDataReader/script/OCEC_LCRES.py +0 -34
  111. AeroViz/rawDataReader/script/OCEC_RES.py +0 -28
  112. AeroViz/rawDataReader/script/VOC_TH.py +0 -30
  113. AeroViz/rawDataReader/script/VOC_ZM.py +0 -37
  114. AeroViz/rawDataReader/utils/__init__.py +0 -0
  115. AeroViz/rawDataReader/utils/config.py +0 -169
  116. AeroViz-0.1.3.dist-info/RECORD +0 -111
  117. /AeroViz/{config → data}/DEFAULT_PNSD_DATA.csv +0 -0
  118. /AeroViz/{config → rawDataReader/config}/__init__.py +0 -0
  119. {AeroViz-0.1.3.dist-info → AeroViz-0.1.4.dist-info}/LICENSE +0 -0
  120. {AeroViz-0.1.3.dist-info → AeroViz-0.1.4.dist-info}/WHEEL +0 -0
  121. {AeroViz-0.1.3.dist-info → AeroViz-0.1.4.dist-info}/top_level.txt +0 -0
@@ -7,84 +7,84 @@ __all__ = ['SizeDist']
7
7
 
8
8
 
9
9
  class SizeDist:
10
- """
11
- Attributes
12
- ----------
13
-
14
- _data: DataFrame
15
- The processed PSD data stored as a pandas DataFrame.
16
-
17
- _dp: ndarray
18
- The array of particle diameters from the PSD data.
19
-
20
- _dlogdp: ndarray
21
- The array of logarithmic particle diameter bin widths.
22
-
23
- _index: DatetimeIndex
24
- The index of the DataFrame representing time.
25
-
26
- _state: str
27
- The state of particle size distribution data.
28
-
29
- Methods
30
- -------
31
- number()
32
- Calculate number distribution properties.
33
-
34
- surface(filename='PSSD_dSdlogdp.csv')
35
- Calculate surface distribution properties.
36
-
37
- volume(filename='PVSD_dVdlogdp.csv')
38
- Calculate volume distribution properties.
39
-
40
- """
41
-
42
- def __init__(self,
43
- data: DataFrame,
44
- state: Literal['dN', 'ddp', 'dlogdp'] = 'dlogdp',
45
- weighting: Literal['n', 's', 'v', 'ext_in', 'ext_ex'] = 'n'
46
- ):
47
- self._data = data
48
- self._dp = np.array(self._data.columns, dtype=float)
49
- self._dlogdp = np.full_like(self._dp, 0.014)
50
- self._index = self._data.index.copy()
51
- self._state = state
52
- self._weighting = weighting
53
-
54
- @property
55
- def data(self) -> DataFrame:
56
- return self._data
57
-
58
- @property
59
- def dp(self) -> np.ndarray:
60
- return self._dp
61
-
62
- @dp.setter
63
- def dp(self, new_dp: np.ndarray):
64
- self._dp = new_dp
65
-
66
- @property
67
- def dlogdp(self) -> np.ndarray:
68
- return self._dlogdp
69
-
70
- @dlogdp.setter
71
- def dlogdp(self, new_dlogdp: np.ndarray):
72
- self._dlogdp = new_dlogdp
73
-
74
- @property
75
- def index(self):
76
- return self._index
77
-
78
- @property
79
- def state(self):
80
- return self._state
81
-
82
- @state.setter
83
- def state(self, value):
84
- if value not in ['dN', 'dlogdp', 'ddp']:
85
- raise ValueError("state must be 'dlogdp' or 'ddp'")
86
- self._state = value
87
-
88
- @property
89
- def weighting(self):
90
- return self._weighting
10
+ """
11
+ Attributes
12
+ ----------
13
+
14
+ _data: DataFrame
15
+ The processed PSD data stored as a pandas DataFrame.
16
+
17
+ _dp: ndarray
18
+ The array of particle diameters from the PSD data.
19
+
20
+ _dlogdp: ndarray
21
+ The array of logarithmic particle diameter bin widths.
22
+
23
+ _index: DatetimeIndex
24
+ The index of the DataFrame representing time.
25
+
26
+ _state: str
27
+ The state of particle size distribution data.
28
+
29
+ Methods
30
+ -------
31
+ number()
32
+ Calculate number distribution properties.
33
+
34
+ surface(filename='PSSD_dSdlogdp.csv')
35
+ Calculate surface distribution properties.
36
+
37
+ volume(filename='PVSD_dVdlogdp.csv')
38
+ Calculate volume distribution properties.
39
+
40
+ """
41
+
42
+ def __init__(self,
43
+ data: DataFrame,
44
+ state: Literal['dN', 'ddp', 'dlogdp'] = 'dlogdp',
45
+ weighting: Literal['n', 's', 'v', 'ext_in', 'ext_ex'] = 'n'
46
+ ):
47
+ self._data = data
48
+ self._dp = np.array(self._data.columns, dtype=float)
49
+ self._dlogdp = np.full_like(self._dp, 0.014)
50
+ self._index = self._data.index.copy()
51
+ self._state = state
52
+ self._weighting = weighting
53
+
54
+ @property
55
+ def data(self) -> DataFrame:
56
+ return self._data
57
+
58
+ @property
59
+ def dp(self) -> np.ndarray:
60
+ return self._dp
61
+
62
+ @dp.setter
63
+ def dp(self, new_dp: np.ndarray):
64
+ self._dp = new_dp
65
+
66
+ @property
67
+ def dlogdp(self) -> np.ndarray:
68
+ return self._dlogdp
69
+
70
+ @dlogdp.setter
71
+ def dlogdp(self, new_dlogdp: np.ndarray):
72
+ self._dlogdp = new_dlogdp
73
+
74
+ @property
75
+ def index(self):
76
+ return self._index
77
+
78
+ @property
79
+ def state(self):
80
+ return self._state
81
+
82
+ @state.setter
83
+ def state(self, value):
84
+ if value not in ['dN', 'dlogdp', 'ddp']:
85
+ raise ValueError("state must be 'dlogdp' or 'ddp'")
86
+ self._state = value
87
+
88
+ @property
89
+ def weighting(self):
90
+ return self._weighting