PySDM-examples 3.0.0rc3__tar.gz → 3.0.0rc5__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.
Files changed (179) hide show
  1. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PKG-INFO +1 -1
  2. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_and_Shima_2017/simulation.py +3 -3
  3. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2015/example_benchmark.py +5 -5
  4. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bulenok_2023_MasterThesis/utils.py +1 -1
  5. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shima_et_al_2009/example.py +1 -10
  6. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shipway_and_Hill_2012/settings.py +3 -0
  7. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Spichtinger_et_al_2023/simulation.py +3 -3
  8. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Mackay_et_al_2023/settings1D.py +2 -0
  9. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/simulation.py +1 -11
  10. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/pyproject.toml +1 -1
  11. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/pysdm_examples.egg-info/PKG-INFO +1 -1
  12. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/setup.py +2 -1
  13. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/MANIFEST.in +0 -0
  14. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Abade_and_Albuquerque_2024/__init__.py +0 -0
  15. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Abade_and_Albuquerque_2024/settings.py +0 -0
  16. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Abade_and_Albuquerque_2024/simulation.py +0 -0
  17. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Abdul_Razzak_Ghan_2000/__init__.py +0 -0
  18. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Abdul_Razzak_Ghan_2000/aerosol.py +0 -0
  19. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_ARG2000_paper.py +0 -0
  20. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_CloudMicrophysics_ARG.py +0 -0
  21. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Abdul_Razzak_Ghan_2000/run_ARG_parcel.py +0 -0
  22. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Alpert_and_Knopf_2016/__init__.py +0 -0
  23. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Alpert_and_Knopf_2016/simulation.py +0 -0
  24. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Alpert_and_Knopf_2016/table.py +0 -0
  25. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Alpert_and_Knopf_2016/table_1.py +0 -0
  26. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Alpert_and_Knopf_2016/table_2.py +0 -0
  27. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_and_Shima_2017/__init__.py +0 -0
  28. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_and_Shima_2017/example.py +0 -0
  29. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_and_Shima_2017/settings.py +0 -0
  30. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2015/__init__.py +0 -0
  31. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2015/example.py +0 -0
  32. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2015/settings.py +0 -0
  33. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2015/spin_up.py +0 -0
  34. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2025/__init__.py +0 -0
  35. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2025/commons.py +0 -0
  36. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2025/curved_text.py +0 -0
  37. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2025/frozen_fraction.py +0 -0
  38. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2025/make_particulator.py +0 -0
  39. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2025/plots.py +0 -0
  40. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Arabas_et_al_2025/run_simulation.py +0 -0
  41. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bartman_2020_MasterThesis/__init__.py +0 -0
  42. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bartman_2020_MasterThesis/fig_4_adaptive_sdm.py +0 -0
  43. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bartman_2020_MasterThesis/fig_5_SCIPY_VS_ADAPTIVE.py +0 -0
  44. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bartman_et_al_2021/__init__.py +0 -0
  45. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bartman_et_al_2021/label.py +0 -0
  46. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Berry_1967/__init__.py +0 -0
  47. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Berry_1967/example.py +0 -0
  48. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Berry_1967/example_fig_6.py +0 -0
  49. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Berry_1967/settings.py +0 -0
  50. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Berry_1967/spectrum_plotter.py +0 -0
  51. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bieli_et_al_2022/__init__.py +0 -0
  52. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bieli_et_al_2022/settings.py +0 -0
  53. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bieli_et_al_2022/simulation.py +0 -0
  54. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bolin_1958/__init__.py +0 -0
  55. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bolot_et_al_2013/__init__.py +0 -0
  56. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bulenok_2023_MasterThesis/__init__.py +0 -0
  57. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bulenok_2023_MasterThesis/performance_comparison_Srivastava_Setup.py +0 -0
  58. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Bulenok_2023_MasterThesis/setups.py +0 -0
  59. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Ervens_and_Feingold_2012/__init__.py +0 -0
  60. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Ervens_and_Feingold_2012/settings.py +0 -0
  61. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Fisher_1991/__init__.py +0 -0
  62. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Gedzelman_and_Arnold_1994/__init__.py +0 -0
  63. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Gonfiantini_1986/__init__.py +0 -0
  64. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Grabowski_and_Pawlowska_2023/__init__.py +0 -0
  65. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Grabowski_and_Pawlowska_2023/settings.py +0 -0
  66. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Grabowski_and_Pawlowska_2023/simulation.py +0 -0
  67. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Graf_et_al_2019/__init__.py +0 -0
  68. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Jaruga_and_Pawlowska_2018/__init__.py +0 -0
  69. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Jensen_and_Nugent_2017/__init__.py +0 -0
  70. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Jensen_and_Nugent_2017/plotting.py +0 -0
  71. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Jensen_and_Nugent_2017/settings.py +0 -0
  72. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Jensen_and_Nugent_2017/simulation.py +0 -0
  73. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Jensen_and_Nugent_2017/table_3.py +0 -0
  74. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Jouzel_and_Merlivat_1984/__init__.py +0 -0
  75. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Jouzel_and_Merlivat_1984/thermodynamic_profiles.py +0 -0
  76. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Kinzer_And_Gunn_1951/__init__.py +0 -0
  77. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Kinzer_And_Gunn_1951/table_1_and_2.py +0 -0
  78. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Kreidenweis_et_al_2003/__init__.py +0 -0
  79. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Kreidenweis_et_al_2003/settings.py +0 -0
  80. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Kreidenweis_et_al_2003/simulation.py +0 -0
  81. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Lamb_et_al_2017/__init__.py +0 -0
  82. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Lowe_et_al_2019/__init__.py +0 -0
  83. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Lowe_et_al_2019/aerosol.py +0 -0
  84. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Lowe_et_al_2019/aerosol_code.py +0 -0
  85. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Lowe_et_al_2019/constants_def.py +0 -0
  86. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Lowe_et_al_2019/plot_helper.py +0 -0
  87. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Lowe_et_al_2019/settings.py +0 -0
  88. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Lowe_et_al_2019/simulation.py +0 -0
  89. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Merlivat_and_Nief_1967/__init__.py +0 -0
  90. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Miyake_et_al_1968/__init__.py +0 -0
  91. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Morrison_and_Grabowski_2007/__init__.py +0 -0
  92. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Morrison_and_Grabowski_2007/common.py +0 -0
  93. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Morrison_and_Grabowski_2007/strato_cumulus.py +0 -0
  94. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Niedermeier_et_al_2014/__init__.py +0 -0
  95. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Niedermeier_et_al_2014/settings.py +0 -0
  96. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Niedermeier_et_al_2014/simulation.py +0 -0
  97. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Pierchala_et_al_2022/__init__.py +0 -0
  98. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Pierchala_et_al_2022/commons.py +0 -0
  99. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Pruppacher_and_Rasmussen_1979/__init__.py +0 -0
  100. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Pyrcel/__init__.py +0 -0
  101. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Pyrcel/profile_plotter.py +0 -0
  102. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Pyrcel/settings.py +0 -0
  103. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Pyrcel/simulation.py +0 -0
  104. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Rogers_1975/__init__.py +0 -0
  105. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Rozanski_and_Sonntag_1982/__init__.py +0 -0
  106. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Rozanski_and_Sonntag_1982/multibox.py +0 -0
  107. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shima_et_al_2009/__init__.py +0 -0
  108. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shima_et_al_2009/error_measure.py +0 -0
  109. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shima_et_al_2009/example_timing.py +0 -0
  110. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shima_et_al_2009/settings.py +0 -0
  111. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shima_et_al_2009/spectrum_plotter.py +0 -0
  112. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shima_et_al_2009/tutorial_example.py +0 -0
  113. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shima_et_al_2009/tutorial_plotter.py +0 -0
  114. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shima_et_al_2009/tutorial_settings.py +0 -0
  115. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shipway_and_Hill_2012/__init__.py +0 -0
  116. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shipway_and_Hill_2012/mpdata_1d.py +0 -0
  117. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shipway_and_Hill_2012/plot.py +0 -0
  118. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Shipway_and_Hill_2012/simulation.py +0 -0
  119. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Singer_Ward/__init__.py +0 -0
  120. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Singer_Ward/aerosol.py +0 -0
  121. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Spichtinger_et_al_2023/__init__.py +0 -0
  122. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Spichtinger_et_al_2023/data/__init__.py +0 -0
  123. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Spichtinger_et_al_2023/data/reference_bulk.py +0 -0
  124. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Spichtinger_et_al_2023/data/simulation_data.py +0 -0
  125. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Spichtinger_et_al_2023/settings.py +0 -0
  126. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Srivastava_1982/__init__.py +0 -0
  127. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Srivastava_1982/equations.py +0 -0
  128. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Srivastava_1982/example.py +0 -0
  129. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Srivastava_1982/settings.py +0 -0
  130. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Srivastava_1982/simulation.py +0 -0
  131. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Stewart_1975/__init__.py +0 -0
  132. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Toon_et_al_1980/__init__.py +0 -0
  133. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Van_Hook_1968/__init__.py +0 -0
  134. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Yang_et_al_2018/__init__.py +0 -0
  135. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Yang_et_al_2018/settings.py +0 -0
  136. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Yang_et_al_2018/simulation.py +0 -0
  137. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/Zaba_et_al/__init__.py +0 -0
  138. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/_HOWTOs/__init__.py +0 -0
  139. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/__init__.py +0 -0
  140. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Azimi/__init__.py +0 -0
  141. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Azimi/cloudy_data.py +0 -0
  142. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Azimi/cloudy_data_0d.py +0 -0
  143. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Azimi/settings1D.py +0 -0
  144. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Azimi/simulation_0D.py +0 -0
  145. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Mackay_et_al_2023/__init__.py +0 -0
  146. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Mackay_et_al_2023/plot_rates.py +0 -0
  147. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Mackay_et_al_2023/settings_0D.py +0 -0
  148. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Mackay_et_al_2023/simulation1D.py +0 -0
  149. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Mackay_et_al_2023/simulation_0D.py +0 -0
  150. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/deJong_Mackay_et_al_2023/simulation_ss.py +0 -0
  151. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/seeding/__init__.py +0 -0
  152. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/seeding/settings.py +0 -0
  153. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/seeding/simulation.py +0 -0
  154. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/__init__.py +0 -0
  155. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/basic_simulation.py +0 -0
  156. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/dummy_controller.py +0 -0
  157. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/__init__.py +0 -0
  158. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/fields.py +0 -0
  159. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/gui.py +0 -0
  160. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/gui_controller.py +0 -0
  161. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/gui_settings.py +0 -0
  162. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/gui_viewer.py +0 -0
  163. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/make_default_product_collection.py +0 -0
  164. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/mpdata_2d.py +0 -0
  165. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/plots.py +0 -0
  166. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/kinematic_2d/storage.py +0 -0
  167. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/progbar_controller.py +0 -0
  168. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/pvanim.py +0 -0
  169. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/read_vtk_1d.py +0 -0
  170. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/widgets/__init__.py +0 -0
  171. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/widgets/freezer.py +0 -0
  172. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/PySDM_examples/utils/widgets/progbar_updater.py +0 -0
  173. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/README.md +0 -0
  174. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/docs/pysdm_examples_landing.md +0 -0
  175. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/pysdm_examples.egg-info/SOURCES.txt +0 -0
  176. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/pysdm_examples.egg-info/dependency_links.txt +0 -0
  177. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/pysdm_examples.egg-info/requires.txt +0 -0
  178. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/pysdm_examples.egg-info/top_level.txt +0 -0
  179. {pysdm_examples-3.0.0rc3 → pysdm_examples-3.0.0rc5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pysdm-examples
3
- Version: 3.0.0rc3
3
+ Version: 3.0.0rc5
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
@@ -1,7 +1,7 @@
1
1
  import numpy as np
2
2
 
3
3
  import PySDM.products as PySDM_products
4
- from PySDM.backends import CPU
4
+ from PySDM.backends import Numba
5
5
  from PySDM.builder import Builder
6
6
  from PySDM.dynamics import AmbientThermodynamics, Condensation
7
7
  from PySDM.environments import Parcel
@@ -10,7 +10,7 @@ from PySDM.physics import constants as const
10
10
 
11
11
 
12
12
  class Simulation:
13
- def __init__(self, settings, backend=CPU):
13
+ def __init__(self, settings, backend=Numba):
14
14
  t_half = settings.z_half / settings.w_avg
15
15
 
16
16
  dt_output = (2 * t_half) / settings.n_output
@@ -23,7 +23,7 @@ class Simulation:
23
23
  formulae=settings.formulae,
24
24
  **(
25
25
  {"override_jit_flags": {"parallel": False}}
26
- if backend == CPU
26
+ if backend is Numba
27
27
  else {}
28
28
  ),
29
29
  ),
@@ -6,7 +6,7 @@ from PySDM_examples.utils.kinematic_2d import Simulation, Storage
6
6
 
7
7
  import PySDM.backends.impl_numba.conf
8
8
  from PySDM import Formulae
9
- from PySDM.backends import CPU, GPU
9
+ from PySDM.backends import Numba, ThrustRTC
10
10
  from PySDM.products import WallTime
11
11
 
12
12
 
@@ -42,11 +42,11 @@ def main():
42
42
  n_sd = range(14, 16, 1)
43
43
 
44
44
  times = {}
45
- backends = [(CPU, "sync"), (CPU, "async")]
46
- if GPU.ENABLE:
47
- backends.append((GPU, "async"))
45
+ backends = [(Numba, "sync"), (Numba, "async")]
46
+ if ThrustRTC.ENABLE:
47
+ backends.append((ThrustRTC, "async"))
48
48
  for backend, mode in backends:
49
- if backend is CPU:
49
+ if backend is Numba:
50
50
  PySDM.backends.impl_numba.conf.NUMBA_PARALLEL = mode
51
51
  reload_cpu_backend()
52
52
  key = f"{backend} (mode={mode})"
@@ -95,7 +95,7 @@ def go_benchmark(
95
95
  backend_configs.append((GPU, None))
96
96
 
97
97
  for backend_class, n_threads in backend_configs:
98
- backend_name = backend_class.__name__
98
+ backend_name = backend_class().__class__.__name__
99
99
  if n_threads:
100
100
  numba.set_num_threads(n_threads)
101
101
  backend_name += "_" + str(numba.get_num_threads())
@@ -12,21 +12,12 @@ from PySDM.environments import Box
12
12
  from PySDM.initialisation.sampling.spectral_sampling import ConstantMultiplicity
13
13
  from PySDM.products import ParticleVolumeVersusRadiusLogarithmSpectrum, WallTime
14
14
 
15
- _BACKEND_CACHE = {}
16
-
17
-
18
- def backend_factory(backend_class, formulae):
19
- key = backend_class.__name__ + ":" + str(formulae)
20
- if key not in _BACKEND_CACHE:
21
- _BACKEND_CACHE[key] = backend_class(formulae=formulae)
22
- return _BACKEND_CACHE[key]
23
-
24
15
 
25
16
  def run(settings, backend=CPU, observers=()):
26
17
  env = Box(dv=settings.dv, dt=settings.dt)
27
18
  builder = Builder(
28
19
  n_sd=settings.n_sd,
29
- backend=backend_factory(backend, formulae=settings.formulae),
20
+ backend=backend(formulae=settings.formulae),
30
21
  environment=env,
31
22
  )
32
23
  attributes = {}
@@ -49,6 +49,7 @@ class Settings:
49
49
  formulae: Formulae = None,
50
50
  save_spec_and_attr_times=(),
51
51
  collision_kernel=None,
52
+ old_buggy_density_formula=False,
52
53
  ):
53
54
  self.formulae = formulae or Formulae()
54
55
  self.n_sd_per_gridbox = n_sd_per_gridbox
@@ -127,6 +128,8 @@ class Settings:
127
128
  1 + water_vapour_mixing_ratio
128
129
  ) - rhod * d_water_vapour_mixing_ratio__dz / (
129
130
  1 + water_vapour_mixing_ratio
131
+ ) ** (
132
+ 2 if not old_buggy_density_formula else 1
130
133
  )
131
134
 
132
135
  z_span = (-self.particle_reservoir_depth, self.z_max)
@@ -3,7 +3,7 @@ import numpy as np
3
3
  from PySDM_examples.utils import BasicSimulation
4
4
 
5
5
  import PySDM.products as PySDM_products
6
- from PySDM.backends import CPU
6
+ from PySDM.backends import Numba
7
7
  from PySDM.builder import Builder
8
8
  from PySDM.dynamics import (
9
9
  AmbientThermodynamics,
@@ -17,7 +17,7 @@ from PySDM.initialisation.hygroscopic_equilibrium import equilibrate_wet_radii
17
17
 
18
18
 
19
19
  class Simulation(BasicSimulation):
20
- def __init__(self, settings, backend=CPU):
20
+ def __init__(self, settings, backend=Numba):
21
21
 
22
22
  dt = settings.dt
23
23
 
@@ -38,7 +38,7 @@ class Simulation(BasicSimulation):
38
38
  formulae=settings.formulae,
39
39
  **(
40
40
  {"override_jit_flags": {"parallel": False}}
41
- if backend == CPU
41
+ if backend is Numba
42
42
  else {}
43
43
  ),
44
44
  ),
@@ -35,6 +35,7 @@ class Settings1D(SettingsSH):
35
35
  def __init__(
36
36
  self,
37
37
  *,
38
+ old_buggy_density_formula: bool,
38
39
  n_sd_per_gridbox: int,
39
40
  p0: float = 1007 * si.hPa, # as used in Olesik et al. 2022 (GMD)
40
41
  kappa: float = 1,
@@ -80,6 +81,7 @@ class Settings1D(SettingsSH):
80
81
  fragmentation_function=self.fragmentation_function.__class__.__name__
81
82
  ),
82
83
  save_spec_and_attr_times=save_spec_at,
84
+ old_buggy_density_formula=old_buggy_density_formula,
83
85
  )
84
86
  self.breakup = breakup
85
87
  self.stochastic_breakup = stochastic_breakup
@@ -20,16 +20,6 @@ from PySDM.environments import Kinematic2D
20
20
  from PySDM.initialisation.sampling import spatial_sampling
21
21
 
22
22
 
23
- _BACKEND_CACHE = {}
24
-
25
-
26
- def backend_factory(backend_class, formulae):
27
- key = backend_class.__name__ + ":" + str(formulae)
28
- if key not in _BACKEND_CACHE:
29
- _BACKEND_CACHE[key] = backend_class(formulae=formulae)
30
- return _BACKEND_CACHE[key]
31
-
32
-
33
23
  class Simulation:
34
24
  def __init__(self, settings, storage, SpinUp, backend_class=CPU):
35
25
  self.settings = settings
@@ -44,7 +34,7 @@ class Simulation:
44
34
 
45
35
  def reinit(self, products=None):
46
36
  formulae = self.settings.formulae
47
- backend = backend_factory(self.backend_class, formulae=formulae)
37
+ backend = self.backend_class(formulae=formulae)
48
38
  environment = Kinematic2D(
49
39
  dt=self.settings.dt,
50
40
  grid=self.settings.grid,
@@ -4,4 +4,4 @@ local_scheme = "no-local-version"
4
4
  version_scheme = "post-release"
5
5
 
6
6
  [build-system]
7
- requires = ['setuptools==80.9.0', 'setuptools-scm==8.3.1']
7
+ requires = ['setuptools==80.9.0', 'setuptools-scm==9.0.1']
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pysdm-examples
3
- Version: 3.0.0rc3
3
+ Version: 3.0.0rc5
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
@@ -1,4 +1,5 @@
1
1
  import os
2
+ import platform
2
3
  import re
3
4
  import sys
4
5
 
@@ -42,7 +43,7 @@ setup(
42
43
  ]
43
44
  + (
44
45
  ["pyvinecopulib" + ("==0.7.3" if CI else ">=0.7.3")]
45
- if sys.platform != "darwin"
46
+ if not (sys.platform == "darwin" and platform.machine() == "x86_64")
46
47
  else []
47
48
  ),
48
49
  extras_require={