PySDM 2.71__tar.gz → 2.72__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 (860) hide show
  1. {PySDM-2.71 → PySDM-2.72}/.github/workflows/tests+artifacts+pypi.yml +2 -3
  2. {PySDM-2.71 → PySDM-2.72}/PKG-INFO +23 -23
  3. {PySDM-2.71 → PySDM-2.72}/PySDM.egg-info/PKG-INFO +23 -23
  4. {PySDM-2.71 → PySDM-2.72}/PySDM.egg-info/SOURCES.txt +1 -1
  5. {PySDM-2.71 → PySDM-2.72}/README.md +22 -22
  6. PySDM-2.72/pdoc_templates/index.html.jinja2 +23 -0
  7. PySDM-2.71/.github/workflows/pdoc_index_workaround.py +0 -21
  8. {PySDM-2.71 → PySDM-2.72}/.appveyor.yml +0 -0
  9. {PySDM-2.71 → PySDM-2.72}/.binder/apt.txt +0 -0
  10. {PySDM-2.71 → PySDM-2.72}/.binder/postBuild +0 -0
  11. {PySDM-2.71 → PySDM-2.72}/.binder/requirements.txt +0 -0
  12. {PySDM-2.71 → PySDM-2.72}/.codecov.yml +0 -0
  13. {PySDM-2.71 → PySDM-2.72}/.github/dependabot.yml +0 -0
  14. {PySDM-2.71 → PySDM-2.72}/.github/workflows/cancel.yml +0 -0
  15. {PySDM-2.71 → PySDM-2.72}/.github/workflows/joss.yml +0 -0
  16. {PySDM-2.71 → PySDM-2.72}/.github/workflows/joss_paper.yml +0 -0
  17. {PySDM-2.71 → PySDM-2.72}/.github/workflows/readme_snippets.yml +0 -0
  18. {PySDM-2.71 → PySDM-2.72}/.github/workflows/stale.yml +0 -0
  19. {PySDM-2.71 → PySDM-2.72}/.gitignore +0 -0
  20. {PySDM-2.71 → PySDM-2.72}/.gitmodules +0 -0
  21. {PySDM-2.71 → PySDM-2.72}/.pre-commit-config.yaml +0 -0
  22. {PySDM-2.71 → PySDM-2.72}/.zenodo.json +0 -0
  23. {PySDM-2.71 → PySDM-2.72}/LICENSE +0 -0
  24. {PySDM-2.71 → PySDM-2.72}/PySDM/__init__.py +0 -0
  25. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/__init__.py +0 -0
  26. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/chemistry/__init__.py +0 -0
  27. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/chemistry/acidity.py +0 -0
  28. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/chemistry/concentration.py +0 -0
  29. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/chemistry/hydrogen_ion_concentration.py +0 -0
  30. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/ice/__init__.py +0 -0
  31. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/ice/cooling_rate.py +0 -0
  32. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/ice/freezing_temperature.py +0 -0
  33. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/ice/immersed_surface_area.py +0 -0
  34. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/__init__.py +0 -0
  35. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/attribute.py +0 -0
  36. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/attribute_registry.py +0 -0
  37. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/base_attribute.py +0 -0
  38. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/cell_attribute.py +0 -0
  39. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/derived_attribute.py +0 -0
  40. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/dummy_attribute.py +0 -0
  41. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/extensive_attribute.py +0 -0
  42. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/intensive_attribute.py +0 -0
  43. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/maximum_attribute.py +0 -0
  44. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/impl/mole_amount.py +0 -0
  45. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/isotopes/__init__.py +0 -0
  46. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/isotopes/delta.py +0 -0
  47. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/isotopes/moles.py +0 -0
  48. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/numerics/__init__.py +0 -0
  49. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/numerics/cell_id.py +0 -0
  50. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/numerics/cell_origin.py +0 -0
  51. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/numerics/position_in_cell.py +0 -0
  52. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/__init__.py +0 -0
  53. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/area.py +0 -0
  54. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/critical_supersaturation.py +0 -0
  55. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/critical_volume.py +0 -0
  56. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/dry_radius.py +0 -0
  57. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/dry_volume.py +0 -0
  58. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/equilibrium_supersaturation.py +0 -0
  59. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/heat.py +0 -0
  60. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/hygroscopicity.py +0 -0
  61. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/multiplicity.py +0 -0
  62. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/radius.py +0 -0
  63. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/relative_fall_velocity.py +0 -0
  64. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/reynolds_number.py +0 -0
  65. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/temperature.py +0 -0
  66. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/terminal_velocity.py +0 -0
  67. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/volume.py +0 -0
  68. {PySDM-2.71 → PySDM-2.72}/PySDM/attributes/physics/water_mass.py +0 -0
  69. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/__init__.py +0 -0
  70. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_common/__init__.py +0 -0
  71. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_common/backend_methods.py +0 -0
  72. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_common/freezing_attributes.py +0 -0
  73. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_common/index.py +0 -0
  74. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_common/indexed_storage.py +0 -0
  75. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_common/pair_indicator.py +0 -0
  76. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_common/pairwise_storage.py +0 -0
  77. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_common/random_common.py +0 -0
  78. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_common/storage_utils.py +0 -0
  79. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/__init__.py +0 -0
  80. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/atomic_operations.py +0 -0
  81. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/conf.py +0 -0
  82. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/__init__.py +0 -0
  83. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/chemistry_methods.py +0 -0
  84. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/collisions_methods.py +0 -0
  85. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/condensation_methods.py +0 -0
  86. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/displacement_methods.py +0 -0
  87. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/fragmentation_methods.py +0 -0
  88. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/freezing_methods.py +0 -0
  89. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/index_methods.py +0 -0
  90. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/isotope_methods.py +0 -0
  91. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/moments_methods.py +0 -0
  92. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/pair_methods.py +0 -0
  93. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/physics_methods.py +0 -0
  94. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/methods/terminal_velocity_methods.py +0 -0
  95. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/random.py +0 -0
  96. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/storage.py +0 -0
  97. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/storage_impl.py +0 -0
  98. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/test_helpers/__init__.py +0 -0
  99. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/test_helpers/scipy_ode_condensation_solver.py +0 -0
  100. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/toms748.py +0 -0
  101. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_numba/warnings.py +0 -0
  102. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/__init__.py +0 -0
  103. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/bisection.py +0 -0
  104. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/conf.py +0 -0
  105. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/__init__.py +0 -0
  106. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/collisions_methods.py +0 -0
  107. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/condensation_methods.py +0 -0
  108. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/displacement_methods.py +0 -0
  109. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/freezing_methods.py +0 -0
  110. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/index_methods.py +0 -0
  111. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/isotope_methods.py +0 -0
  112. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/moments_methods.py +0 -0
  113. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/pair_methods.py +0 -0
  114. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/physics_methods.py +0 -0
  115. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/terminal_velocity_methods.py +0 -0
  116. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/methods/thrust_rtc_backend_methods.py +0 -0
  117. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/nice_thrust.py +0 -0
  118. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/random.py +0 -0
  119. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/storage.py +0 -0
  120. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/test_helpers/__init__.py +0 -0
  121. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/test_helpers/cpp2python.py +0 -0
  122. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/test_helpers/fake_thrust_rtc.py +0 -0
  123. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/impl_thrust_rtc/test_helpers/flag.py +0 -0
  124. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/numba.py +0 -0
  125. {PySDM-2.71 → PySDM-2.72}/PySDM/backends/thrust_rtc.py +0 -0
  126. {PySDM-2.71 → PySDM-2.72}/PySDM/builder.py +0 -0
  127. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/__init__.py +0 -0
  128. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/ambient_thermodynamics.py +0 -0
  129. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/aqueous_chemistry.py +0 -0
  130. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/__init__.py +0 -0
  131. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_efficiencies/__init__.py +0 -0
  132. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_efficiencies/constEb.py +0 -0
  133. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/__init__.py +0 -0
  134. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/always_n.py +0 -0
  135. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/constant_mass.py +0 -0
  136. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/expon_frag.py +0 -0
  137. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/exponential.py +0 -0
  138. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/feingold1988.py +0 -0
  139. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/gaussian.py +0 -0
  140. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/impl/__init__.py +0 -0
  141. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/impl/volume_based.py +0 -0
  142. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/lowlist82.py +0 -0
  143. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/slams.py +0 -0
  144. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/breakup_fragmentations/straub2010.py +0 -0
  145. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/coalescence_efficiencies/__init__.py +0 -0
  146. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/coalescence_efficiencies/_gravitational.py +0 -0
  147. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/coalescence_efficiencies/_parameterized.py +0 -0
  148. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/coalescence_efficiencies/berry1967.py +0 -0
  149. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/coalescence_efficiencies/constEc.py +0 -0
  150. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/coalescence_efficiencies/lowlist1982.py +0 -0
  151. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/coalescence_efficiencies/specified_eff.py +0 -0
  152. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/coalescence_efficiencies/straub2010.py +0 -0
  153. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision.py +0 -0
  154. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/__init__.py +0 -0
  155. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/constantK.py +0 -0
  156. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/electric.py +0 -0
  157. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/geometric.py +0 -0
  158. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/golovin.py +0 -0
  159. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/hydrodynamic.py +0 -0
  160. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/impl/__init__.py +0 -0
  161. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/impl/gravitational.py +0 -0
  162. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/impl/parameterized.py +0 -0
  163. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/linear.py +0 -0
  164. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/collisions/collision_kernels/simple_geometric.py +0 -0
  165. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/condensation.py +0 -0
  166. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/displacement.py +0 -0
  167. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/eulerian_advection.py +0 -0
  168. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/freezing.py +0 -0
  169. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/impl/__init__.py +0 -0
  170. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/impl/chemistry_utils.py +0 -0
  171. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/impl/random_generator_optimizer.py +0 -0
  172. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/impl/random_generator_optimizer_nopair.py +0 -0
  173. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/impl/register_dynamic.py +0 -0
  174. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/isotopic_fractionation.py +0 -0
  175. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/relaxed_velocity.py +0 -0
  176. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/terminal_velocity/__init__.py +0 -0
  177. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/terminal_velocity/gunn_and_kinzer.py +0 -0
  178. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/terminal_velocity/power_series.py +0 -0
  179. {PySDM-2.71 → PySDM-2.72}/PySDM/dynamics/terminal_velocity/rogers_and_yau.py +0 -0
  180. {PySDM-2.71 → PySDM-2.72}/PySDM/environments/__init__.py +0 -0
  181. {PySDM-2.71 → PySDM-2.72}/PySDM/environments/box.py +0 -0
  182. {PySDM-2.71 → PySDM-2.72}/PySDM/environments/impl/__init__.py +0 -0
  183. {PySDM-2.71 → PySDM-2.72}/PySDM/environments/impl/moist.py +0 -0
  184. {PySDM-2.71 → PySDM-2.72}/PySDM/environments/kinematic_1d.py +0 -0
  185. {PySDM-2.71 → PySDM-2.72}/PySDM/environments/kinematic_2d.py +0 -0
  186. {PySDM-2.71 → PySDM-2.72}/PySDM/environments/parcel.py +0 -0
  187. {PySDM-2.71 → PySDM-2.72}/PySDM/exporters/__init__.py +0 -0
  188. {PySDM-2.71 → PySDM-2.72}/PySDM/exporters/netcdf_exporter.py +0 -0
  189. {PySDM-2.71 → PySDM-2.72}/PySDM/exporters/netcdf_exporter_1d.py +0 -0
  190. {PySDM-2.71 → PySDM-2.72}/PySDM/exporters/vtk_exporter.py +0 -0
  191. {PySDM-2.71 → PySDM-2.72}/PySDM/exporters/vtk_exporter_1d.py +0 -0
  192. {PySDM-2.71 → PySDM-2.72}/PySDM/formulae.py +0 -0
  193. {PySDM-2.71 → PySDM-2.72}/PySDM/impl/__init__.py +0 -0
  194. {PySDM-2.71 → PySDM-2.72}/PySDM/impl/arakawa_c.py +0 -0
  195. {PySDM-2.71 → PySDM-2.72}/PySDM/impl/camel_case.py +0 -0
  196. {PySDM-2.71 → PySDM-2.72}/PySDM/impl/mesh.py +0 -0
  197. {PySDM-2.71 → PySDM-2.72}/PySDM/impl/null_physics_class.py +0 -0
  198. {PySDM-2.71 → PySDM-2.72}/PySDM/impl/particle_attributes.py +0 -0
  199. {PySDM-2.71 → PySDM-2.72}/PySDM/impl/particle_attributes_factory.py +0 -0
  200. {PySDM-2.71 → PySDM-2.72}/PySDM/impl/wall_timer.py +0 -0
  201. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/__init__.py +0 -0
  202. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/aerosol_composition/__init__.py +0 -0
  203. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/aerosol_composition/dry_aerosol.py +0 -0
  204. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/discretise_multiplicities.py +0 -0
  205. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/equilibrate_wet_radii.py +0 -0
  206. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/impl/__init__.py +0 -0
  207. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/impl/spectrum.py +0 -0
  208. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/init_fall_momenta.py +0 -0
  209. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/sampling/__init__.py +0 -0
  210. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/sampling/spatial_sampling.py +0 -0
  211. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/sampling/spectral_sampling.py +0 -0
  212. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/sampling/spectro_glacial_sampling.py +0 -0
  213. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/spectra/__init__.py +0 -0
  214. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/spectra/exponential.py +0 -0
  215. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/spectra/gamma.py +0 -0
  216. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/spectra/gaussian.py +0 -0
  217. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/spectra/lognormal.py +0 -0
  218. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/spectra/sum.py +0 -0
  219. {PySDM-2.71 → PySDM-2.72}/PySDM/initialisation/spectra/top_hat.py +0 -0
  220. {PySDM-2.71 → PySDM-2.72}/PySDM/particulator.py +0 -0
  221. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/__init__.py +0 -0
  222. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/air_dynamic_viscosity/__init__.py +0 -0
  223. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/air_dynamic_viscosity/zografos_et_al_1987.py +0 -0
  224. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/bulk_phase_partitioning/__init__.py +0 -0
  225. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/bulk_phase_partitioning/kaul_et_al_2015.py +0 -0
  226. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/condensation_coordinate/__init__.py +0 -0
  227. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/condensation_coordinate/volume.py +0 -0
  228. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/condensation_coordinate/volume_logarithm.py +0 -0
  229. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/constants.py +0 -0
  230. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/constants_defaults.py +0 -0
  231. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_kinetics/__init__.py +0 -0
  232. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_kinetics/fuchs_sutugin.py +0 -0
  233. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_kinetics/grabowski_et_al_2011.py +0 -0
  234. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_kinetics/lowe_et_al_2019.py +0 -0
  235. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_kinetics/neglect.py +0 -0
  236. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_kinetics/pruppacher_and_klett_2005.py +0 -0
  237. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_thermics/__init__.py +0 -0
  238. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_thermics/grabowski_et_al_2011.py +0 -0
  239. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_thermics/lowe_et_al_2019.py +0 -0
  240. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_thermics/neglect.py +0 -0
  241. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_thermics/seinfeld_and_pandis_2010.py +0 -0
  242. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/diffusion_thermics/tracy_welch_porter.py +0 -0
  243. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/dimensional_analysis.py +0 -0
  244. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/drop_growth/__init__.py +0 -0
  245. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/drop_growth/mason_1951.py +0 -0
  246. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/drop_growth/mason_1971.py +0 -0
  247. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/__init__.py +0 -0
  248. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/always_n.py +0 -0
  249. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/constant_mass.py +0 -0
  250. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/expon_frag.py +0 -0
  251. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/exponential.py +0 -0
  252. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/feingold1988.py +0 -0
  253. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/gaussian.py +0 -0
  254. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/lowlist82.py +0 -0
  255. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/slams.py +0 -0
  256. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/fragmentation_function/straub2010nf.py +0 -0
  257. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/freezing_temperature_spectrum/__init__.py +0 -0
  258. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/freezing_temperature_spectrum/bigg_1953.py +0 -0
  259. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/freezing_temperature_spectrum/niemand_et_al_2012.py +0 -0
  260. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/freezing_temperature_spectrum/null.py +0 -0
  261. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/heterogeneous_ice_nucleation_rate/__init__.py +0 -0
  262. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/heterogeneous_ice_nucleation_rate/abifm.py +0 -0
  263. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/heterogeneous_ice_nucleation_rate/constant.py +0 -0
  264. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/heterogeneous_ice_nucleation_rate/null.py +0 -0
  265. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/hydrostatics/__init__.py +0 -0
  266. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/hydrostatics/default.py +0 -0
  267. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/hygroscopicity/__init__.py +0 -0
  268. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/hygroscopicity/kappa_koehler.py +0 -0
  269. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/hygroscopicity/kappa_koehler_leading_terms.py +0 -0
  270. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/impl/__init__.py +0 -0
  271. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/impl/fake_unit_registry.py +0 -0
  272. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/impl/flag.py +0 -0
  273. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_diffusivity_ratios/__init__.py +0 -0
  274. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_diffusivity_ratios/grahams_law.py +0 -0
  275. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_diffusivity_ratios/hellmann_and_harvey_2020.py +0 -0
  276. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_diffusivity_ratios/stewart_1975.py +0 -0
  277. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_equilibrium_fractionation_factors/__init__.py +0 -0
  278. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_equilibrium_fractionation_factors/barkan_and_luz_2005.py +0 -0
  279. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_equilibrium_fractionation_factors/ellehoj_et_al_2013.py +0 -0
  280. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_equilibrium_fractionation_factors/horita_and_wesolowski_1994.py +0 -0
  281. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_equilibrium_fractionation_factors/lamb_et_al_2017.py +0 -0
  282. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_equilibrium_fractionation_factors/majoube_1970.py +0 -0
  283. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_equilibrium_fractionation_factors/majoube_1971.py +0 -0
  284. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_equilibrium_fractionation_factors/merlivat_and_nief_1967.py +0 -0
  285. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_equilibrium_fractionation_factors/van_hook_1968.py +0 -0
  286. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_meteoric_water_line_excess/__init__.py +0 -0
  287. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_meteoric_water_line_excess/barkan_and_luz_2007.py +0 -0
  288. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_meteoric_water_line_excess/dansgaard_1964.py +0 -0
  289. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_ratio_evolution/__init__.py +0 -0
  290. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_ratio_evolution/gedzelman_and_arnold_1994.py +0 -0
  291. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_ratio_evolution/merlivat_and_jouzel_1979.py +0 -0
  292. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_ratio_evolution/rayleigh_distillation.py +0 -0
  293. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_relaxation_timescale/__init__.py +0 -0
  294. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/isotope_relaxation_timescale/miyake_et_al_1968.py +0 -0
  295. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/latent_heat/__init__.py +0 -0
  296. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/latent_heat/constant.py +0 -0
  297. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/latent_heat/kirchhoff.py +0 -0
  298. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/latent_heat/lowe2019.py +0 -0
  299. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/latent_heat/seinfeld_and_pandis_2010.py +0 -0
  300. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/optical_albedo/__init__.py +0 -0
  301. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/optical_albedo/bohren1987.py +0 -0
  302. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/optical_depth/__init__.py +0 -0
  303. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/optical_depth/stephens_1978.py +0 -0
  304. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/particle_advection/__init__.py +0 -0
  305. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/particle_advection/explicit_in_space.py +0 -0
  306. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/particle_advection/implicit_in_space.py +0 -0
  307. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/particle_shape_and_density/__init__.py +0 -0
  308. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/particle_shape_and_density/liquid_spheres.py +0 -0
  309. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/particle_shape_and_density/mixed_phase_spheres.py +0 -0
  310. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/particle_shape_and_density/porous_spheroids.py +0 -0
  311. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/saturation_vapour_pressure/__init__.py +0 -0
  312. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/saturation_vapour_pressure/august_roche_magnus.py +0 -0
  313. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/saturation_vapour_pressure/bolton_1980.py +0 -0
  314. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/saturation_vapour_pressure/flatau_walko_cotton.py +0 -0
  315. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/saturation_vapour_pressure/lowe1977.py +0 -0
  316. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/saturation_vapour_pressure/murphy_koop_2005.py +0 -0
  317. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/saturation_vapour_pressure/wexler_1976.py +0 -0
  318. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/state_variable_triplet/__init__.py +0 -0
  319. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/state_variable_triplet/libcloudphplusplus.py +0 -0
  320. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/surface_tension/__init__.py +0 -0
  321. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/surface_tension/compressed_film_ovadnevaite.py +0 -0
  322. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/surface_tension/compressed_film_ruehl.py +0 -0
  323. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/surface_tension/constant.py +0 -0
  324. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/surface_tension/szyszkowski_langmuir.py +0 -0
  325. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/terminal_velocity/__init__.py +0 -0
  326. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/terminal_velocity/gunn_kinzer_1949.py +0 -0
  327. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/terminal_velocity/power_series.py +0 -0
  328. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/terminal_velocity/rogers_yau.py +0 -0
  329. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/trivia.py +0 -0
  330. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/ventilation/__init__.py +0 -0
  331. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/ventilation/froessling_1938.py +0 -0
  332. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/ventilation/neglect.py +0 -0
  333. {PySDM-2.71 → PySDM-2.72}/PySDM/physics/ventilation/pruppacher_rasmussen_1979.py +0 -0
  334. {PySDM-2.71 → PySDM-2.72}/PySDM/products/__init__.py +0 -0
  335. {PySDM-2.71 → PySDM-2.72}/PySDM/products/ambient_thermodynamics/__init__.py +0 -0
  336. {PySDM-2.71 → PySDM-2.72}/PySDM/products/ambient_thermodynamics/ambient_dry_air_density.py +0 -0
  337. {PySDM-2.71 → PySDM-2.72}/PySDM/products/ambient_thermodynamics/ambient_dry_air_potential_temperature.py +0 -0
  338. {PySDM-2.71 → PySDM-2.72}/PySDM/products/ambient_thermodynamics/ambient_pressure.py +0 -0
  339. {PySDM-2.71 → PySDM-2.72}/PySDM/products/ambient_thermodynamics/ambient_relative_humidity.py +0 -0
  340. {PySDM-2.71 → PySDM-2.72}/PySDM/products/ambient_thermodynamics/ambient_temperature.py +0 -0
  341. {PySDM-2.71 → PySDM-2.72}/PySDM/products/ambient_thermodynamics/ambient_water_vapour_mixing_ratio.py +0 -0
  342. {PySDM-2.71 → PySDM-2.72}/PySDM/products/aqueous_chemistry/__init__.py +0 -0
  343. {PySDM-2.71 → PySDM-2.72}/PySDM/products/aqueous_chemistry/acidity.py +0 -0
  344. {PySDM-2.71 → PySDM-2.72}/PySDM/products/aqueous_chemistry/aqueous_mass_spectrum.py +0 -0
  345. {PySDM-2.71 → PySDM-2.72}/PySDM/products/aqueous_chemistry/aqueous_mole_fraction.py +0 -0
  346. {PySDM-2.71 → PySDM-2.72}/PySDM/products/aqueous_chemistry/gaseous_mole_fraction.py +0 -0
  347. {PySDM-2.71 → PySDM-2.72}/PySDM/products/aqueous_chemistry/total_dry_mass_mixing_ratio.py +0 -0
  348. {PySDM-2.71 → PySDM-2.72}/PySDM/products/collision/__init__.py +0 -0
  349. {PySDM-2.71 → PySDM-2.72}/PySDM/products/collision/collision_rates.py +0 -0
  350. {PySDM-2.71 → PySDM-2.72}/PySDM/products/collision/collision_timestep_mean.py +0 -0
  351. {PySDM-2.71 → PySDM-2.72}/PySDM/products/collision/collision_timestep_min.py +0 -0
  352. {PySDM-2.71 → PySDM-2.72}/PySDM/products/condensation/__init__.py +0 -0
  353. {PySDM-2.71 → PySDM-2.72}/PySDM/products/condensation/activable_fraction.py +0 -0
  354. {PySDM-2.71 → PySDM-2.72}/PySDM/products/condensation/condensation_timestep.py +0 -0
  355. {PySDM-2.71 → PySDM-2.72}/PySDM/products/condensation/event_rates.py +0 -0
  356. {PySDM-2.71 → PySDM-2.72}/PySDM/products/condensation/peak_supersaturation.py +0 -0
  357. {PySDM-2.71 → PySDM-2.72}/PySDM/products/displacement/__init__.py +0 -0
  358. {PySDM-2.71 → PySDM-2.72}/PySDM/products/displacement/averaged_terminal_velocity.py +0 -0
  359. {PySDM-2.71 → PySDM-2.72}/PySDM/products/displacement/flow_velocity_component.py +0 -0
  360. {PySDM-2.71 → PySDM-2.72}/PySDM/products/displacement/max_courant_number.py +0 -0
  361. {PySDM-2.71 → PySDM-2.72}/PySDM/products/displacement/surface_precipitation.py +0 -0
  362. {PySDM-2.71 → PySDM-2.72}/PySDM/products/freezing/__init__.py +0 -0
  363. {PySDM-2.71 → PySDM-2.72}/PySDM/products/freezing/cooling_rate.py +0 -0
  364. {PySDM-2.71 → PySDM-2.72}/PySDM/products/freezing/freezable_specific_concentration.py +0 -0
  365. {PySDM-2.71 → PySDM-2.72}/PySDM/products/freezing/frozen_particle_concentration.py +0 -0
  366. {PySDM-2.71 → PySDM-2.72}/PySDM/products/freezing/ice_nuclei_concentration.py +0 -0
  367. {PySDM-2.71 → PySDM-2.72}/PySDM/products/freezing/total_unfrozen_immersed_surface_area.py +0 -0
  368. {PySDM-2.71 → PySDM-2.72}/PySDM/products/housekeeping/__init__.py +0 -0
  369. {PySDM-2.71 → PySDM-2.72}/PySDM/products/housekeeping/dynamic_wall_time.py +0 -0
  370. {PySDM-2.71 → PySDM-2.72}/PySDM/products/housekeeping/super_droplet_count_per_gridbox.py +0 -0
  371. {PySDM-2.71 → PySDM-2.72}/PySDM/products/housekeeping/time.py +0 -0
  372. {PySDM-2.71 → PySDM-2.72}/PySDM/products/housekeeping/timers.py +0 -0
  373. {PySDM-2.71 → PySDM-2.72}/PySDM/products/impl/__init__.py +0 -0
  374. {PySDM-2.71 → PySDM-2.72}/PySDM/products/impl/activation_filtered_product.py +0 -0
  375. {PySDM-2.71 → PySDM-2.72}/PySDM/products/impl/concentration_product.py +0 -0
  376. {PySDM-2.71 → PySDM-2.72}/PySDM/products/impl/moist_environment_product.py +0 -0
  377. {PySDM-2.71 → PySDM-2.72}/PySDM/products/impl/moment_product.py +0 -0
  378. {PySDM-2.71 → PySDM-2.72}/PySDM/products/impl/product.py +0 -0
  379. {PySDM-2.71 → PySDM-2.72}/PySDM/products/impl/rate_product.py +0 -0
  380. {PySDM-2.71 → PySDM-2.72}/PySDM/products/impl/register_product.py +0 -0
  381. {PySDM-2.71 → PySDM-2.72}/PySDM/products/impl/spectrum_moment_product.py +0 -0
  382. {PySDM-2.71 → PySDM-2.72}/PySDM/products/optical/__init__.py +0 -0
  383. {PySDM-2.71 → PySDM-2.72}/PySDM/products/optical/cloud_albedo.py +0 -0
  384. {PySDM-2.71 → PySDM-2.72}/PySDM/products/optical/cloud_optical_depth.py +0 -0
  385. {PySDM-2.71 → PySDM-2.72}/PySDM/products/parcel/__init__.py +0 -0
  386. {PySDM-2.71 → PySDM-2.72}/PySDM/products/parcel/cloud_water_path.py +0 -0
  387. {PySDM-2.71 → PySDM-2.72}/PySDM/products/parcel/parcel_displacement.py +0 -0
  388. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/__init__.py +0 -0
  389. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/arbitrary_moment.py +0 -0
  390. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/cloud_water_content.py +0 -0
  391. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/effective_radius.py +0 -0
  392. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/effective_radius_activated.py +0 -0
  393. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/mean_radius.py +0 -0
  394. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/mean_radius_activated.py +0 -0
  395. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/mean_volume_radius.py +0 -0
  396. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/number_size_spectrum.py +0 -0
  397. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/particle_concentration.py +0 -0
  398. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/particle_concentration_activated.py +0 -0
  399. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/particle_size_spectrum.py +0 -0
  400. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/particle_volume_versus_radius_logarithm_spectrum.py +0 -0
  401. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/radius_binned_number_averaged_terminal_velocity.py +0 -0
  402. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/size_standard_deviation.py +0 -0
  403. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/total_particle_concentration.py +0 -0
  404. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/total_particle_specific_concentration.py +0 -0
  405. {PySDM-2.71 → PySDM-2.72}/PySDM/products/size_spectral/water_mixing_ratio.py +0 -0
  406. {PySDM-2.71 → PySDM-2.72}/PySDM.egg-info/dependency_links.txt +0 -0
  407. {PySDM-2.71 → PySDM-2.72}/PySDM.egg-info/requires.txt +0 -0
  408. {PySDM-2.71 → PySDM-2.72}/PySDM.egg-info/top_level.txt +0 -0
  409. {PySDM-2.71 → PySDM-2.72}/examples/MANIFEST.in +0 -0
  410. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abade_and_Albuquerque_2024/__init__.py +0 -0
  411. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abade_and_Albuquerque_2024/fig_2.ipynb +0 -0
  412. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abade_and_Albuquerque_2024/settings.py +0 -0
  413. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abade_and_Albuquerque_2024/simulation.py +0 -0
  414. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/__init__.py +0 -0
  415. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/aerosol.py +0 -0
  416. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_ARG2000_paper.py +0 -0
  417. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/data_from_CloudMicrophysics_ARG.py +0 -0
  418. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/fig_4_kinetic_limitations.ipynb +0 -0
  419. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/figs1-5.ipynb +0 -0
  420. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/run_ARG_parcel.py +0 -0
  421. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/__init__.py +0 -0
  422. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/fig_1.ipynb +0 -0
  423. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/fig_2.ipynb +0 -0
  424. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/fig_3.ipynb +0 -0
  425. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/fig_4.ipynb +0 -0
  426. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/fig_5.ipynb +0 -0
  427. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/simulation.py +0 -0
  428. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/table.py +0 -0
  429. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/table_1.py +0 -0
  430. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Alpert_and_Knopf_2016/table_2.py +0 -0
  431. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_and_Shima_2017/__init__.py +0 -0
  432. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_and_Shima_2017/example.py +0 -0
  433. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_and_Shima_2017/fig_5.ipynb +0 -0
  434. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_and_Shima_2017/settings.py +0 -0
  435. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_and_Shima_2017/simulation.py +0 -0
  436. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2015/__init__.py +0 -0
  437. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2015/example.py +0 -0
  438. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2015/example_benchmark.py +0 -0
  439. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2015/gui.ipynb +0 -0
  440. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2015/paraview_hello_world.ipynb +0 -0
  441. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2015/settings.py +0 -0
  442. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2015/spin_up.py +0 -0
  443. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/__init__.py +0 -0
  444. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/aida.ipynb +0 -0
  445. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/commons.py +0 -0
  446. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/copula_hello.ipynb +0 -0
  447. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/curved_text.py +0 -0
  448. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/fig_11.ipynb +0 -0
  449. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/fig_2.ipynb +0 -0
  450. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/fig_A2.ipynb +0 -0
  451. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/figs_3_and_7_and_8.ipynb +0 -0
  452. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/figs_5_and_6.ipynb +0 -0
  453. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/frozen_fraction.py +0 -0
  454. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/make_particulator.py +0 -0
  455. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/plots.py +0 -0
  456. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Arabas_et_al_2023/run_simulation.py +0 -0
  457. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bartman_2020_MasterThesis/__init__.py +0 -0
  458. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bartman_2020_MasterThesis/fig_4_adaptive_sdm.py +0 -0
  459. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bartman_2020_MasterThesis/fig_5_SCIPY_VS_ADAPTIVE.py +0 -0
  460. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bartman_et_al_2021/__init__.py +0 -0
  461. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bartman_et_al_2021/demo.ipynb +0 -0
  462. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bartman_et_al_2021/demo_fig2.ipynb +0 -0
  463. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bartman_et_al_2021/demo_fig3.ipynb +0 -0
  464. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bartman_et_al_2021/label.py +0 -0
  465. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Berry_1967/__init__.py +0 -0
  466. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Berry_1967/example.py +0 -0
  467. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Berry_1967/example_fig_6.py +0 -0
  468. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Berry_1967/figs_5_8_10.ipynb +0 -0
  469. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Berry_1967/settings.py +0 -0
  470. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Berry_1967/spectrum_plotter.py +0 -0
  471. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bieli_et_al_2022/__init__.py +0 -0
  472. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bieli_et_al_2022/make_fig_3.ipynb +0 -0
  473. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bieli_et_al_2022/settings.py +0 -0
  474. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bieli_et_al_2022/simulation.py +0 -0
  475. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bolot_et_al_2013/__init__.py +0 -0
  476. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bolot_et_al_2013/fig_1.ipynb +0 -0
  477. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bulenok_2023_MasterThesis/__init__.py +0 -0
  478. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bulenok_2023_MasterThesis/performance_comparison_Srivastava_Setup.ipynb +0 -0
  479. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bulenok_2023_MasterThesis/setups.py +0 -0
  480. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Bulenok_2023_MasterThesis/utils.py +0 -0
  481. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Ervens_and_Feingold_2012/__init__.py +0 -0
  482. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Ervens_and_Feingold_2012/settings.py +0 -0
  483. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Gedzelman_and_Arnold_1994/__init__.py +0 -0
  484. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Gedzelman_and_Arnold_1994/fig_2.ipynb +0 -0
  485. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Grabowski_and_Pawlowska_2023/__init__.py +0 -0
  486. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Grabowski_and_Pawlowska_2023/figure_1.ipynb +0 -0
  487. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Grabowski_and_Pawlowska_2023/figure_2.ipynb +0 -0
  488. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Grabowski_and_Pawlowska_2023/figure_3.ipynb +0 -0
  489. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Grabowski_and_Pawlowska_2023/figure_4.ipynb +0 -0
  490. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Grabowski_and_Pawlowska_2023/figure_ripening_rate.ipynb +0 -0
  491. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Grabowski_and_Pawlowska_2023/settings.py +0 -0
  492. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Grabowski_and_Pawlowska_2023/simulation.py +0 -0
  493. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Graf_et_al_2019/Table_1.ipynb +0 -0
  494. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Graf_et_al_2019/__init__.py +0 -0
  495. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Graf_et_al_2019/figure_4.ipynb +0 -0
  496. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jaruga_and_Pawlowska_2018/__init__.py +0 -0
  497. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jaruga_and_Pawlowska_2018/fig_2.ipynb +0 -0
  498. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jaruga_and_Pawlowska_2018/fig_3.ipynb +0 -0
  499. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/Fig_1.ipynb +0 -0
  500. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/Fig_3_and_Tab_4_upper_rows.ipynb +0 -0
  501. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/Fig_4_and_7_and_Tab_4_bottom_rows.ipynb +0 -0
  502. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/Fig_5.ipynb +0 -0
  503. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/Fig_6.ipynb +0 -0
  504. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/Fig_8.ipynb +0 -0
  505. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/__init__.py +0 -0
  506. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/plotting.py +0 -0
  507. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/settings.py +0 -0
  508. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/simulation.py +0 -0
  509. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Jensen_and_Nugent_2017/table_3.py +0 -0
  510. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Kreidenweis_et_al_2003/__init__.py +0 -0
  511. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Kreidenweis_et_al_2003/fig_1.ipynb +0 -0
  512. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Kreidenweis_et_al_2003/settings.py +0 -0
  513. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Kreidenweis_et_al_2003/simulation.py +0 -0
  514. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lamb_et_al_2017/__init__.py +0 -0
  515. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lamb_et_al_2017/fig_4.ipynb +0 -0
  516. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/__init__.py +0 -0
  517. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/aerosol.py +0 -0
  518. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/aerosol_code.py +0 -0
  519. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/constants_def.py +0 -0
  520. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/fig_1.ipynb +0 -0
  521. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/fig_2.ipynb +0 -0
  522. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/fig_3.ipynb +0 -0
  523. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/fig_s2.ipynb +0 -0
  524. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/plot_helper.py +0 -0
  525. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/settings.py +0 -0
  526. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Lowe_et_al_2019/simulation.py +0 -0
  527. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Merlivat_and_Nief_1967/__init__.py +0 -0
  528. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Merlivat_and_Nief_1967/fig_2.ipynb +0 -0
  529. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Miyake_et_al_1968/__init__.py +0 -0
  530. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Miyake_et_al_1968/fig_19.ipynb +0 -0
  531. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Morrison_and_Grabowski_2007/__init__.py +0 -0
  532. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Morrison_and_Grabowski_2007/common.py +0 -0
  533. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Morrison_and_Grabowski_2007/cumulus.py +0 -0
  534. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Morrison_and_Grabowski_2007/fig_2.ipynb +0 -0
  535. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Morrison_and_Grabowski_2007/fig_3.ipynb +0 -0
  536. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Morrison_and_Grabowski_2007/strato_cumulus.py +0 -0
  537. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Niedermeier_et_al_2014/__init__.py +0 -0
  538. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Niedermeier_et_al_2014/fig_2.ipynb +0 -0
  539. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Niedermeier_et_al_2014/settings.py +0 -0
  540. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Niedermeier_et_al_2014/simulation.py +0 -0
  541. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pierchala_et_al_2022/__init__.py +0 -0
  542. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pierchala_et_al_2022/commons.py +0 -0
  543. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pierchala_et_al_2022/fig_3.ipynb +0 -0
  544. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pierchala_et_al_2022/fig_4.ipynb +0 -0
  545. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pyrcel/__init__.py +0 -0
  546. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pyrcel/example_basic_run.ipynb +0 -0
  547. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pyrcel/profile_plotter.py +0 -0
  548. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pyrcel/settings.py +0 -0
  549. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pyrcel/simulation.py +0 -0
  550. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pyrcel/tutorial_settings.py +0 -0
  551. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Pyrcel/tutorial_simulation.py +0 -0
  552. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Rozanski_and_Sonntag_1982/__init__.py +0 -0
  553. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Rozanski_and_Sonntag_1982/figs_4_5_6.ipynb +0 -0
  554. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/__init__.py +0 -0
  555. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/error_measure.py +0 -0
  556. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/example.py +0 -0
  557. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/example_timing.py +0 -0
  558. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/fig_2.ipynb +0 -0
  559. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/settings.py +0 -0
  560. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/spectrum_plotter.py +0 -0
  561. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/tutorial_example.py +0 -0
  562. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/tutorial_plotter.py +0 -0
  563. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shima_et_al_2009/tutorial_settings.py +0 -0
  564. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shipway_and_Hill_2012/__init__.py +0 -0
  565. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shipway_and_Hill_2012/fig_1.ipynb +0 -0
  566. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shipway_and_Hill_2012/mpdata_1d.py +0 -0
  567. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shipway_and_Hill_2012/plot.py +0 -0
  568. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shipway_and_Hill_2012/settings.py +0 -0
  569. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Shipway_and_Hill_2012/simulation.py +0 -0
  570. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Singer_Ward/MWE_joss_paper.ipynb +0 -0
  571. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Singer_Ward/__init__.py +0 -0
  572. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Singer_Ward/aerosol.py +0 -0
  573. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Singer_Ward/kohler.ipynb +0 -0
  574. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Srivastava_1982/__init__.py +0 -0
  575. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Srivastava_1982/equations.py +0 -0
  576. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Srivastava_1982/example.py +0 -0
  577. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Srivastava_1982/figures.ipynb +0 -0
  578. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Srivastava_1982/settings.py +0 -0
  579. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Srivastava_1982/simulation.py +0 -0
  580. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/__init__.py +0 -0
  581. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/fields.py +0 -0
  582. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/gui.py +0 -0
  583. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/gui_controller.py +0 -0
  584. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/gui_settings.py +0 -0
  585. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/gui_viewer.py +0 -0
  586. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/make_default_product_collection.py +0 -0
  587. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/mpdata_2d.py +0 -0
  588. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/plots.py +0 -0
  589. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/simulation.py +0 -0
  590. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/sounding.py +0 -0
  591. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Szumowski_et_al_1998/storage.py +0 -0
  592. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Van_Hook_1968/__init__.py +0 -0
  593. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Van_Hook_1968/fig_1.ipynb +0 -0
  594. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Yang_et_al_2018/__init__.py +0 -0
  595. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Yang_et_al_2018/fig_2.ipynb +0 -0
  596. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Yang_et_al_2018/settings.py +0 -0
  597. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/Yang_et_al_2018/simulation.py +0 -0
  598. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/__init__.py +0 -0
  599. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Azimi/__init__.py +0 -0
  600. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Azimi/box.ipynb +0 -0
  601. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Azimi/cloudy_data.py +0 -0
  602. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Azimi/cloudy_data_0d.py +0 -0
  603. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Azimi/rainshaft.ipynb +0 -0
  604. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Azimi/settings1D.py +0 -0
  605. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Azimi/simulation_0D.py +0 -0
  606. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/__init__.py +0 -0
  607. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/data/straub_fig10.csv +0 -0
  608. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/fig_9.ipynb +0 -0
  609. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/figs_10_11_12_13.ipynb +0 -0
  610. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/figs_3_4_5.ipynb +0 -0
  611. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/figs_6_7_8.ipynb +0 -0
  612. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/plot_rates.py +0 -0
  613. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/settings1D.py +0 -0
  614. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/settings_0D.py +0 -0
  615. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/simulation1D.py +0 -0
  616. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/simulation_0D.py +0 -0
  617. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/deJong_Mackay_et_al_2023/simulation_ss.py +0 -0
  618. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/utils/__init__.py +0 -0
  619. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/utils/basic_simulation.py +0 -0
  620. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/utils/dummy_controller.py +0 -0
  621. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/utils/notebook_vars.py +0 -0
  622. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/utils/progbar_controller.py +0 -0
  623. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/utils/read_vtk_1d.py +0 -0
  624. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/utils/widgets/__init__.py +0 -0
  625. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/utils/widgets/freezer.py +0 -0
  626. {PySDM-2.71 → PySDM-2.72}/examples/PySDM_examples/utils/widgets/progbar_updater.py +0 -0
  627. {PySDM-2.71 → PySDM-2.72}/examples/README.md +0 -0
  628. {PySDM-2.71 → PySDM-2.72}/examples/pyproject.toml +0 -0
  629. {PySDM-2.71 → PySDM-2.72}/examples/setup.py +0 -0
  630. {PySDM-2.71 → PySDM-2.72}/paper/joss-ARG-fig_1.pdf +0 -0
  631. {PySDM-2.71 → PySDM-2.72}/paper/paper.bib +0 -0
  632. {PySDM-2.71 → PySDM-2.72}/paper/paper.md +0 -0
  633. {PySDM-2.71 → PySDM-2.72}/paper/paperv1.md +0 -0
  634. {PySDM-2.71 → PySDM-2.72}/paper/readme.pdf +0 -0
  635. {PySDM-2.71 → PySDM-2.72}/paper/test.pdf +0 -0
  636. {PySDM-2.71 → PySDM-2.72}/pyproject.toml +0 -0
  637. {PySDM-2.71 → PySDM-2.72}/setup.cfg +0 -0
  638. {PySDM-2.71 → PySDM-2.72}/setup.py +0 -0
  639. {PySDM-2.71 → PySDM-2.72}/tests/__init__.py +0 -0
  640. {PySDM-2.71 → PySDM-2.72}/tests/examples_tests/__init__.py +0 -0
  641. {PySDM-2.71 → PySDM-2.72}/tests/examples_tests/conftest.py +0 -0
  642. {PySDM-2.71 → PySDM-2.72}/tests/examples_tests/test_run_examples.py +0 -0
  643. {PySDM-2.71 → PySDM-2.72}/tests/examples_tests/test_run_notebooks.py +0 -0
  644. {PySDM-2.71 → PySDM-2.72}/tests/examples_tests/test_tests_completeness.py +0 -0
  645. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/__init__.py +0 -0
  646. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/alpert_and_knopf_2016/__init__.py +0 -0
  647. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/alpert_and_knopf_2016/test_ak16_fig_1.py +0 -0
  648. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/alpert_and_knopf_2016/test_frozen_fraction.py +0 -0
  649. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/berry_1967/__init__.py +0 -0
  650. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/berry_1967/test_coalescence.py +0 -0
  651. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/bieli_et_al_2022/__init__.py +0 -0
  652. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/bieli_et_al_2022/test_moments.py +0 -0
  653. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/dejong_and_mackay_et_al_2023/__init__.py +0 -0
  654. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/dejong_and_mackay_et_al_2023/test_collision.py +0 -0
  655. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/dejong_and_mackay_et_al_2023/test_fig_6.py +0 -0
  656. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/dejong_and_mackay_et_al_2023/test_fig_7.py +0 -0
  657. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/dejong_and_mackay_et_al_2023/test_fig_8.py +0 -0
  658. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/dejong_azimi/test_box.py +0 -0
  659. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/partmc/__init__.py +0 -0
  660. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/partmc/test_dry_wet_equilibration.py +0 -0
  661. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/shima_et_al_2009/__init__.py +0 -0
  662. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/shima_et_al_2009/test_lwc_constant.py +0 -0
  663. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/srivastava_1982/__init__.py +0 -0
  664. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/srivastava_1982/test_eq_10.py +0 -0
  665. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/srivastava_1982/test_eq_13.py +0 -0
  666. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/box/srivastava_1982/test_equations.py +0 -0
  667. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/conftest.py +0 -0
  668. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_1d/deJong_Azimi/__init__.py +0 -0
  669. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_1d/deJong_Azimi/test_few_steps.py +0 -0
  670. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_1d/deJong_Azimi/test_initial_condition.py +0 -0
  671. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_1d/shipway_and_hill_2012/__init__.py +0 -0
  672. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_1d/shipway_and_hill_2012/test_1d_exporters.py +0 -0
  673. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_1d/shipway_and_hill_2012/test_few_steps.py +0 -0
  674. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_1d/shipway_and_hill_2012/test_initial_condition.py +0 -0
  675. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_1d/shipway_and_hill_2012/test_settings.py +0 -0
  676. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_2d/arabas_et_al_2015/__init__.py +0 -0
  677. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_2d/arabas_et_al_2015/dummy_storage.py +0 -0
  678. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_2d/arabas_et_al_2015/test_adaptive_displacement.py +0 -0
  679. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_2d/arabas_et_al_2015/test_environment.py +0 -0
  680. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_2d/arabas_et_al_2015/test_export.py +0 -0
  681. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_2d/arabas_et_al_2015/test_freezing.py +0 -0
  682. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_2d/arabas_et_al_2015/test_gui_settings.py +0 -0
  683. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_2d/arabas_et_al_2015/test_initialisation.py +0 -0
  684. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/kinematic_2d/arabas_et_al_2015/test_spin_up.py +0 -0
  685. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/gedzelman_and_arnold_1994/__init__.py +0 -0
  686. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/gedzelman_and_arnold_1994/test_fig_2.py +0 -0
  687. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/lamb_et_al_2017/__init__.py +0 -0
  688. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/lamb_et_al_2017/test_fig_4.py +0 -0
  689. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/miyake_et_al_1968/__init__.py +0 -0
  690. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/miyake_et_al_1968/test_fig_19.py +0 -0
  691. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/pierchala_et_al_2022/__init__.py +0 -0
  692. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/pierchala_et_al_2022/test_fig_3.py +0 -0
  693. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/pierchala_et_al_2022/test_fig_4.py +0 -0
  694. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/no_env/pierchala_et_al_2022/test_supplement.py +0 -0
  695. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/lowe_et_al_2019/__init__.py +0 -0
  696. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/lowe_et_al_2019/conftest.py +0 -0
  697. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/lowe_et_al_2019/test_dz_sensitivity.py +0 -0
  698. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/lowe_et_al_2019/test_fig_1.py +0 -0
  699. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/lowe_et_al_2019/test_fig_2.py +0 -0
  700. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/lowe_et_al_2019/test_fig_s2.py +0 -0
  701. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/lowe_et_al_2019/test_surface_tension_models.py +0 -0
  702. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/lowe_et_al_2019/test_zero_forg.py +0 -0
  703. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/pyrcel/__init__.py +0 -0
  704. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/pyrcel/test_parcel_example.py +0 -0
  705. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/rozanski_and_sonntag_1982/__init__.py +0 -0
  706. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_a/rozanski_and_sonntag_1982/test_figs_4_5_6.py +0 -0
  707. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/arabas_and_shima_2017/__init__.py +0 -0
  708. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/arabas_and_shima_2017/test_conservation.py +0 -0
  709. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/arabas_and_shima_2017/test_displacement.py +0 -0
  710. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/arabas_and_shima_2017/test_event_rates.py +0 -0
  711. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/arabas_and_shima_2017/test_initialisation.py +0 -0
  712. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/arabas_and_shima_2017/test_vs_scipy.py +0 -0
  713. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/yang_et_al_2018/__init__.py +0 -0
  714. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/yang_et_al_2018/test_displacement.py +0 -0
  715. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/yang_et_al_2018/test_initialisation.py +0 -0
  716. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_b/yang_et_al_2018/test_just_do_it.py +0 -0
  717. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/abade_and_albuquerque_2024/__init__.py +0 -0
  718. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/abade_and_albuquerque_2024/test_fig_2.py +0 -0
  719. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/abdul_razzak_ghan_2000/__init__.py +0 -0
  720. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/abdul_razzak_ghan_2000/test_ARG_example.py +0 -0
  721. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/abdul_razzak_ghan_2000/test_just_do_it.py +0 -0
  722. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/abdul_razzak_ghan_2000/test_single_supersaturation_peak.py +0 -0
  723. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/grabowski_and_pawlowska_2023/__init__.py +0 -0
  724. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/grabowski_and_pawlowska_2023/test_condensation_tolerance.py +0 -0
  725. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/grabowski_and_pawlowska_2023/test_figure_1_and_2.py +0 -0
  726. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/grabowski_and_pawlowska_2023/test_figure_3.py +0 -0
  727. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/grabowski_and_pawlowska_2023/test_figure_4.py +0 -0
  728. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/grabowski_and_pawlowska_2023/test_ripening_rate.py +0 -0
  729. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/graf_et_al_2019/__init__.py +0 -0
  730. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/graf_et_al_2019/test_fig_4.py +0 -0
  731. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/graf_et_al_2019/test_table_1.py +0 -0
  732. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/jensen_and_nugent_2017/__init__.py +0 -0
  733. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/jensen_and_nugent_2017/test_fig_1.py +0 -0
  734. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/jensen_and_nugent_2017/test_fig_3_and_tab_4_upper_rows.py +0 -0
  735. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/jensen_and_nugent_2017/test_fig_4_and_7_and_tab_4_bottom_rows.py +0 -0
  736. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/jensen_and_nugent_2017/test_fig_5.py +0 -0
  737. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/jensen_and_nugent_2017/test_fig_6.py +0 -0
  738. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/jensen_and_nugent_2017/test_table_3.py +0 -0
  739. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/kreidenweis_et_al_2003/__init__.py +0 -0
  740. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/kreidenweis_et_al_2003/test_fig_1.py +0 -0
  741. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/kreidenweis_et_al_2003/test_ionic_strength.py +0 -0
  742. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/kreidenweis_et_al_2003/test_spectrum_at_t_0.py +0 -0
  743. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/kreidenweis_et_al_2003/test_table_3.py +0 -0
  744. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/niedermeier_et_al_2013/__init__.py +0 -0
  745. {PySDM-2.71 → PySDM-2.72}/tests/smoke_tests/parcel_c/niedermeier_et_al_2013/test_temperature_profile.py +0 -0
  746. {PySDM-2.71 → PySDM-2.72}/tests/tutorials_tests/__init__.py +0 -0
  747. {PySDM-2.71 → PySDM-2.72}/tests/tutorials_tests/conftest.py +0 -0
  748. {PySDM-2.71 → PySDM-2.72}/tests/tutorials_tests/test_run_notebooks.py +0 -0
  749. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/__init__.py +0 -0
  750. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/attributes/__init__.py +0 -0
  751. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/attributes/test_acidity.py +0 -0
  752. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/attributes/test_area_radius.py +0 -0
  753. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/attributes/test_critical_supersaturation.py +0 -0
  754. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/attributes/test_fall_velocity.py +0 -0
  755. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/attributes/test_impl_attribute_registry.py +0 -0
  756. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/attributes/test_isotopes.py +0 -0
  757. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/attributes/test_multiplicities.py +0 -0
  758. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/attributes/test_reynolds_number.py +0 -0
  759. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/__init__.py +0 -0
  760. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/storage/__init__.py +0 -0
  761. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/storage/test_basic_ops.py +0 -0
  762. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/storage/test_index.py +0 -0
  763. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/storage/test_setitem.py +0 -0
  764. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_collisions_methods.py +0 -0
  765. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_ctor_defaults.py +0 -0
  766. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_fake_thrust.py +0 -0
  767. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_freezing_methods.py +0 -0
  768. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_isotope_methods.py +0 -0
  769. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_moments_methods.py +0 -0
  770. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_oxidation.py +0 -0
  771. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_pair_methods.py +0 -0
  772. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_physics_methods.py +0 -0
  773. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/backends/test_toms748.py +0 -0
  774. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/conftest.py +0 -0
  775. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dummy_environment.py +0 -0
  776. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dummy_particulator.py +0 -0
  777. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/__init__.py +0 -0
  778. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/__init__.py +0 -0
  779. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/conftest.py +0 -0
  780. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/test_croupiers.py +0 -0
  781. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/test_defaults.py +0 -0
  782. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/test_efficiencies.py +0 -0
  783. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/test_fragmentations.py +0 -0
  784. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/test_kernels.py +0 -0
  785. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/test_sdm_breakup.py +0 -0
  786. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/test_sdm_multi_cell.py +0 -0
  787. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/collisions/test_sdm_single_cell.py +0 -0
  788. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/condensation/test_diagnostics.py +0 -0
  789. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/condensation/test_parcel_sanity_checks.py +0 -0
  790. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/condensation/test_ventilation.py +0 -0
  791. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/displacement/__init__.py +0 -0
  792. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/displacement/displacement_settings.py +0 -0
  793. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/displacement/test_advection.py +0 -0
  794. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/displacement/test_courant_product.py +0 -0
  795. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/displacement/test_sedimentation.py +0 -0
  796. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/test_eulerian_advection.py +0 -0
  797. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/test_impl_register_dynamic.py +0 -0
  798. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/test_isotopic_fractionation.py +0 -0
  799. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/test_relaxed_velocity.py +0 -0
  800. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/dynamics/test_terminal_velocity.py +0 -0
  801. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/impl/__init__.py +0 -0
  802. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/impl/test_camel_case.py +0 -0
  803. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/impl/test_mesh.py +0 -0
  804. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/impl/test_moments.py +0 -0
  805. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/impl/test_particle_attributes.py +0 -0
  806. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/initialisation/__init__.py +0 -0
  807. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/initialisation/test_aerosol_init.py +0 -0
  808. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/initialisation/test_equilibrate_wet_radii.py +0 -0
  809. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/initialisation/test_init_fall_momenta.py +0 -0
  810. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/initialisation/test_spatial_discretisation.py +0 -0
  811. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/initialisation/test_spectra_lognormal.py +0 -0
  812. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/initialisation/test_spectral_discretisation.py +0 -0
  813. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/initialisation/test_spectro_glacial_discretisation.py +0 -0
  814. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/__init__.py +0 -0
  815. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_accommodation_coefficients.py +0 -0
  816. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_air_dynamic_viscosity.py +0 -0
  817. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_bulk_phase_partitioning.py +0 -0
  818. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_constants.py +0 -0
  819. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_dimensional_analysis.py +0 -0
  820. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_drop_growth.py +0 -0
  821. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_formulae.py +0 -0
  822. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_fragmentation_functions.py +0 -0
  823. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_freezing_temperature_spectra.py +0 -0
  824. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_hygroscopicity_fierce_diagrams.py +0 -0
  825. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_isotope_diffusivity_ratios.py +0 -0
  826. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_isotope_equilibrium_fractionation_factors.py +0 -0
  827. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_isotope_meteoric_water_line_excess.py +0 -0
  828. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_isotope_ratio_evolution.py +0 -0
  829. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_isotope_relaxation_timescale.py +0 -0
  830. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_latent_heat.py +0 -0
  831. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_optical.py +0 -0
  832. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_particle_shape_and_density.py +0 -0
  833. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_saturation_vapour_pressure.py +0 -0
  834. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_spectra.py +0 -0
  835. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_spectra_top_hat.py +0 -0
  836. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_surface_tension.py +0 -0
  837. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_thermal_conductivity.py +0 -0
  838. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_trivia.py +0 -0
  839. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/physics/test_ventilation_coefficient.py +0 -0
  840. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/__init__.py +0 -0
  841. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_ambient_relative_humidity.py +0 -0
  842. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_arbitrary_moment.py +0 -0
  843. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_averaged_terminal_velocity.py +0 -0
  844. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_collision_rates.py +0 -0
  845. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_concentration_product.py +0 -0
  846. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_cooling_rate.py +0 -0
  847. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_effective_radii.py +0 -0
  848. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_impl.py +0 -0
  849. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_parcel_liquid_water_path.py +0 -0
  850. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_particle_size_product.py +0 -0
  851. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/products/test_particle_size_spectrum.py +0 -0
  852. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/test_builder.py +0 -0
  853. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/test_formulae.py +0 -0
  854. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/test_imports.py +0 -0
  855. {PySDM-2.71 → PySDM-2.72}/tests/unit_tests/test_particulator.py +0 -0
  856. {PySDM-2.71 → PySDM-2.72}/tutorials/README.md +0 -0
  857. {PySDM-2.71 → PySDM-2.72}/tutorials/collisions/collection_droplet.svg +0 -0
  858. {PySDM-2.71 → PySDM-2.72}/tutorials/collisions/collisions_playground.ipynb +0 -0
  859. {PySDM-2.71 → PySDM-2.72}/tutorials/condensation/condensation_playground.ipynb +0 -0
  860. {PySDM-2.71 → PySDM-2.72}/tutorials/condensation/kohler_curve.svg +0 -0
@@ -69,11 +69,10 @@ jobs:
69
69
  with:
70
70
  python-version: 3.9
71
71
  - run: |
72
- pip install pdoc3
72
+ pip install pdoc
73
73
  pip install -e .
74
74
  pip install -e examples
75
- python -We -m pdoc --html PySDM examples/PySDM_examples
76
- python -We .github/workflows/pdoc_index_workaround.py
75
+ PDOC_ALLOW_EXEC=1 python -We -m pdoc -o html PySDM examples/PySDM_examples -t pdoc_templates
77
76
  - if: ${{ github.ref == 'refs/heads/main' && matrix.platform == 'ubuntu-latest' }}
78
77
  uses: JamesIves/github-pages-deploy-action@4.1.1
79
78
  with:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PySDM
3
- Version: 2.71
3
+ Version: 2.72
4
4
  Summary: Pythonic particle-based (super-droplet) warm-rain/aqueous-chemistry cloud microphysics package with box, parcel & 1D/2D prescribed-flow examples in Python, Julia and Matlab
5
5
  Home-page: https://github.com/open-atmos/PySDM
6
6
  Author: https://github.com/open-atmos/PySDM/graphs/contributors
@@ -32,7 +32,7 @@ Description: # PySDM
32
32
  [![Appveyor Build status](http://ci.appveyor.com/api/projects/status/github/open-atmos/PySDM?branch=main&svg=true)](https://ci.appveyor.com/project/slayoo/pysdm/branch/main)
33
33
  [![Coverage Status](https://codecov.io/gh/open-atmos/PySDM/branch/main/graph/badge.svg)](https://app.codecov.io/gh/open-atmos/PySDM)
34
34
  [![PyPI version](https://badge.fury.io/py/PySDM.svg)](https://pypi.org/project/PySDM)
35
- [![API docs](https://img.shields.io/badge/API_docs-pdoc3-blue.svg)](https://open-atmos.github.io/PySDM/)
35
+ [![API docs](https://shields.mitmproxy.org/badge/docs-pdoc.dev-brightgreen.svg)](https://open-atmos.github.io/PySDM/)
36
36
 
37
37
  PySDM is a package for simulating the dynamics of population of particles.
38
38
  It is intended to serve as a building block for simulation systems modelling
@@ -62,9 +62,9 @@ Description: # PySDM
62
62
  PySDM has two alternative parallel number-crunching backends
63
63
  available: multi-threaded CPU backend based on [Numba](http://numba.pydata.org/)
64
64
  and GPU-resident backend built on top of [ThrustRTC](https://pypi.org/project/ThrustRTC/).
65
- The [`Numba`](https://open-atmos.github.io/PySDM/PySDM/backends/numba/numba.html) backend (aliased ``CPU``) features multi-threaded parallelism for
65
+ The [`Numba`](https://open-atmos.github.io/PySDM/PySDM/backends/numba.html) backend (aliased ``CPU``) features multi-threaded parallelism for
66
66
  multi-core CPUs, it uses the just-in-time compilation technique based on the LLVM infrastructure.
67
- The [`ThrustRTC`](https://open-atmos.github.io/PySDM/PySDM/backends/thrustRTC/thrustRTC.html) backend (aliased ``GPU``) offers GPU-resident operation of PySDM
67
+ The [`ThrustRTC`](https://open-atmos.github.io/PySDM/PySDM/backends/thrust_rtc.html) backend (aliased ``GPU``) offers GPU-resident operation of PySDM
68
68
  leveraging the [SIMT](https://en.wikipedia.org/wiki/Single_instruction,_multiple_threads)
69
69
  parallelisation model.
70
70
  Using the ``GPU`` backend requires nVidia hardware and [CUDA driver](https://developer.nvidia.com/cuda-downloads).
@@ -76,7 +76,7 @@ Description: # PySDM
76
76
  PySDM includes an extension of the SDM scheme to represent collisional breakup described in [de Jong, Mackay et al. 2023](10.5194/gmd-16-4193-2023).
77
77
  For a list of talks and other materials on PySDM as well as a list of published papers featuring PySDM simulations, see the [project wiki](https://github.com/open-atmos/PySDM/wiki).
78
78
 
79
- A [pdoc-generated](https://pdoc3.github.io/pdoc) documentation of PySDM public API is maintained at: [https://open-atmos.github.io/PySDM](https://open-atmos.github.io/PySDM)
79
+ A [pdoc-generated](https://pdoc.dev/) documentation of PySDM public API is maintained at: [https://open-atmos.github.io/PySDM](https://open-atmos.github.io/PySDM)
80
80
 
81
81
  ## Example Jupyter notebooks (reproducing results from literature):
82
82
 
@@ -186,8 +186,8 @@ Description: # PySDM
186
186
  listings provide sample code roughly reproducing the
187
187
  Figure 2 from [Shima et al. 2009 paper](http://doi.org/10.1002/qj.441)
188
188
  using PySDM from Python, Julia and Matlab.
189
- It is a [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/coalescence.html)-only set-up in which the initial particle size
190
- spectrum is [`Exponential`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html#PySDM.initialisation.spectra.Exponential) and is deterministically sampled to match
189
+ It is a [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/sollision.html#Coalescence)-only set-up in which the initial particle size
190
+ spectrum is [`Exponential`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/exponential.html#Exponential) and is deterministically sampled to match
191
191
  the condition of each super-droplet having equal initial multiplicity:
192
192
  <details>
193
193
  <summary>Julia (click to expand)</summary>
@@ -241,9 +241,9 @@ Description: # PySDM
241
241
  ```
242
242
  </details>
243
243
 
244
- The key element of the PySDM interface is the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html)
244
+ The key element of the PySDM interface is the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator)
245
245
  class instances of which are used to manage the system state and control the simulation.
246
- Instantiation of the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html) class is handled by the [``Builder``](https://open-atmos.github.io/PySDM/PySDM/builder.html)
246
+ Instantiation of the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator) class is handled by the [``Builder``](https://open-atmos.github.io/PySDM/PySDM/builder.html#Builder)
247
247
  as exemplified below:
248
248
  <details>
249
249
  <summary>Julia (click to expand)</summary>
@@ -313,18 +313,18 @@ Description: # PySDM
313
313
  The ``backend`` argument may be set to ``CPU`` or ``GPU``
314
314
  what translates to choosing the multi-threaded backend or the
315
315
  GPU-resident computation mode, respectively.
316
- The employed [`Box`](https://open-atmos.github.io/PySDM/PySDM/environments/box.html) environment corresponds to a zero-dimensional framework
316
+ The employed [`Box`](https://open-atmos.github.io/PySDM/PySDM/environments/box.html#Box) environment corresponds to a zero-dimensional framework
317
317
  (particle positions are not considered).
318
318
  The vectors of particle multiplicities ``n`` and particle volumes ``v`` are
319
319
  used to initialise super-droplet attributes.
320
- The [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/coalescence.html)
320
+ The [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision.html#Coalescence)
321
321
  Monte-Carlo algorithm (Super Droplet Method) is registered as the only
322
322
  dynamic in the system.
323
- Finally, the [`build()`](https://open-atmos.github.io/PySDM/PySDM/builder.html#PySDM.builder.Builder.build) method is used to obtain an instance
324
- of [`Particulator`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#PySDM.particulator.Particulator) which can then be used to control time-stepping and
323
+ Finally, the [`build()`](https://open-atmos.github.io/PySDM/PySDM/builder.html#Builder.build) method is used to obtain an instance
324
+ of [`Particulator`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator) which can then be used to control time-stepping and
325
325
  access simulation state.
326
326
 
327
- The [`run(nt)`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#PySDM.particuparticulatorr.Particulator.run) method advances the simulation by ``nt`` timesteps.
327
+ The [`run(nt)`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator.run) method advances the simulation by ``nt`` timesteps.
328
328
  In the listing below, its usage is interleaved with plotting logic
329
329
  which displays a histogram of particle mass distribution
330
330
  at selected timesteps:
@@ -441,16 +441,16 @@ Description: # PySDM
441
441
  SPECTRUM_INIT["ParticleVolumeVersusRadiusLogarithmSpectrum.__init__()"] -->|instantiates| SPECTRUM
442
442
  SPECTRUM[":ParticleVolumeVersusRadiusLogarithmSpectrum"] -->|added as element of| PRODUCTS
443
443
 
444
- click COAL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision.html"
444
+ click COAL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision.html#Coalescence"
445
445
  click BUILDER_INSTANCE "https://open-atmos.github.io/PySDM/PySDM/builder.html"
446
446
  click BUILDER_INIT "https://open-atmos.github.io/PySDM/PySDM/builder.html"
447
447
  click BUILDER_ADD_DYN "https://open-atmos.github.io/PySDM/PySDM/builder.html"
448
- click ENV_INIT "https://open-atmos.github.io/PySDM/PySDM/environments/index.html"
449
- click ENV "https://open-atmos.github.io/PySDM/PySDM/environments/index.html"
450
- click KERNEL_INIT "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels/index.html"
451
- click KERNEL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels/index.html"
452
- click EXP_INIT "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/index.html"
453
- click IS "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/index.html"
448
+ click ENV_INIT "https://open-atmos.github.io/PySDM/PySDM/environments.html"
449
+ click ENV "https://open-atmos.github.io/PySDM/PySDM/environments.html"
450
+ click KERNEL_INIT "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels.html"
451
+ click KERNEL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels.html"
452
+ click EXP_INIT "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html"
453
+ click IS "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html"
454
454
  click CM_INIT "https://open-atmos.github.io/PySDM/PySDM/initialisation/sampling/spectral_sampling.html"
455
455
  click CM_INSTANCE "https://open-atmos.github.io/PySDM/PySDM/initialisation/sampling/spectral_sampling.html"
456
456
  click SAMPLE "https://open-atmos.github.io/PySDM/PySDM/initialisation/sampling/spectral_sampling.html"
@@ -466,7 +466,7 @@ Description: # PySDM
466
466
 
467
467
  In the following example, a condensation-only setup is used with the adiabatic
468
468
  [`Parcel`](https://open-atmos.github.io/PySDM/PySDM/environments/parcel.html) environment.
469
- An initial [`Lognormal`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html#PySDM.initialisation.spectra.Lognormal)
469
+ An initial [`Lognormal`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/lognormal.html#Lognormal)
470
470
  spectrum of dry aerosol particles is first initialised to equilibrium wet size for the given
471
471
  initial humidity.
472
472
  Subsequent particle growth due to [`Condensation`](https://open-atmos.github.io/PySDM/PySDM/dynamics/condensation.html) of water vapour (coupled with the release of latent heat)
@@ -476,7 +476,7 @@ Description: # PySDM
476
476
  and depict the evolution of
477
477
  [`PeakSupersaturation`](https://open-atmos.github.io/PySDM/PySDM/products/condensation/peak_supersaturation.html),
478
478
  [`EffectiveRadius`](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/effective_radius.html),
479
- [`ParticleConcentration`](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/particle_concentration.html#PySDM.products.particles_concentration.ParticleConcentration)
479
+ [`ParticleConcentration`](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/particle_concentration.html#ParticleConcentration)
480
480
  and the
481
481
  [`WaterMixingRatio `](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/water_mixing_ratio.html).
482
482
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PySDM
3
- Version: 2.71
3
+ Version: 2.72
4
4
  Summary: Pythonic particle-based (super-droplet) warm-rain/aqueous-chemistry cloud microphysics package with box, parcel & 1D/2D prescribed-flow examples in Python, Julia and Matlab
5
5
  Home-page: https://github.com/open-atmos/PySDM
6
6
  Author: https://github.com/open-atmos/PySDM/graphs/contributors
@@ -32,7 +32,7 @@ Description: # PySDM
32
32
  [![Appveyor Build status](http://ci.appveyor.com/api/projects/status/github/open-atmos/PySDM?branch=main&svg=true)](https://ci.appveyor.com/project/slayoo/pysdm/branch/main)
33
33
  [![Coverage Status](https://codecov.io/gh/open-atmos/PySDM/branch/main/graph/badge.svg)](https://app.codecov.io/gh/open-atmos/PySDM)
34
34
  [![PyPI version](https://badge.fury.io/py/PySDM.svg)](https://pypi.org/project/PySDM)
35
- [![API docs](https://img.shields.io/badge/API_docs-pdoc3-blue.svg)](https://open-atmos.github.io/PySDM/)
35
+ [![API docs](https://shields.mitmproxy.org/badge/docs-pdoc.dev-brightgreen.svg)](https://open-atmos.github.io/PySDM/)
36
36
 
37
37
  PySDM is a package for simulating the dynamics of population of particles.
38
38
  It is intended to serve as a building block for simulation systems modelling
@@ -62,9 +62,9 @@ Description: # PySDM
62
62
  PySDM has two alternative parallel number-crunching backends
63
63
  available: multi-threaded CPU backend based on [Numba](http://numba.pydata.org/)
64
64
  and GPU-resident backend built on top of [ThrustRTC](https://pypi.org/project/ThrustRTC/).
65
- The [`Numba`](https://open-atmos.github.io/PySDM/PySDM/backends/numba/numba.html) backend (aliased ``CPU``) features multi-threaded parallelism for
65
+ The [`Numba`](https://open-atmos.github.io/PySDM/PySDM/backends/numba.html) backend (aliased ``CPU``) features multi-threaded parallelism for
66
66
  multi-core CPUs, it uses the just-in-time compilation technique based on the LLVM infrastructure.
67
- The [`ThrustRTC`](https://open-atmos.github.io/PySDM/PySDM/backends/thrustRTC/thrustRTC.html) backend (aliased ``GPU``) offers GPU-resident operation of PySDM
67
+ The [`ThrustRTC`](https://open-atmos.github.io/PySDM/PySDM/backends/thrust_rtc.html) backend (aliased ``GPU``) offers GPU-resident operation of PySDM
68
68
  leveraging the [SIMT](https://en.wikipedia.org/wiki/Single_instruction,_multiple_threads)
69
69
  parallelisation model.
70
70
  Using the ``GPU`` backend requires nVidia hardware and [CUDA driver](https://developer.nvidia.com/cuda-downloads).
@@ -76,7 +76,7 @@ Description: # PySDM
76
76
  PySDM includes an extension of the SDM scheme to represent collisional breakup described in [de Jong, Mackay et al. 2023](10.5194/gmd-16-4193-2023).
77
77
  For a list of talks and other materials on PySDM as well as a list of published papers featuring PySDM simulations, see the [project wiki](https://github.com/open-atmos/PySDM/wiki).
78
78
 
79
- A [pdoc-generated](https://pdoc3.github.io/pdoc) documentation of PySDM public API is maintained at: [https://open-atmos.github.io/PySDM](https://open-atmos.github.io/PySDM)
79
+ A [pdoc-generated](https://pdoc.dev/) documentation of PySDM public API is maintained at: [https://open-atmos.github.io/PySDM](https://open-atmos.github.io/PySDM)
80
80
 
81
81
  ## Example Jupyter notebooks (reproducing results from literature):
82
82
 
@@ -186,8 +186,8 @@ Description: # PySDM
186
186
  listings provide sample code roughly reproducing the
187
187
  Figure 2 from [Shima et al. 2009 paper](http://doi.org/10.1002/qj.441)
188
188
  using PySDM from Python, Julia and Matlab.
189
- It is a [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/coalescence.html)-only set-up in which the initial particle size
190
- spectrum is [`Exponential`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html#PySDM.initialisation.spectra.Exponential) and is deterministically sampled to match
189
+ It is a [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/sollision.html#Coalescence)-only set-up in which the initial particle size
190
+ spectrum is [`Exponential`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/exponential.html#Exponential) and is deterministically sampled to match
191
191
  the condition of each super-droplet having equal initial multiplicity:
192
192
  <details>
193
193
  <summary>Julia (click to expand)</summary>
@@ -241,9 +241,9 @@ Description: # PySDM
241
241
  ```
242
242
  </details>
243
243
 
244
- The key element of the PySDM interface is the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html)
244
+ The key element of the PySDM interface is the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator)
245
245
  class instances of which are used to manage the system state and control the simulation.
246
- Instantiation of the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html) class is handled by the [``Builder``](https://open-atmos.github.io/PySDM/PySDM/builder.html)
246
+ Instantiation of the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator) class is handled by the [``Builder``](https://open-atmos.github.io/PySDM/PySDM/builder.html#Builder)
247
247
  as exemplified below:
248
248
  <details>
249
249
  <summary>Julia (click to expand)</summary>
@@ -313,18 +313,18 @@ Description: # PySDM
313
313
  The ``backend`` argument may be set to ``CPU`` or ``GPU``
314
314
  what translates to choosing the multi-threaded backend or the
315
315
  GPU-resident computation mode, respectively.
316
- The employed [`Box`](https://open-atmos.github.io/PySDM/PySDM/environments/box.html) environment corresponds to a zero-dimensional framework
316
+ The employed [`Box`](https://open-atmos.github.io/PySDM/PySDM/environments/box.html#Box) environment corresponds to a zero-dimensional framework
317
317
  (particle positions are not considered).
318
318
  The vectors of particle multiplicities ``n`` and particle volumes ``v`` are
319
319
  used to initialise super-droplet attributes.
320
- The [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/coalescence.html)
320
+ The [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision.html#Coalescence)
321
321
  Monte-Carlo algorithm (Super Droplet Method) is registered as the only
322
322
  dynamic in the system.
323
- Finally, the [`build()`](https://open-atmos.github.io/PySDM/PySDM/builder.html#PySDM.builder.Builder.build) method is used to obtain an instance
324
- of [`Particulator`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#PySDM.particulator.Particulator) which can then be used to control time-stepping and
323
+ Finally, the [`build()`](https://open-atmos.github.io/PySDM/PySDM/builder.html#Builder.build) method is used to obtain an instance
324
+ of [`Particulator`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator) which can then be used to control time-stepping and
325
325
  access simulation state.
326
326
 
327
- The [`run(nt)`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#PySDM.particuparticulatorr.Particulator.run) method advances the simulation by ``nt`` timesteps.
327
+ The [`run(nt)`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator.run) method advances the simulation by ``nt`` timesteps.
328
328
  In the listing below, its usage is interleaved with plotting logic
329
329
  which displays a histogram of particle mass distribution
330
330
  at selected timesteps:
@@ -441,16 +441,16 @@ Description: # PySDM
441
441
  SPECTRUM_INIT["ParticleVolumeVersusRadiusLogarithmSpectrum.__init__()"] -->|instantiates| SPECTRUM
442
442
  SPECTRUM[":ParticleVolumeVersusRadiusLogarithmSpectrum"] -->|added as element of| PRODUCTS
443
443
 
444
- click COAL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision.html"
444
+ click COAL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision.html#Coalescence"
445
445
  click BUILDER_INSTANCE "https://open-atmos.github.io/PySDM/PySDM/builder.html"
446
446
  click BUILDER_INIT "https://open-atmos.github.io/PySDM/PySDM/builder.html"
447
447
  click BUILDER_ADD_DYN "https://open-atmos.github.io/PySDM/PySDM/builder.html"
448
- click ENV_INIT "https://open-atmos.github.io/PySDM/PySDM/environments/index.html"
449
- click ENV "https://open-atmos.github.io/PySDM/PySDM/environments/index.html"
450
- click KERNEL_INIT "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels/index.html"
451
- click KERNEL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels/index.html"
452
- click EXP_INIT "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/index.html"
453
- click IS "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/index.html"
448
+ click ENV_INIT "https://open-atmos.github.io/PySDM/PySDM/environments.html"
449
+ click ENV "https://open-atmos.github.io/PySDM/PySDM/environments.html"
450
+ click KERNEL_INIT "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels.html"
451
+ click KERNEL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels.html"
452
+ click EXP_INIT "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html"
453
+ click IS "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html"
454
454
  click CM_INIT "https://open-atmos.github.io/PySDM/PySDM/initialisation/sampling/spectral_sampling.html"
455
455
  click CM_INSTANCE "https://open-atmos.github.io/PySDM/PySDM/initialisation/sampling/spectral_sampling.html"
456
456
  click SAMPLE "https://open-atmos.github.io/PySDM/PySDM/initialisation/sampling/spectral_sampling.html"
@@ -466,7 +466,7 @@ Description: # PySDM
466
466
 
467
467
  In the following example, a condensation-only setup is used with the adiabatic
468
468
  [`Parcel`](https://open-atmos.github.io/PySDM/PySDM/environments/parcel.html) environment.
469
- An initial [`Lognormal`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html#PySDM.initialisation.spectra.Lognormal)
469
+ An initial [`Lognormal`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/lognormal.html#Lognormal)
470
470
  spectrum of dry aerosol particles is first initialised to equilibrium wet size for the given
471
471
  initial humidity.
472
472
  Subsequent particle growth due to [`Condensation`](https://open-atmos.github.io/PySDM/PySDM/dynamics/condensation.html) of water vapour (coupled with the release of latent heat)
@@ -476,7 +476,7 @@ Description: # PySDM
476
476
  and depict the evolution of
477
477
  [`PeakSupersaturation`](https://open-atmos.github.io/PySDM/PySDM/products/condensation/peak_supersaturation.html),
478
478
  [`EffectiveRadius`](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/effective_radius.html),
479
- [`ParticleConcentration`](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/particle_concentration.html#PySDM.products.particles_concentration.ParticleConcentration)
479
+ [`ParticleConcentration`](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/particle_concentration.html#ParticleConcentration)
480
480
  and the
481
481
  [`WaterMixingRatio `](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/water_mixing_ratio.html).
482
482
 
@@ -15,7 +15,6 @@ setup.py
15
15
  .github/workflows/cancel.yml
16
16
  .github/workflows/joss.yml
17
17
  .github/workflows/joss_paper.yml
18
- .github/workflows/pdoc_index_workaround.py
19
18
  .github/workflows/readme_snippets.yml
20
19
  .github/workflows/stale.yml
21
20
  .github/workflows/tests+artifacts+pypi.yml
@@ -633,6 +632,7 @@ paper/paper.md
633
632
  paper/paperv1.md
634
633
  paper/readme.pdf
635
634
  paper/test.pdf
635
+ pdoc_templates/index.html.jinja2
636
636
  tests/__init__.py
637
637
  tests/examples_tests/__init__.py
638
638
  tests/examples_tests/conftest.py
@@ -21,7 +21,7 @@
21
21
  [![Appveyor Build status](http://ci.appveyor.com/api/projects/status/github/open-atmos/PySDM?branch=main&svg=true)](https://ci.appveyor.com/project/slayoo/pysdm/branch/main)
22
22
  [![Coverage Status](https://codecov.io/gh/open-atmos/PySDM/branch/main/graph/badge.svg)](https://app.codecov.io/gh/open-atmos/PySDM)
23
23
  [![PyPI version](https://badge.fury.io/py/PySDM.svg)](https://pypi.org/project/PySDM)
24
- [![API docs](https://img.shields.io/badge/API_docs-pdoc3-blue.svg)](https://open-atmos.github.io/PySDM/)
24
+ [![API docs](https://shields.mitmproxy.org/badge/docs-pdoc.dev-brightgreen.svg)](https://open-atmos.github.io/PySDM/)
25
25
 
26
26
  PySDM is a package for simulating the dynamics of population of particles.
27
27
  It is intended to serve as a building block for simulation systems modelling
@@ -51,9 +51,9 @@ Like the examples, these tutorials can be executed or viewed "in the cloud" maki
51
51
  PySDM has two alternative parallel number-crunching backends
52
52
  available: multi-threaded CPU backend based on [Numba](http://numba.pydata.org/)
53
53
  and GPU-resident backend built on top of [ThrustRTC](https://pypi.org/project/ThrustRTC/).
54
- The [`Numba`](https://open-atmos.github.io/PySDM/PySDM/backends/numba/numba.html) backend (aliased ``CPU``) features multi-threaded parallelism for
54
+ The [`Numba`](https://open-atmos.github.io/PySDM/PySDM/backends/numba.html) backend (aliased ``CPU``) features multi-threaded parallelism for
55
55
  multi-core CPUs, it uses the just-in-time compilation technique based on the LLVM infrastructure.
56
- The [`ThrustRTC`](https://open-atmos.github.io/PySDM/PySDM/backends/thrustRTC/thrustRTC.html) backend (aliased ``GPU``) offers GPU-resident operation of PySDM
56
+ The [`ThrustRTC`](https://open-atmos.github.io/PySDM/PySDM/backends/thrust_rtc.html) backend (aliased ``GPU``) offers GPU-resident operation of PySDM
57
57
  leveraging the [SIMT](https://en.wikipedia.org/wiki/Single_instruction,_multiple_threads)
58
58
  parallelisation model.
59
59
  Using the ``GPU`` backend requires nVidia hardware and [CUDA driver](https://developer.nvidia.com/cuda-downloads).
@@ -65,7 +65,7 @@ For an overview of PySDM features (and the preferred way to cite PySDM in papers
65
65
  PySDM includes an extension of the SDM scheme to represent collisional breakup described in [de Jong, Mackay et al. 2023](10.5194/gmd-16-4193-2023).
66
66
  For a list of talks and other materials on PySDM as well as a list of published papers featuring PySDM simulations, see the [project wiki](https://github.com/open-atmos/PySDM/wiki).
67
67
 
68
- A [pdoc-generated](https://pdoc3.github.io/pdoc) documentation of PySDM public API is maintained at: [https://open-atmos.github.io/PySDM](https://open-atmos.github.io/PySDM)
68
+ A [pdoc-generated](https://pdoc.dev/) documentation of PySDM public API is maintained at: [https://open-atmos.github.io/PySDM](https://open-atmos.github.io/PySDM)
69
69
 
70
70
  ## Example Jupyter notebooks (reproducing results from literature):
71
71
 
@@ -175,8 +175,8 @@ In order to depict the PySDM API with a practical example, the following
175
175
  listings provide sample code roughly reproducing the
176
176
  Figure 2 from [Shima et al. 2009 paper](http://doi.org/10.1002/qj.441)
177
177
  using PySDM from Python, Julia and Matlab.
178
- It is a [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/coalescence.html)-only set-up in which the initial particle size
179
- spectrum is [`Exponential`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html#PySDM.initialisation.spectra.Exponential) and is deterministically sampled to match
178
+ It is a [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/sollision.html#Coalescence)-only set-up in which the initial particle size
179
+ spectrum is [`Exponential`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/exponential.html#Exponential) and is deterministically sampled to match
180
180
  the condition of each super-droplet having equal initial multiplicity:
181
181
  <details>
182
182
  <summary>Julia (click to expand)</summary>
@@ -230,9 +230,9 @@ attributes['volume'], attributes['multiplicity'] = ConstantMultiplicity(initial_
230
230
  ```
231
231
  </details>
232
232
 
233
- The key element of the PySDM interface is the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html)
233
+ The key element of the PySDM interface is the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator)
234
234
  class instances of which are used to manage the system state and control the simulation.
235
- Instantiation of the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html) class is handled by the [``Builder``](https://open-atmos.github.io/PySDM/PySDM/builder.html)
235
+ Instantiation of the [``Particulator``](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator) class is handled by the [``Builder``](https://open-atmos.github.io/PySDM/PySDM/builder.html#Builder)
236
236
  as exemplified below:
237
237
  <details>
238
238
  <summary>Julia (click to expand)</summary>
@@ -302,18 +302,18 @@ particulator = builder.build(attributes, products)
302
302
  The ``backend`` argument may be set to ``CPU`` or ``GPU``
303
303
  what translates to choosing the multi-threaded backend or the
304
304
  GPU-resident computation mode, respectively.
305
- The employed [`Box`](https://open-atmos.github.io/PySDM/PySDM/environments/box.html) environment corresponds to a zero-dimensional framework
305
+ The employed [`Box`](https://open-atmos.github.io/PySDM/PySDM/environments/box.html#Box) environment corresponds to a zero-dimensional framework
306
306
  (particle positions are not considered).
307
307
  The vectors of particle multiplicities ``n`` and particle volumes ``v`` are
308
308
  used to initialise super-droplet attributes.
309
- The [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/coalescence.html)
309
+ The [`Coalescence`](https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision.html#Coalescence)
310
310
  Monte-Carlo algorithm (Super Droplet Method) is registered as the only
311
311
  dynamic in the system.
312
- Finally, the [`build()`](https://open-atmos.github.io/PySDM/PySDM/builder.html#PySDM.builder.Builder.build) method is used to obtain an instance
313
- of [`Particulator`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#PySDM.particulator.Particulator) which can then be used to control time-stepping and
312
+ Finally, the [`build()`](https://open-atmos.github.io/PySDM/PySDM/builder.html#Builder.build) method is used to obtain an instance
313
+ of [`Particulator`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator) which can then be used to control time-stepping and
314
314
  access simulation state.
315
315
 
316
- The [`run(nt)`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#PySDM.particuparticulatorr.Particulator.run) method advances the simulation by ``nt`` timesteps.
316
+ The [`run(nt)`](https://open-atmos.github.io/PySDM/PySDM/particulator.html#Particulator.run) method advances the simulation by ``nt`` timesteps.
317
317
  In the listing below, its usage is interleaved with plotting logic
318
318
  which displays a histogram of particle mass distribution
319
319
  at selected timesteps:
@@ -430,16 +430,16 @@ The component submodules used to create this simulation are visualized below:
430
430
  SPECTRUM_INIT["ParticleVolumeVersusRadiusLogarithmSpectrum.__init__()"] -->|instantiates| SPECTRUM
431
431
  SPECTRUM[":ParticleVolumeVersusRadiusLogarithmSpectrum"] -->|added as element of| PRODUCTS
432
432
 
433
- click COAL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision.html"
433
+ click COAL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision.html#Coalescence"
434
434
  click BUILDER_INSTANCE "https://open-atmos.github.io/PySDM/PySDM/builder.html"
435
435
  click BUILDER_INIT "https://open-atmos.github.io/PySDM/PySDM/builder.html"
436
436
  click BUILDER_ADD_DYN "https://open-atmos.github.io/PySDM/PySDM/builder.html"
437
- click ENV_INIT "https://open-atmos.github.io/PySDM/PySDM/environments/index.html"
438
- click ENV "https://open-atmos.github.io/PySDM/PySDM/environments/index.html"
439
- click KERNEL_INIT "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels/index.html"
440
- click KERNEL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels/index.html"
441
- click EXP_INIT "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/index.html"
442
- click IS "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/index.html"
437
+ click ENV_INIT "https://open-atmos.github.io/PySDM/PySDM/environments.html"
438
+ click ENV "https://open-atmos.github.io/PySDM/PySDM/environments.html"
439
+ click KERNEL_INIT "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels.html"
440
+ click KERNEL "https://open-atmos.github.io/PySDM/PySDM/dynamics/collisions/collision_kernels.html"
441
+ click EXP_INIT "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html"
442
+ click IS "https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html"
443
443
  click CM_INIT "https://open-atmos.github.io/PySDM/PySDM/initialisation/sampling/spectral_sampling.html"
444
444
  click CM_INSTANCE "https://open-atmos.github.io/PySDM/PySDM/initialisation/sampling/spectral_sampling.html"
445
445
  click SAMPLE "https://open-atmos.github.io/PySDM/PySDM/initialisation/sampling/spectral_sampling.html"
@@ -455,7 +455,7 @@ The component submodules used to create this simulation are visualized below:
455
455
 
456
456
  In the following example, a condensation-only setup is used with the adiabatic
457
457
  [`Parcel`](https://open-atmos.github.io/PySDM/PySDM/environments/parcel.html) environment.
458
- An initial [`Lognormal`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra.html#PySDM.initialisation.spectra.Lognormal)
458
+ An initial [`Lognormal`](https://open-atmos.github.io/PySDM/PySDM/initialisation/spectra/lognormal.html#Lognormal)
459
459
  spectrum of dry aerosol particles is first initialised to equilibrium wet size for the given
460
460
  initial humidity.
461
461
  Subsequent particle growth due to [`Condensation`](https://open-atmos.github.io/PySDM/PySDM/dynamics/condensation.html) of water vapour (coupled with the release of latent heat)
@@ -465,7 +465,7 @@ Results of the simulation are plotted against vertical
465
465
  and depict the evolution of
466
466
  [`PeakSupersaturation`](https://open-atmos.github.io/PySDM/PySDM/products/condensation/peak_supersaturation.html),
467
467
  [`EffectiveRadius`](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/effective_radius.html),
468
- [`ParticleConcentration`](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/particle_concentration.html#PySDM.products.particles_concentration.ParticleConcentration)
468
+ [`ParticleConcentration`](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/particle_concentration.html#ParticleConcentration)
469
469
  and the
470
470
  [`WaterMixingRatio `](https://open-atmos.github.io/PySDM/PySDM/products/size_spectral/water_mixing_ratio.html).
471
471
 
@@ -0,0 +1,23 @@
1
+ {% extends "default/index.html.jinja2" %}
2
+
3
+ {% block title %}PySDM module list{% endblock %}
4
+
5
+ {% block nav %}
6
+ <h2>Available Modules</h2>
7
+ <ul>
8
+ {% for submodule in all_modules if "." not in submodule %}
9
+ <li><a href="{{ submodule.replace(".","/") }}.html">{{ submodule }}</a></li>
10
+ {% endfor %}
11
+ </ul>
12
+ {% endblock %}
13
+
14
+ {% block content %}
15
+ <main class="pdoc">
16
+
17
+ {% filter to_html %}
18
+ # PySDM documentation home page
19
+ {% endfilter %}
20
+
21
+ </main>
22
+ {% include "search.html.jinja2" %}
23
+ {% endblock %}
@@ -1,21 +0,0 @@
1
- """
2
- workaround for https://github.com/pdoc3/pdoc/issues/101#issuecomment-526957342
3
- extracted from pdoc's cli.py
4
- """
5
-
6
- import inspect
7
- from pdoc import import_module, _render_template
8
-
9
-
10
- modules = [
11
- import_module(module, reload=False)
12
- for module in ('PySDM', 'examples/PySDM_examples')
13
- ]
14
-
15
- with open('html/index.html', 'w', encoding='utf-8') as index:
16
- index.write(
17
- _render_template(
18
- '/html.mako',
19
- modules=sorted((module.__name__, inspect.getdoc(module)) for module in modules)
20
- )
21
- )
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