PySDM v1.0: Pythonic particle-based cloud microphysics package

master
dc.abstract.enPySDM 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/PySDMpl
dc.abstract.plPySDM 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/PySDMpl
dc.affiliationWydział Matematyki i Informatykipl
dc.areaobszar nauk ścisłychpl
dc.contributor.advisorArabas, Sylwesterpl
dc.contributor.authorBartman, Piotrpl
dc.contributor.departmentbycodeUJK/WMI2pl
dc.contributor.reviewerArabas, Sylwesterpl
dc.contributor.reviewerOchal, Anna - 131110 pl
dc.date.accessioned2020-10-20T19:18:05Z
dc.date.available2020-10-20T19:18:05Z
dc.date.submitted2020-09-09pl
dc.fieldofstudymodelowanie, sztuczna inteligencja i sterowaniepl
dc.identifier.apddiploma-141204-212279pl
dc.identifier.projectAPD / Opl
dc.identifier.urihttps://ruj.uj.edu.pl/xmlui/handle/item/249122
dc.languageengpl
dc.subject.enPython, atmospheric cloud modeling, GPU, Numba, numerical methods, ODE, PDE, Monte-Carlo, mathematical modeling, adaptivity time step, parallel computingpl
dc.subject.plPython, modelowanie chmur atmosferycznych, GPU, Numba, metody numeryczne, RRZ, RRC, Monte-Carlo, modelowanie matematyczne, adaptacyjność kroku czasowego, obliczenia równoległepl
dc.titlePySDM v1.0: Pythonic particle-based cloud microphysics packagepl
dc.title.alternativePySDM v1.0: Pythoniczny pakiet mikrofizyki chmur opartej na cząsteczkachpl
dc.typemasterpl
dspace.entity.typePublication
dc.abstract.enpl
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.plpl
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
dc.affiliationpl
Wydział Matematyki i Informatyki
dc.areapl
obszar nauk ścisłych
dc.contributor.advisorpl
Arabas, Sylwester
dc.contributor.authorpl
Bartman, Piotr
dc.contributor.departmentbycodepl
UJK/WMI2
dc.contributor.reviewerpl
Arabas, Sylwester
dc.contributor.reviewerpl
Ochal, Anna - 131110
dc.date.accessioned
2020-10-20T19:18:05Z
dc.date.available
2020-10-20T19:18:05Z
dc.date.submittedpl
2020-09-09
dc.fieldofstudypl
modelowanie, sztuczna inteligencja i sterowanie
dc.identifier.apdpl
diploma-141204-212279
dc.identifier.projectpl
APD / O
dc.identifier.uri
https://ruj.uj.edu.pl/xmlui/handle/item/249122
dc.languagepl
eng
dc.subject.enpl
Python, atmospheric cloud modeling, GPU, Numba, numerical methods, ODE, PDE, Monte-Carlo, mathematical modeling, adaptivity time step, parallel computing
dc.subject.plpl
Python, modelowanie chmur atmosferycznych, GPU, Numba, metody numeryczne, RRZ, RRC, Monte-Carlo, modelowanie matematyczne, adaptacyjność kroku czasowego, obliczenia równoległe
dc.titlepl
PySDM v1.0: Pythonic particle-based cloud microphysics package
dc.title.alternativepl
PySDM v1.0: Pythoniczny pakiet mikrofizyki chmur opartej na cząsteczkach
dc.typepl
master
dspace.entity.type
Publication
Affiliations

* The migration of download and view statistics prior to the date of April 8, 2024 is in progress.

Views
29
Views per month
Views per city
Krakow
5
Otwock
5
Warsaw
4
Urbana
2
Wroclaw
2
Ahmedabad
1
Bühl
1
Delhi
1
Denver
1
Dublin
1

No access

No Thumbnail Available