Skip to content

Commit 31d9a3e

Browse files
authored
Merge pull request #689 from slayoo/freezing
product subsystem refactor
2 parents 2c2302c + 2c3e28e commit 31d9a3e

File tree

77 files changed

+720
-813
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+720
-813
lines changed

PySDM/environments/_moist.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ def sync(self):
4646
target['rhod'], target['thd'], target['qv'],
4747
target['T'], target['p'], target['RH']
4848
)
49+
if 'a_w_ice' in self.variables:
50+
self.particulator.backend.a_w_ice(
51+
T=target['T'],
52+
p=target['p'],
53+
RH=target['RH'],
54+
qv=target['qv'],
55+
a_w_ice=target['a_w_ice']
56+
)
4957
self._values["predicted"] = target
5058

5159
@abstractmethod

PySDM/exporters/netcdf_exporter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ def _create_variables(self, ncdf):
3838
# TODO #340 ParticleVolume var
3939

4040
for name, instance in self.simulator.products.items():
41-
assert name not in self.vars
41+
if name in self.vars:
42+
raise AssertionError(f"product ({name}) has same name as one of netCDF dimensions")
4243

4344
n_dimensions = len(instance.shape)
4445
if n_dimensions == 3:
@@ -51,7 +52,6 @@ def _create_variables(self, ncdf):
5152
raise NotImplementedError()
5253
self.vars[name] = ncdf.createVariable(name, "f", dimensions)
5354
self.vars[name].units = instance.unit
54-
self.vars[name].long_name = instance.description
5555

5656
def _write_variables(self, i):
5757
self.vars["T"][i] = self.settings.output_steps[i] * self.settings.dt

PySDM/impl/product.py

Lines changed: 0 additions & 108 deletions
This file was deleted.

PySDM/products/PartMC/VolumeFractalDimension.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

PySDM/products/PartMC/__init__.py

Lines changed: 0 additions & 1 deletion
This file was deleted.

PySDM/products/__init__.py

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,6 @@
88
from .condensation import *
99
from .displacement import *
1010
from .freezing import *
11-
from .PartMC import *
12-
13-
from .aerosol_specific_concentration import AerosolSpecificConcentration
14-
from .cloud_droplet_effective_radius import CloudDropletEffectiveRadius
15-
from .dry_air_density import DryAirDensity
16-
from .dry_air_potential_temperature import DryAirPotentialTemperature
17-
from .dynamic_wall_time import DynamicWallTime
18-
from .parcel_displacement import ParcelDisplacement
19-
from .particle_mean_radius import ParticleMeanRadius
20-
from .particles_concentration import (
21-
ParticlesConcentration, AerosolConcentration, CloudDropletConcentration, DrizzleConcentration
22-
)
23-
from .particles_size_spectrum import (
24-
ParticlesSizeSpectrum, ParticlesDrySizeSpectrum, ParticlesWetSizeSpectrum
25-
)
26-
from .particles_volume_spectrum import ParticlesVolumeSpectrum
27-
from .pressure import Pressure
28-
from .relative_humidity import RelativeHumidity
29-
from .super_droplet_count import SuperDropletCount
30-
from .temperature import Temperature
31-
from .time import Time
32-
from .timers import CPUTime, WallTime
33-
from .total_dry_mass_mixing_ratio import TotalDryMassMixingRatio
34-
from .total_particle_concentration import TotalParticleConcentration
35-
from .total_particle_specific_concentration import TotalParticleSpecificConcentration
36-
from .water_mixing_ratio import WaterMixingRatio
37-
from .water_vapour_mixing_ratio import WaterVapourMixingRatio
11+
from .ambient_thermodynamics import *
12+
from .housekeeping import *
13+
from .size_spectral import *

PySDM/products/aerosol_specific_concentration.py

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from .ambient_pressure import AmbientPressure
2+
from .ambient_temperature import AmbientTemperature
3+
from .ambient_relative_humidity import AmbientRelativeHumidity
4+
from .ambient_dry_air_density import AmbientDryAirDensity
5+
from .ambient_dry_air_potential_temperature import AmbientDryAirPotentialTemperature
6+
from .ambient_water_vapour_mixing_ratio import AmbientWaterVapourMixingRatio
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from PySDM.products.impl.moist_environment_product import MoistEnvironmentProduct
2+
3+
4+
class AmbientDryAirDensity(MoistEnvironmentProduct):
5+
def __init__(self, name="rhod", unit="kg/m^3", var=None):
6+
super().__init__(name=name, unit=unit, var=var)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from PySDM.products.impl.moist_environment_product import MoistEnvironmentProduct
2+
3+
4+
class AmbientDryAirPotentialTemperature(MoistEnvironmentProduct):
5+
def __init__(self, unit='K', name=None, var=None):
6+
super().__init__(unit=unit, name=name, var=var)

0 commit comments

Comments
 (0)