Recent Releases of PySDM
PySDM - PySDM v2.18
- breakup internals fixes, refactors and cleanups - kudos @edejong-caltech & @abulenok
- smoke tests comparing against analytic solution of SCE with breakup terms (Srivastava 1982) - kudos @abulenok
- added
ConstantSize
breakup fragmentation function
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 2 years ago

PySDM - PySDM v2.17
- making spatial, spectral and spectro-glacial sampling reproducible (obeying seed settings in Formulae)
- replace uses of debug-intended (and slow)
__setitem__
(e.g., within frag functions) with newly introducedfill()
Storage method - remove unused fields (
vmax
andx_plus_y
) fromAlwaysN
frag fun - enabling
--durations
reports inpytest
logs - CI workflows cleanups (grouping readme-snippets jobs, renaming)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 2 years ago

PySDM - PySDM v2.16
- enabling breakup smoke tests on GPU - kudos @abulenok!
- reflecting github org change in readme, docstrings, etc
- JOSS v2 paper updates (@claresinger & @edejong-caltech)
- minor code compatibility fixes for GPU
- minor collision code refactor: move cut_working_length call into adaptivity loop (thanks @piotrbartman)
- added zenodo-json-checking CI workflow
- added asserts for test_trickier_formula_vectorised (thanks @douglowe for reporting it)
- instantaneous ice melting support (as in Shima et al. 2020) as an option for Freezing dynamic (disabled by default)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 2 years ago

PySDM - PySDM v2.15
- major updates in collision methods (mostly GPU support for breakup, but also CPU refactors and cleanups & improved test coverage) - kudos @abulenok!
- numerous updates to
FakeThrustRTC
to support the above - kudos @abulenok - cleanups and docstrings in
Formulae
-related code - kudos @abulenok - clarification (significant) in displacement methods arg names (
omega
->position_in_cell
) - kudos @piotrbartman - fragmentation functions moved (partially) into
physics
submodule - introducing
ConcentrationProduct
base class supporting standard-temperature-and-pressure (STP) normalisation Multiplicities::MAX_VALUE
and unit test (+usage in breakup dynamics).zenodo.json
file added to streamline Zenodo metadata provision
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 2 years ago

PySDM - PySDM v2.14
- fragmentation functions for GPU backend (@abulenok)
- implement
flag_zero_multiplicity
on GPU backend within aCommons
struct (@abulenok) - new pair and storage methods for GPU:
min_pair
,multiply_pair
anddivide_if_not_zero
(@abulenok) - made ABIFM immersion freezing logic employ supersaturation constraint (to be consistent with analogous condition in INAS logic)
- breakup algorithm: fix an issue with zero multiplicities (introduced
max(round(nj), 1)
) (@edejong-caltech) - shift from per-gridbox to per-kg units in rate product (@edejong-caltech)
- smoke test for Bieli et al. example (@edejong-caltech)
- make CPU
find_pairs
correctly handle the length argument (@abulenok) - added Python 3.10 to CI runs
- added smoke tests with 0D simulations covering breakup (upcoming deJong et al. paper)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 2 years ago

PySDM - PySDM v2.13
- smoke test comparing dry/wet equilibrium calculation against PyPartMC (thanks @zdaq12)
- avoiding divide-by-zero warnings in
EffectiveRadius
product - fix physical unit in size-spectrum products (thanks @sajjadazimi)
- better array-valued argument handling in
Formulae
methods usingnumba.vectorize
(thanks @claresinger) - new method:
Builder::replace_dynamic()
(@edejong-caltech) - handling NVRTC_PATH env var to point ThrustRTC to non-standard location of nVidia libs (@abulenok)
- new backend methods:
min_pair
,divide_if_not_zero
(@edejong-caltech) - GPU support for freezing
- 3D displacement incl. GPU support (@abulenok)
- Straub fragmentation function (@edejong-caltech)
- breakup algorithm improvements incl. reworked limiter logic,
fragment_size
instead ofmin_volume
, fragmentation function updates (@edejong-caltech) - backends: fixed
__init__
calls in multiple-inheritance contexts - FakeThrust fixes to better match ThrustRTC API (@abulenok)
- make formulae available at attribute mapper scope so
request_attribute
can be called without constraints - storage, attribute, mesh common code: improved test coverage, cleanups, docstrings (@abulenok!)
- multi-stage Github Actions workflow (pylint, no-numba unit tests, etc first, only then run all the tests
- updates to make the code clean with newer versions of pylint
- new tests for displacement, freezing, breakup, mesh, builder, formulae and storage logic
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 2 years ago

PySDM - PySDM v2.12
- major updates in breakup algorithmics (no more while loop, fixes) and test coverage - thanks @edejong-caltech!
- new surface-tension model tests + code fixes and cleanups - thanks @claresinger
- new product: averaged terminal velocity - thanks @sajjadazimi
- new freezing-related products:
IceNucleiConcentration
,FrozenParticleConcentration
- new attribute:
WetToCriticalVolumeRatio
- added Fierce diagrams as a test for differences between full and linearised kappa-Koehler formulae - thanks @nriemer for hint!
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 2 years ago

PySDM - PySDM v2.11
- fixing version indicators for dependencies in pypi.org-published files (regression introduced when automating package uploads)
- option to toggle overflow warning in the breakup dynamic (thanks @edejong-caltech)
- replacing r_crit<r_dry errors in wet-size equilibrium calculations with r_wet=r_dry setting (workaround for big-f_org/small-sized aerosols, thanks @claresinger)
- immersion freezing cleaups
- cleaning up imports from deprecated packages in SciPy (just subpackage naming changes)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 2 years ago

PySDM - PySDM v2.10
- fragmentation limiters (by @edejong-caltech)
- 1D VTK and nceCDF exporters (by @sajjadazimi)
- PyPI release automation through GitHub Actions
- introducing test-time-dependency on PyPartMC
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo almost 3 years ago

PySDM - PySDM v2.9
- option to skip thd update in condensation dynamic added (for KiD example, kudos @sajjadazimi!)
- JOSS PySDM v2 paper updates (kudos @edejong-caltech & @claresinger)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo almost 3 years ago

PySDM - PySDM v2.8
- single-column environment and examples beef up (kudos @sajjadazimi)
- improved aerosol initialisation test coverage (kudos @claresinger)
- API change in aerosol initialisation (aerosol.aerosol_modes -> aerosol.modes)
- JOSS v2 paper progress
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo almost 3 years ago

PySDM - PySDM v2.7
- handling of domain-leaving particles in displacement logic and 1D kinematic smoke tests updates (thanks to @sajjadazimi)
- more tests for CCN activation (thanks to @claresinger)
- code cleanups (including enforcing keyword parameters for functions with many args)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo almost 3 years ago

PySDM - PySDM v2.6
- common aerosol composition code in
PySDM.initialisation
(@claresinger) - breakup: counting breakup deficit instead of reporting error,
vmin
andnfmax
thresholds (@edejong-caltech) - Area attribute and
SimpleGeometric
collision kernel (@edejong-caltech) NumberSizeSpectrum
andBreakupRateDeficitPerGridbox
products (@edejong-caltech)- adaptive time-stepping in
Displacement
dynamic (criterion suggested by @mwest1066) Feingold1988Frag
fragmentation function (@edejong-caltech)- renaming default branch from
master
tomain
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 3 years ago

PySDM - PySDM v2.5
- new example reproducing CCN activation figures from Abdul-Razzak & Ghan 2000 (kudos to @imdula, @claresinger & @trontrytel!)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 3 years ago

PySDM - PySDM v2.4
- add black, isort and precommithooks code maintenance helpers (kudos @jb-mackay!)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 3 years ago

PySDM - PySDM v2.3
- fix in collision dynamics ctors solving problem with undefined random seed on the GPU backend (thanks @s-shima for reporting it)
- cleanups and new smoke tests for CCN activation representation (thanks @claresinger)
- CI: add job cancellation workflow for GitHub Actions (thanks @claresinger)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 3 years ago

PySDM - PySDM v1.27
- moving terminal velocity and coalescence kernels out of "physics"
(re-release to trigger DOI generation after enabling integration with Zenodo)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 3 years ago

PySDM - PySDM v2.2
- updates in Lowe et al. 2019 example (thanks @claresinger)
- ambient relative humidity wrt ice (as option to the existing AmbientRelativeHumidity product)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 3 years ago

PySDM - PySDM v2.1
- new example: parcel simulation based on a setup from Pyrcel documentation (kudos @claresinger)
- adding dry option to ParticleVolumeVersusRadiusLogarithmSpectrum product
- arbitrary-moment product factory
- nbviewer badges in README.md
- cleanups
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 3 years ago

PySDM - PySDM v2.0
tada:
- Monte-Carlo super-particle-number-conserving collisional breakup representation
(original algorithm and implementation by @edejong-caltech and @jb-mackay)
misc:
- Lowe et al. 2019 (Pruppacher & Klett) diffusion kinetics/thermics & latent heat formula (thanks @claresinger)
- Lowe 1977 saturation vapour pressure formulae (thanks @claresinger)
- Murphy and Koop 2005 saturation vapour pressure formulae (thanks @isilber)
- new product: FlowVelocityComponent
- new spectra: Gamma & Gaussian (thanks @edejong-caltech)
- fixing race condition in coalescence counter increments (thanks @jb-mackay)
- fixing non-rectangular domain handling in VTK exporter
- switch from SciPy to PySDM backend root-solver in CompressedFilmRuehl surface tension (thanks @claresinger)
- swithing to use single buffer for all products (less memory allocated)
- better unit-test coverage for physics formulae incl. units (thanks @claresinger)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 3 years ago

PySDM - PySDM v1.26
- new Szyszkowski-Langmuir surface tension model (and updates in Ruehl model) - kudos @claresinger!
- JOSS paper branch merged into main one, added CI workflow to check the paper code
- new cooling rate attribute and product
- new max Courant number product
- VTK exporter fixes
- mass and heat accommodation coefficients alterable from within constants
- cleanups
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.25
- major refactor around physical constants handling (Formulae ctor now accepts a dictionary of constant values to use instead of the defaults)
- handling exdown -> pytest-codeblocks package name change in GA workflow files
- first smoke test for immersion freezing using 2d kinematic setup (both singular and time-dependent)
- binned terminal velocity product and a corresponding 2d kinematic GUI panel
- mixed-phase support at Moist environment base class level
- handling of non-spatial dimensions (e.g. histogram bins) in netCDF exporter
- cleanups
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.24
- module docstring coverage reached 100% (checked with pylint in CI)
- using
python -We -m pdoc
instead ofpdoc
to catch broken code links within docstring (and other issues) - catching OSError when importing ThrustRTC and issuing a warning (
pdoc
parsing works then even on machines without CUDA) - some minor code cleanups/refactors
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.23
- fixes and refactors around unit handling in the common code of the products subsystem (incl. new RateProduct base class)
- numerous GPU code fixes (kudos to @Delcior for reporting it)
- FakeThrust API updates to match ThrustRTC 0.3.17
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.22
- initialisation and spectra refactors
- formulae.py moved out of physics to avoid cyclic imports
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.21
- product subsystem refactor (incl. enforced SI units as defaults, pint handling of user-supplied unit conversion, shorter code, clearer directory structure, more common code, improved test coverage)
- cleanups
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.20
- code cleanups & refactors
- making pylint warnings fail GA workflow
- phasing out PrecisionResolver - precision is now an init parameter of the GPU backend class
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.19
- VTK product export (kudos @abulenok)
- new surface tension model draft added, relabelling existing models (kudos @claresinger)
- cleanups (incl. graphics files linked from README - now showing files generated through GitHub Actions on a latest merge)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.18
- more options around freezing spectrum (incl. Bigg 1953 formulation)
- cleanups, better error messages in initialisation
- smarter setitem support for Box environment
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.17
- new attribute: CriticalSupersaturation
- new product: ActivableFraction
- cleanups
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.16
- bumping ThrustRTC requirement to 0.3.15 (in which support for GPU/CUDA hardware/software current Colab setup is fixed)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.15
- moving backend instantiation from within Builder up to user scope
- default random seed is now shuffled at PySDM import (but kept constant for CI runs)
- cleanups
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.14
- fix unit in ABIFM
- TotalUnfrozenImmersedSurfaceArea product
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.13
- ABIFM heterogeneous ice nucleation parameterisation (J_het)
- refactors around constants
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.12
requiring ThrustRTC==0.3.8 (due to https://github.com/fynv/ThrustRTC/issues/19)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.11
cleanup and refactors incl. API changes:
- Core --> Particulator
- Core.particles --> Particulator.attributes
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.10
coalescence adaptivity on by default + minore fixes/cleanups
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.9
maintenance release to accompanying PySDM-examples v1.9 + one minor fix in pH calculation code
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.8
- TopHat spectrum + test
- Flatau-Walko-Cotton polynomial fit fot saturated vapour pressure wrt ice + test
- smoke tests for Alpert & Knopf 2016 Fig 1 example
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.7
- added Alpert & Knopf 2016 immersion freezing example
- cleanups
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.6
- new example based on Lowe et al. 2019 Nature Comm. paper on surface-active organics - kudos @claresinger and @rxward!
- kappa (times dry volume) as particle attribute, also optionally dry organic volume
- backend routines, new products, initialisation methods (spectro_glacial_sampling) and basic tests for upcoming immersion freezing dynamic
- VTK exporter metadata aligned to properly overlay netCDF output in Paraview
- 2D kinematic environment GUI improvements and major code cleanup
- UniformRandom spectral sampling
- cleanups, fixes, new tests (r_wet_init, condensation diagnotics, moments, ...)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 3 years ago

PySDM - PySDM v1.5
Maintenance release with git package URLs removed from setup.py (possible as we are now on pypi.org).
Also: performance-oriented refactors around moments and moment products (kudos @piotrbartman!)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo almost 4 years ago

PySDM - PySDM v1.4
TOP 5:
-
condensation on GPU (and required updates to FakeThrust, e.g.
extract_struct_defs()
); parcel and 1d-kinematic examples work now OK on both CPU and GPU; kudos to @piotrbartman -
numerous cleanups and fixes in aqueous chemistry code, incl. rewrite of pH handling (HydrogenIonConcentration attribute), options to calculate both volume-weighted and number-weighted pH, calculation of dry radius based on actual amounts of chemical compounds; several figures from Kreidenweis et al. 2003 and Jaruga and Pawlowska 2018 reproduced successfully; kudos to @trontrytel
-
VTK exporter for attributes (files readily usable with Paraview for visualisation of particle attributes); kudos to @abulenok
-
brand new
PySDM.physics
infrastructure enabling common physics code for CPU and GPU backends (c_inline
) and enabling user-facing control over the choice of physical formulae (e.g., condensation solver coordinate, saturation vapour pressure approximation, temperature dependence in diffusion coefficients, etc), JIT options and random seed through theFormulae.__init__()
arguments; backend are now instantiated by the Builder; -
Julia and Matlab (in addition to Python) example code in the README file (box coalescence & parcel condensation).
Other news:
- deployment of pdoc-generated API manual to GitHub pages (https://atmos-cloud-sim-uj.github.io/PySDM/);
- multi-threaded operation for moment calculation on CPU (using atomic_* functions from github.com/KatanaGraph/katana)
- surface precipitation calculations on GPU
- numerous fixes in GPU backend routines, including gently handling zero-length For launches
- replaced bisection with TOMS-748 in the Numba backend (for r_wet_init, condensation implicit Euler and pH calculation)
- thread-safe handling of "success" checks within condensation solver
- simplification of the BDF code (test helper for validation condensation solver)
- running Julia and Matlab examples on GitHub Actions
- products: removed range and scale fields (now only defined in the ICMW example)
- many more tests work on GPU now (displacement, condensation, ...)
- widget freezer in Shima_et_al_2009 example
- cleanups in docstrings
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo almost 4 years ago

PySDM - PySDM v1.3
TOP 5:
- aqueous chemistry dynamic draft with two new examples, kudos @Golui & @trontrytel!
(new examples, WIP: Kreidenweis_et_al_2003 & Jaruga_and_Pawlowska_2018) - moving examples to a separate repo, making them an installable package
(https://github.com/atmos-cloud-sim-uj/PySDM-examples) - dropping dep on molmass in favour of chempy (used by the new dynamic)
- notebook execution moved from Travis to Github Actions (using pytest instead of bash script)
- activation, deactivation and ripening counters (and relevant products)
Other news:
- notebook header cleanup (just pip install PySDM_examples for Colab)
- swithing to newer Jupyter Lab interface in mybinder.org badge links
- cleanup around coalsecence timestep adaptivity
- new products: TotalConcentration, ParcelDisplacement, Time, CloudDropletEffectiveRadius, PeakSupersaturation, ActivatingRate, DeactivatingRate, RipeningRate, TotalDryMassMixingRatio, DynamicWallTime, AqueousMassSpectrum, Concentration, pH
- improved in-cloud hydrostatic profile integration + tests
- removed intensive attribute logic from coalescence; added proper handling within IntensiveAttribute class
- using @strict decorator for Settings classes (pystrict package)
- added cron-schedulled builds to GA
- added "pip -e" installation into continuous integration workflows
- dropped Python 3.6 builds, introduced 3.9
- fixed attr iteration in Thrust coalescence (chemistry first to use it)
- dynamic/static schedule parameters for condensation
- moved Matlab examples to a separate repo (PySDM_examples.m)
- moved Julia examples to a separate repo (PySDM_examples.jl)
- proper seed passing for initialisation in ThrustRTC.Random
- checking README code with pytest using exdown
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 4 years ago

PySDM - PySDM v1.2
TOP 5:
- new adaptivity controls for SDM coalescence (kudos @piotrbartman!)
- new smart scheduling for parallel execution in multi-cell adaptive coalescence (for both GPU and CPU)
- new environment: kinematic_1D
- new example based on Shipway & Hill 2012 using PyMPDATA 1D advection
- major refactors around storage logic and coalescence-related backend methods
Other news:
- numerous fixes to support 1D simulations
- several physics formulae residing in environment code moved to
physics
- new products:
CoalescenceTimestepMean
,CoalescenceTimestepMin
,WaterMixingRatio
- support for
atomicMin()
inFakeThrustRTC
test_todos_annotated.py
- checking if all TODOs in the code have a valid GitHub issue number- major cleanups (incl. removal of numerous obsolete backend tests)
- new tests: adaptive coalescence, new example
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo about 4 years ago

PySDM - PySDM v1.1
TOP5:
- major refactor of backend storage classes (including introduction of Index, PairIndicator and PairwiseStorage)
- support for calculating moments on GPU with parallel sums using atomicAdd (thanks @tehAgitto)
- fakeThrust machinery for testing GPU code on CPU (incl. C to Python translation) and the backends fixture for pytests (kudos @piotrbartman!)
- PySDM_tutorials folder with minimal usage examples for the "box" and the "parcel" environments depicting how to use PySDM from Python, Matlab and Julia + minimal example for the "kinematic_2d" environment in Python
- initialisation logic refactored and moved to init_attributes() methods in environments
Other news:
- added continuous integration scripts for Github Actions (Windows, macOS, Linux) and Appveyor (32-bit and 64-bit Windows jobs)
- support for switching floating point format on GPU backend, fixed int overflow issues in Thrust C code
- introducing alias backend names: CPU=Numba and GPU=ThrustRTC
- CUDA detection code with hints for Colab users
- Bartman et al. 2021 example with animation generated from netCDF file
- fixed tolerance handling in bisection + adjusted default tolerances for condensation
- switched from mendeleev to molmass package as dependency for physical constants
- setup.py file for installation with pip
- removed dependency on mpmath (mpmath.besseli -> scipy.special.ive)
- relocation of all product classes into PySDM/products
- renamed ICMW_2012_case_1 to Arabas_et_al_2015_Figs_8_9
- added
widgets
andtemporary_file
in PySDM_examples/utils including helper logic for downloading files from Colab - fixed ipywidgets no-icons problem on Colab ("display(HTML(...))" with in widgets/init.py)
- renamed all Setup classes to Settings (not to have multiple setup.py files which puzzled Dependabot)
- work in progress towards cell-wise adaptivity for coalescence (still guarded with not-implemented exception)
- new products: CollisionRate, CollisionRateDeficit, SurfacePrecipitation
- use "-We" flag for python in CI scripts to trigger error on warnings (what triggered numerous cleanups)
- switch from TRAVIS to CI env var whenever checking for continuous integration environment
- README and notebook header enhancements (incl. Colab and mybinder badges in notebook headers)
- more metadata in netCDF output
- moved timing logic from stats.py into products
- renamed State to Particles
- simplified inheritance in environments
- AmbientThermodynamics dynamic
- more parrallel=True/prange loops in numba backend
- automatic initial spectrum range by specifying sampling region with percentiles
- adapted EulerianAdvection to new PyMPDATA API (MPyDATA->PyMPDATA, advectee, advector)
- enforcing stateless backends by preventing instantiation with an exception in init
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by slayoo over 4 years ago

PySDM - PySDM v1.0
Initial release accompanying Piotr Bartman's MSc thesis and featuring:
- coalescence with adaptive time step (CPU, GPU)
- condensation with adaptive time step (CPU)
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by piotrbartman over 4 years ago
