PySDM-examples 2.127__tar.gz → 2.129__tar.gz
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-2.127 → pysdm_examples-2.129}/PKG-INFO +1 -1
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abdul_Razzak_Ghan_2000/run_ARG_parcel.py +4 -4
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_and_Shima_2017/simulation.py +4 -4
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bartman_2020_MasterThesis/fig_5_SCIPY_VS_ADAPTIVE.py +2 -2
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Grabowski_and_Pawlowska_2023/simulation.py +4 -8
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/simulation.py +3 -3
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kreidenweis_et_al_2003/simulation.py +1 -1
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lowe_et_al_2019/simulation.py +2 -2
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Pyrcel/profile_plotter.py +6 -2
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shipway_and_Hill_2012/simulation.py +1 -1
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/make_default_product_collection.py +1 -1
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/pvanim.py +57 -21
- {pysdm_examples-2.127 → pysdm_examples-2.129}/pysdm_examples.egg-info/PKG-INFO +1 -1
- {pysdm_examples-2.127 → pysdm_examples-2.129}/MANIFEST.in +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abade_and_Albuquerque_2024/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abade_and_Albuquerque_2024/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abade_and_Albuquerque_2024/simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abdul_Razzak_Ghan_2000/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abdul_Razzak_Ghan_2000/aerosol.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_ARG2000_paper.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_CloudMicrophysics_ARG.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Alpert_and_Knopf_2016/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Alpert_and_Knopf_2016/simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Alpert_and_Knopf_2016/table.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Alpert_and_Knopf_2016/table_1.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Alpert_and_Knopf_2016/table_2.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_and_Shima_2017/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_and_Shima_2017/example.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_and_Shima_2017/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2015/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2015/example.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2015/example_benchmark.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2015/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2015/spin_up.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/commons.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/curved_text.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/frozen_fraction.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/make_particulator.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/plots.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/run_simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bartman_2020_MasterThesis/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bartman_2020_MasterThesis/fig_4_adaptive_sdm.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bartman_et_al_2021/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bartman_et_al_2021/label.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Berry_1967/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Berry_1967/example.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Berry_1967/example_fig_6.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Berry_1967/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Berry_1967/spectrum_plotter.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bieli_et_al_2022/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bieli_et_al_2022/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bieli_et_al_2022/simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bolin_1958/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bolot_et_al_2013/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bulenok_2023_MasterThesis/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bulenok_2023_MasterThesis/performance_comparison_Srivastava_Setup.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bulenok_2023_MasterThesis/setups.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bulenok_2023_MasterThesis/utils.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Ervens_and_Feingold_2012/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Ervens_and_Feingold_2012/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Fisher_1991/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Gedzelman_and_Arnold_1994/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Gonfiantini_1986/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Grabowski_and_Pawlowska_2023/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Grabowski_and_Pawlowska_2023/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Graf_et_al_2019/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jaruga_and_Pawlowska_2018/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/plotting.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/table_3.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jouzel_and_Merlivat_1984/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jouzel_and_Merlivat_1984/thermodynamic_profiles.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kinzer_And_Gunn_1951/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kinzer_And_Gunn_1951/table_1_and_2.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kreidenweis_et_al_2003/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kreidenweis_et_al_2003/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lamb_et_al_2017/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lowe_et_al_2019/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lowe_et_al_2019/aerosol.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lowe_et_al_2019/aerosol_code.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lowe_et_al_2019/constants_def.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lowe_et_al_2019/plot_helper.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lowe_et_al_2019/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Merlivat_and_Nief_1967/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Miyake_et_al_1968/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Morrison_and_Grabowski_2007/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Morrison_and_Grabowski_2007/common.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Morrison_and_Grabowski_2007/strato_cumulus.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Niedermeier_et_al_2014/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Niedermeier_et_al_2014/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Niedermeier_et_al_2014/simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Pierchala_et_al_2022/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Pierchala_et_al_2022/commons.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Pruppacher_and_Rasmussen_1979/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Pyrcel/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Pyrcel/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Pyrcel/simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Rogers_1975/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Rozanski_and_Sonntag_1982/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Rozanski_and_Sonntag_1982/multibox.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/error_measure.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/example.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/example_timing.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/spectrum_plotter.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/tutorial_example.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/tutorial_plotter.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/tutorial_settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shipway_and_Hill_2012/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shipway_and_Hill_2012/mpdata_1d.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shipway_and_Hill_2012/plot.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shipway_and_Hill_2012/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Singer_Ward/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Singer_Ward/aerosol.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Srivastava_1982/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Srivastava_1982/equations.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Srivastava_1982/example.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Srivastava_1982/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Srivastava_1982/simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Stewart_1975/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Toon_et_al_1980/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Van_Hook_1968/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Yang_et_al_2018/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Yang_et_al_2018/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Yang_et_al_2018/simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Zaba_et_al_2025/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/_HOWTOs/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Azimi/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Azimi/cloudy_data.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Azimi/cloudy_data_0d.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Azimi/settings1D.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Azimi/simulation_0D.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/plot_rates.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/settings1D.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/settings_0D.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/simulation1D.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/simulation_0D.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/simulation_ss.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/seeding/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/seeding/settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/seeding/simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/basic_simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/dummy_controller.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/fields.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/gui.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/gui_controller.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/gui_settings.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/gui_viewer.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/mpdata_2d.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/plots.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/simulation.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/storage.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/progbar_controller.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/read_vtk_1d.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/widgets/__init__.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/widgets/freezer.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/widgets/progbar_updater.py +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/README.md +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/docs/pysdm_examples_landing.md +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/pyproject.toml +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/pysdm_examples.egg-info/SOURCES.txt +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/pysdm_examples.egg-info/dependency_links.txt +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/pysdm_examples.egg-info/requires.txt +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/pysdm_examples.egg-info/top_level.txt +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/setup.cfg +0 -0
- {pysdm_examples-2.127 → pysdm_examples-2.129}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pysdm-examples
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.129
|
|
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
|
|
@@ -28,7 +28,7 @@ def run_parcel(
|
|
|
28
28
|
):
|
|
29
29
|
products = (
|
|
30
30
|
PySDM_products.WaterMixingRatio(unit="g/kg", name="liquid water mixing ratio"),
|
|
31
|
-
PySDM_products.
|
|
31
|
+
PySDM_products.PeakSaturation(name="S max"),
|
|
32
32
|
PySDM_products.AmbientRelativeHumidity(name="RH"),
|
|
33
33
|
PySDM_products.ParcelDisplacement(name="z"),
|
|
34
34
|
)
|
|
@@ -54,7 +54,7 @@ def run_parcel(
|
|
|
54
54
|
builder = Builder(backend=CPU(formulae), n_sd=n_sd, environment=env)
|
|
55
55
|
builder.add_dynamic(AmbientThermodynamics())
|
|
56
56
|
builder.add_dynamic(Condensation())
|
|
57
|
-
builder.request_attribute("critical
|
|
57
|
+
builder.request_attribute("critical saturation")
|
|
58
58
|
|
|
59
59
|
attributes = {
|
|
60
60
|
k: np.empty(0) for k in ("dry volume", "kappa times dry volume", "multiplicity")
|
|
@@ -87,7 +87,7 @@ def run_parcel(
|
|
|
87
87
|
"multiplicity": tuple([] for _ in range(particulator.n_sd)),
|
|
88
88
|
"volume": tuple([] for _ in range(particulator.n_sd)),
|
|
89
89
|
"critical volume": tuple([] for _ in range(particulator.n_sd)),
|
|
90
|
-
"critical
|
|
90
|
+
"critical saturation": tuple([] for _ in range(particulator.n_sd)),
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
for _ in range(n_steps):
|
|
@@ -109,7 +109,7 @@ def run_parcel(
|
|
|
109
109
|
RHmax = np.nanmax(np.asarray(output["RH"]))
|
|
110
110
|
for i, volume in enumerate(output_attributes["volume"]):
|
|
111
111
|
if j * n_sd_per_mode <= i < (j + 1) * n_sd_per_mode:
|
|
112
|
-
if output_attributes["critical
|
|
112
|
+
if output_attributes["critical saturation"][i][-1] < RHmax:
|
|
113
113
|
activated_drops_j_S += output_attributes["multiplicity"][i][-1]
|
|
114
114
|
if output_attributes["critical volume"][i][-1] < volume[-1]:
|
|
115
115
|
activated_drops_j_V += output_attributes["multiplicity"][i][-1]
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_and_Shima_2017/simulation.py
RENAMED
|
@@ -62,14 +62,14 @@ class Simulation:
|
|
|
62
62
|
PySDM_products.MeanRadius(name="radius_m1", unit="um"),
|
|
63
63
|
PySDM_products.CondensationTimestepMin(name="dt_cond_min"),
|
|
64
64
|
PySDM_products.ParcelDisplacement(name="z"),
|
|
65
|
-
PySDM_products.AmbientRelativeHumidity(name="RH"
|
|
65
|
+
PySDM_products.AmbientRelativeHumidity(name="RH"),
|
|
66
|
+
PySDM_products.PeakSaturation(name="S_max"),
|
|
66
67
|
PySDM_products.Time(name="t"),
|
|
67
68
|
PySDM_products.ActivatingRate(unit="s^-1 mg^-1", name="activating_rate"),
|
|
68
69
|
PySDM_products.DeactivatingRate(
|
|
69
70
|
unit="s^-1 mg^-1", name="deactivating_rate"
|
|
70
71
|
),
|
|
71
72
|
PySDM_products.RipeningRate(unit="s^-1 mg^-1", name="ripening_rate"),
|
|
72
|
-
PySDM_products.PeakSupersaturation(unit="%", name="S_max"),
|
|
73
73
|
]
|
|
74
74
|
|
|
75
75
|
self.particulator = builder.build(attributes, products)
|
|
@@ -85,7 +85,7 @@ class Simulation:
|
|
|
85
85
|
self.particulator.products["dt_cond_min"].get()[cell_id]
|
|
86
86
|
)
|
|
87
87
|
output["z"].append(self.particulator.products["z"].get()[cell_id])
|
|
88
|
-
output["
|
|
88
|
+
output["RH"].append(self.particulator.products["RH"].get()[cell_id])
|
|
89
89
|
output["t"].append(self.particulator.products["t"].get())
|
|
90
90
|
|
|
91
91
|
for event in ("activating", "deactivating", "ripening"):
|
|
@@ -96,7 +96,7 @@ class Simulation:
|
|
|
96
96
|
def run(self):
|
|
97
97
|
output = {
|
|
98
98
|
"r": [],
|
|
99
|
-
"
|
|
99
|
+
"RH": [],
|
|
100
100
|
"z": [],
|
|
101
101
|
"t": [],
|
|
102
102
|
"dt_cond_min": [],
|
|
@@ -75,12 +75,12 @@ def plot(plot_data, rtols, schemes, setups_num, show_plot, path=None):
|
|
|
75
75
|
ax = axs[settings_idx, rtol_idx]
|
|
76
76
|
for scheme in schemes:
|
|
77
77
|
datum = plot_data[scheme][_rtol][settings_idx]
|
|
78
|
-
S = datum["
|
|
78
|
+
S = datum["RH"]
|
|
79
79
|
z = datum["z"]
|
|
80
80
|
dt = datum["dt_cond_min"]
|
|
81
81
|
if scheme == "SciPy":
|
|
82
|
-
ax.plot(S, z, label=scheme, color="grey")
|
|
83
82
|
SCIPY_S = np.array(S)
|
|
83
|
+
ax.plot(SCIPY_S - 1, z, label=scheme, color="grey")
|
|
84
84
|
else:
|
|
85
85
|
add_color_line(fig, ax, S, z, dt)
|
|
86
86
|
PySDM_S = np.array(S)
|
|
@@ -38,8 +38,8 @@ class Simulation(BasicSimulation):
|
|
|
38
38
|
Condensation(rtol_thd=settings.rtol_thd, rtol_x=settings.rtol_x)
|
|
39
39
|
)
|
|
40
40
|
for attribute in (
|
|
41
|
-
"critical
|
|
42
|
-
"equilibrium
|
|
41
|
+
"critical saturation",
|
|
42
|
+
"equilibrium saturation",
|
|
43
43
|
"critical volume",
|
|
44
44
|
):
|
|
45
45
|
builder.request_attribute(attribute)
|
|
@@ -80,12 +80,8 @@ class Simulation(BasicSimulation):
|
|
|
80
80
|
self.output_attributes = {
|
|
81
81
|
"volume": tuple([] for _ in range(self.particulator.n_sd)),
|
|
82
82
|
"dry volume": tuple([] for _ in range(self.particulator.n_sd)),
|
|
83
|
-
"critical
|
|
84
|
-
|
|
85
|
-
),
|
|
86
|
-
"equilibrium supersaturation": tuple(
|
|
87
|
-
[] for _ in range(self.particulator.n_sd)
|
|
88
|
-
),
|
|
83
|
+
"critical saturation": tuple([] for _ in range(self.particulator.n_sd)),
|
|
84
|
+
"equilibrium saturation": tuple([] for _ in range(self.particulator.n_sd)),
|
|
89
85
|
"critical volume": tuple([] for _ in range(self.particulator.n_sd)),
|
|
90
86
|
"multiplicity": tuple([] for _ in range(self.particulator.n_sd)),
|
|
91
87
|
}
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/simulation.py
RENAMED
|
@@ -6,7 +6,7 @@ from PySDM import Builder
|
|
|
6
6
|
from PySDM.physics import si
|
|
7
7
|
from PySDM.backends import CPU
|
|
8
8
|
from PySDM.products import (
|
|
9
|
-
|
|
9
|
+
PeakSaturation,
|
|
10
10
|
ParcelDisplacement,
|
|
11
11
|
Time,
|
|
12
12
|
ActivatedMeanRadius,
|
|
@@ -52,7 +52,7 @@ class Simulation(BasicSimulation):
|
|
|
52
52
|
),
|
|
53
53
|
)
|
|
54
54
|
|
|
55
|
-
additional_derived_attributes = ("radius", "equilibrium
|
|
55
|
+
additional_derived_attributes = ("radius", "equilibrium saturation")
|
|
56
56
|
for additional_derived_attribute in additional_derived_attributes:
|
|
57
57
|
builder.request_attribute(additional_derived_attribute)
|
|
58
58
|
|
|
@@ -93,7 +93,7 @@ class Simulation(BasicSimulation):
|
|
|
93
93
|
builder.build(
|
|
94
94
|
attributes=attributes,
|
|
95
95
|
products=(
|
|
96
|
-
|
|
96
|
+
PeakSaturation(name="S_max"),
|
|
97
97
|
ParcelDisplacement(name="z"),
|
|
98
98
|
Time(name="t"),
|
|
99
99
|
ActivatedMeanRadius(
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kreidenweis_et_al_2003/simulation.py
RENAMED
|
@@ -106,7 +106,7 @@ class Simulation(BasicSimulation):
|
|
|
106
106
|
PySDM_products.TotalDryMassMixingRatio(
|
|
107
107
|
settings.DRY_RHO, name="q_dry", unit="ug/kg"
|
|
108
108
|
),
|
|
109
|
-
PySDM_products.
|
|
109
|
+
PySDM_products.PeakSaturation(unit="%", name="S_max_percent"),
|
|
110
110
|
PySDM_products.ParticleSpecificConcentration(
|
|
111
111
|
radius_range=settings.cloud_radius_range, name="n_c_mg", unit="mg^-1"
|
|
112
112
|
),
|
|
@@ -81,8 +81,8 @@ class Simulation(BasicSimulation):
|
|
|
81
81
|
products = products or (
|
|
82
82
|
PySDM_products.ParcelDisplacement(name="z"),
|
|
83
83
|
PySDM_products.Time(name="t"),
|
|
84
|
-
PySDM_products.
|
|
85
|
-
PySDM_products.AmbientRelativeHumidity(
|
|
84
|
+
PySDM_products.PeakSaturation(name="S_max"),
|
|
85
|
+
PySDM_products.AmbientRelativeHumidity(name="RH"),
|
|
86
86
|
PySDM_products.ActivatedParticleConcentration(
|
|
87
87
|
name="CDNC_cm3",
|
|
88
88
|
unit="cm^-3",
|
|
@@ -28,8 +28,12 @@ class ProfilePlotter:
|
|
|
28
28
|
def plot_data(self, settings, output):
|
|
29
29
|
_, axs = pyplot.subplots(1, 2, sharey=True, figsize=(10, 5))
|
|
30
30
|
axS = axs[0]
|
|
31
|
+
if output["products"].get("S_max"):
|
|
32
|
+
SS_percent = (np.asarray(output["products"]["S_max"]) - 1) * 100
|
|
33
|
+
else:
|
|
34
|
+
SS_percent = np.asarray(output["products"]["S_max_percent"]) - 100
|
|
31
35
|
axS.plot(
|
|
32
|
-
|
|
36
|
+
SS_percent,
|
|
33
37
|
output["products"]["z"],
|
|
34
38
|
color="black",
|
|
35
39
|
)
|
|
@@ -37,7 +41,7 @@ class ProfilePlotter:
|
|
|
37
41
|
axS.set_xlabel("Supersaturation [%]")
|
|
38
42
|
axS.set_xlim(0, 0.7)
|
|
39
43
|
axS.set_ylim(0, 250)
|
|
40
|
-
axS.text(0.3, 52, f"max
|
|
44
|
+
axS.text(0.3, 52, f"max SS = {np.nanmax(SS_percent):.2f}%")
|
|
41
45
|
axS.grid()
|
|
42
46
|
|
|
43
47
|
axT = axS.twiny()
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shipway_and_Hill_2012/simulation.py
RENAMED
|
@@ -148,7 +148,7 @@ class Simulation:
|
|
|
148
148
|
PySDM_products.RipeningRate(name="ripening"),
|
|
149
149
|
PySDM_products.ActivatingRate(name="activating"),
|
|
150
150
|
PySDM_products.DeactivatingRate(name="deactivating"),
|
|
151
|
-
PySDM_products.
|
|
151
|
+
PySDM_products.PeakSaturation(),
|
|
152
152
|
PySDM_products.ParticleSizeSpectrumPerVolume(
|
|
153
153
|
name="dry spectrum",
|
|
154
154
|
radius_bins_edges=settings.r_bins_edges_dry,
|
|
@@ -67,7 +67,7 @@ def make_default_product_collection(settings):
|
|
|
67
67
|
if settings.processes["condensation"]:
|
|
68
68
|
products.append(PySDM_products.CondensationTimestepMin(name="dt_cond_min"))
|
|
69
69
|
products.append(PySDM_products.CondensationTimestepMax(name="dt_cond_max"))
|
|
70
|
-
products.append(PySDM_products.
|
|
70
|
+
products.append(PySDM_products.PeakSaturation(unit="%", name="S_max_percent"))
|
|
71
71
|
products.append(PySDM_products.ActivatingRate())
|
|
72
72
|
products.append(PySDM_products.DeactivatingRate())
|
|
73
73
|
products.append(PySDM_products.RipeningRate())
|
|
@@ -12,6 +12,12 @@ def cli_using_argparse(argp):
|
|
|
12
12
|
argp.add_argument("product_path", help="path to pvd products file")
|
|
13
13
|
argp.add_argument("attributes_path", help=" path to pvd attributes file")
|
|
14
14
|
argp.add_argument("output_path", help="path where to write output files")
|
|
15
|
+
argp.add_argument(
|
|
16
|
+
"--mode",
|
|
17
|
+
choices=["light", "dark"],
|
|
18
|
+
default="dark",
|
|
19
|
+
help="Choose 'light' or 'dark' mode.",
|
|
20
|
+
)
|
|
15
21
|
argp.add_argument(
|
|
16
22
|
"--multiplicity_preset",
|
|
17
23
|
default="Inferno (matplotlib)",
|
|
@@ -54,6 +60,13 @@ def cli_using_argparse(argp):
|
|
|
54
60
|
default=0.77,
|
|
55
61
|
help="Opacity for sd_attributes",
|
|
56
62
|
)
|
|
63
|
+
argp.add_argument(
|
|
64
|
+
"--animation_size",
|
|
65
|
+
nargs=2,
|
|
66
|
+
type=int,
|
|
67
|
+
default=[800, 800],
|
|
68
|
+
help="Animation size [x,y]",
|
|
69
|
+
)
|
|
57
70
|
argp.add_argument(
|
|
58
71
|
"--animationframename",
|
|
59
72
|
type=str,
|
|
@@ -86,12 +99,14 @@ setup = {
|
|
|
86
99
|
"sd_productspvdDisplay": pvs.GetDisplayProperties(
|
|
87
100
|
sd_productspvd, view=pvs.GetActiveViewOrCreate("RenderView")
|
|
88
101
|
),
|
|
102
|
+
"color": [1, 1, 1] if args.mode == "dark" else [0, 0, 0],
|
|
103
|
+
"inverted_color": [0.129, 0.145, 0.161] if args.mode == "dark" else [1, 1, 1],
|
|
89
104
|
}
|
|
90
105
|
|
|
91
106
|
setup = namedtuple("Setup", setup.keys())(**setup)
|
|
92
107
|
|
|
93
108
|
setup.effectiveradiusLUT.RescaleTransferFunction(0.1380997175392798, 207.7063518856934)
|
|
94
|
-
|
|
109
|
+
materialLibrary1 = pvs.GetMaterialLibrary()
|
|
95
110
|
setup.renderView1.Update()
|
|
96
111
|
|
|
97
112
|
|
|
@@ -127,6 +142,10 @@ def scalar_bar(name, *, y, erLUT):
|
|
|
127
142
|
scalarBar = pvs.GetScalarBar(erLUT.effectiveradiusLUT, y.renderView1)
|
|
128
143
|
scalarBar.ComponentTitle = ""
|
|
129
144
|
scalarBar.Title = name
|
|
145
|
+
scalarBar.TitleFontSize = 25
|
|
146
|
+
scalarBar.LabelFontSize = 25
|
|
147
|
+
scalarBar.LabelColor = setup.color
|
|
148
|
+
scalarBar.TitleColor = setup.color
|
|
130
149
|
y.renderView1.Update()
|
|
131
150
|
|
|
132
151
|
|
|
@@ -139,6 +158,12 @@ def create_glyph(
|
|
|
139
158
|
glyph.ScaleArray = [scale_array1, scale_array2]
|
|
140
159
|
glyph.ScaleFactor = 100
|
|
141
160
|
glyphDisplay.SetScalarBarVisibility(y.renderView1, True)
|
|
161
|
+
multiplicityLUT = pvs.GetColorTransferFunction("multiplicity")
|
|
162
|
+
multiplicityLUTColorBar = pvs.GetScalarBar(multiplicityLUT, y.renderView1)
|
|
163
|
+
multiplicityLUTColorBar.TitleFontSize = 25
|
|
164
|
+
multiplicityLUTColorBar.LabelFontSize = 25
|
|
165
|
+
multiplicityLUTColorBar.LabelColor = setup.color
|
|
166
|
+
multiplicityLUTColorBar.TitleColor = setup.color
|
|
142
167
|
if color_by is True:
|
|
143
168
|
glyphDisplay.ColorArrayName = ["POINTS", ""]
|
|
144
169
|
pvs.ColorBy(glyphDisplay, None)
|
|
@@ -178,27 +203,31 @@ def apply_presets_logscale_opacity_and_update(*, y, attdisplay, erLUT, proddispl
|
|
|
178
203
|
|
|
179
204
|
|
|
180
205
|
def get_layout(*, y):
|
|
206
|
+
pvs.SetViewProperties(
|
|
207
|
+
Background=setup.inverted_color, UseColorPaletteForBackground=0
|
|
208
|
+
)
|
|
209
|
+
pvs.Render(setup.renderView1)
|
|
181
210
|
layout1 = pvs.GetLayout()
|
|
182
|
-
layout1.SetSize(
|
|
211
|
+
layout1.SetSize(args.animation_size)
|
|
212
|
+
layout1.PreviewMode = args.animation_size
|
|
183
213
|
y.renderView1.Update()
|
|
184
214
|
|
|
185
215
|
|
|
186
216
|
def set_current_camera_placement(*, y):
|
|
187
217
|
y.renderView1.InteractionMode = "2D"
|
|
188
218
|
y.renderView1.CameraPosition = [
|
|
189
|
-
836
|
|
190
|
-
677
|
|
191
|
-
-4098
|
|
219
|
+
836,
|
|
220
|
+
677,
|
|
221
|
+
-4098,
|
|
192
222
|
]
|
|
193
|
-
y.renderView1.CameraFocalPoint = [
|
|
223
|
+
y.renderView1.CameraFocalPoint = [636, 1030, 0.0]
|
|
194
224
|
y.renderView1.CameraViewUp = [1.0, 0.0, 0.0]
|
|
195
|
-
y.renderView1.CameraParallelScale =
|
|
225
|
+
y.renderView1.CameraParallelScale = 1560
|
|
196
226
|
y.renderView1.Update()
|
|
197
227
|
|
|
198
228
|
|
|
199
229
|
def axes_settings(*, view):
|
|
200
|
-
|
|
201
|
-
view.Background = [1, 1, 1]
|
|
230
|
+
# setup.renderView1.Background = [1,0.5,0.2]
|
|
202
231
|
view.CenterAxesVisibility = True
|
|
203
232
|
view.OrientationAxesVisibility = False
|
|
204
233
|
axesGrid = view.AxesGrid
|
|
@@ -216,10 +245,10 @@ def axes_settings(*, view):
|
|
|
216
245
|
axesGrid.YTitleFontSize = 30
|
|
217
246
|
axesGrid.YLabelFontSize = 30
|
|
218
247
|
|
|
219
|
-
axesGrid.XTitleColor =
|
|
220
|
-
axesGrid.XLabelColor =
|
|
221
|
-
axesGrid.YTitleColor =
|
|
222
|
-
axesGrid.YLabelColor =
|
|
248
|
+
axesGrid.XTitleColor = setup.color
|
|
249
|
+
axesGrid.XLabelColor = setup.color
|
|
250
|
+
axesGrid.YTitleColor = setup.color
|
|
251
|
+
axesGrid.YLabelColor = setup.color
|
|
223
252
|
axesGrid.GridColor = [0.1, 0.1, 0.1]
|
|
224
253
|
view.CenterAxesVisibility = False
|
|
225
254
|
view.Update()
|
|
@@ -227,9 +256,14 @@ def axes_settings(*, view):
|
|
|
227
256
|
|
|
228
257
|
def time_annotation(*, y):
|
|
229
258
|
time = pvs.AnnotateTimeFilter(
|
|
230
|
-
guiName="AnnotateTimeFilter1", Format="Time:{time:
|
|
259
|
+
guiName="AnnotateTimeFilter1", Scale=1 / 60, Format="Time:{time:g}min"
|
|
231
260
|
)
|
|
232
|
-
pvs.Show(time, y.renderView1)
|
|
261
|
+
timedisplay = pvs.Show(time, y.renderView1)
|
|
262
|
+
timedisplay.FontSize = 25
|
|
263
|
+
timedisplay.WindowLocation = "Any Location"
|
|
264
|
+
timedisplay.FontSize = 30
|
|
265
|
+
timedisplay.Position = [0.31, 0.9]
|
|
266
|
+
timedisplay.Color = setup.color
|
|
233
267
|
y.renderView1.Update()
|
|
234
268
|
|
|
235
269
|
|
|
@@ -237,10 +271,10 @@ def text(text_in, position_y, *, view):
|
|
|
237
271
|
sentence = pvs.Text()
|
|
238
272
|
sentence.Text = text_in
|
|
239
273
|
textDisplay = pvs.Show(sentence, view)
|
|
240
|
-
textDisplay.Color =
|
|
274
|
+
textDisplay.Color = setup.color
|
|
241
275
|
textDisplay.WindowLocation = "Any Location"
|
|
242
|
-
textDisplay.FontSize =
|
|
243
|
-
textDisplay.Position = [0.
|
|
276
|
+
textDisplay.FontSize = 28
|
|
277
|
+
textDisplay.Position = [0.17, position_y]
|
|
244
278
|
|
|
245
279
|
|
|
246
280
|
def last_anim_frame(animation_frame_name):
|
|
@@ -290,9 +324,11 @@ get_layout(y=setup)
|
|
|
290
324
|
set_current_camera_placement(y=setup)
|
|
291
325
|
axes_settings(view=setup.renderView1)
|
|
292
326
|
time_annotation(y=setup)
|
|
293
|
-
text("Arrows scale with Courant
|
|
294
|
-
text("
|
|
295
|
-
|
|
327
|
+
text("Arrows scale with Courant", 0.15, view=setup.renderView1)
|
|
328
|
+
text("number C=u·Δt/Δx, reflecting", 0.1, view=setup.renderView1)
|
|
329
|
+
text("the grid spacing Δx and Δy.", 0.05, view=setup.renderView1)
|
|
330
|
+
if args.animationframename is not None:
|
|
331
|
+
last_anim_frame(animation_frame_name=args.animationframename)
|
|
296
332
|
scene = pvs.GetAnimationScene()
|
|
297
333
|
scene.UpdateAnimationUsingDataTimeSteps()
|
|
298
334
|
pvs.Render(setup.renderView1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pysdm-examples
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.129
|
|
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
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abade_and_Albuquerque_2024/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abade_and_Albuquerque_2024/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abdul_Razzak_Ghan_2000/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Abdul_Razzak_Ghan_2000/aerosol.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Alpert_and_Knopf_2016/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Alpert_and_Knopf_2016/simulation.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Alpert_and_Knopf_2016/table_1.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Alpert_and_Knopf_2016/table_2.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_and_Shima_2017/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_and_Shima_2017/example.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_and_Shima_2017/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2015/example_benchmark.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/curved_text.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/frozen_fraction.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/make_particulator.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Arabas_et_al_2025/run_simulation.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bartman_2020_MasterThesis/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bulenok_2023_MasterThesis/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bulenok_2023_MasterThesis/setups.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Bulenok_2023_MasterThesis/utils.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Ervens_and_Feingold_2012/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Ervens_and_Feingold_2012/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Gedzelman_and_Arnold_1994/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jaruga_and_Pawlowska_2018/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/plotting.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/settings.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jensen_and_Nugent_2017/table_3.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Jouzel_and_Merlivat_1984/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kinzer_And_Gunn_1951/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kinzer_And_Gunn_1951/table_1_and_2.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kreidenweis_et_al_2003/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Kreidenweis_et_al_2003/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lowe_et_al_2019/aerosol_code.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Lowe_et_al_2019/constants_def.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Merlivat_and_Nief_1967/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Morrison_and_Grabowski_2007/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Morrison_and_Grabowski_2007/common.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Niedermeier_et_al_2014/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Niedermeier_et_al_2014/settings.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Niedermeier_et_al_2014/simulation.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Pierchala_et_al_2022/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Pierchala_et_al_2022/commons.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Rozanski_and_Sonntag_1982/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Rozanski_and_Sonntag_1982/multibox.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/error_measure.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/example_timing.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/spectrum_plotter.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/tutorial_example.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/tutorial_plotter.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shima_et_al_2009/tutorial_settings.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shipway_and_Hill_2012/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shipway_and_Hill_2012/mpdata_1d.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/Shipway_and_Hill_2012/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/__init__.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/plot_rates.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/settings1D.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/deJong_Mackay_et_al_2023/settings_0D.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/gui_controller.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/gui_settings.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/gui_viewer.py
RENAMED
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/mpdata_2d.py
RENAMED
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/kinematic_2d/simulation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysdm_examples-2.127 → pysdm_examples-2.129}/PySDM_examples/utils/widgets/progbar_updater.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|