Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new example: buoyant-bubble with a Boussinesq system (velocity extrapolation in time + pressure solver) (AGH eng. project by Michał Kowalczyk @Caastlefox) #495

Merged
merged 53 commits into from
Jan 29, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
71a2551
Create boussinesq.py
Caastlefox Oct 22, 2024
57f114e
Update boussinesq.py
Caastlefox Oct 22, 2024
14f0956
Merge branch 'open-atmos:main' into main
Caastlefox Nov 3, 2024
7a89ae9
first smoketest draft
Nov 5, 2024
fbc3424
program draft created, some draft functions filled
Nov 28, 2024
b83b0d6
working base achieved, not debugged though
Dec 17, 2024
0b047c6
vip_rhs check
Dec 17, 2024
fc2bb3a
11x17 setup
slayoo Dec 19, 2024
c1c7e33
sanitize xchange() code
slayoo Dec 19, 2024
a836ec7
small changes
Dec 30, 2024
03d5b83
plottting labels added
Jan 2, 2025
a3eebd2
code simplified finalize and ante loop removed
Jan 2, 2025
85e52d6
first well working version
Jan 3, 2025
d4abcbc
changes to solver and to chart
Jan 4, 2025
bd0f1e8
xchange plugged into PyMPDATA API
Jan 4, 2025
bdbf37e
first nitebook presentation done
Jan 4, 2025
afc538d
removed trailing lines
Jan 5, 2025
5636111
removed trailing lines
Jan 5, 2025
759ecce
Merge branch 'development' of https://github.com/Caastlefox/PyMPDATA …
Jan 5, 2025
cabefac
Merge branch 'development' of https://github.com/Caastlefox/PyMPDATA …
Jan 5, 2025
43edd92
Merge branch 'development' of https://github.com/Caastlefox/PyMPDATA …
Jan 5, 2025
3ed0d4c
old file causing pylint issues deleted
Jan 5, 2025
c1a82d6
too long lines rewrittem
Jan 5, 2025
0dafbc8
temp and boussinesq ignored by git
Jan 5, 2025
57a029b
C0304: Final newline missing (missing-final-newline) fixed
Jan 5, 2025
219a9f3
bad indentation, superflous parens and various different errors fixe…
Jan 6, 2025
1c87292
basic equation description added
Jan 7, 2025
58fc3bc
extrapolation in time and fill_stash jitted
Jan 8, 2025
ecec131
first np.ndarray add
Jan 8, 2025
c638f80
grad jitted
Jan 8, 2025
7c3e6e9
more jitting
Jan 8, 2025
3d8d129
working version
Jan 8, 2025
3d59fcc
error with jitted functions fixed
Jan 9, 2025
277684c
small tweaks to make it more readable
Jan 14, 2025
aff651e
final version for engineering project
Jan 14, 2025
e064f9b
pylint fixes to finish pull request
Jan 27, 2025
82fa5bc
precommit + devops revert
Jan 28, 2025
e0495c9
Merge branch 'open-atmos:main' into development
Caastlefox Jan 28, 2025
e2c0e41
three required badges added
Jan 28, 2025
f450933
Merge branch 'development' of https://github.com/Caastlefox/PyMPDATA …
Jan 28, 2025
d5d51ec
fixes for devops tests
Jan 28, 2025
8706275
add basic smoke test using notebook_vars
slayoo Jan 28, 2025
1b5c188
Update tests.yml
Caastlefox Jan 28, 2025
d454d0b
test added to workflow, blbliography and animation added to documenta…
Jan 28, 2025
8cb99af
add MK to credits in .zenodo.json
slayoo Jan 28, 2025
4f320cd
add missing -e pip arg in test workflow
slayoo Jan 28, 2025
eccefc0
add missing bib usages
slayoo Jan 28, 2025
1c2627b
restrict ipykernel version
slayoo Jan 28, 2025
f914599
leftover cleanups
slayoo Jan 28, 2025
a028a86
fix tests
slayoo Jan 28, 2025
e29cba8
add nopython=True to default options (it is not the default on older …
slayoo Jan 28, 2025
4e8b872
remove nopython=True to default options but add import njit as jit to…
slayoo Jan 28, 2025
d98e06f
remove nopython=True to default options but add import njit as jit to…
slayoo Jan 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ jobs:
- run: |
python -m pip install $PIP_INSTALL_ARGS -e . # to check if usable without test/example dependencies
python -We -c "import PyMPDATA"
python -m pip install $PIP_INSTALL_ARGS -e .[tests] ./examples
python -m pip install $PIP_INSTALL_ARGS -e .[tests] -e ./examples

# https://github.com/numba/numba/issues/6350#issuecomment-728174860
- if: startsWith(matrix.platform, 'ubuntu-')
Expand Down Expand Up @@ -161,7 +161,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- run: python -m pip install $PIP_INSTALL_ARGS -e .[tests] ./examples
- run: python -m pip install $PIP_INSTALL_ARGS -e .[tests] -e ./examples
- run: python -m pip install $PIP_INSTALL_ARGS -r tests/devops_tests/requirements.txt
- if: matrix.platform == 'ubuntu-latest'
run: |
Expand Down Expand Up @@ -189,6 +189,7 @@ jobs:
run: |
mkdir -p /home/runner/work/_temp/_github_home/figures
rm /tmp/pytest-of-runner/pytest-current/test_run_notebooks_examples_Pycurrent
mv /tmp/pytest-of-runner/pytest-current/test_run_notebooks_examples_*/boussinesq_2d_anim.gif /home/runner/work/_temp/_github_home/figures
mv /tmp/pytest-of-runner/pytest-current/test_run_notebooks_examples_*/fig_4.svg /home/runner/work/_temp/_github_home/figures
mv /tmp/pytest-of-runner/pytest-current/test_run_notebooks_examples_*/advection_diffusion.gif /home/runner/work/_temp/_github_home/figures

Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -157,4 +157,4 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
.idea/
.idea/
14 changes: 7 additions & 7 deletions .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,8 @@
"name": "Drenda, Szymon"
},
{
"affiliation": "Jagiellonian University, Kraków, Poland",
"name": "Manna, Maciej"
},
{
"affiliation": "Jagiellonian University, Kraków, Poland",
"name": "Olesik, Michael",
"orcid": "0000-0002-6319-9358"
"affiliation": "AGH University of Krakow, Poland",
"name": "Michał Kowalczyk"
},
{
"affiliation": "AGH University of Krakow, Poland",
Expand All @@ -42,6 +37,11 @@
"affiliation": "Jagiellonian University, Kraków, Poland",
"name": "Manna, Maciej"
},
{
"affiliation": "Jagiellonian University, Kraków, Poland",
"name": "Olesik, Michael",
"orcid": "0000-0002-6319-9358"
},
{
"affiliation": "Jagiellonian University, Kraków, Poland",
"name": "Rozwoda, Paweł"
Expand Down
22 changes: 20 additions & 2 deletions docs/bibliography.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@
"https://doi.org/10.1006/jcph.1998.5901": {
"usages": [
"README.md",
"docs/markdown/pympdata_landing.md"
"docs/markdown/pympdata_landing.md",
"examples/PyMPDATA_examples/Jaruga_et_al_2015/fig19.ipynb"
],
"label": "Smolarkiewicz & Margolin 1998 (J. Comp. Phys. 140)",
"title": "MPDATA: A Finite-Difference Solver for Geophysical Flows"
Expand Down Expand Up @@ -112,7 +113,9 @@
"usages": [
"docs/markdown/pympdata_landing.md",
"examples/PyMPDATA_examples/Molenkamp_test_as_in_Jaruga_et_al_2015_Fig_12/demo.ipynb",
"examples/PyMPDATA_examples/Molenkamp_test_as_in_Jaruga_et_al_2015_Fig_12/__init__.py"
"examples/PyMPDATA_examples/Molenkamp_test_as_in_Jaruga_et_al_2015_Fig_12/__init__.py",
"tests/smoke_tests/jaruga_et_al_2015/test_boussinesq.py",
"examples/PyMPDATA_examples/Jaruga_et_al_2015/fig19.ipynb"
],
"label": "Jaruga et al. 2015 (Geosci. Model Dev. 8)",
"title": "libmpdata++ 1.0: a library of parallel MPDATA solvers for systems of generalised transport equations "
Expand Down Expand Up @@ -153,5 +156,20 @@
],
"label": "Molenkamp 1968 (J. Appl. Meteorol. Climatol. 7)",
"title": "Accuracy of Finite-Difference Methods Applied to the Advection Equation"
},
"https://osti.gov/biblio/785403": {
"usages": [
"examples/PyMPDATA_examples/Jaruga_et_al_2015/fig19.ipynb"
],
"label": "Smolarkiewicz & Margolin 2000 (LANL report)",
"title": "Variational methods for elliptic problems in fluid models"
},
"https://doi.org/10.1175/1520-0469(1992)049%3C2082:ACOSLA%3E2.0.CO;2": {
"usages": [
"examples/PyMPDATA_examples/Jaruga_et_al_2015/fig19.ipynb",
"tests/smoke_tests/jaruga_et_al_2015/test_boussinesq.py"
],
"label": "Smolarkiewicz and Pudykiewicz 1992 (J. Atmos. Sci. 49)",
"title": "A Class of Semi-Lagrangian Approximations for Fluids"
}
}
1 change: 1 addition & 0 deletions docs/templates/index.html.jinja2
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
<h2>What is PyMPDATA?</h2>
<p>
<img align="right" src="https://github.com/open-atmos/PyMPDATA-MPI/releases/download/latest-generated-plots/n_iters.3_rank_0_size_1_c_field_.0.5.0.25._mpi_dim_0_n_threads_3-CartesianScenario-anim.gif">
<img align="right" src="https://github.com/open-atmos/PyMPDATA/releases/download/tip/boussinesq_2d_anim.gif">
PyMPDATA is a <b><a href="https://numba.pydata.org">Numba-accelerated</a></b> <mark>multi-threaded</mark> Pythonic implementation of the
<b>MPDATA algorithm</b> of <a href="https://doi.org/10.1016/0021-9991(84)90121-9">Smolarkiewicz et al.</a> used in
<mark>geophysical fluid dynamics</mark> and beyond for
Expand Down
Empty file.
Loading