PySDM

Pythonic particle-based (super-droplet) warm-rain/aqueous-chemistry cloud microphysics package with box, parcel & 1D/2D prescribed-flow examples in Python, Julia and Matlab

GPL-3.0 License

Downloads
10.7K
Stars
45
Committers
27

Bot releases are hidden (Show)

PySDM - PySDM v2.7

Published by slayoo over 2 years ago

  • 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)
PySDM - PySDM v2.6

Published by slayoo over 2 years ago

  • common aerosol composition code in PySDM.initialisation (@claresinger)
  • breakup: counting breakup deficit instead of reporting error, vmin and nfmax thresholds (@edejong-caltech)
  • Area attribute and SimpleGeometric collision kernel (@edejong-caltech)
  • NumberSizeSpectrum and BreakupRateDeficitPerGridbox products (@edejong-caltech)
  • adaptive time-stepping in Displacement dynamic (criterion suggested by @mwest1066)
  • Feingold1988Frag fragmentation function (@edejong-caltech)
  • renaming default branch from master to main
PySDM - PySDM v2.5

Published by slayoo over 2 years ago

  • new example reproducing CCN activation figures from Abdul-Razzak & Ghan 2000 (kudos to @imdula, @claresinger & @trontrytel!)
PySDM - PySDM v2.4

Published by slayoo over 2 years ago

  • add black, isort and precommithooks code maintenance helpers (kudos @jb-mackay!)
PySDM - PySDM v2.3

Published by slayoo over 2 years ago

  • 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)
PySDM - PySDM v1.27

Published by slayoo over 2 years ago

  • moving terminal velocity and coalescence kernels out of "physics"
    (re-release to trigger DOI generation after enabling integration with Zenodo)
PySDM - PySDM v2.2

Published by slayoo over 2 years ago

  • updates in Lowe et al. 2019 example (thanks @claresinger)
  • ambient relative humidity wrt ice (as option to the existing AmbientRelativeHumidity product)
PySDM - PySDM v2.1

Published by slayoo over 2 years ago

  • 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
PySDM - PySDM v2.0

Published by slayoo over 2 years ago

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)
PySDM - PySDM v1.26

Published by slayoo almost 3 years ago

  • 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
PySDM - PySDM v1.25

Published by slayoo almost 3 years ago

  • 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
PySDM - PySDM v1.24

Published by slayoo almost 3 years ago

  • module docstring coverage reached 100% (checked with pylint in CI)
  • using python -We -m pdoc instead of pdoc 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
PySDM - PySDM v1.23

Published by slayoo almost 3 years ago

  • 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
PySDM - PySDM v1.22

Published by slayoo almost 3 years ago

  • initialisation and spectra refactors
  • formulae.py moved out of physics to avoid cyclic imports
PySDM - PySDM v1.21

Published by slayoo almost 3 years ago

  • 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
PySDM - PySDM v1.20

Published by slayoo almost 3 years ago

  • code cleanups & refactors
  • making pylint warnings fail GA workflow
  • phasing out PrecisionResolver - precision is now an init parameter of the GPU backend class
PySDM - PySDM v1.19

Published by slayoo about 3 years ago

  • 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)
PySDM - PySDM v1.18

Published by slayoo about 3 years ago

  • more options around freezing spectrum (incl. Bigg 1953 formulation)
  • cleanups, better error messages in initialisation
  • smarter setitem support for Box environment
PySDM - PySDM v1.17

Published by slayoo about 3 years ago

  • new attribute: CriticalSupersaturation
  • new product: ActivableFraction
  • cleanups
PySDM - PySDM v1.16

Published by slayoo about 3 years ago

  • bumping ThrustRTC requirement to 0.3.15 (in which support for GPU/CUDA hardware/software current Colab setup is fixed)