PySDM-examples 2.40__py3-none-any.whl → 2.41__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.
- PySDM_examples/Alpert_and_Knopf_2016/__init__.py +1 -0
- PySDM_examples/Arabas_and_Shima_2017/__init__.py +1 -0
- PySDM_examples/Arabas_et_al_2015/settings.py +1 -4
- PySDM_examples/Arabas_et_al_2023/__init__.py +1 -0
- PySDM_examples/Arabas_et_al_2023/plots.py +5 -3
- PySDM_examples/Bartman_et_al_2021/label.py +5 -5
- PySDM_examples/Berry_1967/__init__.py +1 -0
- PySDM_examples/Bieli_et_al_2022/__init__.py +1 -0
- PySDM_examples/Bolot_et_al_2013/__init__.py +1 -0
- PySDM_examples/Ervens_and_Feingold_2012/__init__.py +1 -0
- PySDM_examples/Ervens_and_Feingold_2012/settings.py +1 -3
- PySDM_examples/Kreidenweis_et_al_2003/settings.py +7 -5
- PySDM_examples/Lowe_et_al_2019/aerosol_code.py +7 -7
- PySDM_examples/Merlivat_and_Nief_1967/__init__.py +1 -0
- PySDM_examples/Niedermeier_et_al_2014/__init__.py +1 -0
- PySDM_examples/Niedermeier_et_al_2014/simulation.py +5 -3
- PySDM_examples/Pierchala_et_al_2022/__init__.py +1 -0
- PySDM_examples/Pyrcel/profile_plotter.py +5 -5
- PySDM_examples/Shipway_and_Hill_2012/settings.py +6 -6
- PySDM_examples/Srivastava_1982/__init__.py +1 -0
- PySDM_examples/Srivastava_1982/example.py +4 -4
- PySDM_examples/Srivastava_1982/simulation.py +3 -3
- PySDM_examples/Szumowski_et_al_1998/gui_viewer.py +9 -7
- PySDM_examples/Szumowski_et_al_1998/simulation.py +5 -5
- PySDM_examples/Van_Hook_1968/__init__.py +1 -0
- PySDM_examples/__init__.py +1 -0
- PySDM_examples/deJong_Mackay_et_al_2023/__init__.py +1 -0
- PySDM_examples/utils/__init__.py +1 -0
- PySDM_examples/utils/notebook_vars.py +1 -0
- {PySDM_examples-2.40.dist-info → PySDM_examples-2.41.dist-info}/METADATA +4 -2
- {PySDM_examples-2.40.dist-info → PySDM_examples-2.41.dist-info}/RECORD +33 -33
- {PySDM_examples-2.40.dist-info → PySDM_examples-2.41.dist-info}/WHEEL +0 -0
- {PySDM_examples-2.40.dist-info → PySDM_examples-2.41.dist-info}/top_level.txt +0 -0
|
@@ -28,10 +28,7 @@ class Settings(StratoCumulus):
|
|
|
28
28
|
def __init__(
|
|
29
29
|
self,
|
|
30
30
|
formulae=None,
|
|
31
|
-
rhod_w_max: float = 0.6
|
|
32
|
-
* si.metres
|
|
33
|
-
/ si.seconds
|
|
34
|
-
* (si.kilogram / si.metre**3),
|
|
31
|
+
rhod_w_max: float = 0.6 * si.metres / si.seconds * (si.kilogram / si.metre**3),
|
|
35
32
|
):
|
|
36
33
|
super().__init__(formulae or Formulae(), rhod_w_max=rhod_w_max)
|
|
37
34
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
box-model and 2D prescribed-flow immersion-freezing examples based on
|
|
3
3
|
[Arabas et al. 2023](https://arxiv.org/abs/2308.05015)
|
|
4
4
|
"""
|
|
5
|
+
|
|
5
6
|
from .make_particulator import make_particulator
|
|
6
7
|
from .plots import make_freezing_spec_plot, make_pdf_plot, make_temperature_plot
|
|
7
8
|
from .run_simulation import run_simulation
|
|
@@ -28,9 +28,11 @@ def make_temperature_plot(data):
|
|
|
28
28
|
xy2.plot(
|
|
29
29
|
datum["t"],
|
|
30
30
|
np.asarray(datum["qi"]) / qi_unit, # marker='.',
|
|
31
|
-
label=
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
label=(
|
|
32
|
+
f"Monte-Carlo ({labels[v['singular']]})"
|
|
33
|
+
if not plotted[v["singular"]]
|
|
34
|
+
else ""
|
|
35
|
+
),
|
|
34
36
|
color=colors[v["singular"]],
|
|
35
37
|
)
|
|
36
38
|
plotted[v["singular"]] = True
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
def label(settings):
|
|
2
2
|
lbl = str(
|
|
3
3
|
{
|
|
4
|
-
k.replace("condensation_", ""):
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
k.replace("condensation_", ""): (
|
|
5
|
+
f"{v:.1e}"
|
|
6
|
+
if isinstance(v, float)
|
|
7
|
+
else str(v).zfill(2) if isinstance(v, int) else v
|
|
8
|
+
)
|
|
9
9
|
for k, v in settings.items()
|
|
10
10
|
}
|
|
11
11
|
)
|
|
@@ -7,8 +7,6 @@ def sampled_ccn_diameter_number_concentration_spectrum(
|
|
|
7
7
|
n_sd: int = 11, size_range: tuple = (0.02 * si.um, 2 * si.um)
|
|
8
8
|
):
|
|
9
9
|
return Logarithmic(
|
|
10
|
-
spectrum=Lognormal(
|
|
11
|
-
s_geom=1.4, m_mode=0.04 * si.um, norm_factor=100 / si.cm**3
|
|
12
|
-
),
|
|
10
|
+
spectrum=Lognormal(s_geom=1.4, m_mode=0.04 * si.um, norm_factor=100 / si.cm**3),
|
|
13
11
|
size_range=size_range,
|
|
14
12
|
).sample(n_sd)
|
|
@@ -70,11 +70,13 @@ class Settings:
|
|
|
70
70
|
|
|
71
71
|
self.starting_amounts = {
|
|
72
72
|
"moles_"
|
|
73
|
-
+ k:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
+ k: (
|
|
74
|
+
self.formulae.trivia.volume(self.r_dry)
|
|
75
|
+
* self.DRY_RHO
|
|
76
|
+
/ self.dry_molar_mass
|
|
77
|
+
if k in ("N_mIII", "S_VI")
|
|
78
|
+
else np.zeros(self.n_sd)
|
|
79
|
+
)
|
|
78
80
|
for k in AQUEOUS_COMPOUNDS
|
|
79
81
|
}
|
|
80
82
|
|
|
@@ -109,8 +109,8 @@ class AerosolBoreal(DryAerosolMixture):
|
|
|
109
109
|
def __init__(
|
|
110
110
|
self, water_molar_volume: float, Forg: float = 0.668, Acc_N2: float = 540
|
|
111
111
|
):
|
|
112
|
-
# TODO #
|
|
113
|
-
# TODO #
|
|
112
|
+
# TODO #1247: SOA1 or SOA2 unclear from the paper
|
|
113
|
+
# TODO #1247: CAN'T FIND WHERE NH4NO3 PROPERTIES ARE DEFINED IN ICPM
|
|
114
114
|
INORG_MASS_RATIO = 0.1515 / 0.1559
|
|
115
115
|
Aitken = {
|
|
116
116
|
"SOA1": Forg,
|
|
@@ -137,8 +137,8 @@ class AerosolBoreal(DryAerosolMixture):
|
|
|
137
137
|
* si.gram
|
|
138
138
|
/ si.mole,
|
|
139
139
|
"NH4NO3": Substance.from_formula("NH4NO3").mass * si.gram / si.mole,
|
|
140
|
-
"SOA1": 190 * si.g / si.mole, # TODO #
|
|
141
|
-
"SOA2": 368.4 * si.g / si.mole, # TODO #
|
|
140
|
+
"SOA1": 190 * si.g / si.mole, # TODO #1247: 190 OR 200?
|
|
141
|
+
"SOA2": 368.4 * si.g / si.mole, # TODO #1247: 368.4 OR 200?
|
|
142
142
|
},
|
|
143
143
|
densities={
|
|
144
144
|
"SOA1": 1.2 * si.g / si.cm**3,
|
|
@@ -199,7 +199,7 @@ class AerosolNascent(DryAerosolMixture):
|
|
|
199
199
|
def __init__(
|
|
200
200
|
self, water_molar_volume: float, Acc_Forg: float = 0.3, Acc_N2: float = 30
|
|
201
201
|
):
|
|
202
|
-
# TODO #
|
|
202
|
+
# TODO #1247: CAN'T FIND WHEN PHI IS MULTIPLIED FOR KÖHLER B IN ICPM CODE
|
|
203
203
|
Ultrafine = {
|
|
204
204
|
"SOA1": 0.52,
|
|
205
205
|
"SOA2": 0,
|
|
@@ -217,8 +217,8 @@ class AerosolNascent(DryAerosolMixture):
|
|
|
217
217
|
"(NH4)2SO4": 3,
|
|
218
218
|
},
|
|
219
219
|
molar_masses={
|
|
220
|
-
"SOA1": 190 * si.g / si.mole, # TODO #
|
|
221
|
-
"SOA2": 368.4 * si.g / si.mole, # TODO #
|
|
220
|
+
"SOA1": 190 * si.g / si.mole, # TODO #1247: 190 OR 200?
|
|
221
|
+
"SOA2": 368.4 * si.g / si.mole, # TODO #1247: 368.4 OR 200?
|
|
222
222
|
"(NH4)2SO4": Substance.from_formula("(NH4)2SO4").mass
|
|
223
223
|
* si.gram
|
|
224
224
|
/ si.mole,
|
|
@@ -68,9 +68,11 @@ class Simulation(BasicSimulation):
|
|
|
68
68
|
data[:-1],
|
|
69
69
|
np.full(
|
|
70
70
|
settings.in_sampling_n,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
(
|
|
72
|
+
data[-1]
|
|
73
|
+
if attribute != "multiplicity"
|
|
74
|
+
else data[-1] / settings.in_sampling_n
|
|
75
|
+
),
|
|
74
76
|
),
|
|
75
77
|
)
|
|
76
78
|
)
|
|
@@ -57,11 +57,11 @@ class ProfilePlotter:
|
|
|
57
57
|
settings.formulae.trivia.radius(volume=np.asarray(volume)) / si.um,
|
|
58
58
|
output["products"]["z"],
|
|
59
59
|
color="magenta" if drop_id < settings.n_sd_per_mode[0] else "blue",
|
|
60
|
-
label=
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
label=(
|
|
61
|
+
"mode 1"
|
|
62
|
+
if drop_id == 0
|
|
63
|
+
else "mode 2" if drop_id == settings.n_sd_per_mode[0] else ""
|
|
64
|
+
),
|
|
65
65
|
)
|
|
66
66
|
axR.legend(loc="upper right")
|
|
67
67
|
axR.set_xlabel("Droplet radius [μm]")
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
from typing import Iterable
|
|
2
2
|
|
|
3
3
|
import numpy as np
|
|
4
|
+
from numdifftools import Derivative
|
|
4
5
|
from scipy.integrate import solve_ivp
|
|
5
6
|
from scipy.interpolate import interp1d
|
|
6
|
-
from scipy.misc import derivative
|
|
7
7
|
|
|
8
8
|
from PySDM import Formulae
|
|
9
9
|
from PySDM.dynamics import condensation
|
|
@@ -60,8 +60,8 @@ class Settings:
|
|
|
60
60
|
self.t_max = t_max
|
|
61
61
|
|
|
62
62
|
t_1 = 600 * si.s
|
|
63
|
-
self.rho_times_w = (
|
|
64
|
-
|
|
63
|
+
self.rho_times_w = lambda t: (
|
|
64
|
+
rho_times_w_1 * np.sin(np.pi * t / t_1) if t < t_1 else 0
|
|
65
65
|
)
|
|
66
66
|
apprx_w1 = rho_times_w_1 / self.formulae.constants.rho_STP
|
|
67
67
|
self.particle_reservoir_depth = (
|
|
@@ -106,9 +106,9 @@ class Settings:
|
|
|
106
106
|
water_vapour_mixing_ratio = self.water_vapour_mixing_ratio(
|
|
107
107
|
z_above_reservoir
|
|
108
108
|
)
|
|
109
|
-
d_water_vapour_mixing_ratio__dz =
|
|
110
|
-
self.water_vapour_mixing_ratio
|
|
111
|
-
)
|
|
109
|
+
d_water_vapour_mixing_ratio__dz = Derivative(
|
|
110
|
+
self.water_vapour_mixing_ratio
|
|
111
|
+
)(z_above_reservoir)
|
|
112
112
|
T = self.formulae.state_variable_triplet.T(
|
|
113
113
|
rhod[0], self.thd(z_above_reservoir)
|
|
114
114
|
)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
box-model examples feat. analytic solution for breakup from
|
|
3
3
|
[Srivastava 1982 (JAS)](https://doi.org/10.1175/1520-0469(1982)039%3C1317:ASMOPC%3E2.0.CO;2)
|
|
4
4
|
"""
|
|
5
|
+
|
|
5
6
|
from .equations import Equations, EquationsHelpers
|
|
6
7
|
from .example import (
|
|
7
8
|
add_to_plot_simulation_results,
|
|
@@ -137,10 +137,10 @@ def get_breakup_coalescence_analytic_results(equations, settings, m0, x, x_log):
|
|
|
137
137
|
|
|
138
138
|
def get_analytic_results(equations, settings, mean_mass, mean_mass_ratio):
|
|
139
139
|
res = {}
|
|
140
|
-
res[
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
res[SimProducts.Computed.mean_drop_volume_total_volume_ratio.name] = (
|
|
141
|
+
compute_drop_volume_total_volume_ratio(
|
|
142
|
+
mean_volume=mean_mass / settings.rho, total_volume=settings.total_volume
|
|
143
|
+
)
|
|
144
144
|
)
|
|
145
145
|
res[SimProducts.PySDM.total_numer.name] = equations.M / mean_mass_ratio
|
|
146
146
|
return res
|
|
@@ -70,9 +70,9 @@ class Simulation:
|
|
|
70
70
|
if step != 0:
|
|
71
71
|
particulator.run(steps=1)
|
|
72
72
|
for prod in self.settings.prods:
|
|
73
|
-
self.simulation_res[n_sd][prod][seed][
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
self.simulation_res[n_sd][prod][seed][step] = (
|
|
74
|
+
particulator.products[prod].get()
|
|
75
|
+
)
|
|
76
76
|
|
|
77
77
|
np.testing.assert_allclose(
|
|
78
78
|
actual=self.simulation_res[n_sd][
|
|
@@ -93,13 +93,15 @@ class GUIViewer:
|
|
|
93
93
|
self.spectrumPlots[key] = (
|
|
94
94
|
_SpectrumPlot(r_bins, self.settings.spectrum_per_mass_of_dry_air)
|
|
95
95
|
if key == "size"
|
|
96
|
-
else
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
else (
|
|
97
|
+
_TemperaturePlot(
|
|
98
|
+
self.settings.T_bins_edges, self.settings.formulae
|
|
99
|
+
)
|
|
100
|
+
if key == "temperature"
|
|
101
|
+
else _TerminalVelocityPlot(
|
|
102
|
+
self.settings.terminal_velocity_radius_bin_edges,
|
|
103
|
+
self.settings.formulae,
|
|
104
|
+
)
|
|
103
105
|
)
|
|
104
106
|
)
|
|
105
107
|
clear_output()
|
|
@@ -162,11 +162,11 @@ class Simulation:
|
|
|
162
162
|
)
|
|
163
163
|
|
|
164
164
|
if self.settings.freezing_singular:
|
|
165
|
-
attributes[
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
attributes["freezing temperature"] = (
|
|
166
|
+
formulae.freezing_temperature_spectrum.invcdf(
|
|
167
|
+
np.random.random(immersed_surface_area.size), # TODO #599: seed
|
|
168
|
+
immersed_surface_area,
|
|
169
|
+
)
|
|
170
170
|
)
|
|
171
171
|
else:
|
|
172
172
|
attributes["immersed surface area"] = immersed_surface_area
|
PySDM_examples/__init__.py
CHANGED
PySDM_examples/utils/__init__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PySDM-examples
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.41
|
|
4
4
|
Summary: PySDM usage examples reproducing results from literature and depicting how to use PySDM from Python Jupyter notebooks
|
|
5
5
|
Home-page: https://github.com/open-atmos/PySDM
|
|
6
6
|
Author: https://github.com/open-atmos/PySDM/graphs/contributors
|
|
@@ -12,12 +12,14 @@ Project-URL: Source, https://github.com/open-atmos/PySDM/tree/main/examples
|
|
|
12
12
|
Platform: UNKNOWN
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
Requires-Dist: PySDM
|
|
15
|
+
Requires-Dist: PyMPDATA
|
|
15
16
|
Requires-Dist: open-atmos-jupyter-utils
|
|
16
17
|
Requires-Dist: pystrict
|
|
18
|
+
Requires-Dist: matplotlib
|
|
17
19
|
Requires-Dist: joblib
|
|
18
20
|
Requires-Dist: ipywidgets
|
|
19
21
|
Requires-Dist: seaborn
|
|
20
|
-
Requires-Dist:
|
|
22
|
+
Requires-Dist: numdifftools
|
|
21
23
|
Requires-Dist: pyvinecopulib
|
|
22
24
|
Requires-Dist: vtk
|
|
23
25
|
Provides-Extra: tests
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
PySDM_examples/__init__.py,sha256=
|
|
1
|
+
PySDM_examples/__init__.py,sha256=Ht8EcJquTq4qeSaDJ4qFG8SNWA4qMfhfTyGcO415i3A,340
|
|
2
2
|
PySDM_examples/Abdul_Razzak_Ghan_2000/__init__.py,sha256=t568yvoJqJgyyhR69eBjs2y8gj4SIgofowulmiWbz9U,165
|
|
3
3
|
PySDM_examples/Abdul_Razzak_Ghan_2000/aerosol.py,sha256=BHZL7DILM2WGK5v251N0pHd_bdk8V1PnhSpItkPh1HI,3405
|
|
4
4
|
PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_ARG2000_paper.py,sha256=MRyurAnXq5ESE8gA5rzMsVx1ZhwcOz76o2xPRAcTPMQ,11585
|
|
5
5
|
PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_CloudMicrophysics_ARG.py,sha256=6vuCL55D2KnUutnqZvdv1Wnpgt0rz4BTFELKzOQP1uo,11547
|
|
6
6
|
PySDM_examples/Abdul_Razzak_Ghan_2000/run_ARG_parcel.py,sha256=kd1IH1XhhS6x-6wkdAHK4R6aIIgI_UXcYo1dDtivbOU,5402
|
|
7
|
-
PySDM_examples/Alpert_and_Knopf_2016/__init__.py,sha256=
|
|
7
|
+
PySDM_examples/Alpert_and_Knopf_2016/__init__.py,sha256=NIqxh_uW0b83mrhYojbd1sMh6-lpz8wf8uuhtNtr0mU,264
|
|
8
8
|
PySDM_examples/Alpert_and_Knopf_2016/simulation.py,sha256=KfXJ3Q2D1EG5EgvNfMc5HymzmpGNJ8f74hqkrR7KYAQ,10113
|
|
9
9
|
PySDM_examples/Alpert_and_Knopf_2016/table.py,sha256=z3d4Pms0nwe4Jb10FilOtNcE4cpUx3zGtDSeStH1l6o,228
|
|
10
10
|
PySDM_examples/Alpert_and_Knopf_2016/table_1.py,sha256=edJfFNqOYwZvOL4nKM5Ir5kFppDqbfz4hPUESqCnNaI,3792
|
|
11
11
|
PySDM_examples/Alpert_and_Knopf_2016/table_2.py,sha256=oxeB_UNLWzrSHKoWOot-kAe5X_i9n18SKDOh7fF9KkQ,1857
|
|
12
|
-
PySDM_examples/Arabas_and_Shima_2017/__init__.py,sha256=
|
|
12
|
+
PySDM_examples/Arabas_and_Shima_2017/__init__.py,sha256=hR7OQjmlyxwzrO61gQsfJaatHYI8BJBdwGSmgBZn8HI,186
|
|
13
13
|
PySDM_examples/Arabas_and_Shima_2017/example.py,sha256=dWzGbRCkdwjWethxtdEjn6IjEssFrmW37sEK8y36Q3I,253
|
|
14
14
|
PySDM_examples/Arabas_and_Shima_2017/settings.py,sha256=RxPoFAZ7K9EL9B8dVwj41wngTnCVPaFu5tOgFm_K8gU,2383
|
|
15
15
|
PySDM_examples/Arabas_and_Shima_2017/simulation.py,sha256=p8zb3-dC0er8d5o7CKSlaM9lAgIzFwO7LqovvuQUrdk,3965
|
|
16
16
|
PySDM_examples/Arabas_et_al_2015/__init__.py,sha256=uPSOIkvpr_UnLacbdQ5DYGW6k59JqvMVTKSuz6ff7bQ,244
|
|
17
17
|
PySDM_examples/Arabas_et_al_2015/example.py,sha256=YB-ABtUByHQnv0jTGJvROhxNX_aQnM_PgoilG7mSEmQ,828
|
|
18
18
|
PySDM_examples/Arabas_et_al_2015/example_benchmark.py,sha256=iUn5qGO0dB_s0DcYlOtllFURbRa6X9H9HW9AkaiHFoc,2343
|
|
19
|
-
PySDM_examples/Arabas_et_al_2015/settings.py,sha256=
|
|
19
|
+
PySDM_examples/Arabas_et_al_2015/settings.py,sha256=HNMezPT8SK2bZlcLdoxoFAzczkz836fX0vRIb5XjntM,1599
|
|
20
20
|
PySDM_examples/Arabas_et_al_2015/spin_up.py,sha256=OxISF9coJpQ3x-lUnyIkPbHsQ46U37ouQM_ijibZ1Zo,837
|
|
21
|
-
PySDM_examples/Arabas_et_al_2023/__init__.py,sha256=
|
|
21
|
+
PySDM_examples/Arabas_et_al_2023/__init__.py,sha256=zZzcM2x30oOKy8BXBtsDFHnrbemEj9lfBdproC_ccpM,307
|
|
22
22
|
PySDM_examples/Arabas_et_al_2023/commons.py,sha256=BEg1kqBX0626TYTWAaJdMrOAspHdgkPkPoDm2cR8ZXk,574
|
|
23
23
|
PySDM_examples/Arabas_et_al_2023/curved_text.py,sha256=DoUvIuHkZ8xrgyXwdwEjUZLMeFseyOG7HfPS78CRNnY,5338
|
|
24
24
|
PySDM_examples/Arabas_et_al_2023/frozen_fraction.py,sha256=8ok3PbeXMwn87hCQt5tsNcHMCbYZHdW7dnCL-Fcx3LQ,783
|
|
25
25
|
PySDM_examples/Arabas_et_al_2023/make_particulator.py,sha256=sPjM5wkljDajIh0XAWH8N22OBublwvnzknAv3rfIydI,2025
|
|
26
|
-
PySDM_examples/Arabas_et_al_2023/plots.py,sha256=
|
|
26
|
+
PySDM_examples/Arabas_et_al_2023/plots.py,sha256=fw7E3bkFiXLkB6QR8nK4qCMVDxW46B77LE-KpdepK_Q,5047
|
|
27
27
|
PySDM_examples/Arabas_et_al_2023/run_simulation.py,sha256=LsZt0l4GMg9td2NwlyIo5agGiuiunkFRJ6rRVPuqfSs,1353
|
|
28
28
|
PySDM_examples/Bartman_2020_MasterThesis/__init__.py,sha256=la2o79L6WLPueZ3EI5ThGtNRuSkXvKQwJJmvrNhhHa8,136
|
|
29
29
|
PySDM_examples/Bartman_2020_MasterThesis/fig_4_adaptive_sdm.py,sha256=bbXDRKH7ekiwEd8dgNRcavlWzoQGfZvXKL_qOT6TtWU,2337
|
|
30
30
|
PySDM_examples/Bartman_2020_MasterThesis/fig_5_SCIPY_VS_ADAPTIVE.py,sha256=CJ4oXcQe8LGxBoD352dyYQICTWkxPvfUVAhBVf5Uxls,4192
|
|
31
31
|
PySDM_examples/Bartman_et_al_2021/__init__.py,sha256=G-GE8actgWv5-0x49DPJmAPR88e0ddlDGqIzzo5RQHU,88
|
|
32
|
-
PySDM_examples/Bartman_et_al_2021/label.py,sha256=
|
|
33
|
-
PySDM_examples/Berry_1967/__init__.py,sha256=
|
|
32
|
+
PySDM_examples/Bartman_et_al_2021/label.py,sha256=sHaZcODS8lrKxWha9Zd-VALHHqFTr_PsUrMPRunTxzA,523
|
|
33
|
+
PySDM_examples/Berry_1967/__init__.py,sha256=WK67_TDhxgbKgiZWsdthnKvFcchvpJ8WuNcIP2b1cXY,185
|
|
34
34
|
PySDM_examples/Berry_1967/example.py,sha256=r0WlZ0R4Y4RiDIsLlq3RG_R9YSvCSrizWGjg3mh0WgQ,2506
|
|
35
35
|
PySDM_examples/Berry_1967/example_fig_6.py,sha256=wD11VB2Ocn-83jkLp55H5xquojdIw_-KdYtii5ZtkJY,3104
|
|
36
36
|
PySDM_examples/Berry_1967/settings.py,sha256=9VmVS4zBTGQff-xBdxb9AjUB9iNNm-qMznURH0ESfwE,1617
|
|
37
37
|
PySDM_examples/Berry_1967/spectrum_plotter.py,sha256=WEEaryYBDydStKyx6H915LVTxeFFKj0pmpdVotktjI4,1023
|
|
38
|
-
PySDM_examples/Bieli_et_al_2022/__init__.py,sha256=
|
|
38
|
+
PySDM_examples/Bieli_et_al_2022/__init__.py,sha256=YdI2papu13HSfH973XxfrwGZkP_nbiXO4lgGHime_7M,141
|
|
39
39
|
PySDM_examples/Bieli_et_al_2022/settings.py,sha256=qJxoGChzqta-c_O2yv4E3wEM4yoECa2dyhKmE8AGrtI,1679
|
|
40
40
|
PySDM_examples/Bieli_et_al_2022/simulation.py,sha256=i-EEZvt37VuUXOEzbFBy7YrJez7_YHiI-gCtsPj_EbM,1304
|
|
41
|
-
PySDM_examples/Bolot_et_al_2013/__init__.py,sha256=
|
|
41
|
+
PySDM_examples/Bolot_et_al_2013/__init__.py,sha256=6yZ-PdTBwwN9f4HqOe-E0m-CyM47mgg2E4ezVKVELF4,136
|
|
42
42
|
PySDM_examples/Bulenok_2023_MasterThesis/__init__.py,sha256=GPHWvxMGulWIaSH7CQlESd2jNTRJeMcXRqjzzJ-AAf8,164
|
|
43
43
|
PySDM_examples/Bulenok_2023_MasterThesis/setups.py,sha256=UVTp0oBMblcR46J29aylfZ6g6-8jlhXCb90ODdcfaSE,3424
|
|
44
44
|
PySDM_examples/Bulenok_2023_MasterThesis/utils.py,sha256=Y0OXKd8D2vJ0vAstl_f68St39MRY89sMqaK1ASo-h1w,8019
|
|
45
|
-
PySDM_examples/Ervens_and_Feingold_2012/__init__.py,sha256=
|
|
46
|
-
PySDM_examples/Ervens_and_Feingold_2012/settings.py,sha256=
|
|
45
|
+
PySDM_examples/Ervens_and_Feingold_2012/__init__.py,sha256=F9Q-77npT6TyIK1vdNS4RPeBb8g4mFBUYz5qg4pj2wo,159
|
|
46
|
+
PySDM_examples/Ervens_and_Feingold_2012/settings.py,sha256=DtkcDqkcO2WAkH63P1RQ19cejn0oAamdsZefN3y0Gy8,442
|
|
47
47
|
PySDM_examples/Grabowski_and_Pawlowska_2023/__init__.py,sha256=_UWULcA_8_vA7zYlW_QuyS4SYe5827jyZBum-ZrGwGk,225
|
|
48
48
|
PySDM_examples/Grabowski_and_Pawlowska_2023/settings.py,sha256=nErcGLTGJTai32jpRhrhpxoJ4Acwh1ccrwGBpQQjGcY,3273
|
|
49
49
|
PySDM_examples/Grabowski_and_Pawlowska_2023/simulation.py,sha256=uXH0zfr4M4XZ81u5GNVFLlbQTSHoA15ScxdwR43X6w8,4515
|
|
50
50
|
PySDM_examples/Graf_et_al_2019/__init__.py,sha256=nT6uOv3PODePRUzFoyOfH_eOCjJkg5z9qS3tXy3USPc,140
|
|
51
51
|
PySDM_examples/Jaruga_and_Pawlowska_2018/__init__.py,sha256=VJz_xFOhVvnqYHKbAPRnZQ3Vky6JEOZxBx8kV0kHIcg,161
|
|
52
52
|
PySDM_examples/Kreidenweis_et_al_2003/__init__.py,sha256=9QbrxhPe0QJxboGKeqHhq9rrvQ5VUcjTpqWgWsxnM1E,225
|
|
53
|
-
PySDM_examples/Kreidenweis_et_al_2003/settings.py,sha256=
|
|
53
|
+
PySDM_examples/Kreidenweis_et_al_2003/settings.py,sha256=iS7rZINn4EyxSsy_0CvQeGAz6ZyB-don1OCY7q_M21c,2836
|
|
54
54
|
PySDM_examples/Kreidenweis_et_al_2003/simulation.py,sha256=UeU6SLhNAYNXVkw14PvPaM1efKmXYUzqkvpYI6L4ODs,4624
|
|
55
55
|
PySDM_examples/Lowe_et_al_2019/__init__.py,sha256=JpFMpZWcBOXcQnYSXNoe4cc0giQJwJAm27dOewsR3wE,236
|
|
56
56
|
PySDM_examples/Lowe_et_al_2019/aerosol.py,sha256=8h0e1QAo4CQyyKokYScfuiWbKVJuLHfJir_r3_KAnNk,6827
|
|
57
|
-
PySDM_examples/Lowe_et_al_2019/aerosol_code.py,sha256=
|
|
57
|
+
PySDM_examples/Lowe_et_al_2019/aerosol_code.py,sha256=HqjEfWwsdKFnrCvRNpyUrfX4JGJLdS53AbHTJ0NgyzQ,9667
|
|
58
58
|
PySDM_examples/Lowe_et_al_2019/plot_helper.py,sha256=Uc35rjIMvigpadiWhKvyNj6b9xauVKss17TkaO58fRQ,6450
|
|
59
59
|
PySDM_examples/Lowe_et_al_2019/settings.py,sha256=J-tFTXjCMer0UJZT3o8xkyEcMWSYzZ6jLtahvaqiHYE,3096
|
|
60
60
|
PySDM_examples/Lowe_et_al_2019/simulation.py,sha256=zy1RITIcYUhkgI8Cqcu13P6WTQ4NMjtNmTjKW_Xa7jQ,5143
|
|
61
|
-
PySDM_examples/Merlivat_and_Nief_1967/__init__.py,sha256=
|
|
61
|
+
PySDM_examples/Merlivat_and_Nief_1967/__init__.py,sha256=bbjcqXvQxmMwZIRTAOGWwFGkKGnQeGsi7x9kI-VdQpQ,127
|
|
62
62
|
PySDM_examples/Morrison_and_Grabowski_2007/__init__.py,sha256=sae2OEASd-sh-f0U_8ObIGitWGiXAPXrr7aTn950xoM,181
|
|
63
63
|
PySDM_examples/Morrison_and_Grabowski_2007/common.py,sha256=aOSCsXSCRPLEgV2LThpmAdF_gGANPAypUDxwGe5C2Do,5221
|
|
64
64
|
PySDM_examples/Morrison_and_Grabowski_2007/cumulus.py,sha256=kyypwfFdYqY_QyoPr88ScvNb53rMTPvseRL7KVad9Fo,4490
|
|
65
65
|
PySDM_examples/Morrison_and_Grabowski_2007/strato_cumulus.py,sha256=NsYP-AOHcY-HDvhg1dWAHWVFZzlaxpDoQJNbrSphdUg,1139
|
|
66
|
-
PySDM_examples/Niedermeier_et_al_2014/__init__.py,sha256=
|
|
66
|
+
PySDM_examples/Niedermeier_et_al_2014/__init__.py,sha256=Oy4G3rNeJtEvLy6F7vznxKL3vLYhPdhp2SoP4YyoPUQ,148
|
|
67
67
|
PySDM_examples/Niedermeier_et_al_2014/settings.py,sha256=fNNORJlWJjKIJDou-UMj3D9EQvxhwa3at5wvemoQhi4,1614
|
|
68
|
-
PySDM_examples/Niedermeier_et_al_2014/simulation.py,sha256=
|
|
69
|
-
PySDM_examples/Pierchala_et_al_2022/__init__.py,sha256=
|
|
68
|
+
PySDM_examples/Niedermeier_et_al_2014/simulation.py,sha256=F1DKol-ujtJ5PaNKyKATquuTgHwces2it4jXDu-4dho,3408
|
|
69
|
+
PySDM_examples/Pierchala_et_al_2022/__init__.py,sha256=vPjlbuWAJ7karsAxnZi2QoJTvduugqCcvDgPe1aPxMA,140
|
|
70
70
|
PySDM_examples/Pierchala_et_al_2022/commons.py,sha256=qqdQkEoURw7ewSCmsDz62lXDk20BQ_9xDmvxwOvznSg,1016
|
|
71
71
|
PySDM_examples/Pyrcel/__init__.py,sha256=Hzj0Dq23fGz_QPHd9Fse76MG1LPJqk_Lpd2qzXCN8RY,208
|
|
72
|
-
PySDM_examples/Pyrcel/profile_plotter.py,sha256=
|
|
72
|
+
PySDM_examples/Pyrcel/profile_plotter.py,sha256=Yquz_ylj8W6KGecFY162PB4z7few2wldxJs5x7YyuW8,2196
|
|
73
73
|
PySDM_examples/Pyrcel/settings.py,sha256=Kg-7_pN1Ah7P_Zc6Vg1mbk-oWZTDcDYM-qGec1BPsEI,2147
|
|
74
74
|
PySDM_examples/Pyrcel/simulation.py,sha256=73Ao6u7F6e-pIrUhcYy7ZI3fVhDYg1TVSKbogv2uAVc,3774
|
|
75
75
|
PySDM_examples/Pyrcel/tutorial_settings.py,sha256=C6Vxo-HAaxnRYTLv4yxjZC4qwTU7yuWvQR4ey6SDZ_s,2096
|
|
@@ -86,48 +86,48 @@ PySDM_examples/Shima_et_al_2009/tutorial_settings.py,sha256=nTe_rKAIPpXwnh52mDBr
|
|
|
86
86
|
PySDM_examples/Shipway_and_Hill_2012/__init__.py,sha256=fVgTFoG-sHDYawCJhZdUrqqziLBiJKExw3_tAQeXQ5o,247
|
|
87
87
|
PySDM_examples/Shipway_and_Hill_2012/mpdata_1d.py,sha256=GfbGXQFAVJ2rYnkhwKKESRLPDfJJeL0Qs1h1pZUjlWo,1907
|
|
88
88
|
PySDM_examples/Shipway_and_Hill_2012/plot.py,sha256=Q6lnGWE3oSDKV_F1qKUIihhbYABQ3S1A1qg7Q2rXwn4,3606
|
|
89
|
-
PySDM_examples/Shipway_and_Hill_2012/settings.py,sha256=
|
|
89
|
+
PySDM_examples/Shipway_and_Hill_2012/settings.py,sha256=350S9UiiRRDE240R6Q-XGKbF6n3-ImAzroeTtvrXvaI,6099
|
|
90
90
|
PySDM_examples/Shipway_and_Hill_2012/simulation.py,sha256=jXEuytNmngdFaGIJSm0diauN11X1-EbW5Pbec7zptFY,9727
|
|
91
91
|
PySDM_examples/Singer_Ward/__init__.py,sha256=wLus4IEzXkeOKCR3Dn2tM9PqNW9X7tjBiMymLvBow-c,31
|
|
92
92
|
PySDM_examples/Singer_Ward/aerosol.py,sha256=H7TcvI94Wc-IvhTMFshFaJRJY3eUjihAlSdNxVKZzL0,5805
|
|
93
|
-
PySDM_examples/Srivastava_1982/__init__.py,sha256=
|
|
93
|
+
PySDM_examples/Srivastava_1982/__init__.py,sha256=u7RxFGW08DIfwKU2yHpEQiiNlfz7F3GyYR4TV9LA7Ww,509
|
|
94
94
|
PySDM_examples/Srivastava_1982/equations.py,sha256=RQHvXbznreupzhOdfSQpc859DUNhThjPEKt7sXTeEAw,3262
|
|
95
|
-
PySDM_examples/Srivastava_1982/example.py,sha256=
|
|
95
|
+
PySDM_examples/Srivastava_1982/example.py,sha256=fGaLDvqz4BBLLG8NqHB2D2aAYFPOJhEg1r5DBPUntB8,8576
|
|
96
96
|
PySDM_examples/Srivastava_1982/settings.py,sha256=f5R-MyEKEw4Lbfix_4eyjiP9o_SqabM4IOH1fvQ3jjA,2275
|
|
97
|
-
PySDM_examples/Srivastava_1982/simulation.py,sha256=
|
|
97
|
+
PySDM_examples/Srivastava_1982/simulation.py,sha256=V1ofPcEAI2wrxYptZxo8ibe32nekGeZvhL6jrcg2izc,3036
|
|
98
98
|
PySDM_examples/Szumowski_et_al_1998/__init__.py,sha256=L9UucV9lyb08Hkzs1zYI9cxmN7mcogIFNsYgmnUpfY8,315
|
|
99
99
|
PySDM_examples/Szumowski_et_al_1998/fields.py,sha256=tcR2MAB7azOLF955-ACHJU6v7aJxxpDXVdSIMQTbHEg,1584
|
|
100
100
|
PySDM_examples/Szumowski_et_al_1998/gui.py,sha256=Vjt_ahdSl74NEjbZ-WxhK9eU3H2bqifjibPp6hy2DME,1309
|
|
101
101
|
PySDM_examples/Szumowski_et_al_1998/gui_controller.py,sha256=AsP78e9bcGSP81kfDet_5fxpthlHsjDyJxHknvN2EgI,4283
|
|
102
102
|
PySDM_examples/Szumowski_et_al_1998/gui_settings.py,sha256=3-Ox7GBHbEe30_znfry_UqAVU6ZTvJsCSRwMIw6_cJI,14400
|
|
103
|
-
PySDM_examples/Szumowski_et_al_1998/gui_viewer.py,sha256=
|
|
103
|
+
PySDM_examples/Szumowski_et_al_1998/gui_viewer.py,sha256=JZFAfD9FXHS5msVYAzccoF5rhHlb6hdwY28Q6lAdJD4,13164
|
|
104
104
|
PySDM_examples/Szumowski_et_al_1998/make_default_product_collection.py,sha256=L7aUMbg0CVGGZXti8btqIh6UkKKkD-WblwN0EqURcLI,4666
|
|
105
105
|
PySDM_examples/Szumowski_et_al_1998/mpdata_2d.py,sha256=41F3D4Kx_Um01wqOlkDSu8gzbwy47OewK535PK-Ii54,4137
|
|
106
106
|
PySDM_examples/Szumowski_et_al_1998/plots.py,sha256=fzeluxlLF9VbSMmcu2wvd9WPl3ApIuA0jouwOh6rJHA,7001
|
|
107
|
-
PySDM_examples/Szumowski_et_al_1998/simulation.py,sha256=
|
|
107
|
+
PySDM_examples/Szumowski_et_al_1998/simulation.py,sha256=bEkYxTiP8S7MYzz2SlPLqeOGLiGibs4uaE7lTOBD8AA,9941
|
|
108
108
|
PySDM_examples/Szumowski_et_al_1998/sounding.py,sha256=vk3KHRPrBbZpz6QCqj2RtWyEpl_N7jSMR-zoDWM_ZVQ,1440
|
|
109
109
|
PySDM_examples/Szumowski_et_al_1998/storage.py,sha256=NaGoujCRLubSEbhLA0QZDaSkATpJuF09HCnGdWQzcxQ,2579
|
|
110
|
-
PySDM_examples/Van_Hook_1968/__init__.py,sha256=
|
|
110
|
+
PySDM_examples/Van_Hook_1968/__init__.py,sha256=nTGyMcf6D4l6Ib0hMwyx4es1nX5dpuPbM9AYEleaIPE,119
|
|
111
111
|
PySDM_examples/Yang_et_al_2018/__init__.py,sha256=zY7OnJ0d5eyWh3j0VvuHJMYOum9jY596-Ek2po0efmE,227
|
|
112
112
|
PySDM_examples/Yang_et_al_2018/settings.py,sha256=J62kB5pEThmMcWSLsLKgcv0Pii6VLPDbfz6HPgs7O9o,2185
|
|
113
113
|
PySDM_examples/Yang_et_al_2018/simulation.py,sha256=sG2kO_l66ec5XRYIDygB6_493jqKh6fF2hc_TyAh8z8,3928
|
|
114
|
-
PySDM_examples/deJong_Mackay_et_al_2023/__init__.py,sha256=
|
|
114
|
+
PySDM_examples/deJong_Mackay_et_al_2023/__init__.py,sha256=dxlC4ZYZDCfV5Zo2ichuMqE_ZrkrdyIsru8wijKJXyU,502
|
|
115
115
|
PySDM_examples/deJong_Mackay_et_al_2023/plot_rates.py,sha256=6BJ9V4uaJu-6nPfkLqwevDEIXvo_stRok8unhBPbCHY,2421
|
|
116
116
|
PySDM_examples/deJong_Mackay_et_al_2023/settings1D.py,sha256=2I0tK_GgWkQn2ZQjZdX4iUUPpOtL1dV8dOlEyaZ3rKQ,2951
|
|
117
117
|
PySDM_examples/deJong_Mackay_et_al_2023/settings_0D.py,sha256=ksclyxZ0sZNeLS-QZC7Dop6feEmQA1KBIZNuhvxcMxs,1918
|
|
118
118
|
PySDM_examples/deJong_Mackay_et_al_2023/simulation1D.py,sha256=xDA7I3EBoeAw_sHfp7MuBzoDrCbkF4wOKDR2BRePZxk,2430
|
|
119
119
|
PySDM_examples/deJong_Mackay_et_al_2023/simulation_0D.py,sha256=EceMIsvm41kG_UocPCAW4lped1J3sBNqf4CLDf-f9CU,4522
|
|
120
120
|
PySDM_examples/deJong_Mackay_et_al_2023/simulation_ss.py,sha256=fYE5LRPbt5qIYC3NaXhC-qsq9GDETBxmXf2Ih3ezFyw,5864
|
|
121
|
-
PySDM_examples/utils/__init__.py,sha256=
|
|
121
|
+
PySDM_examples/utils/__init__.py,sha256=MayUnfhdnjWwc5Ept-yYfCS_tuSR8yqe-RdBl8FO3Xk,258
|
|
122
122
|
PySDM_examples/utils/basic_simulation.py,sha256=4EdgD0p8EKNNcqYYVSlGm1MG2ac7_6heQdwS-kp-Tmw,698
|
|
123
123
|
PySDM_examples/utils/dummy_controller.py,sha256=f1AjVNXPnDhhD15GkBFtJthDf7jZivDrppj79guYc_w,741
|
|
124
|
-
PySDM_examples/utils/notebook_vars.py,sha256=
|
|
124
|
+
PySDM_examples/utils/notebook_vars.py,sha256=isvt3euX_v1pxOlWPQ720_1O3YrJoVPEmifIvucQjCo,1277
|
|
125
125
|
PySDM_examples/utils/progbar_controller.py,sha256=IXk7rkXUOBKP7EQe6zLHUpnCPwtE2LuEeho5lxdsewA,470
|
|
126
126
|
PySDM_examples/utils/read_vtk_1d.py,sha256=7_3sagEbX_FxqFuGkFWdwQapd1-9echFghU8TSNvGuw,966
|
|
127
127
|
PySDM_examples/utils/widgets/__init__.py,sha256=U67WZ2YDcXSocMraI7pzcMxCfcxzXNqehDzoG6ogsh4,519
|
|
128
128
|
PySDM_examples/utils/widgets/freezer.py,sha256=tFlZWShXUzA2X0cxgeE44N1g9kD33q3KQWZBqkgBP0A,407
|
|
129
129
|
PySDM_examples/utils/widgets/progbar_updater.py,sha256=3uhG32QkAiSM3dTV7DoROJl7fAUNA6ZsJEIKSg3tdmk,267
|
|
130
|
-
PySDM_examples-2.
|
|
131
|
-
PySDM_examples-2.
|
|
132
|
-
PySDM_examples-2.
|
|
133
|
-
PySDM_examples-2.
|
|
130
|
+
PySDM_examples-2.41.dist-info/METADATA,sha256=JEge5iOnR-32BkTOp6EmumVHYLQdQtvv7LUO9y9dJyg,30488
|
|
131
|
+
PySDM_examples-2.41.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
132
|
+
PySDM_examples-2.41.dist-info/top_level.txt,sha256=axw2inuuYKPWkQhzBYtkZJTPDlo5LrpGLOA0iSAf9v0,15
|
|
133
|
+
PySDM_examples-2.41.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|