Simple view
Full metadata view
Authors
Statistics
PySDM v1.0: Pythonic particle-based cloud microphysics package
PySDM v1.0: Pythoniczny pakiet mikrofizyki chmur opartej na cząsteczkach
Python, modelowanie chmur atmosferycznych, GPU, Numba, metody numeryczne, RRZ, RRC, Monte-Carlo, modelowanie matematyczne, adaptacyjność kroku czasowego, obliczenia równoległe
Python, atmospheric cloud modeling, GPU, Numba, numerical methods, ODE, PDE, Monte-Carlo, mathematical modeling, adaptivity time step, parallel computing
PySDM jest nowym pakietem otwartego oprogramowania służącym do symulacji mikrofizyki chmur metodą super-kropel'', w szczególności do badania ewolucji populacji kropelek zawieszonych w wilgotnym powietrzu. Rdzeniem pakietu jest pythoniczna implementacja algorytmu Super-Droplet Method (SDM) - schematu typu Monte-Carlo do reprezentacji wzrostu kropel przez zderzenia. Opracowana implementacja wprowadza rozszerzenie algorytmu SDM o adaptacyjny dobór kroku czasowego. Architektura PySDM wyodrębnia warstwę odpowiedzialną za obliczenia - backend. Rozwijane implementacje backendów bazują na bibliotekach Numba (obliczenia na CPU, wielowątkowość) i ThrustRTC (obliczenia na GPU). Implementacje te wykorzystują dwa różne mechanizmy umożliwiające wysokowydajne obliczenia bazujące na kodzie w języku Python określane, odpowiednio, mianami kompilacji just-in-time'' oraz ``kompilacji w czasie wykonania''. W rezultacie PySDM oferuje wydajność równoważną rozwiązaniom opartym o języki kompilowane przy jednoczesnym zachowaniu takich zalet Pythona jak zwięzły i czytelny kod oraz bezproblemowa przenaszalność pomiędzy systemami operacyjnymi (Windows, OSX i Linux). PySDM, wraz z załączonymi przykładami użycia, stanowi narzędzie do badań nad procesami mikrofizycznymi w chmurach oraz do testowania i rozwoju metod modelowania chmur. Opracowane przykłady bazują na interaktywnej platformie Jupyter umożliwiającej kontrolę symulacji przy pomocy przeglądarki. Praca zawiera krótki wstęp do modelowania chmur i symulacji opartych na cząstkach (rozdział 1), opis procesów koalescencji i kondensacji razem z numerycznymi solverami i zaproponowaną adaptacyjnością (rozdziały 2,3). Przykładowa dwuwymiarowa symulacja chmury kłębiasto-warstwowej zaprezentowana jest w rozdziale 4. Opis architektury i dyskusja aspektów wydajnościowych przedstawione są, odpowiednio, w rozdziałach 5 i 6. Rozdział 7 podsumowuje pracę i przedstawia przewidywane kierunki rozwoju PySDM. Repozytorium projektu: http://github.com/atmos-cloud-sim-uj/PySDM
PySDM is a new open-source cloud microphysics simulation package for modeling the dynamics of particle population in moist air using the super-droplet approach. The package core is a Pythonic implementation of the Super-Droplet Method (SDM), a Monte-Carlo algorithm for representing cloud droplet collisional growth. The implementation introduces an extension to the SDM algorithm offering adaptive time stepping. PySDM architecture features separation of a number-crunching layer - backend. The developed backend implementations based on Numba (CPU computing, multi-threading) and ThrustRTC (GPU computing) leverage different Python acceleration techniques dubbed just-in-time and runtime compilation, respectively. As a result, PySDM offers performance on par with compiled-language solutions with little-to-no trade-offs with respect to such advantages of the Python language as succinct and readable source code and portability (seamless interoperability between Windows, OSX and Linux). PySDM together with a set of bundled usage examples constitutes a tool for research on cloud microphysical processes, and for testing and development of novel modeling methods. The usage examples were developed embracing the Jupyter interactive platform allowing control of the simulations via web browser. The thesis contains short introduction to cloud modeling and particle based simulations (chapter 1), description of coalescence and condensation processes together with numerical solvers and proposed adaptivity (chapters 2,3). Example 2D simulation of stratocumulus is presented in chapter 4. Description of package architecture and discussion about performance aspects are covered in chapters 5 and 6, respectively. Chapter 7 summarizes the thesis and outlines foreseen directions in development of PySDM. Project repository: http://github.com/atmos-cloud-sim-uj/PySDM
| dc.abstract.en | PySDM is a new open-source cloud microphysics simulation package for modeling the dynamics of particle population in moist air using the super-droplet approach. The package core is a Pythonic implementation of the Super-Droplet Method (SDM), a Monte-Carlo algorithm for representing cloud droplet collisional growth. The implementation introduces an extension to the SDM algorithm offering adaptive time stepping. PySDM architecture features separation of a number-crunching layer - backend. The developed backend implementations based on Numba (CPU computing, multi-threading) and ThrustRTC (GPU computing) leverage different Python acceleration techniques dubbed just-in-time and runtime compilation, respectively. As a result, PySDM offers performance on par with compiled-language solutions with little-to-no trade-offs with respect to such advantages of the Python language as succinct and readable source code and portability (seamless interoperability between Windows, OSX and Linux). PySDM together with a set of bundled usage examples constitutes a tool for research on cloud microphysical processes, and for testing and development of novel modeling methods. The usage examples were developed embracing the Jupyter interactive platform allowing control of the simulations via web browser. The thesis contains short introduction to cloud modeling and particle based simulations (chapter 1), description of coalescence and condensation processes together with numerical solvers and proposed adaptivity (chapters 2,3). Example 2D simulation of stratocumulus is presented in chapter 4. Description of package architecture and discussion about performance aspects are covered in chapters 5 and 6, respectively. Chapter 7 summarizes the thesis and outlines foreseen directions in development of PySDM. Project repository: http://github.com/atmos-cloud-sim-uj/PySDM | pl |
| dc.abstract.pl | PySDM jest nowym pakietem otwartego oprogramowania służącym do symulacji mikrofizyki chmur metodą ``super-kropel'', w szczególności do badania ewolucji populacji kropelek zawieszonych w wilgotnym powietrzu. Rdzeniem pakietu jest pythoniczna implementacja algorytmu Super-Droplet Method (SDM) - schematu typu Monte-Carlo do reprezentacji wzrostu kropel przez zderzenia. Opracowana implementacja wprowadza rozszerzenie algorytmu SDM o adaptacyjny dobór kroku czasowego. Architektura PySDM wyodrębnia warstwę odpowiedzialną za obliczenia - backend. Rozwijane implementacje backendów bazują na bibliotekach Numba (obliczenia na CPU, wielowątkowość) i ThrustRTC (obliczenia na GPU). Implementacje te wykorzystują dwa różne mechanizmy umożliwiające wysokowydajne obliczenia bazujące na kodzie w języku Python określane, odpowiednio, mianami kompilacji ``just-in-time'' oraz ``kompilacji w czasie wykonania''. W rezultacie PySDM oferuje wydajność równoważną rozwiązaniom opartym o języki kompilowane przy jednoczesnym zachowaniu takich zalet Pythona jak zwięzły i czytelny kod oraz bezproblemowa przenaszalność pomiędzy systemami operacyjnymi (Windows, OSX i Linux). PySDM, wraz z załączonymi przykładami użycia, stanowi narzędzie do badań nad procesami mikrofizycznymi w chmurach oraz do testowania i rozwoju metod modelowania chmur. Opracowane przykłady bazują na interaktywnej platformie Jupyter umożliwiającej kontrolę symulacji przy pomocy przeglądarki. Praca zawiera krótki wstęp do modelowania chmur i symulacji opartych na cząstkach (rozdział 1), opis procesów koalescencji i kondensacji razem z numerycznymi solverami i zaproponowaną adaptacyjnością (rozdziały 2,3). Przykładowa dwuwymiarowa symulacja chmury kłębiasto-warstwowej zaprezentowana jest w rozdziale 4. Opis architektury i dyskusja aspektów wydajnościowych przedstawione są, odpowiednio, w rozdziałach 5 i 6. Rozdział 7 podsumowuje pracę i przedstawia przewidywane kierunki rozwoju PySDM. Repozytorium projektu: http://github.com/atmos-cloud-sim-uj/PySDM | pl |
| dc.affiliation | Wydział Matematyki i Informatyki | pl |
| dc.area | obszar nauk ścisłych | pl |
| dc.contributor.advisor | Arabas, Sylwester | pl |
| dc.contributor.author | Bartman, Piotr | pl |
| dc.contributor.departmentbycode | UJK/WMI2 | pl |
| dc.contributor.reviewer | Arabas, Sylwester | pl |
| dc.contributor.reviewer | Ochal, Anna - 131110 | pl |
| dc.date.accessioned | 2020-10-20T19:18:05Z | |
| dc.date.available | 2020-10-20T19:18:05Z | |
| dc.date.submitted | 2020-09-09 | pl |
| dc.fieldofstudy | modelowanie, sztuczna inteligencja i sterowanie | pl |
| dc.identifier.apd | diploma-141204-212279 | pl |
| dc.identifier.project | APD / O | pl |
| dc.identifier.uri | https://ruj.uj.edu.pl/xmlui/handle/item/249122 | |
| dc.language | eng | pl |
| dc.subject.en | Python, atmospheric cloud modeling, GPU, Numba, numerical methods, ODE, PDE, Monte-Carlo, mathematical modeling, adaptivity time step, parallel computing | pl |
| dc.subject.pl | Python, modelowanie chmur atmosferycznych, GPU, Numba, metody numeryczne, RRZ, RRC, Monte-Carlo, modelowanie matematyczne, adaptacyjność kroku czasowego, obliczenia równoległe | pl |
| dc.title | PySDM v1.0: Pythonic particle-based cloud microphysics package | pl |
| dc.title.alternative | PySDM v1.0: Pythoniczny pakiet mikrofizyki chmur opartej na cząsteczkach | pl |
| dc.type | master | pl |
| dspace.entity.type | Publication |