A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

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 introduced fill() Storage method
  • remove unused fields (vmax and x_plus_y) from AlwaysN frag fun
  • enabling --durations reports in pytest 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 a Commons struct (@abulenok)
  • new pair and storage methods for GPU: min_pair, multiply_pair and divide_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 using numba.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 of min_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 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

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 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

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 - tip

Atmosphere - Atmospheric Chemistry and Aerosol - Python
Published by github-actions[bot] 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 the Formulae.__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() in FakeThrustRTC
  • 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 and temporary_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