PySDM-examples 2.72__py3-none-any.whl → 2.73__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/Abade_and_Albuquerque_2024/simulation.py +9 -10
- PySDM_examples/Abdul_Razzak_Ghan_2000/run_ARG_parcel.py +3 -2
- PySDM_examples/Alpert_and_Knopf_2016/simulation.py +6 -2
- PySDM_examples/Arabas_et_al_2023/make_particulator.py +2 -2
- PySDM_examples/Bieli_et_al_2022/simulation.py +4 -3
- PySDM_examples/Grabowski_and_Pawlowska_2023/simulation.py +9 -9
- PySDM_examples/Jensen_and_Nugent_2017/simulation.py +13 -13
- PySDM_examples/Kreidenweis_et_al_2003/simulation.py +9 -11
- PySDM_examples/Lowe_et_al_2019/simulation.py +9 -10
- PySDM_examples/Pyrcel/simulation.py +13 -11
- PySDM_examples/Shipway_and_Hill_2012/simulation.py +3 -3
- PySDM_examples/Szumowski_et_al_1998/simulation.py +6 -2
- PySDM_examples/deJong_Azimi/simulation_0D.py +4 -3
- PySDM_examples/deJong_Mackay_et_al_2023/simulation_0D.py +8 -6
- {PySDM_examples-2.72.dist-info → PySDM_examples-2.73.dist-info}/METADATA +1 -1
- {PySDM_examples-2.72.dist-info → PySDM_examples-2.73.dist-info}/RECORD +18 -18
- {PySDM_examples-2.72.dist-info → PySDM_examples-2.73.dist-info}/WHEEL +0 -0
- {PySDM_examples-2.72.dist-info → PySDM_examples-2.73.dist-info}/top_level.txt +0 -0
|
@@ -12,18 +12,17 @@ from PySDM.environments import Parcel
|
|
|
12
12
|
|
|
13
13
|
class Simulation(BasicSimulation):
|
|
14
14
|
def __init__(self, settings):
|
|
15
|
-
parcel = Parcel(
|
|
16
|
-
dt=settings.timestep,
|
|
17
|
-
mass_of_dry_air=settings.mass_of_dry_air,
|
|
18
|
-
p0=settings.initial_total_pressure,
|
|
19
|
-
initial_water_vapour_mixing_ratio=settings.initial_water_vapour_mixing_ratio,
|
|
20
|
-
T0=settings.initial_temperature,
|
|
21
|
-
w=settings.updraft,
|
|
22
|
-
)
|
|
23
15
|
builder = Builder(
|
|
24
16
|
backend=CPU(settings.formulae, override_jit_flags={"parallel": False}),
|
|
25
17
|
n_sd=settings.n_sd,
|
|
26
|
-
environment=
|
|
18
|
+
environment=Parcel(
|
|
19
|
+
dt=settings.timestep,
|
|
20
|
+
mass_of_dry_air=settings.mass_of_dry_air,
|
|
21
|
+
p0=settings.initial_total_pressure,
|
|
22
|
+
initial_water_vapour_mixing_ratio=settings.initial_water_vapour_mixing_ratio,
|
|
23
|
+
T0=settings.initial_temperature,
|
|
24
|
+
w=settings.updraft,
|
|
25
|
+
),
|
|
27
26
|
)
|
|
28
27
|
builder.add_dynamic(AmbientThermodynamics())
|
|
29
28
|
builder.add_dynamic(Condensation())
|
|
@@ -31,7 +30,7 @@ class Simulation(BasicSimulation):
|
|
|
31
30
|
r_dry, n_in_dv = ConstantMultiplicity(settings.soluble_aerosol).sample(
|
|
32
31
|
n_sd=settings.n_sd
|
|
33
32
|
)
|
|
34
|
-
attributes =
|
|
33
|
+
attributes = builder.particulator.environment.init_attributes(
|
|
35
34
|
n_in_dv=n_in_dv, kappa=settings.kappa, r_dry=r_dry
|
|
36
35
|
)
|
|
37
36
|
self.products = (
|
|
@@ -65,7 +65,8 @@ def run_parcel(
|
|
|
65
65
|
v_dry = builder.formulae.trivia.volume(radius=r_dry)
|
|
66
66
|
specific_concentration = concentration / builder.formulae.constants.rho_STP
|
|
67
67
|
attributes["multiplicity"] = np.append(
|
|
68
|
-
attributes["multiplicity"],
|
|
68
|
+
attributes["multiplicity"],
|
|
69
|
+
specific_concentration * builder.particulator.environment.mass_of_dry_air,
|
|
69
70
|
)
|
|
70
71
|
attributes["dry volume"] = np.append(attributes["dry volume"], v_dry)
|
|
71
72
|
attributes["kappa times dry volume"] = np.append(
|
|
@@ -74,7 +75,7 @@ def run_parcel(
|
|
|
74
75
|
|
|
75
76
|
r_wet = equilibrate_wet_radii(
|
|
76
77
|
r_dry=builder.formulae.trivia.radius(volume=attributes["dry volume"]),
|
|
77
|
-
environment=
|
|
78
|
+
environment=builder.particulator.environment,
|
|
78
79
|
kappa_times_dry_volume=attributes["kappa times dry volume"],
|
|
79
80
|
)
|
|
80
81
|
attributes["volume"] = builder.formulae.trivia.volume(radius=r_wet)
|
|
@@ -215,8 +215,11 @@ def simulation(
|
|
|
215
215
|
constants=constants,
|
|
216
216
|
particle_shape_and_density="MixedPhaseSpheres",
|
|
217
217
|
)
|
|
218
|
-
|
|
219
|
-
|
|
218
|
+
builder = Builder(
|
|
219
|
+
n_sd=n_sd,
|
|
220
|
+
backend=CPU(formulae=formulae),
|
|
221
|
+
environment=Box(dt=time_step, dv=volume),
|
|
222
|
+
)
|
|
220
223
|
builder.add_dynamic(Freezing(singular=False))
|
|
221
224
|
|
|
222
225
|
if hasattr(spectrum, "s_geom") and spectrum.s_geom == 1:
|
|
@@ -236,6 +239,7 @@ def simulation(
|
|
|
236
239
|
TotalUnfrozenImmersedSurfaceArea(name="A_tot"),
|
|
237
240
|
)
|
|
238
241
|
particulator = builder.build(attributes=attributes, products=products)
|
|
242
|
+
env = particulator.environment
|
|
239
243
|
|
|
240
244
|
env["T"] = initial_temperature
|
|
241
245
|
env["a_w_ice"] = np.nan
|
|
@@ -57,9 +57,9 @@ def make_particulator(
|
|
|
57
57
|
) = sampling.sample(backend=backend, n_sd=n_sd)
|
|
58
58
|
attributes["multiplicity"] *= total_particle_number
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
builder = Builder(n_sd, backend, env)
|
|
60
|
+
builder = Builder(n_sd=n_sd, backend=backend, environment=Box(dt, volume))
|
|
62
61
|
|
|
62
|
+
env = builder.particulator.environment
|
|
63
63
|
env["T"] = initial_temperature
|
|
64
64
|
env["RH"] = A_VALUE_LARGER_THAN_ONE
|
|
65
65
|
env["rhod"] = 1.0
|
|
@@ -9,11 +9,12 @@ from PySDM.initialisation.sampling.spectral_sampling import ConstantMultiplicity
|
|
|
9
9
|
def make_core(settings, coal_eff):
|
|
10
10
|
backend = CPU
|
|
11
11
|
|
|
12
|
-
env = Box(dv=settings.dv, dt=settings.dt)
|
|
13
12
|
builder = Builder(
|
|
14
|
-
n_sd=settings.n_sd,
|
|
13
|
+
n_sd=settings.n_sd,
|
|
14
|
+
backend=backend(settings.formulae),
|
|
15
|
+
environment=Box(dv=settings.dv, dt=settings.dt),
|
|
15
16
|
)
|
|
16
|
-
|
|
17
|
+
builder.particulator.environment["rhod"] = 1.0
|
|
17
18
|
attributes = {}
|
|
18
19
|
attributes["volume"], attributes["multiplicity"] = ConstantMultiplicity(
|
|
19
20
|
settings.spectrum
|
|
@@ -19,20 +19,19 @@ class Simulation(BasicSimulation):
|
|
|
19
19
|
scipy_solver=False,
|
|
20
20
|
sampling_class=ConstantMultiplicity,
|
|
21
21
|
):
|
|
22
|
-
env = Parcel(
|
|
23
|
-
dt=settings.timestep,
|
|
24
|
-
p0=settings.initial_pressure,
|
|
25
|
-
initial_water_vapour_mixing_ratio=settings.initial_vapour_mixing_ratio,
|
|
26
|
-
T0=settings.initial_temperature,
|
|
27
|
-
w=settings.vertical_velocity,
|
|
28
|
-
mass_of_dry_air=44 * si.kg,
|
|
29
|
-
)
|
|
30
22
|
builder = Builder(
|
|
31
23
|
n_sd=settings.n_sd,
|
|
32
24
|
backend=CPU(
|
|
33
25
|
formulae=settings.formulae, override_jit_flags={"parallel": False}
|
|
34
26
|
),
|
|
35
|
-
environment=
|
|
27
|
+
environment=Parcel(
|
|
28
|
+
dt=settings.timestep,
|
|
29
|
+
p0=settings.initial_pressure,
|
|
30
|
+
initial_water_vapour_mixing_ratio=settings.initial_vapour_mixing_ratio,
|
|
31
|
+
T0=settings.initial_temperature,
|
|
32
|
+
w=settings.vertical_velocity,
|
|
33
|
+
mass_of_dry_air=44 * si.kg,
|
|
34
|
+
),
|
|
36
35
|
)
|
|
37
36
|
builder.add_dynamic(AmbientThermodynamics())
|
|
38
37
|
builder.add_dynamic(
|
|
@@ -45,6 +44,7 @@ class Simulation(BasicSimulation):
|
|
|
45
44
|
):
|
|
46
45
|
builder.request_attribute(attribute)
|
|
47
46
|
|
|
47
|
+
env = builder.particulator.environment
|
|
48
48
|
volume = env.mass_of_dry_air / settings.initial_air_density
|
|
49
49
|
attributes = {
|
|
50
50
|
k: np.empty(0)
|
|
@@ -34,16 +34,6 @@ class Simulation(BasicSimulation):
|
|
|
34
34
|
settings.p0 / settings.RH0 / pvs_Celsius(settings.T0 - const.T0) - 1
|
|
35
35
|
)
|
|
36
36
|
|
|
37
|
-
env = Parcel(
|
|
38
|
-
dt=settings.dt,
|
|
39
|
-
mass_of_dry_air=666 * si.kg,
|
|
40
|
-
p0=settings.p0,
|
|
41
|
-
initial_water_vapour_mixing_ratio=initial_water_vapour_mixing_ratio,
|
|
42
|
-
T0=settings.T0,
|
|
43
|
-
w=settings.vertical_velocity,
|
|
44
|
-
z0=settings.z0,
|
|
45
|
-
)
|
|
46
|
-
|
|
47
37
|
n_gccn = np.count_nonzero(table_3.NA) if gccn else 0
|
|
48
38
|
|
|
49
39
|
builder = Builder(
|
|
@@ -51,7 +41,15 @@ class Simulation(BasicSimulation):
|
|
|
51
41
|
backend=CPU(
|
|
52
42
|
formulae=settings.formulae, override_jit_flags={"parallel": False}
|
|
53
43
|
),
|
|
54
|
-
environment=
|
|
44
|
+
environment=Parcel(
|
|
45
|
+
dt=settings.dt,
|
|
46
|
+
mass_of_dry_air=666 * si.kg,
|
|
47
|
+
p0=settings.p0,
|
|
48
|
+
initial_water_vapour_mixing_ratio=initial_water_vapour_mixing_ratio,
|
|
49
|
+
T0=settings.T0,
|
|
50
|
+
w=settings.vertical_velocity,
|
|
51
|
+
z0=settings.z0,
|
|
52
|
+
),
|
|
55
53
|
)
|
|
56
54
|
|
|
57
55
|
additional_derived_attributes = ("radius", "equilibrium supersaturation")
|
|
@@ -83,8 +81,10 @@ class Simulation(BasicSimulation):
|
|
|
83
81
|
)
|
|
84
82
|
rhod0 = settings.formulae.state_variable_triplet.rhod_of_pd_T(pd0, settings.T0)
|
|
85
83
|
|
|
86
|
-
attributes =
|
|
87
|
-
n_in_dv=n_in_unit_volume
|
|
84
|
+
attributes = builder.particulator.environment.init_attributes(
|
|
85
|
+
n_in_dv=n_in_unit_volume
|
|
86
|
+
* builder.particulator.environment.mass_of_dry_air
|
|
87
|
+
/ rhod0,
|
|
88
88
|
kappa=settings.kappa,
|
|
89
89
|
r_dry=self.r_dry,
|
|
90
90
|
)
|
|
@@ -12,24 +12,22 @@ from PySDM.physics import si
|
|
|
12
12
|
|
|
13
13
|
class Simulation(BasicSimulation):
|
|
14
14
|
def __init__(self, settings, products=None):
|
|
15
|
-
env = Parcel(
|
|
16
|
-
dt=settings.dt,
|
|
17
|
-
mass_of_dry_air=settings.mass_of_dry_air,
|
|
18
|
-
p0=settings.p0,
|
|
19
|
-
initial_water_vapour_mixing_ratio=settings.initial_water_vapour_mixing_ratio,
|
|
20
|
-
T0=settings.T0,
|
|
21
|
-
w=settings.w,
|
|
22
|
-
)
|
|
23
|
-
|
|
24
15
|
builder = Builder(
|
|
25
16
|
n_sd=settings.n_sd,
|
|
26
17
|
backend=CPU(
|
|
27
18
|
formulae=settings.formulae, override_jit_flags={"parallel": False}
|
|
28
19
|
),
|
|
29
|
-
environment=
|
|
20
|
+
environment=Parcel(
|
|
21
|
+
dt=settings.dt,
|
|
22
|
+
mass_of_dry_air=settings.mass_of_dry_air,
|
|
23
|
+
p0=settings.p0,
|
|
24
|
+
initial_water_vapour_mixing_ratio=settings.initial_water_vapour_mixing_ratio,
|
|
25
|
+
T0=settings.T0,
|
|
26
|
+
w=settings.w,
|
|
27
|
+
),
|
|
30
28
|
)
|
|
31
29
|
|
|
32
|
-
attributes =
|
|
30
|
+
attributes = builder.particulator.environment.init_attributes(
|
|
33
31
|
n_in_dv=settings.n_in_dv,
|
|
34
32
|
kappa=settings.kappa,
|
|
35
33
|
r_dry=settings.r_dry,
|
|
@@ -12,21 +12,20 @@ from PySDM.initialisation.spectra import Sum
|
|
|
12
12
|
|
|
13
13
|
class Simulation(BasicSimulation):
|
|
14
14
|
def __init__(self, settings, products=None):
|
|
15
|
-
env = Parcel(
|
|
16
|
-
dt=settings.dt,
|
|
17
|
-
mass_of_dry_air=settings.mass_of_dry_air,
|
|
18
|
-
p0=settings.p0,
|
|
19
|
-
initial_water_vapour_mixing_ratio=settings.initial_water_vapour_mixing_ratio,
|
|
20
|
-
T0=settings.T0,
|
|
21
|
-
w=settings.w,
|
|
22
|
-
)
|
|
23
15
|
n_sd = settings.n_sd_per_mode * len(settings.aerosol.modes)
|
|
24
16
|
builder = Builder(
|
|
25
17
|
n_sd=n_sd,
|
|
26
18
|
backend=CPU(
|
|
27
19
|
formulae=settings.formulae, override_jit_flags={"parallel": False}
|
|
28
20
|
),
|
|
29
|
-
environment=
|
|
21
|
+
environment=Parcel(
|
|
22
|
+
dt=settings.dt,
|
|
23
|
+
mass_of_dry_air=settings.mass_of_dry_air,
|
|
24
|
+
p0=settings.p0,
|
|
25
|
+
initial_water_vapour_mixing_ratio=settings.initial_water_vapour_mixing_ratio,
|
|
26
|
+
T0=settings.T0,
|
|
27
|
+
w=settings.w,
|
|
28
|
+
),
|
|
30
29
|
)
|
|
31
30
|
|
|
32
31
|
attributes = {
|
|
@@ -67,7 +66,7 @@ class Simulation(BasicSimulation):
|
|
|
67
66
|
)
|
|
68
67
|
r_wet = equilibrate_wet_radii(
|
|
69
68
|
r_dry=settings.formulae.trivia.radius(volume=attributes["dry volume"]),
|
|
70
|
-
environment=
|
|
69
|
+
environment=builder.particulator.environment,
|
|
71
70
|
kappa_times_dry_volume=attributes["kappa times dry volume"],
|
|
72
71
|
f_org=attributes["dry volume organic"] / attributes["dry volume"],
|
|
73
72
|
)
|
|
@@ -15,26 +15,28 @@ class Simulation(BasicSimulation):
|
|
|
15
15
|
def __init__(
|
|
16
16
|
self, settings, products=None, scipy_solver=False, rtol_thd=1e-10, rtol_x=1e-10
|
|
17
17
|
):
|
|
18
|
-
env = Parcel(
|
|
19
|
-
dt=settings.timestep,
|
|
20
|
-
p0=settings.initial_pressure,
|
|
21
|
-
initial_water_vapour_mixing_ratio=settings.initial_vapour_mixing_ratio,
|
|
22
|
-
T0=settings.initial_temperature,
|
|
23
|
-
w=settings.vertical_velocity,
|
|
24
|
-
mass_of_dry_air=44 * si.kg,
|
|
25
|
-
)
|
|
26
18
|
n_sd = sum(settings.n_sd_per_mode)
|
|
27
19
|
builder = Builder(
|
|
28
20
|
n_sd=n_sd,
|
|
29
21
|
backend=CPU(
|
|
30
22
|
formulae=settings.formulae, override_jit_flags={"parallel": False}
|
|
31
23
|
),
|
|
32
|
-
environment=
|
|
24
|
+
environment=Parcel(
|
|
25
|
+
dt=settings.timestep,
|
|
26
|
+
p0=settings.initial_pressure,
|
|
27
|
+
initial_water_vapour_mixing_ratio=settings.initial_vapour_mixing_ratio,
|
|
28
|
+
T0=settings.initial_temperature,
|
|
29
|
+
w=settings.vertical_velocity,
|
|
30
|
+
mass_of_dry_air=44 * si.kg,
|
|
31
|
+
),
|
|
33
32
|
)
|
|
34
33
|
builder.add_dynamic(AmbientThermodynamics())
|
|
35
34
|
builder.add_dynamic(Condensation(rtol_thd=rtol_thd, rtol_x=rtol_x))
|
|
36
35
|
|
|
37
|
-
volume =
|
|
36
|
+
volume = (
|
|
37
|
+
builder.particulator.environment.mass_of_dry_air
|
|
38
|
+
/ settings.initial_air_density
|
|
39
|
+
)
|
|
38
40
|
attributes = {
|
|
39
41
|
k: np.empty(0)
|
|
40
42
|
for k in ("dry volume", "kappa times dry volume", "multiplicity")
|
|
@@ -52,7 +54,7 @@ class Simulation(BasicSimulation):
|
|
|
52
54
|
)
|
|
53
55
|
r_wet = equilibrate_wet_radii(
|
|
54
56
|
r_dry=settings.formulae.trivia.radius(volume=attributes["dry volume"]),
|
|
55
|
-
environment=
|
|
57
|
+
environment=builder.particulator.environment,
|
|
56
58
|
kappa_times_dry_volume=attributes["kappa times dry volume"],
|
|
57
59
|
)
|
|
58
60
|
attributes["volume"] = settings.formulae.trivia.volume(radius=r_wet)
|
|
@@ -34,7 +34,7 @@ class Simulation:
|
|
|
34
34
|
size=(settings.z_max + settings.particle_reservoir_depth,),
|
|
35
35
|
)
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
env = Kinematic1D(
|
|
38
38
|
dt=settings.dt,
|
|
39
39
|
mesh=self.mesh,
|
|
40
40
|
thd_of_z=settings.thd,
|
|
@@ -66,7 +66,7 @@ class Simulation:
|
|
|
66
66
|
self.builder = Builder(
|
|
67
67
|
n_sd=settings.n_sd,
|
|
68
68
|
backend=backend(formulae=settings.formulae),
|
|
69
|
-
environment=
|
|
69
|
+
environment=env,
|
|
70
70
|
)
|
|
71
71
|
self.builder.add_dynamic(AmbientThermodynamics())
|
|
72
72
|
|
|
@@ -92,7 +92,7 @@ class Simulation:
|
|
|
92
92
|
),
|
|
93
93
|
)
|
|
94
94
|
self.builder.add_dynamic(displacement)
|
|
95
|
-
self.attributes = self.
|
|
95
|
+
self.attributes = self.builder.particulator.environment.init_attributes(
|
|
96
96
|
spatial_discretisation=spatial_sampling.Pseudorandom(),
|
|
97
97
|
spectral_discretisation=spectral_sampling.ConstantMultiplicity(
|
|
98
98
|
spectrum=settings.wet_radius_spectrum_per_mass_of_dry_air
|
|
@@ -74,7 +74,11 @@ class Simulation:
|
|
|
74
74
|
advectees = dict(
|
|
75
75
|
(
|
|
76
76
|
key,
|
|
77
|
-
np.repeat(
|
|
77
|
+
np.repeat(
|
|
78
|
+
profile.reshape(1, -1),
|
|
79
|
+
builder.particulator.environment.mesh.grid[0],
|
|
80
|
+
axis=0,
|
|
81
|
+
),
|
|
78
82
|
)
|
|
79
83
|
for key, profile in initial_profiles.items()
|
|
80
84
|
)
|
|
@@ -141,7 +145,7 @@ class Simulation:
|
|
|
141
145
|
)
|
|
142
146
|
)
|
|
143
147
|
|
|
144
|
-
attributes = environment.init_attributes(
|
|
148
|
+
attributes = builder.particulator.environment.init_attributes(
|
|
145
149
|
spatial_discretisation=spatial_sampling.Pseudorandom(),
|
|
146
150
|
dry_radius_spectrum=self.settings.spectrum_per_mass_of_dry_air,
|
|
147
151
|
kappa=self.settings.kappa,
|
|
@@ -16,11 +16,12 @@ from PySDM.products.size_spectral import (
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
def run_box(settings, backend_class=CPU):
|
|
19
|
-
env = Box(dv=settings.dv, dt=settings.dt)
|
|
20
19
|
builder = Builder(
|
|
21
|
-
n_sd=settings.n_sd,
|
|
20
|
+
n_sd=settings.n_sd,
|
|
21
|
+
backend=backend_class(settings.formulae),
|
|
22
|
+
environment=Box(dv=settings.dv, dt=settings.dt),
|
|
22
23
|
)
|
|
23
|
-
|
|
24
|
+
builder.particulator.environment["rhod"] = settings.rhod
|
|
24
25
|
attributes = {}
|
|
25
26
|
attributes["volume"], attributes["multiplicity"] = ConstantMultiplicity(
|
|
26
27
|
settings.spectrum
|
|
@@ -27,11 +27,12 @@ from PySDM.products.size_spectral import (
|
|
|
27
27
|
def run_box_breakup(
|
|
28
28
|
settings, steps=None, backend_class=CPU, sample_in_radius=False, return_nv=False
|
|
29
29
|
):
|
|
30
|
-
env = Box(dv=settings.dv, dt=settings.dt)
|
|
31
30
|
builder = Builder(
|
|
32
|
-
n_sd=settings.n_sd,
|
|
31
|
+
n_sd=settings.n_sd,
|
|
32
|
+
backend=backend_class(settings.formulae),
|
|
33
|
+
environment=Box(dv=settings.dv, dt=settings.dt),
|
|
33
34
|
)
|
|
34
|
-
|
|
35
|
+
builder.particulator.environment["rhod"] = 1.0
|
|
35
36
|
attributes = {}
|
|
36
37
|
if sample_in_radius:
|
|
37
38
|
diams, attributes["multiplicity"] = Logarithmic(settings.spectrum).sample(
|
|
@@ -90,11 +91,12 @@ def run_box_breakup(
|
|
|
90
91
|
|
|
91
92
|
|
|
92
93
|
def run_box_NObreakup(settings, steps=None, backend_class=CPU):
|
|
93
|
-
env = Box(dv=settings.dv, dt=settings.dt)
|
|
94
94
|
builder = Builder(
|
|
95
|
-
n_sd=settings.n_sd,
|
|
95
|
+
n_sd=settings.n_sd,
|
|
96
|
+
backend=backend_class(settings.formulae),
|
|
97
|
+
environment=Box(dv=settings.dv, dt=settings.dt),
|
|
96
98
|
)
|
|
97
|
-
|
|
99
|
+
builder.particulator.environment["rhod"] = 1.0
|
|
98
100
|
attributes = {}
|
|
99
101
|
attributes["volume"], attributes["multiplicity"] = ConstantMultiplicity(
|
|
100
102
|
settings.spectrum
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PySDM-examples
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.73
|
|
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
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
PySDM_examples/__init__.py,sha256=Ht8EcJquTq4qeSaDJ4qFG8SNWA4qMfhfTyGcO415i3A,340
|
|
2
2
|
PySDM_examples/Abade_and_Albuquerque_2024/__init__.py,sha256=agkn4Z6rWIh64M4UweHkacNu-dNOE2dkSfPqvy2zD2k,228
|
|
3
3
|
PySDM_examples/Abade_and_Albuquerque_2024/settings.py,sha256=bKByjymGguWI47OvgVZrTdFoClYb7FmAmOAa6vIhwqg,1613
|
|
4
|
-
PySDM_examples/Abade_and_Albuquerque_2024/simulation.py,sha256=
|
|
4
|
+
PySDM_examples/Abade_and_Albuquerque_2024/simulation.py,sha256=Fx_WYyyVa0TX_jrPr4eLyPoXJPVxdfcR_1JREy3zNNY,1955
|
|
5
5
|
PySDM_examples/Abdul_Razzak_Ghan_2000/__init__.py,sha256=t568yvoJqJgyyhR69eBjs2y8gj4SIgofowulmiWbz9U,165
|
|
6
6
|
PySDM_examples/Abdul_Razzak_Ghan_2000/aerosol.py,sha256=BHZL7DILM2WGK5v251N0pHd_bdk8V1PnhSpItkPh1HI,3405
|
|
7
7
|
PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_ARG2000_paper.py,sha256=MRyurAnXq5ESE8gA5rzMsVx1ZhwcOz76o2xPRAcTPMQ,11585
|
|
8
8
|
PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_CloudMicrophysics_ARG.py,sha256=6vuCL55D2KnUutnqZvdv1Wnpgt0rz4BTFELKzOQP1uo,11547
|
|
9
|
-
PySDM_examples/Abdul_Razzak_Ghan_2000/run_ARG_parcel.py,sha256=
|
|
9
|
+
PySDM_examples/Abdul_Razzak_Ghan_2000/run_ARG_parcel.py,sha256=B6BrnEVRyiQLGdsvPIMoj4TbM7kuERuyJb6vIBADaeU,5473
|
|
10
10
|
PySDM_examples/Alpert_and_Knopf_2016/__init__.py,sha256=NIqxh_uW0b83mrhYojbd1sMh6-lpz8wf8uuhtNtr0mU,264
|
|
11
|
-
PySDM_examples/Alpert_and_Knopf_2016/simulation.py,sha256=
|
|
11
|
+
PySDM_examples/Alpert_and_Knopf_2016/simulation.py,sha256=4glAkWeGJx6vzm_e2Ovxinx_J0Dk_tMBwyps9HQ80uA,10165
|
|
12
12
|
PySDM_examples/Alpert_and_Knopf_2016/table.py,sha256=z3d4Pms0nwe4Jb10FilOtNcE4cpUx3zGtDSeStH1l6o,228
|
|
13
13
|
PySDM_examples/Alpert_and_Knopf_2016/table_1.py,sha256=edJfFNqOYwZvOL4nKM5Ir5kFppDqbfz4hPUESqCnNaI,3792
|
|
14
14
|
PySDM_examples/Alpert_and_Knopf_2016/table_2.py,sha256=oxeB_UNLWzrSHKoWOot-kAe5X_i9n18SKDOh7fF9KkQ,1857
|
|
@@ -25,7 +25,7 @@ PySDM_examples/Arabas_et_al_2023/__init__.py,sha256=zZzcM2x30oOKy8BXBtsDFHnrbemE
|
|
|
25
25
|
PySDM_examples/Arabas_et_al_2023/commons.py,sha256=BEg1kqBX0626TYTWAaJdMrOAspHdgkPkPoDm2cR8ZXk,574
|
|
26
26
|
PySDM_examples/Arabas_et_al_2023/curved_text.py,sha256=DoUvIuHkZ8xrgyXwdwEjUZLMeFseyOG7HfPS78CRNnY,5338
|
|
27
27
|
PySDM_examples/Arabas_et_al_2023/frozen_fraction.py,sha256=8ok3PbeXMwn87hCQt5tsNcHMCbYZHdW7dnCL-Fcx3LQ,783
|
|
28
|
-
PySDM_examples/Arabas_et_al_2023/make_particulator.py,sha256=
|
|
28
|
+
PySDM_examples/Arabas_et_al_2023/make_particulator.py,sha256=L17Ol-aWpt2EYAz-QhngROTnaEyDx5J5jjvyYOP3PxE,2079
|
|
29
29
|
PySDM_examples/Arabas_et_al_2023/plots.py,sha256=fw7E3bkFiXLkB6QR8nK4qCMVDxW46B77LE-KpdepK_Q,5047
|
|
30
30
|
PySDM_examples/Arabas_et_al_2023/run_simulation.py,sha256=LsZt0l4GMg9td2NwlyIo5agGiuiunkFRJ6rRVPuqfSs,1353
|
|
31
31
|
PySDM_examples/Bartman_2020_MasterThesis/__init__.py,sha256=la2o79L6WLPueZ3EI5ThGtNRuSkXvKQwJJmvrNhhHa8,136
|
|
@@ -40,7 +40,7 @@ PySDM_examples/Berry_1967/settings.py,sha256=9VmVS4zBTGQff-xBdxb9AjUB9iNNm-qMznU
|
|
|
40
40
|
PySDM_examples/Berry_1967/spectrum_plotter.py,sha256=WEEaryYBDydStKyx6H915LVTxeFFKj0pmpdVotktjI4,1023
|
|
41
41
|
PySDM_examples/Bieli_et_al_2022/__init__.py,sha256=YdI2papu13HSfH973XxfrwGZkP_nbiXO4lgGHime_7M,141
|
|
42
42
|
PySDM_examples/Bieli_et_al_2022/settings.py,sha256=qJxoGChzqta-c_O2yv4E3wEM4yoECa2dyhKmE8AGrtI,1679
|
|
43
|
-
PySDM_examples/Bieli_et_al_2022/simulation.py,sha256=
|
|
43
|
+
PySDM_examples/Bieli_et_al_2022/simulation.py,sha256=4L0AxnpGjfWqIUgVdZdH1PgXzrx4yXEeJ8_WaWsksy8,1324
|
|
44
44
|
PySDM_examples/Bolot_et_al_2013/__init__.py,sha256=6yZ-PdTBwwN9f4HqOe-E0m-CyM47mgg2E4ezVKVELF4,136
|
|
45
45
|
PySDM_examples/Bulenok_2023_MasterThesis/__init__.py,sha256=GPHWvxMGulWIaSH7CQlESd2jNTRJeMcXRqjzzJ-AAf8,164
|
|
46
46
|
PySDM_examples/Bulenok_2023_MasterThesis/setups.py,sha256=UVTp0oBMblcR46J29aylfZ6g6-8jlhXCb90ODdcfaSE,3424
|
|
@@ -50,17 +50,17 @@ PySDM_examples/Ervens_and_Feingold_2012/settings.py,sha256=DtkcDqkcO2WAkH63P1RQ1
|
|
|
50
50
|
PySDM_examples/Gedzelman_and_Arnold_1994/__init__.py,sha256=XOWJbRQ4U0YxJ6AEL0-kGSXDi4OktihaQDL0QZEB294,252
|
|
51
51
|
PySDM_examples/Grabowski_and_Pawlowska_2023/__init__.py,sha256=_UWULcA_8_vA7zYlW_QuyS4SYe5827jyZBum-ZrGwGk,225
|
|
52
52
|
PySDM_examples/Grabowski_and_Pawlowska_2023/settings.py,sha256=nErcGLTGJTai32jpRhrhpxoJ4Acwh1ccrwGBpQQjGcY,3273
|
|
53
|
-
PySDM_examples/Grabowski_and_Pawlowska_2023/simulation.py,sha256=
|
|
53
|
+
PySDM_examples/Grabowski_and_Pawlowska_2023/simulation.py,sha256=lMOu5aATJB5eGGUpO7j35-AGWtTYAOrLXyPp9enHMQU,4667
|
|
54
54
|
PySDM_examples/Graf_et_al_2019/__init__.py,sha256=nT6uOv3PODePRUzFoyOfH_eOCjJkg5z9qS3tXy3USPc,140
|
|
55
55
|
PySDM_examples/Jaruga_and_Pawlowska_2018/__init__.py,sha256=VJz_xFOhVvnqYHKbAPRnZQ3Vky6JEOZxBx8kV0kHIcg,161
|
|
56
56
|
PySDM_examples/Jensen_and_Nugent_2017/__init__.py,sha256=3iMpMdkdy_BEBBhjD9WR-2HbRHn7dop8kEk2uJJYe9U,66
|
|
57
57
|
PySDM_examples/Jensen_and_Nugent_2017/plotting.py,sha256=J0lWibUFQq4aHTAPlql9DNj_JiMinlwZgRlsUs8y-I0,3607
|
|
58
58
|
PySDM_examples/Jensen_and_Nugent_2017/settings.py,sha256=Dz7kZgEWACpl3mNMawfp1aAeIBbjrw1GAVFNni8plSM,2195
|
|
59
|
-
PySDM_examples/Jensen_and_Nugent_2017/simulation.py,sha256=
|
|
59
|
+
PySDM_examples/Jensen_and_Nugent_2017/simulation.py,sha256=XWNxi7ofhvsohARIVpWmLTKHXYETrIAa2DuAVLPcAOI,4887
|
|
60
60
|
PySDM_examples/Jensen_and_Nugent_2017/table_3.py,sha256=HVhqXwNIqkUyl0k718qVaZaf0lnENWpE-sjqj5b08bc,952
|
|
61
61
|
PySDM_examples/Kreidenweis_et_al_2003/__init__.py,sha256=9QbrxhPe0QJxboGKeqHhq9rrvQ5VUcjTpqWgWsxnM1E,225
|
|
62
62
|
PySDM_examples/Kreidenweis_et_al_2003/settings.py,sha256=iS7rZINn4EyxSsy_0CvQeGAz6ZyB-don1OCY7q_M21c,2836
|
|
63
|
-
PySDM_examples/Kreidenweis_et_al_2003/simulation.py,sha256=
|
|
63
|
+
PySDM_examples/Kreidenweis_et_al_2003/simulation.py,sha256=UPJiaPfS2usuR5T21EnzwfNE6BaiYQuW6iW9X-SYVHU,4757
|
|
64
64
|
PySDM_examples/Lamb_et_al_2017/__init__.py,sha256=FfYms0faIM9l3GX4AkTjEqY6pjyKnJ7SlkKFlLLuHqY,184
|
|
65
65
|
PySDM_examples/Lowe_et_al_2019/__init__.py,sha256=JpFMpZWcBOXcQnYSXNoe4cc0giQJwJAm27dOewsR3wE,236
|
|
66
66
|
PySDM_examples/Lowe_et_al_2019/aerosol.py,sha256=8h0e1QAo4CQyyKokYScfuiWbKVJuLHfJir_r3_KAnNk,6827
|
|
@@ -68,7 +68,7 @@ PySDM_examples/Lowe_et_al_2019/aerosol_code.py,sha256=HqjEfWwsdKFnrCvRNpyUrfX4JG
|
|
|
68
68
|
PySDM_examples/Lowe_et_al_2019/constants_def.py,sha256=dgNxLpBwXiyrefuW4t87uNIxIV3wySx5PXW3QqQZ7f0,480
|
|
69
69
|
PySDM_examples/Lowe_et_al_2019/plot_helper.py,sha256=5h7zo0Aonm2pzUPFNNTqxLhShWcJZaNgG-Bwa9EwY9E,6427
|
|
70
70
|
PySDM_examples/Lowe_et_al_2019/settings.py,sha256=qIhBIedOnm_AFRYDPH_Fzv3xvEIOUhJWPxkYDjaTaks,2620
|
|
71
|
-
PySDM_examples/Lowe_et_al_2019/simulation.py,sha256=
|
|
71
|
+
PySDM_examples/Lowe_et_al_2019/simulation.py,sha256=Cg4Sd7_We-VEM0RuMCH-r9WmWseuqes2PFhlACvlLRI,5862
|
|
72
72
|
PySDM_examples/Merlivat_and_Nief_1967/__init__.py,sha256=bbjcqXvQxmMwZIRTAOGWwFGkKGnQeGsi7x9kI-VdQpQ,127
|
|
73
73
|
PySDM_examples/Miyake_et_al_1968/__init__.py,sha256=Hdl2Ngex_AVg-wkvBaKwujLbfpH1jXM1-JJ1GceNui4,149
|
|
74
74
|
PySDM_examples/Morrison_and_Grabowski_2007/__init__.py,sha256=sae2OEASd-sh-f0U_8ObIGitWGiXAPXrr7aTn950xoM,181
|
|
@@ -83,7 +83,7 @@ PySDM_examples/Pierchala_et_al_2022/commons.py,sha256=qqdQkEoURw7ewSCmsDz62lXDk2
|
|
|
83
83
|
PySDM_examples/Pyrcel/__init__.py,sha256=Hzj0Dq23fGz_QPHd9Fse76MG1LPJqk_Lpd2qzXCN8RY,208
|
|
84
84
|
PySDM_examples/Pyrcel/profile_plotter.py,sha256=Yquz_ylj8W6KGecFY162PB4z7few2wldxJs5x7YyuW8,2196
|
|
85
85
|
PySDM_examples/Pyrcel/settings.py,sha256=Kg-7_pN1Ah7P_Zc6Vg1mbk-oWZTDcDYM-qGec1BPsEI,2147
|
|
86
|
-
PySDM_examples/Pyrcel/simulation.py,sha256=
|
|
86
|
+
PySDM_examples/Pyrcel/simulation.py,sha256=pQi6rFMBneQn7TajB_GzxaD091cCHIx-POFmVH1Rc1o,3973
|
|
87
87
|
PySDM_examples/Pyrcel/tutorial_settings.py,sha256=C6Vxo-HAaxnRYTLv4yxjZC4qwTU7yuWvQR4ey6SDZ_s,2096
|
|
88
88
|
PySDM_examples/Pyrcel/tutorial_simulation.py,sha256=PWnMHV4wMs9J45mpFDaCcxXYhJSVfSxjwuwA_ixkPQs,3803
|
|
89
89
|
PySDM_examples/Rozanski_and_Sonntag_1982/__init__.py,sha256=M-xOZWC2Nvf74W14ZJdYoNhwmLe3EYLVpp3gD471DNg,128
|
|
@@ -100,7 +100,7 @@ PySDM_examples/Shipway_and_Hill_2012/__init__.py,sha256=fVgTFoG-sHDYawCJhZdUrqqz
|
|
|
100
100
|
PySDM_examples/Shipway_and_Hill_2012/mpdata_1d.py,sha256=8l7Zcv2PluBXYZO0qQ4j4_otLcLPtPWSGJJgzRfxEKs,2341
|
|
101
101
|
PySDM_examples/Shipway_and_Hill_2012/plot.py,sha256=Q6lnGWE3oSDKV_F1qKUIihhbYABQ3S1A1qg7Q2rXwn4,3606
|
|
102
102
|
PySDM_examples/Shipway_and_Hill_2012/settings.py,sha256=t6qypOnYniOJtkvlyeET8mY4zmF32qz0zs7ssdfoTOY,6458
|
|
103
|
-
PySDM_examples/Shipway_and_Hill_2012/simulation.py,sha256=
|
|
103
|
+
PySDM_examples/Shipway_and_Hill_2012/simulation.py,sha256=5uG7Nq80jQ8TTfypwnFIThOF9ndTL_hseUcXPfMKbOg,10351
|
|
104
104
|
PySDM_examples/Singer_Ward/__init__.py,sha256=wLus4IEzXkeOKCR3Dn2tM9PqNW9X7tjBiMymLvBow-c,31
|
|
105
105
|
PySDM_examples/Singer_Ward/aerosol.py,sha256=H7TcvI94Wc-IvhTMFshFaJRJY3eUjihAlSdNxVKZzL0,5805
|
|
106
106
|
PySDM_examples/Srivastava_1982/__init__.py,sha256=u7RxFGW08DIfwKU2yHpEQiiNlfz7F3GyYR4TV9LA7Ww,509
|
|
@@ -117,7 +117,7 @@ PySDM_examples/Szumowski_et_al_1998/gui_viewer.py,sha256=JZFAfD9FXHS5msVYAzccoF5
|
|
|
117
117
|
PySDM_examples/Szumowski_et_al_1998/make_default_product_collection.py,sha256=m8qiUHsCaGSBo_b8MqhHtO4a-MBuhG42XHBn42Vy6Cw,4682
|
|
118
118
|
PySDM_examples/Szumowski_et_al_1998/mpdata_2d.py,sha256=Y3Qimm2hSDvtJxdc9mBoPCftMFSDTaOE7dSDd2lt_DU,4441
|
|
119
119
|
PySDM_examples/Szumowski_et_al_1998/plots.py,sha256=fzeluxlLF9VbSMmcu2wvd9WPl3ApIuA0jouwOh6rJHA,7001
|
|
120
|
-
PySDM_examples/Szumowski_et_al_1998/simulation.py,sha256=
|
|
120
|
+
PySDM_examples/Szumowski_et_al_1998/simulation.py,sha256=pGQ6TJhIK0ruDNqnqh3HOZBWi7bXWGMOQW1rHCh6u0M,9955
|
|
121
121
|
PySDM_examples/Szumowski_et_al_1998/sounding.py,sha256=vk3KHRPrBbZpz6QCqj2RtWyEpl_N7jSMR-zoDWM_ZVQ,1440
|
|
122
122
|
PySDM_examples/Szumowski_et_al_1998/storage.py,sha256=NaGoujCRLubSEbhLA0QZDaSkATpJuF09HCnGdWQzcxQ,2579
|
|
123
123
|
PySDM_examples/Van_Hook_1968/__init__.py,sha256=nTGyMcf6D4l6Ib0hMwyx4es1nX5dpuPbM9AYEleaIPE,119
|
|
@@ -128,13 +128,13 @@ PySDM_examples/deJong_Azimi/__init__.py,sha256=VSVGYB3ckDnW2WVTnrn0tebEIbsE3xYNL
|
|
|
128
128
|
PySDM_examples/deJong_Azimi/cloudy_data.py,sha256=WrseLwj7uF0cESY7xRWqXbXzOu-WPJCNAPyrNMOqQHE,11258
|
|
129
129
|
PySDM_examples/deJong_Azimi/cloudy_data_0d.py,sha256=uadPxR4zMQFViIFjoqiGfAxTFLAVaUd9Xf6Coj-lXVg,12260
|
|
130
130
|
PySDM_examples/deJong_Azimi/settings1D.py,sha256=5pW1ljv0cRQTWL_RYcrwz7pPIyqXcCsmvzmzvK7iGWw,2231
|
|
131
|
-
PySDM_examples/deJong_Azimi/simulation_0D.py,sha256=
|
|
131
|
+
PySDM_examples/deJong_Azimi/simulation_0D.py,sha256=J8VqX-D9NA51_XB87Y4RBC2c557hbQNQ3gLJGC3ZMC4,2000
|
|
132
132
|
PySDM_examples/deJong_Mackay_et_al_2023/__init__.py,sha256=dxlC4ZYZDCfV5Zo2ichuMqE_ZrkrdyIsru8wijKJXyU,502
|
|
133
133
|
PySDM_examples/deJong_Mackay_et_al_2023/plot_rates.py,sha256=6BJ9V4uaJu-6nPfkLqwevDEIXvo_stRok8unhBPbCHY,2421
|
|
134
134
|
PySDM_examples/deJong_Mackay_et_al_2023/settings1D.py,sha256=2I0tK_GgWkQn2ZQjZdX4iUUPpOtL1dV8dOlEyaZ3rKQ,2951
|
|
135
135
|
PySDM_examples/deJong_Mackay_et_al_2023/settings_0D.py,sha256=ksclyxZ0sZNeLS-QZC7Dop6feEmQA1KBIZNuhvxcMxs,1918
|
|
136
136
|
PySDM_examples/deJong_Mackay_et_al_2023/simulation1D.py,sha256=xDA7I3EBoeAw_sHfp7MuBzoDrCbkF4wOKDR2BRePZxk,2430
|
|
137
|
-
PySDM_examples/deJong_Mackay_et_al_2023/simulation_0D.py,sha256=
|
|
137
|
+
PySDM_examples/deJong_Mackay_et_al_2023/simulation_0D.py,sha256=RFXtnCsQDqB1c3yU7LJYmmWwEcCuP42D1Z8SeC9GUPw,4586
|
|
138
138
|
PySDM_examples/deJong_Mackay_et_al_2023/simulation_ss.py,sha256=fYE5LRPbt5qIYC3NaXhC-qsq9GDETBxmXf2Ih3ezFyw,5864
|
|
139
139
|
PySDM_examples/utils/__init__.py,sha256=MayUnfhdnjWwc5Ept-yYfCS_tuSR8yqe-RdBl8FO3Xk,258
|
|
140
140
|
PySDM_examples/utils/basic_simulation.py,sha256=4EdgD0p8EKNNcqYYVSlGm1MG2ac7_6heQdwS-kp-Tmw,698
|
|
@@ -145,7 +145,7 @@ PySDM_examples/utils/read_vtk_1d.py,sha256=7_3sagEbX_FxqFuGkFWdwQapd1-9echFghU8T
|
|
|
145
145
|
PySDM_examples/utils/widgets/__init__.py,sha256=U67WZ2YDcXSocMraI7pzcMxCfcxzXNqehDzoG6ogsh4,519
|
|
146
146
|
PySDM_examples/utils/widgets/freezer.py,sha256=tFlZWShXUzA2X0cxgeE44N1g9kD33q3KQWZBqkgBP0A,407
|
|
147
147
|
PySDM_examples/utils/widgets/progbar_updater.py,sha256=3uhG32QkAiSM3dTV7DoROJl7fAUNA6ZsJEIKSg3tdmk,267
|
|
148
|
-
PySDM_examples-2.
|
|
149
|
-
PySDM_examples-2.
|
|
150
|
-
PySDM_examples-2.
|
|
151
|
-
PySDM_examples-2.
|
|
148
|
+
PySDM_examples-2.73.dist-info/METADATA,sha256=dftekAMBEoeyAt5V_7sZ6JgpMcGF_GRp6VkPNPD7T-I,40750
|
|
149
|
+
PySDM_examples-2.73.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
|
150
|
+
PySDM_examples-2.73.dist-info/top_level.txt,sha256=axw2inuuYKPWkQhzBYtkZJTPDlo5LrpGLOA0iSAf9v0,15
|
|
151
|
+
PySDM_examples-2.73.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|