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.
- AeroViz/__init__.py +13 -0
- AeroViz/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/data/DEFAULT_DATA.csv +1417 -0
- AeroViz/data/DEFAULT_PNSD_DATA.csv +1417 -0
- AeroViz/data/hysplit_example_data.txt +101 -0
- AeroViz/dataProcess/Chemistry/__init__.py +149 -0
- AeroViz/dataProcess/Chemistry/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/dataProcess/Chemistry/_calculate.py +557 -0
- AeroViz/dataProcess/Chemistry/_isoropia.py +150 -0
- AeroViz/dataProcess/Chemistry/_mass_volume.py +487 -0
- AeroViz/dataProcess/Chemistry/_ocec.py +172 -0
- AeroViz/dataProcess/Chemistry/isrpia.cnf +21 -0
- AeroViz/dataProcess/Chemistry/isrpia2.exe +0 -0
- AeroViz/dataProcess/Optical/PyMieScatt_update.py +577 -0
- AeroViz/dataProcess/Optical/_IMPROVE.py +452 -0
- AeroViz/dataProcess/Optical/__init__.py +281 -0
- AeroViz/dataProcess/Optical/__pycache__/PyMieScatt_update.cpython-312.pyc +0 -0
- AeroViz/dataProcess/Optical/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/dataProcess/Optical/__pycache__/mie_theory.cpython-312.pyc +0 -0
- AeroViz/dataProcess/Optical/_derived.py +518 -0
- AeroViz/dataProcess/Optical/_extinction.py +123 -0
- AeroViz/dataProcess/Optical/_mie_sd.py +912 -0
- AeroViz/dataProcess/Optical/_retrieve_RI.py +243 -0
- AeroViz/dataProcess/Optical/coefficient.py +72 -0
- AeroViz/dataProcess/Optical/fRH.pkl +0 -0
- AeroViz/dataProcess/Optical/mie_theory.py +260 -0
- AeroViz/dataProcess/README.md +271 -0
- AeroViz/dataProcess/SizeDistr/__init__.py +245 -0
- AeroViz/dataProcess/SizeDistr/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/dataProcess/SizeDistr/__pycache__/_size_dist.cpython-312.pyc +0 -0
- AeroViz/dataProcess/SizeDistr/_size_dist.py +810 -0
- AeroViz/dataProcess/SizeDistr/merge/README.md +93 -0
- AeroViz/dataProcess/SizeDistr/merge/__init__.py +20 -0
- AeroViz/dataProcess/SizeDistr/merge/_merge_v0.py +251 -0
- AeroViz/dataProcess/SizeDistr/merge/_merge_v0_1.py +246 -0
- AeroViz/dataProcess/SizeDistr/merge/_merge_v1.py +255 -0
- AeroViz/dataProcess/SizeDistr/merge/_merge_v2.py +244 -0
- AeroViz/dataProcess/SizeDistr/merge/_merge_v3.py +518 -0
- AeroViz/dataProcess/SizeDistr/merge/_merge_v4.py +422 -0
- AeroViz/dataProcess/SizeDistr/prop.py +62 -0
- AeroViz/dataProcess/VOC/__init__.py +14 -0
- AeroViz/dataProcess/VOC/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/dataProcess/VOC/_potential_par.py +108 -0
- AeroViz/dataProcess/VOC/support_voc.json +446 -0
- AeroViz/dataProcess/__init__.py +66 -0
- AeroViz/dataProcess/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/dataProcess/core/__init__.py +272 -0
- AeroViz/dataProcess/core/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/mcp_server.py +352 -0
- AeroViz/plot/__init__.py +13 -0
- AeroViz/plot/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/plot/__pycache__/bar.cpython-312.pyc +0 -0
- AeroViz/plot/__pycache__/box.cpython-312.pyc +0 -0
- AeroViz/plot/__pycache__/pie.cpython-312.pyc +0 -0
- AeroViz/plot/__pycache__/radar.cpython-312.pyc +0 -0
- AeroViz/plot/__pycache__/regression.cpython-312.pyc +0 -0
- AeroViz/plot/__pycache__/scatter.cpython-312.pyc +0 -0
- AeroViz/plot/__pycache__/violin.cpython-312.pyc +0 -0
- AeroViz/plot/bar.py +126 -0
- AeroViz/plot/box.py +69 -0
- AeroViz/plot/distribution/__init__.py +1 -0
- AeroViz/plot/distribution/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/plot/distribution/__pycache__/distribution.cpython-312.pyc +0 -0
- AeroViz/plot/distribution/distribution.py +576 -0
- AeroViz/plot/meteorology/CBPF.py +295 -0
- AeroViz/plot/meteorology/__init__.py +3 -0
- AeroViz/plot/meteorology/__pycache__/CBPF.cpython-312.pyc +0 -0
- AeroViz/plot/meteorology/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/plot/meteorology/__pycache__/hysplit.cpython-312.pyc +0 -0
- AeroViz/plot/meteorology/__pycache__/wind_rose.cpython-312.pyc +0 -0
- AeroViz/plot/meteorology/hysplit.py +93 -0
- AeroViz/plot/meteorology/wind_rose.py +77 -0
- AeroViz/plot/optical/__init__.py +1 -0
- AeroViz/plot/optical/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/plot/optical/__pycache__/optical.cpython-312.pyc +0 -0
- AeroViz/plot/optical/optical.py +388 -0
- AeroViz/plot/pie.py +210 -0
- AeroViz/plot/radar.py +184 -0
- AeroViz/plot/regression.py +200 -0
- AeroViz/plot/scatter.py +174 -0
- AeroViz/plot/templates/__init__.py +6 -0
- AeroViz/plot/templates/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/plot/templates/__pycache__/ammonium_rich.cpython-312.pyc +0 -0
- AeroViz/plot/templates/__pycache__/contour.cpython-312.pyc +0 -0
- AeroViz/plot/templates/__pycache__/corr_matrix.cpython-312.pyc +0 -0
- AeroViz/plot/templates/__pycache__/diurnal_pattern.cpython-312.pyc +0 -0
- AeroViz/plot/templates/__pycache__/koschmieder.cpython-312.pyc +0 -0
- AeroViz/plot/templates/__pycache__/metal_heatmap.cpython-312.pyc +0 -0
- AeroViz/plot/templates/ammonium_rich.py +34 -0
- AeroViz/plot/templates/contour.py +47 -0
- AeroViz/plot/templates/corr_matrix.py +267 -0
- AeroViz/plot/templates/diurnal_pattern.py +61 -0
- AeroViz/plot/templates/koschmieder.py +95 -0
- AeroViz/plot/templates/metal_heatmap.py +164 -0
- AeroViz/plot/timeseries/__init__.py +2 -0
- AeroViz/plot/timeseries/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/plot/timeseries/__pycache__/template.cpython-312.pyc +0 -0
- AeroViz/plot/timeseries/__pycache__/timeseries.cpython-312.pyc +0 -0
- AeroViz/plot/timeseries/template.py +47 -0
- AeroViz/plot/timeseries/timeseries.py +446 -0
- AeroViz/plot/utils/__init__.py +4 -0
- AeroViz/plot/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/plot/utils/__pycache__/_color.cpython-312.pyc +0 -0
- AeroViz/plot/utils/__pycache__/_unit.cpython-312.pyc +0 -0
- AeroViz/plot/utils/__pycache__/plt_utils.cpython-312.pyc +0 -0
- AeroViz/plot/utils/__pycache__/sklearn_utils.cpython-312.pyc +0 -0
- AeroViz/plot/utils/_color.py +71 -0
- AeroViz/plot/utils/_unit.py +55 -0
- AeroViz/plot/utils/fRH.json +390 -0
- AeroViz/plot/utils/plt_utils.py +92 -0
- AeroViz/plot/utils/sklearn_utils.py +49 -0
- AeroViz/plot/utils/units.json +89 -0
- AeroViz/plot/violin.py +80 -0
- AeroViz/rawDataReader/FLOW.md +138 -0
- AeroViz/rawDataReader/__init__.py +220 -0
- AeroViz/rawDataReader/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/config/__init__.py +0 -0
- AeroViz/rawDataReader/config/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/config/__pycache__/supported_instruments.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/config/supported_instruments.py +135 -0
- AeroViz/rawDataReader/core/__init__.py +658 -0
- AeroViz/rawDataReader/core/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/core/__pycache__/logger.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/core/__pycache__/pre_process.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/core/__pycache__/qc.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/core/__pycache__/report.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/core/logger.py +171 -0
- AeroViz/rawDataReader/core/pre_process.py +308 -0
- AeroViz/rawDataReader/core/qc.py +961 -0
- AeroViz/rawDataReader/core/report.py +579 -0
- AeroViz/rawDataReader/script/AE33.py +173 -0
- AeroViz/rawDataReader/script/AE43.py +151 -0
- AeroViz/rawDataReader/script/APS.py +339 -0
- AeroViz/rawDataReader/script/Aurora.py +191 -0
- AeroViz/rawDataReader/script/BAM1020.py +90 -0
- AeroViz/rawDataReader/script/BC1054.py +161 -0
- AeroViz/rawDataReader/script/EPA.py +79 -0
- AeroViz/rawDataReader/script/GRIMM.py +68 -0
- AeroViz/rawDataReader/script/IGAC.py +140 -0
- AeroViz/rawDataReader/script/MA350.py +179 -0
- AeroViz/rawDataReader/script/Minion.py +218 -0
- AeroViz/rawDataReader/script/NEPH.py +199 -0
- AeroViz/rawDataReader/script/OCEC.py +173 -0
- AeroViz/rawDataReader/script/Q-ACSM.py +12 -0
- AeroViz/rawDataReader/script/SMPS.py +389 -0
- AeroViz/rawDataReader/script/TEOM.py +181 -0
- AeroViz/rawDataReader/script/VOC.py +106 -0
- AeroViz/rawDataReader/script/Xact.py +244 -0
- AeroViz/rawDataReader/script/__init__.py +28 -0
- AeroViz/rawDataReader/script/__pycache__/AE33.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/AE43.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/APS.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/Aurora.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/BAM1020.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/BC1054.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/EPA.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/GRIMM.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/IGAC.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/MA350.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/Minion.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/NEPH.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/OCEC.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/Q-ACSM.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/SMPS.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/TEOM.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/VOC.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/Xact.cpython-312.pyc +0 -0
- AeroViz/rawDataReader/script/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/tools/__init__.py +2 -0
- AeroViz/tools/__pycache__/__init__.cpython-312.pyc +0 -0
- AeroViz/tools/__pycache__/database.cpython-312.pyc +0 -0
- AeroViz/tools/__pycache__/dataclassifier.cpython-312.pyc +0 -0
- AeroViz/tools/database.py +95 -0
- AeroViz/tools/dataclassifier.py +117 -0
- AeroViz/tools/dataprinter.py +58 -0
- aeroviz-0.1.21.dist-info/METADATA +294 -0
- aeroviz-0.1.21.dist-info/RECORD +180 -0
- aeroviz-0.1.21.dist-info/WHEEL +5 -0
- aeroviz-0.1.21.dist-info/licenses/LICENSE +21 -0
- aeroviz-0.1.21.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
1 1
|
|
2
|
+
AWRF 24 1 25 0 0
|
|
3
|
+
4 BACKWARD OMEGA
|
|
4
|
+
24 2 27 16 22.630 120.346 10.0
|
|
5
|
+
24 2 27 16 22.630 120.346 100.0
|
|
6
|
+
24 2 27 16 22.630 120.346 500.0
|
|
7
|
+
24 2 27 16 22.630 120.346 1000.0
|
|
8
|
+
1 PRESSURE
|
|
9
|
+
1 1 24 2 27 16 0 808 0.0 22.630 120.346 10.0 1018.1
|
|
10
|
+
2 1 24 2 27 16 0 808 0.0 22.630 120.346 100.0 1007.1
|
|
11
|
+
3 1 24 2 27 16 0 808 0.0 22.630 120.346 500.0 961.2
|
|
12
|
+
4 1 24 2 27 16 0 808 0.0 22.630 120.346 1000.0 906.2
|
|
13
|
+
1 1 24 2 27 15 0 807 -1.0 22.700 120.337 13.4 1016.4
|
|
14
|
+
2 1 24 2 27 15 0 807 -1.0 22.779 120.325 115.8 1004.4
|
|
15
|
+
3 1 24 2 27 15 0 807 -1.0 22.615 120.313 471.0 964.8
|
|
16
|
+
4 1 24 2 27 15 0 807 -1.0 22.535 120.469 1035.2 902.9
|
|
17
|
+
1 1 24 2 27 14 0 806 -2.0 22.795 120.323 24.3 1015.4
|
|
18
|
+
2 1 24 2 27 14 0 806 -2.0 23.026 120.322 128.8 1001.6
|
|
19
|
+
3 1 24 2 27 14 0 806 -2.0 22.606 120.315 471.5 964.7
|
|
20
|
+
4 1 24 2 27 14 0 806 -2.0 22.484 120.626 1025.3 893.1
|
|
21
|
+
1 1 24 2 27 13 0 805 -3.0 22.936 120.308 56.6 1010.4
|
|
22
|
+
2 1 24 2 27 13 0 805 -3.0 23.275 120.355 142.2 1000.7
|
|
23
|
+
3 1 24 2 27 13 0 805 -3.0 22.612 120.341 492.9 961.7
|
|
24
|
+
4 1 24 2 27 13 0 805 -3.0 22.490 120.729 641.9 860.0
|
|
25
|
+
1 1 24 2 27 12 0 804 -4.0 23.133 120.283 74.9 1010.2
|
|
26
|
+
2 1 24 2 27 12 0 804 -4.0 23.491 120.413 187.7 994.2
|
|
27
|
+
3 1 24 2 27 12 0 804 -4.0 22.670 120.382 482.0 960.7
|
|
28
|
+
4 1 24 2 27 12 0 804 -4.0 22.538 120.774 830.3 801.8
|
|
29
|
+
1 1 24 2 27 11 0 803 -5.0 23.363 120.276 94.7 1007.0
|
|
30
|
+
2 1 24 2 27 11 0 803 -5.0 23.702 120.464 202.2 992.8
|
|
31
|
+
3 1 24 2 27 11 0 803 -5.0 22.708 120.455 327.6 977.5
|
|
32
|
+
4 1 24 2 27 11 0 803 -5.0 22.576 120.736 629.4 831.5
|
|
33
|
+
1 1 24 2 27 10 0 802 -6.0 23.611 120.281 123.4 1003.6
|
|
34
|
+
2 1 24 2 27 10 0 802 -6.0 23.924 120.507 235.0 988.9
|
|
35
|
+
3 1 24 2 27 10 0 802 -6.0 22.691 120.521 95.4 1004.1
|
|
36
|
+
4 1 24 2 27 10 0 802 -6.0 22.631 120.727 385.5 834.4
|
|
37
|
+
1 1 24 2 27 9 0 801 -7.0 23.910 120.338 185.0 996.9
|
|
38
|
+
2 1 24 2 27 9 0 801 -7.0 24.136 120.570 314.7 974.2
|
|
39
|
+
3 1 24 2 27 9 0 801 -7.0 22.702 120.585 125.1 999.7
|
|
40
|
+
4 1 24 2 27 9 0 801 -7.0 22.669 120.749 200.9 817.0
|
|
41
|
+
1 1 24 2 27 8 0 800 -8.0 24.287 120.521 321.6 982.5
|
|
42
|
+
2 1 24 2 27 8 0 800 -8.0 24.195 120.654 531.7 942.2
|
|
43
|
+
3 1 24 2 27 8 0 800 -8.0 22.707 120.608 170.4 993.9
|
|
44
|
+
4 1 24 2 27 8 0 800 -8.0 22.689 120.756 313.0 822.5
|
|
45
|
+
1 1 24 2 27 7 0 799 -9.0 24.612 120.810 428.8 969.2
|
|
46
|
+
2 1 24 2 27 7 0 799 -9.0 24.193 120.736 697.7 917.4
|
|
47
|
+
3 1 24 2 27 7 0 799 -9.0 22.719 120.610 229.7 986.5
|
|
48
|
+
4 1 24 2 27 7 0 799 -9.0 22.689 120.751 248.2 833.6
|
|
49
|
+
1 1 24 2 27 6 0 798 -10.0 24.859 121.146 538.3 932.4
|
|
50
|
+
2 1 24 2 27 6 0 798 -10.0 24.145 120.757 664.1 919.1
|
|
51
|
+
3 1 24 2 27 6 0 798 -10.0 22.738 120.605 305.9 978.9
|
|
52
|
+
4 1 24 2 27 6 0 798 -10.0 22.711 120.761 0.0 888.3
|
|
53
|
+
1 1 24 2 27 5 0 797 -11.0 24.984 121.430 392.9 975.2
|
|
54
|
+
2 1 24 2 27 5 0 797 -11.0 24.074 120.749 654.4 923.5
|
|
55
|
+
3 1 24 2 27 5 0 797 -11.0 22.731 120.603 495.6 958.3
|
|
56
|
+
4 1 24 2 27 5 0 797 -11.0 22.700 120.785 175.9 829.1
|
|
57
|
+
1 1 24 2 27 4 0 796 -12.0 25.158 121.638 503.0 954.6
|
|
58
|
+
2 1 24 2 27 4 0 796 -12.0 23.989 120.737 641.7 927.8
|
|
59
|
+
3 1 24 2 27 4 0 796 -12.0 22.693 120.592 648.1 943.6
|
|
60
|
+
4 1 24 2 27 4 0 796 -12.0 22.685 120.810 145.4 853.0
|
|
61
|
+
1 1 24 2 27 3 0 795 -13.0 25.451 121.825 386.1 978.5
|
|
62
|
+
2 1 24 2 27 3 0 795 -13.0 23.906 120.739 645.3 929.6
|
|
63
|
+
3 1 24 2 27 3 0 795 -13.0 22.657 120.583 682.1 940.8
|
|
64
|
+
4 1 24 2 27 3 0 795 -13.0 22.655 120.810 8.7 903.0
|
|
65
|
+
1 1 24 2 27 2 0 794 -14.0 25.789 121.989 450.1 971.0
|
|
66
|
+
2 1 24 2 27 2 0 794 -14.0 23.854 120.722 640.7 924.2
|
|
67
|
+
3 1 24 2 27 2 0 794 -14.0 22.618 120.552 686.5 941.2
|
|
68
|
+
4 1 24 2 27 2 0 794 -14.0 22.628 120.817 147.7 890.5
|
|
69
|
+
1 1 24 2 27 1 0 793 -15.0 26.127 122.136 554.7 959.4
|
|
70
|
+
2 1 24 2 27 1 0 793 -15.0 23.815 120.684 526.0 936.4
|
|
71
|
+
3 1 24 2 27 1 0 793 -15.0 22.537 120.538 763.0 933.1
|
|
72
|
+
4 1 24 2 27 1 0 793 -15.0 22.630 120.825 156.0 898.7
|
|
73
|
+
1 1 24 2 27 0 0 792 -16.0 26.425 122.289 711.1 940.7
|
|
74
|
+
2 1 24 2 27 0 0 792 -16.0 23.793 120.665 527.9 942.8
|
|
75
|
+
3 1 24 2 27 0 0 792 -16.0 22.498 120.642 901.2 897.5
|
|
76
|
+
4 1 24 2 27 0 0 792 -16.0 22.633 120.822 130.8 898.3
|
|
77
|
+
1 1 24 2 26 23 0 791 -17.0 26.705 122.454 872.6 921.4
|
|
78
|
+
2 1 24 2 26 23 0 791 -17.0 23.798 120.671 524.1 940.3
|
|
79
|
+
3 1 24 2 26 23 0 791 -17.0 22.514 120.689 734.8 863.9
|
|
80
|
+
4 1 24 2 26 23 0 791 -17.0 22.628 120.825 80.9 904.3
|
|
81
|
+
2 1 24 2 26 22 0 790 -18.0 23.816 120.688 493.1 939.0
|
|
82
|
+
3 1 24 2 26 22 0 790 -18.0 22.559 120.685 771.9 865.4
|
|
83
|
+
4 1 24 2 26 22 0 790 -18.0 22.623 120.829 56.0 907.8
|
|
84
|
+
2 1 24 2 26 21 0 789 -19.0 23.836 120.711 427.5 946.0
|
|
85
|
+
3 1 24 2 26 21 0 789 -19.0 22.557 120.666 660.4 899.0
|
|
86
|
+
4 1 24 2 26 21 0 789 -19.0 22.623 120.833 82.4 907.7
|
|
87
|
+
2 1 24 2 26 20 0 788 -20.0 23.865 120.751 489.8 941.5
|
|
88
|
+
3 1 24 2 26 20 0 788 -20.0 22.525 120.624 588.1 942.1
|
|
89
|
+
4 1 24 2 26 20 0 788 -20.0 22.636 120.848 98.3 914.3
|
|
90
|
+
2 1 24 2 26 19 0 787 -21.0 23.874 120.791 693.5 909.2
|
|
91
|
+
3 1 24 2 26 19 0 787 -21.0 22.492 120.608 624.9 943.0
|
|
92
|
+
4 1 24 2 26 19 0 787 -21.0 22.667 120.865 193.7 891.2
|
|
93
|
+
2 1 24 2 26 18 0 786 -22.0 23.874 120.793 743.4 902.1
|
|
94
|
+
3 1 24 2 26 18 0 786 -22.0 22.482 120.601 703.4 938.1
|
|
95
|
+
4 1 24 2 26 18 0 786 -22.0 22.747 120.984 287.0 906.5
|
|
96
|
+
2 1 24 2 26 17 0 785 -23.0 23.885 120.793 766.4 902.4
|
|
97
|
+
3 1 24 2 26 17 0 785 -23.0 22.471 120.582 842.0 922.5
|
|
98
|
+
4 1 24 2 26 17 0 785 -23.0 22.867 121.070 462.0 920.8
|
|
99
|
+
2 1 24 2 26 16 0 784 -24.0 23.895 120.778 859.2 898.6
|
|
100
|
+
3 1 24 2 26 16 0 784 -24.0 22.446 120.618 1090.1 893.0
|
|
101
|
+
4 1 24 2 26 16 0 784 -24.0 22.973 121.135 790.6 906.9
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
from ..core import Writer, run_process
|
|
2
|
+
|
|
3
|
+
__all__ = ['Chemistry']
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Chemistry(Writer):
|
|
7
|
+
# Reconstruction
|
|
8
|
+
@run_process('Chemistry - reconstruction basic', 'reconstrc_basic')
|
|
9
|
+
def ReConstrc_basic(self, *df_chem, df_ref=None, df_water=None, df_density=None, nam_lst=None):
|
|
10
|
+
from ._mass_volume import _basic
|
|
11
|
+
|
|
12
|
+
if nam_lst is None:
|
|
13
|
+
nam_lst = ['NH4+', 'SO42-', 'NO3-', 'Fe', 'Na+', 'OC', 'EC']
|
|
14
|
+
|
|
15
|
+
out = _basic(df_chem, df_ref, df_water, df_density, nam_lst=nam_lst)
|
|
16
|
+
|
|
17
|
+
return self, out
|
|
18
|
+
|
|
19
|
+
# Partition (Gas-Particle Partitioning Ratios)
|
|
20
|
+
@run_process('Chemistry - Partition', 'partition')
|
|
21
|
+
def Partition(self, df_data):
|
|
22
|
+
"""
|
|
23
|
+
Calculate gas-particle partitioning ratios (SOR, NOR, NTR, epsilon).
|
|
24
|
+
|
|
25
|
+
Parameters
|
|
26
|
+
----------
|
|
27
|
+
df_data : DataFrame
|
|
28
|
+
Data containing particle and gas concentrations (μg/m³).
|
|
29
|
+
Required: 'temp' column (temperature in Celsius)
|
|
30
|
+
Optional species (at least one pair needed):
|
|
31
|
+
- SO42-, SO2 : for SOR
|
|
32
|
+
- NO3-, NO2 : for NOR
|
|
33
|
+
- NH4+, NH3 : for NTR
|
|
34
|
+
- Cl-, HCl : for chloride partitioning
|
|
35
|
+
|
|
36
|
+
Returns
|
|
37
|
+
-------
|
|
38
|
+
DataFrame
|
|
39
|
+
Partitioning ratios: SOR, NOR, NOR_2, NTR, epls_* columns.
|
|
40
|
+
|
|
41
|
+
Notes
|
|
42
|
+
-----
|
|
43
|
+
- SOR > 0.1 indicates secondary sulfate formation
|
|
44
|
+
- Values near 1.0: particle phase dominant
|
|
45
|
+
- Values near 0.0: gas phase dominant
|
|
46
|
+
"""
|
|
47
|
+
from ._calculate import partition_ratios
|
|
48
|
+
|
|
49
|
+
out = partition_ratios(df_data)
|
|
50
|
+
|
|
51
|
+
return self, out
|
|
52
|
+
|
|
53
|
+
# ISOROPIA
|
|
54
|
+
@run_process('Chemistry - ISOROPIA', 'isoropia')
|
|
55
|
+
def ISOROPIA(self, *df_chem, nam_lst=None):
|
|
56
|
+
from ._isoropia import _basic
|
|
57
|
+
|
|
58
|
+
if nam_lst is None:
|
|
59
|
+
nam_lst = ['Na+', 'SO42-', 'NH4+', 'NO3-', 'Cl-', 'Ca2+',
|
|
60
|
+
'K+', 'Mg2+', 'NH3', 'HNO3', 'HCl', 'RH', 'temp']
|
|
61
|
+
|
|
62
|
+
if self.path_out is None:
|
|
63
|
+
raise ValueError('Please Input "path_out" !!')
|
|
64
|
+
|
|
65
|
+
out = _basic(df_chem, self.path_out, nam_lst=nam_lst)
|
|
66
|
+
|
|
67
|
+
return self, out
|
|
68
|
+
|
|
69
|
+
# OCEC
|
|
70
|
+
@run_process('Chemistry - OC/EC basic', 'ocec_basic')
|
|
71
|
+
def OCEC_basic(self, df_lcres, df_mass=None, ocec_ratio=None, ocec_ratio_month=1, hr_lim=200,
|
|
72
|
+
least_square_range=(0.1, 2.5, 0.1), WISOC_OC_range=(0.2, 0.7, 0.01), ):
|
|
73
|
+
from ._ocec import _basic
|
|
74
|
+
|
|
75
|
+
out = _basic(df_lcres, df_mass, ocec_ratio, ocec_ratio_month, hr_lim, least_square_range, WISOC_OC_range)
|
|
76
|
+
|
|
77
|
+
return self, out
|
|
78
|
+
|
|
79
|
+
# Volume Average Mixing
|
|
80
|
+
@run_process('Chemistry - VAM', 'vam')
|
|
81
|
+
def volume_average_mixing(self, df_volume, df_alwc=None):
|
|
82
|
+
"""
|
|
83
|
+
Calculate volume-average refractive index and growth factor.
|
|
84
|
+
|
|
85
|
+
Parameters
|
|
86
|
+
----------
|
|
87
|
+
df_volume : DataFrame
|
|
88
|
+
Volume data with AS_volume, AN_volume, etc. and total_dry columns.
|
|
89
|
+
df_alwc : DataFrame, optional
|
|
90
|
+
Aerosol liquid water content data.
|
|
91
|
+
|
|
92
|
+
Returns
|
|
93
|
+
-------
|
|
94
|
+
DataFrame
|
|
95
|
+
RI data with n_dry, k_dry, n_amb, k_amb, gRH columns.
|
|
96
|
+
"""
|
|
97
|
+
from ._calculate import volume_average_mixing
|
|
98
|
+
|
|
99
|
+
out = volume_average_mixing(df_volume, df_alwc)
|
|
100
|
+
|
|
101
|
+
return self, out
|
|
102
|
+
|
|
103
|
+
# Kappa calculation
|
|
104
|
+
@run_process('Chemistry - kappa', 'kappa')
|
|
105
|
+
def kappa(self, df_data, diameter=0.5):
|
|
106
|
+
"""
|
|
107
|
+
Calculate hygroscopicity parameter kappa.
|
|
108
|
+
|
|
109
|
+
Parameters
|
|
110
|
+
----------
|
|
111
|
+
df_data : DataFrame
|
|
112
|
+
Data containing gRH, AT (temperature in C), and RH (%).
|
|
113
|
+
diameter : float, default=0.5
|
|
114
|
+
Particle dry diameter in micrometers.
|
|
115
|
+
|
|
116
|
+
Returns
|
|
117
|
+
-------
|
|
118
|
+
DataFrame
|
|
119
|
+
Kappa values.
|
|
120
|
+
"""
|
|
121
|
+
from ._calculate import kappa_calculate
|
|
122
|
+
|
|
123
|
+
out = kappa_calculate(df_data, diameter)
|
|
124
|
+
|
|
125
|
+
return self, out
|
|
126
|
+
|
|
127
|
+
# gRH calculation
|
|
128
|
+
@run_process('Chemistry - gRH', 'gRH')
|
|
129
|
+
def gRH(self, df_volume, df_alwc):
|
|
130
|
+
"""
|
|
131
|
+
Calculate hygroscopic growth factor.
|
|
132
|
+
|
|
133
|
+
Parameters
|
|
134
|
+
----------
|
|
135
|
+
df_volume : DataFrame
|
|
136
|
+
Volume data with 'total_dry' column.
|
|
137
|
+
df_alwc : DataFrame
|
|
138
|
+
Aerosol liquid water content with 'ALWC' column.
|
|
139
|
+
|
|
140
|
+
Returns
|
|
141
|
+
-------
|
|
142
|
+
DataFrame
|
|
143
|
+
Growth factor data.
|
|
144
|
+
"""
|
|
145
|
+
from ._calculate import gRH_calculate
|
|
146
|
+
|
|
147
|
+
out = gRH_calculate(df_volume, df_alwc)
|
|
148
|
+
|
|
149
|
+
return self, out
|
|
Binary file
|