diff --git a/.github/workflows/build-book-pullrequest.yaml b/.github/workflows/build-book-pullrequest.yaml
index 186039b22..0de5ab90b 100644
--- a/.github/workflows/build-book-pullrequest.yaml
+++ b/.github/workflows/build-book-pullrequest.yaml
@@ -28,7 +28,7 @@ permissions:
contents: read
env:
- DOCKER_TAG: pr_105
+ DOCKER_TAG: pr_104
jobs:
build-book:
diff --git a/.github/workflows/build-book.yaml b/.github/workflows/build-book.yaml
index c54f7d1a2..3166035cf 100644
--- a/.github/workflows/build-book.yaml
+++ b/.github/workflows/build-book.yaml
@@ -25,7 +25,7 @@ on:
type: string # had a lot of trouble with boolean types, see https://github.com/actions/runner/issues/1483
env:
- DOCKER_TAG: pr_105
+ DOCKER_TAG: pr_104
jobs:
build-container:
diff --git a/.github/workflows/deploy-book.yaml b/.github/workflows/deploy-book.yaml
index 620f18a93..dbc86dd9d 100644
--- a/.github/workflows/deploy-book.yaml
+++ b/.github/workflows/deploy-book.yaml
@@ -12,7 +12,7 @@ jobs:
uses: ./.github/workflows/build-book.yaml
with:
environment_name: erad-2024-dev
- environment_file: environment.yml
+ environment_file: binder/environment.yml
path_to_notebooks: ./
deploy:
diff --git a/.github/workflows/publish-book.yaml b/.github/workflows/publish-book.yaml
index bd71a989d..f5209679b 100644
--- a/.github/workflows/publish-book.yaml
+++ b/.github/workflows/publish-book.yaml
@@ -10,12 +10,12 @@ jobs:
uses: ./.github/workflows/build-book.yaml
with:
environment_name: erad-2024-dev
- environment_file: environment.yml
+ environment_file: binder/environment.yml
path_to_notebooks: ./
link-check:
uses: ./.github/workflows/link-checker.yaml
with:
environment_name: erad-2024-dev
- environment_file: environment.yml
+ environment_file: binder/environment.yml
path_to_notebooks: ./
diff --git a/binder/Dockerfile b/binder/Dockerfile
index 3f29db3c7..d09936008 100644
--- a/binder/Dockerfile
+++ b/binder/Dockerfile
@@ -1 +1 @@
-FROM ghcr.io/openradar/erad2024:pr_105
+FROM ghcr.io/openradar/erad2024:pr_104
diff --git a/binder/environment.yml b/binder/environment.yml
index d6642c7dc..39fcf937f 100644
--- a/binder/environment.yml
+++ b/binder/environment.yml
@@ -63,6 +63,7 @@ dependencies:
- rioxarray
# needed for LROSE / pyrad
- metpy
+ - jupyterlab_rise
- pip
- pip:
- git+https://github.com/pydata/xarray@d33e4ad9407591cc7287973b0f8da47cae396004
diff --git a/environment.yml b/environment.yml
deleted file mode 100644
index 2503c32e1..000000000
--- a/environment.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: erad2024-dev
-channels:
- - conda-forge
-dependencies:
- - jupyter-book
- - jupyterlab
- - jupyter_server
- - sphinx-pythia-theme
- - arm_pyart
- - cartopy
- - matplotlib
- - numpy
- - pydda
- - pyrad_arm
- - wradlib
- - xradar>=0.6.3
- - numpy<2.0
- - python<=3.11
- - mystmd
- - pip
- - pip:
- - git+https://github.com/pydata/xarray@d33e4ad9407591cc7287973b0f8da47cae396004
diff --git a/myst.yml b/myst.yml
index a53d9d7aa..ed40ece75 100755
--- a/myst.yml
+++ b/myst.yml
@@ -52,12 +52,8 @@ project:
copyright: '2024'
toc:
- file: README.md
- - title: Preamble
- children:
- - file: notebooks/how-to-cite.md
- - title: Schedule
- children:
- - file: schedule.md
+ - file: notebooks/how-to-cite.md
+ - file: schedule.md
- title: Getting started
children:
- file: getting_started.md
@@ -65,16 +61,13 @@ project:
- file: notebooks/environment.ipynb
- title: Radar Software Foundations
children:
- - title: XRadar
- children:
- - file: notebooks/xradar-pyart/xradar-basics.ipynb
+ - file: presentations/intro-to-open-radar-science.ipynb
+ - file: notebooks/xradar-pyart/xradar-basics.ipynb
- title: Py-ART and wradlib
children:
- file: notebooks/xradar-pyart/pyart-basics.ipynb
- file: notebooks/wradlib/wradlib_clutter_beamblockage.ipynb
- - title: GPM-API
- children:
- - file: notebooks/gpm-api/gpm-api-intro.ipynb
+ - file: notebooks/gpm-api/gpm-api-intro.ipynb
- title: BALTRAD
children:
- pattern: notebooks/baltrad/baltrad_short_course/*.ipynb
@@ -83,23 +76,24 @@ project:
- title: LROSE
children:
- file: notebooks/lrose/LROSE_Basics.ipynb
- - file: notebooks/lrose/LROSE_ERAD_fractl_samurai.ipynb
- - file: notebooks/lrose/DD_Tornado_ERAD2024.ipynb
+ - file: notebooks/lrose/DD_Tornado_ERAD24.ipynb
+
- file: notebooks/lrose/testing/stress_testing.ipynb
- - title: Notebook Environment
- children:
- - file: notebooks/environment.ipynb
- - title: Retrieving winds with PyDDA
- children:
- - file: notebooks/Retrieving_winds_with_pydda.ipynb
- - title: ARCO Radar Datasets
+ - title: Project Workflows
children:
- - file: notebooks/Analysis-Ready/ARCO-Datasets.ipynb
- - file: notebooks/Analysis-Ready/QPE-QVPs.ipynb
- - title: Spaceborne - Ground Radar Matching and Calibration
- children:
- - file: notebooks/gpm-api/SR_GR_Calibration_Applied.ipynb
- - file: notebooks/gpm-api/SR_GR_Matching_Procedure.ipynb
+ - title: LROSE & PyDDA multi doppler analysis
+ children:
+ - file: notebooks/Retrieving_winds_with_pydda.ipynb
+ - file: notebooks/lrose/LROSE_ERAD_fractl_samurai.ipynb
+ - title: ARCO Radar Datasets
+ children:
+ - file: notebooks/Analysis-Ready/ARCO-Datasets.ipynb
+ - file: notebooks/Analysis-Ready/QPE-QVPs.ipynb
+ - title: Spaceborne - Ground Radar Matching and Calibration
+ children:
+ - file: notebooks/gpm-api/SR_GR_Calibration_Applied.ipynb
+ - file: notebooks/gpm-api/SR_GR_Matching_Procedure.ipynb
+ - file: notebooks/pyrad/description-pyrad-tutorial.ipynb
jupyter:
binder:
repo: openradar/erad2024
@@ -107,6 +101,8 @@ project:
abbreviations:
ARM: Atmospheric Radiation Measurement
NCAR: National Center for Atmospheric Research
+ settings:
+ output_matplotlib_strings: remove
site:
options:
favicon: notebooks/images/icons/favicon.ico
@@ -115,8 +111,10 @@ site:
nav:
- title: Conference Home
url: https://www.erad2024.it
- - title: Open Radar Community
+ - title: Community
url: https://openradarscience.org
+ - title: Discourse
+ url: https://openradar.discourse.group/
actions:
- title: Launch Environment
url: https://binder.projectpythia.org/v2/gh/openradar/erad2024/main?labpath=notebooks
diff --git a/notebooks/environment.ipynb b/notebooks/environment.ipynb
index 9ef1c9be4..16e930f20 100644
--- a/notebooks/environment.ipynb
+++ b/notebooks/environment.ipynb
@@ -4,16 +4,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Environment overview"
+ "# Environment overview\n",
+ "\n",
+ "This notebook gives a short over view over the installed packages and the environment.\n"
]
},
{
- "cell_type": "code",
- "execution_count": null,
+ "cell_type": "markdown",
"metadata": {},
- "outputs": [],
"source": [
- "!env"
+ "## Linux Environment"
]
},
{
@@ -22,16 +22,14 @@
"metadata": {},
"outputs": [],
"source": [
- "!conda list"
+ "!env"
]
},
{
- "cell_type": "code",
- "execution_count": null,
+ "cell_type": "markdown",
"metadata": {},
- "outputs": [],
"source": [
- "import wradlib as wrl"
+ "## Conda Environment"
]
},
{
@@ -40,7 +38,7 @@
"metadata": {},
"outputs": [],
"source": [
- "wrl.show_versions()"
+ "!conda list"
]
}
],
diff --git a/notebooks/how-to-cite.md b/notebooks/how-to-cite.md
index 04ae30ad3..fbb3ce18a 100644
--- a/notebooks/how-to-cite.md
+++ b/notebooks/how-to-cite.md
@@ -1,4 +1,4 @@
-# How to Cite This Cookbook
+# How to Cite
The material in this Project Pythia Cookbook is licensed for free and open consumption and reuse. All code is served under [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0), while all non-code content is licensed under [Creative Commons BY 4.0 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/). Effectively, this means you are free to share and adapt this material so long as you give appropriate credit to the Cookbook authors and the Project Pythia community.
diff --git a/notebooks/pyrad/description-pyrad-tutorial.ipynb b/notebooks/pyrad/description-pyrad-tutorial.ipynb
index b0e4891f7..9e24998ce 100644
--- a/notebooks/pyrad/description-pyrad-tutorial.ipynb
+++ b/notebooks/pyrad/description-pyrad-tutorial.ipynb
@@ -6,7 +6,7 @@
"jp-MarkdownHeadingCollapsed": true
},
"source": [
- "# Pyrad tutorial\n",
+ "# Pyrad QPE Exercise\n",
"\n",
"- An overview of pyrad is provided [here](../../presentations/pdf/Pyrad_architecture_and_principles.pdf).\n",
"- Pyrad documentation can be found [here](https://meteoswiss.github.io/pyrad/).\n",
@@ -84,8 +84,8 @@
"# Beyond QPE\n",
"\n",
"Pyrad has much more features available than just QPE. Have a look at the two config file sets that covers other projects discussed in this course:\n",
- "- [Dual-Doppler analysis using PyDDA](../../pyrad/config/dda.txt)\n",
- "- [Quasi-Vertical profiles](../../pyrad/config/qvp.txt)\n",
+ "- [Dual-Doppler analysis using PyDDA](../../pyrad/config-examples/dda.txt)\n",
+ "- [Quasi-Vertical profiles](../../pyrad/config-examples/qvp.txt)\n",
"\n",
"There are many more examples of config files available in the [Pyrad examples repository](https://github.com/MeteoSwiss/pyrad-examples/).\n",
"\n",
@@ -107,11 +107,6 @@
}
],
"metadata": {
- "kernelspec": {
- "display_name": "Python 3 (ipykernel)",
- "language": "python",
- "name": "python3"
- },
"language_info": {
"codemirror_mode": {
"name": "ipython",
diff --git a/presentations/images/baltrad-functionality.svg b/presentations/images/baltrad-functionality.svg
new file mode 100644
index 000000000..7c65cdfc3
--- /dev/null
+++ b/presentations/images/baltrad-functionality.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/presentations/images/baltrad-images.png b/presentations/images/baltrad-images.png
new file mode 100644
index 000000000..05c9836e5
Binary files /dev/null and b/presentations/images/baltrad-images.png differ
diff --git a/presentations/images/lrose-functionality.svg b/presentations/images/lrose-functionality.svg
new file mode 100644
index 000000000..4e97be27d
--- /dev/null
+++ b/presentations/images/lrose-functionality.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/presentations/images/lrose-images.png b/presentations/images/lrose-images.png
new file mode 100644
index 000000000..ff98ae0be
Binary files /dev/null and b/presentations/images/lrose-images.png differ
diff --git a/presentations/images/open-radar-forum.png b/presentations/images/open-radar-forum.png
new file mode 100644
index 000000000..3ff314520
Binary files /dev/null and b/presentations/images/open-radar-forum.png differ
diff --git a/presentations/images/open-radar-tools.png b/presentations/images/open-radar-tools.png
new file mode 100644
index 000000000..ea90696cc
Binary files /dev/null and b/presentations/images/open-radar-tools.png differ
diff --git a/presentations/images/open-radar-workflow-tasks.png b/presentations/images/open-radar-workflow-tasks.png
new file mode 100644
index 000000000..04b9fe74e
Binary files /dev/null and b/presentations/images/open-radar-workflow-tasks.png differ
diff --git a/presentations/images/openradar-landing-page.png b/presentations/images/openradar-landing-page.png
new file mode 100644
index 000000000..c3cb94833
Binary files /dev/null and b/presentations/images/openradar-landing-page.png differ
diff --git a/presentations/images/pyart-functionality.svg b/presentations/images/pyart-functionality.svg
new file mode 100644
index 000000000..fc82a64ba
--- /dev/null
+++ b/presentations/images/pyart-functionality.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/presentations/images/pyart-images.png b/presentations/images/pyart-images.png
new file mode 100644
index 000000000..7abc526ab
Binary files /dev/null and b/presentations/images/pyart-images.png differ
diff --git a/presentations/images/pyrad-functionality.svg b/presentations/images/pyrad-functionality.svg
new file mode 100644
index 000000000..04b335ab6
--- /dev/null
+++ b/presentations/images/pyrad-functionality.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/presentations/images/pyrad-images.jpg b/presentations/images/pyrad-images.jpg
new file mode 100644
index 000000000..1a432200e
Binary files /dev/null and b/presentations/images/pyrad-images.jpg differ
diff --git a/presentations/images/secret-sauce.png b/presentations/images/secret-sauce.png
new file mode 100644
index 000000000..2e28d858c
Binary files /dev/null and b/presentations/images/secret-sauce.png differ
diff --git a/presentations/images/wradlib-functionality.svg b/presentations/images/wradlib-functionality.svg
new file mode 100644
index 000000000..5448fd520
--- /dev/null
+++ b/presentations/images/wradlib-functionality.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/presentations/images/wradlib-images.png b/presentations/images/wradlib-images.png
new file mode 100644
index 000000000..2d403a41b
Binary files /dev/null and b/presentations/images/wradlib-images.png differ
diff --git a/presentations/intro-to-open-radar-science.ipynb b/presentations/intro-to-open-radar-science.ipynb
new file mode 100644
index 000000000..504b0c35d
--- /dev/null
+++ b/presentations/intro-to-open-radar-science.ipynb
@@ -0,0 +1,655 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "0",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "# An Introduction to Open Radar Science"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## What is Open Science?\n",
+ "\n",
+ "
\n",
+ "\n",
+ "
\n",
+ "\n",
+ "Image based on [Ramachandran et al. 2021](https://doi.org/10.1029/2020EA001562)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "### What Does this look like in the Weather Radar Community?\n",
+ "- Since the late 2000s (and even before) there has been a number of major open source projects released (see e.g. https://openradarscience.org).\n",
+ "- Some of them are in a mature stage and are widely used in an academic (mostly) but also operational environment"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "subslide"
+ }
+ },
+ "source": [
+ "- Most make use of modern tools (e.g. github, conda, docker) and practices (e.g. Continuous Integration, automatic tests) that make them easy to evolve and deploy\n",
+ "- Most are backed by major weather services or academic institutions\n",
+ "Projects are not competing among them but collaborating : Best practices and inter-operability are discussed regularly and joint open source courses have been organized for years at major radar conferences (AMS, ERAD) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## The Conceptual Idea of the Open Radar Stack"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "subslide"
+ }
+ },
+ "source": [
+ "### Common weather radar processing workflows\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "6",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "subslide"
+ }
+ },
+ "source": [
+ "### The Open Radar Tools\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "7",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "subslide"
+ }
+ },
+ "source": [
+ "#### Additional Tools that Can be used with/for Weather Radar Data\n",
+ "\n",
+ "- [MetPy](https://unidata.github.io/MetPy/latest/index.html)\n",
+ " - a collection of tools in Python for reading, visualizing, and performing calculations with weather data\n",
+ "- [tobac](https://tobac.readthedocs.io/en/latest/)\n",
+ " - a Python package for rapidly identify, track and analyze clouds in different types of gridded datasets, such as 3D model output from cloud-resolving model simulations or 2D data from satellite retrievals."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Introductions of the Core Open Radar Stack"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "### Wradlib *(Keep the magic to the minimum (let the user decide))*\n",
+ "- https://wradlib.org\n",
+ "- One of the oldest packages (2011)\n",
+ "- Open platform for collaborative development of algorithms\n",
+ "- Python-based\n",
+ "- Linux/Windows/Mac\n",
+ "- Flat data model that allows maximum flexibility to interact with the data."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "10",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "subslide"
+ }
+ },
+ "source": [
+ "- xarray readers available (now in xradar as of 2.0)\n",
+ "- Comprehensively addresses the full radar processing chain\n",
+ "- Mainly geared to interactive use in research but used in operations too\n",
+ "- Easy to install (PyPI, conda, Docker Hub)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "11",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "subslide"
+ }
+ },
+ "source": [
+ "#### Functionality\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "27",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "### Conclusions on the Open Radar Stack\n",
+ "- Acknowledge software when you use it – treat it like a paper\n",
+ " - Most projects have Digital Object Identifiers (DOIs)\n",
+ "- Contribute back to projects\n",
+ " - Report bugs, suggest enhancements, share feedback!\n",
+ "- Do not be afraid to contribute\n",
+ " - We all started somewhere – your code will be reviewed + tests ensure things do not break"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "28",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "subslide"
+ }
+ },
+ "source": [
+ "- Open Source does not end at making things open\n",
+ " - Support, documentation, consistency, etc. are required\n",
+ "- Take a look at existing projects to see if you can collaborate/coordinate!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "29",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## The Open Radar Community"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "30",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "### More on Open Science: Beyond the Tools\n",
+ "