diff --git a/.gitignore b/.gitignore
index fdac9105..7cd09753 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,9 @@ RGI60-*
sandbox/
outputs
+# Mac
+.DS_Store
+
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
diff --git a/_config.yml b/_config.yml
index aa4c5f87..c090a4d5 100755
--- a/_config.yml
+++ b/_config.yml
@@ -7,7 +7,7 @@
# Book settings
title: OGGM tutorials # The title of the book. Will be placed in the left navbar.
author: OGGM e.V. and OGGM Contributors # The author of the book
-copyright: "2014-2023" # Copyright year to be placed in the footer
+copyright: "2014-2024" # Copyright year to be placed in the footer
logo: img/logo.png # A path to the book logo
repository:
url: https://github.com/OGGM/tutorials
@@ -33,7 +33,7 @@ sphinx:
html_show_copyright: false
nb_merge_streams: true
execute:
- execute_notebooks: auto
+ execute_notebooks: auto # off (for tests)
timeout: -1
allow_errors: true
exclude_patterns: [.virtual_documents/*,README.md,sandbox/*]
diff --git a/_toc.yml b/_toc.yml
index 84e36104..8a701f9e 100644
--- a/_toc.yml
+++ b/_toc.yml
@@ -2,56 +2,67 @@
# Learn more at https://jupyterbook.org/customize/toc.html
format: jb-book
root: notebooks/welcome
-
-parts:
-
- - caption: 10 minutes tutorials
- chapters:
+chapters:
+- file: book/10minutes
+ sections:
- file: notebooks/10minutes/preprocessed_directories
- file: notebooks/10minutes/run_with_gcm
- file: notebooks/10minutes/machine_learning
- - file: notebooks/10minutes/elevation_bands_vs_centerlines
- file: notebooks/10minutes/dynamical_spinup
-
- - caption: Beginner tutorials
- chapters:
- - file: notebooks/beginner/working_with_rgi
- - file: notebooks/beginner/store_and_compress_glacierdirs
- - file: notebooks/beginner/plot_mass_balance
- - file: notebooks/beginner/distribute_flowline
- - file: notebooks/beginner/deal_with_errors
- - file: notebooks/beginner/inversion
- - file: notebooks/beginner/hydrological_output
- - file: notebooks/beginner/oggm_shop
- - file: notebooks/beginner/full_prepro_workflow
-
- - caption: Advanced tutorials
- chapters:
- - file: notebooks/advanced/preprocessing_errors
- - file: notebooks/advanced/run_with_a_spinup_and_gcm_data
- - file: notebooks/advanced/dem_sources
- - file: notebooks/advanced/use_your_own_inventory
- - file: notebooks/advanced/centerlines_to_shape
- - file: notebooks/advanced/massbalance_calibration
- - file: notebooks/advanced/numeric_solvers
- - file: notebooks/advanced/where_are_the_flowlines
- - file: notebooks/advanced/ingest_gridded_data_on_flowlines
- - file: notebooks/advanced/merge_gcm_runs_and_visualize
- - file: notebooks/advanced/dynamical_spinup
- - file: notebooks/advanced/observed_thickness_with_dynamic_spinup
-
- - caption: RGI-TOPO
- chapters:
- - file: notebooks/others/rgitopo_rgi6
- - file: notebooks/others/rgitopo_rgi7
-
- - caption: Related to OGGM
- chapters:
- - file: notebooks/others/holoviz_intro
-
- - caption: In (re-)construction
- chapters:
- - file: notebooks/construction/inversion_with_frontal_ablation
- - file: notebooks/construction/kcalving_parameterization
- - file: notebooks/construction/merging_glaciers.ipynb
- - file: notebooks/construction/area_length_filter
+- file: book/workflow
+ sections:
+ - file: notebooks/tutorials/working_with_rgi
+ - file: notebooks/tutorials/store_and_compress_glacierdirs
+ - file: notebooks/tutorials/deal_with_errors
+ - file: notebooks/tutorials/elevation_bands_vs_centerlines
+ - file: notebooks/tutorials/full_prepro_workflow
+
+- file: book/massbalance
+ sections:
+ - file: notebooks/tutorials/massbalance_calibration
+ - file: notebooks/tutorials/plot_mass_balance
+
+- file: book/hydro
+ sections:
+ - file: notebooks/tutorials/hydrological_output
+ - url: https://oggm.org/oggm-edu-notebooks/oggm-edu/glacier_water_resources.html
+ title: Glaciers as water resources (OGGM-Edu part 1 - idealized)
+ - url: https://oggm.org/oggm-edu-notebooks/oggm-edu/glacier_water_resources_projections.html
+ title: Glaciers as water resources (OGGM-Edu part 2 - projections)
+
+- file: book/dynamics
+ sections:
+ - file: notebooks/tutorials/run_with_a_spinup_and_gcm_data
+ - file: notebooks/tutorials/dynamical_spinup
+ - file: notebooks/tutorials/numeric_solvers
+
+- file: book/thickness
+ sections:
+ - file: notebooks/tutorials/inversion
+ - file: notebooks/tutorials/observed_thickness_with_dynamic_spinup
+
+- file: book/shop
+ sections:
+ - file: notebooks/tutorials/oggm_shop
+ - file: notebooks/tutorials/use_your_own_inventory
+ - file: notebooks/tutorials/ingest_gridded_data_on_flowlines
+ - file: notebooks/tutorials/dem_sources
+ - file: notebooks/tutorials/rgitopo_rgi6
+ - file: notebooks/tutorials/rgitopo_rgi7
+
+- file: book/visualisation
+ sections:
+ - file: notebooks/tutorials/distribute_flowline
+ - file: notebooks/tutorials/where_are_the_flowlines
+ - file: notebooks/tutorials/centerlines_to_shape
+ - file: notebooks/tutorials/preprocessing_errors
+ - file: notebooks/tutorials/merge_gcm_runs_and_visualize
+ - file: notebooks/tutorials/holoviz_intro
+
+- file: book/construction
+ sections:
+ - file: notebooks/construction/inversion_with_frontal_ablation
+ - file: notebooks/construction/kcalving_parameterization
+ - file: notebooks/construction/merging_glaciers.ipynb
+ - file: notebooks/construction/area_length_filter
+
\ No newline at end of file
diff --git a/book/10minutes.md b/book/10minutes.md
new file mode 100644
index 00000000..d8870fd8
--- /dev/null
+++ b/book/10minutes.md
@@ -0,0 +1,10 @@
+# 10 minutes tutorials
+
+These new tutorials are designed to illustrate one single OGGM concept at a time. They are a good way to get started with OGGM, or for returning users to learn about new features!
+
+OK, perhaps you'll need a bit more than 10 minutes. But not *much* more!
+
+- [](../notebooks/10minutes/preprocessed_directories.ipynb) (**start with this tutorial if you are new to OGGM**)
+- [](../notebooks/10minutes/run_with_gcm.ipynb)
+- [](../notebooks/10minutes/machine_learning.ipynb)
+- [](../notebooks/10minutes/dynamical_spinup.ipynb)
diff --git a/book/construction.md b/book/construction.md
new file mode 100644
index 00000000..bbf8b515
--- /dev/null
+++ b/book/construction.md
@@ -0,0 +1,6 @@
+# Tutorials in (re-)construction
+
+- [](../notebooks/construction/inversion_with_frontal_ablation.ipynb)
+- [](../notebooks/construction/kcalving_parameterization.ipynb)
+- [](../notebooks/construction/merging_glaciers.ipynb)
+- [](../notebooks/construction/area_length_filter.ipynb)
diff --git a/book/dynamics.md b/book/dynamics.md
new file mode 100644
index 00000000..288ba3b3
--- /dev/null
+++ b/book/dynamics.md
@@ -0,0 +1,5 @@
+# Dynamical runs
+
+- [](../notebooks/tutorials/run_with_a_spinup_and_gcm_data.ipynb)
+- [](../notebooks/tutorials/dynamical_spinup.ipynb)
+- [](../notebooks/tutorials/numeric_solvers.ipynb)
diff --git a/book/hydro.md b/book/hydro.md
new file mode 100644
index 00000000..12495013
--- /dev/null
+++ b/book/hydro.md
@@ -0,0 +1,7 @@
+# Hydrological output
+
+- [](../notebooks/tutorials/hydrological_output.ipynb)
+
+You might find the following notebooks in OGGM-Edu interesting as well!
+- [Glaciers as water resources: part 1 (idealized climate)](https://oggm.org/oggm-edu-notebooks/oggm-edu/glacier_water_resources.html)
+- [Glaciers as water resources: part 2 (projections)](https://oggm.org/oggm-edu-notebooks/oggm-edu/glacier_water_resources_projections.html)
diff --git a/book/massbalance.md b/book/massbalance.md
new file mode 100644
index 00000000..8fb81ad7
--- /dev/null
+++ b/book/massbalance.md
@@ -0,0 +1,4 @@
+# Mass balance
+
+- [](../notebooks/tutorials/plot_mass_balance.ipynb)
+- [](../notebooks/tutorials/massbalance_calibration.ipynb)
diff --git a/book/shop.md b/book/shop.md
new file mode 100644
index 00000000..53c1d962
--- /dev/null
+++ b/book/shop.md
@@ -0,0 +1,8 @@
+# OGGM shop and additional data
+
+- [](../notebooks/tutorials/oggm_shop.ipynb)
+- [](../notebooks/tutorials/use_your_own_inventory.ipynb)
+- [](../notebooks/tutorials/ingest_gridded_data_on_flowlines.ipynb)
+- [](../notebooks/tutorials/dem_sources.ipynb)
+- [](../notebooks/tutorials/rgitopo_rgi6.ipynb)
+- [](../notebooks/tutorials/rgitopo_rgi7.ipynb)
diff --git a/book/thickness.md b/book/thickness.md
new file mode 100644
index 00000000..8852941d
--- /dev/null
+++ b/book/thickness.md
@@ -0,0 +1,4 @@
+# Ice thickness
+
+- [](../notebooks/tutorials/inversion.ipynb)
+- [](../notebooks/tutorials/observed_thickness_with_dynamic_spinup.ipynb)
diff --git a/book/visualisation.md b/book/visualisation.md
new file mode 100644
index 00000000..a9a46bc5
--- /dev/null
+++ b/book/visualisation.md
@@ -0,0 +1,8 @@
+# Visualisation and post-processing
+
+- [](../notebooks/tutorials/distribute_flowline.ipynb)
+- [](../notebooks/tutorials/where_are_the_flowlines.ipynb)
+- [](../notebooks/tutorials/centerlines_to_shape.ipynb)
+- [](../notebooks/tutorials/preprocessing_errors.ipynb)
+- [](../notebooks/tutorials/merge_gcm_runs_and_visualize.ipynb)
+- [](../notebooks/tutorials/holoviz_intro.ipynb)
diff --git a/book/workflow.md b/book/workflow.md
new file mode 100644
index 00000000..d93a8cc8
--- /dev/null
+++ b/book/workflow.md
@@ -0,0 +1,7 @@
+# OGGM workflow
+
+- [](../notebooks/tutorials/working_with_rgi.ipynb)
+- [](../notebooks/tutorials/store_and_compress_glacierdirs.ipynb)
+- [](../notebooks/tutorials/deal_with_errors.ipynb)
+- [](../notebooks/tutorials/elevation_bands_vs_centerlines.ipynb)
+- [](../notebooks/tutorials/full_prepro_workflow.ipynb)
diff --git a/notebooks/10minutes/dynamical_spinup.ipynb b/notebooks/10minutes/dynamical_spinup.ipynb
index 8d51c51f..c54310fe 100644
--- a/notebooks/10minutes/dynamical_spinup.ipynb
+++ b/notebooks/10minutes/dynamical_spinup.ipynb
@@ -11,7 +11,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "In this example, we showcase a recent addition to OGGM: the dynamical spinup during the historical period. We explain why this was added, and how it works."
+ "In this example, we showcase a recent addition to OGGM: the dynamical spinup during the historical period. We explain why this was added, and how you can use the dynamical spinup during your simulations."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Tags:** beginner, workflow, spinup "
]
},
{
@@ -184,7 +191,7 @@
"source": [
"The second big difference is not directly visible, but during the dynamic spinup, we check that the dynamically modelled geodetic mass balance fits the given observations from [Hugonnet et al. (2021)](https://www.nature.com/articles/s41586-021-03436-z). To achieve this, we use the *melt_f* of the mass balance as a tuning variable.\n",
"\n",
- "We need this step because the initial mass balance model calibration (see this [tutorial](../advanced/massbalance_calibration.ipynb)) assumes constant glacier surface geometry, as defined by the RGI outline. However, the observed geodetic mass balance also contains surface geometry changes, which we only can consider during a dynamic model run.\n",
+ "We need this step because the initial mass balance model calibration (see this [tutorial](../tutorials/massbalance_calibration.ipynb)) assumes constant glacier surface geometry, as defined by the RGI outline. However, the observed geodetic mass balance also contains surface geometry changes, which we only can consider during a dynamic model run.\n",
"\n",
"Let's check that the dynamically calibrated geodetic mass balance fits the given observations:"
]
@@ -285,7 +292,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "We recommend that you use the provided preprocessed directories for your analysis. However, if you want to learn more about how the dynamic spinup works in detail or if you plan to use it in your workflow, maybe with different data, you should check out the more comprehensive tutorial: [Dynamic spinup and dynamic melt_f calibration for past simulations](../advanced/dynamical_spinup.ipynb). And do not hesitate to [reach out](https://docs.oggm.org/en/stable/#get-in-touch) if you have any questions!"
+ "We recommend that you use the provided preprocessed directories for your analysis. However, if you want to learn more about how the dynamic spinup works in detail or if you plan to use it in your workflow, maybe with different data, you should check out the more comprehensive tutorial: [Dynamic spinup and dynamic melt_f calibration for past simulations](../tutorials/dynamical_spinup.ipynb). And do not hesitate to [reach out](https://docs.oggm.org/en/stable/#get-in-touch) if you have any questions!"
]
},
{
@@ -294,7 +301,7 @@
"source": [
"## What's next?\n",
"\n",
- "- Look at the more comprehensive tutorial [Dynamic spinup and dynamic melt_f calibration for past simulations](../advanced/dynamical_spinup.ipynb)\n",
+ "- Look at the more comprehensive tutorial [Dynamic spinup and dynamic melt_f calibration for past simulations](../tutorials/dynamical_spinup.ipynb)\n",
"- return to the [OGGM documentation](https://docs.oggm.org)\n",
"- back to the [table of contents](../welcome.ipynb)"
]
diff --git a/notebooks/10minutes/machine_learning.ipynb b/notebooks/10minutes/machine_learning.ipynb
index a42e1064..c4a720da 100644
--- a/notebooks/10minutes/machine_learning.ipynb
+++ b/notebooks/10minutes/machine_learning.ipynb
@@ -16,6 +16,13 @@
"We use preprocessed directories which contain most data available in [the OGGM shop](https://docs.oggm.org/en/stable/input-data.html) to illustrate how these could be used to inform data-based workflows. The data that is available in the shop and is show cased here, is more than is required for the regular OGGM workflow, which you will see in a bit."
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Tags:** beginner, shop, workflow "
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
diff --git a/notebooks/10minutes/preprocessed_directories.ipynb b/notebooks/10minutes/preprocessed_directories.ipynb
index 121ef999..37e2f43b 100644
--- a/notebooks/10minutes/preprocessed_directories.ipynb
+++ b/notebooks/10minutes/preprocessed_directories.ipynb
@@ -14,6 +14,13 @@
"This tutorial is a first introduction into running OGGM. The OGGM workflow is best explained with an example. In the following, we will show you the OGGM fundamentals ([Doc page: model structure and fundamentals](https://docs.oggm.org/en/stable/structure.html)). This example is also meant to guide you through a first-time setup if you are using OGGM on your own computer. If you prefer not to install OGGM on your computer, you can always run this notebook [online](https://docs.oggm.org/en/stable/cloud.html) instead!"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Tags:** beginner, glacier-directory, workflow "
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -60,7 +67,7 @@
"outputs": [],
"source": [
"from oggm import cfg, utils\n",
- "cfg.initialize(logging_level='WARNING')"
+ "cfg.initialize()"
]
},
{
@@ -128,7 +135,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Each OGGM run needs a **single folder** where to store the results of the computations for all glaciers. This is called a \"working directory\" and needs to be specified before each run. Here we create a temporary folder for you:"
+ "Each OGGM run needs a **single folder** where to store the results of the computations for all glaciers. This is called a \"working directory\" and needs to be specified before each run. Here we create a [temporary folder](https://en.wikipedia.org/wiki/Temporary_folder) for you:"
]
},
{
@@ -147,7 +154,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "We use a temporary directory for this example, but in practice you will set this working directory yourself (for example: `/home/shruti/OGGM_output`). The size of this directory will depend on how many glaciers you'll simulate!\n",
+ "We use a temporary directory for this example (a directory which will be deleted by your operating system next time to restart your computer), but in practice for a real simulation, you will set this working directory yourself (for example: `/home/zoe/OGGM_output`). The size of this directory will depend on how many glaciers you'll simulate!\n",
"\n",
"
\n",
"
\n",
@@ -189,7 +196,7 @@
"- `RGI60-11.00787`: [Kesselwandferner](https://de.wikipedia.org/wiki/Kesselwandferner) in the Austrian Alps\n",
"- ... or any other glacier identifier! You can find other glacier identifiers by exploring the [GLIMS viewer](https://www.glims.org/maps/glims).\n",
"\n",
- "For an operational run on an RGI region, you might want to download the [Randolph Glacier Inventory](https://www.glims.org/RGI/) dataset instead, and start a run from it. This case is covered in the [working with the RGI](../beginner/working_with_rgi.ipynb) tutorial."
+ "For an operational run on an RGI region, you might want to download the [Randolph Glacier Inventory](https://www.glims.org/RGI/) dataset instead, and start a run from it. This case is covered in the [working with the RGI](../tutorials/working_with_rgi.ipynb) tutorial."
]
},
{
@@ -251,7 +258,7 @@
"metadata": {},
"source": [
"- the keyword `from_prepro_level` indicates that we will start from [pre-processed directories](https://docs.oggm.org/en/stable/shop.html#pre-processed-directories), i.e. data that are already prepared by the OGGM team. In many cases you will want to start from pre-processed directories, in most case from level 3 or 5. For level 3 and above the model has already been calibrated, so you no longer need to do that yourself and can start rigth away with your simulation. Here we start from level 4 and add some data to the processing in order to demonstrate the OGGM workflow.\n",
- "- the `prepro_border` keyword indicates the number of grid points which we'd like to add to each side of the glacier for the local map: the larger the glacier will grow, the larger the border parameter should be. The available pre-processed border values are: **10, 80, 160, 240** (depending on the model set-ups there might be more or less options). These are the fixed map sizes we prepared for you - any other map size will require a full processing (see the [further DEM sources example](../advanced/dem_sources.ipynb) for a tutorial)."
+ "- the `prepro_border` keyword indicates the number of grid points which we'd like to add to each side of the glacier for the local map: the larger the glacier will grow, the larger the border parameter should be. The available pre-processed border values are: **10, 80, 160, 240** (depending on the model set-ups there might be more or less options). These are the fixed map sizes we prepared for you - any other map size will require a full processing (see the [further DEM sources example](../tutorials/dem_sources.ipynb) for a tutorial)."
]
},
{
@@ -362,7 +369,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "See the [store_and_compress_glacierdirs](../beginner/store_and_compress_glacierdirs.ipynb) tutorial for more information on glacier directories and how to use them for operational workflows."
+ "See the [store_and_compress_glacierdirs](../tutorials/store_and_compress_glacierdirs.ipynb) tutorial for more information on glacier directories and how to use them for operational workflows."
]
},
{
@@ -482,7 +489,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Compute inversion velocities is an optional task in the OGGM workflow. It computes the ice velocity along the flowline resulting from the ice flux from a glacier in equilibrium (more on this in the documentation or the dedicated [tutorial](../beginner/inversion.ipynb)).\n",
+ "Compute inversion velocities is an optional task in the OGGM workflow. It computes the ice velocity along the flowline resulting from the ice flux from a glacier in equilibrium (more on this in the documentation or the dedicated [tutorial](../tutorials/inversion.ipynb)).\n",
"\n",
"Note that OGGM tasks often do not return anything (the statement above seems to be \"void\", i.e. doing nothing). The vast majority of OGGM tasks actually write data to disk in order to retrieve it later. Let's have a look at the data we just added to the directory:"
]
diff --git a/notebooks/10minutes/run_with_gcm.ipynb b/notebooks/10minutes/run_with_gcm.ipynb
index bdd34437..5ca7867f 100644
--- a/notebooks/10minutes/run_with_gcm.ipynb
+++ b/notebooks/10minutes/run_with_gcm.ipynb
@@ -19,6 +19,13 @@
"- simulate the future glacier evolution from the present day state to the end of the century (2020-2100)"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Tags:** beginner, projections, CMIP, workflow "
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
@@ -62,7 +69,7 @@
"outputs": [],
"source": [
"# Initialize OGGM and set up the default run parameters\n",
- "cfg.initialize(logging_level='WARNING')\n",
+ "cfg.initialize(logging_level='WARNING') # print less log messages than the default \n",
"\n",
"# Local working directory (where OGGM will write its output)\n",
"cfg.PATHS['working_dir'] = utils.gettempdir('OGGM_gcm_run', reset=True)\n",
@@ -100,7 +107,8 @@
"outputs": [],
"source": [
"ds = utils.compile_run_output(gdirs, input_filesuffix='_spinup_historical')\n",
- "(ds.volume / ds.volume.sel(time=2000) * 100).plot(hue='rgi_id');\n",
+ "vol_ref2000 = ds.volume / ds.volume.sel(time=2000) * 100\n",
+ "vol_ref2000.plot(hue='rgi_id');\n",
"plt.ylabel('Volume (%, reference 2000)');"
]
},
@@ -126,7 +134,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "The glacier volume and area changes before that date are highly uncertain and serve the purpose of spinup only! In the [\"10 minutes to... a dynamical spinup\"](dynamical_spinup.ipynb) tutorial, we talk about why. For now, these files are perfect for our purpose, since we plan to start our simulation in 2020."
+ "**The glacier volume and area estimates before that date are highly uncertain** and serve the purpose of spinup only! In the [\"10 minutes to... a dynamical spinup\"](dynamical_spinup.ipynb) tutorial, we talk about why. For now, these files are perfect for our purpose, since we plan to start our simulation in 2020."
]
},
{
@@ -271,7 +279,7 @@
"- CMIP5 has 4 different RCP scenarios and a variety of GCMs, online you can find them [here](https://cluster.klima.uni-bremen.de/~oggm/cmip5-ng). The above mentioned storage contains information about the data, [how to cite them](https://cluster.klima.uni-bremen.de/~oggm/cmip5-ng/README) and [tabular summaries](https://cluster.klima.uni-bremen.de/~oggm/cmip5-ng/all_gcm_table.html) of the available GCMs. \n",
"- CMIP6 has 4 different SSP scenarios, see [this table](https://cluster.klima.uni-bremen.de/~oggm/cmip6/all_gcm_table.html) for a summary of available GCMs. There are even some CMIP6 runs that go until [2300](https://cluster.klima.uni-bremen.de/~oggm/cmip6/gcm_table_2300.html).\n",
"\n",
- "> Note, that the CMIP5 and CMIP6 files are much larger than the ISIMIP3b files. This is because we use a simple processing trick for the ISIMIP3b GCM files as we only save the glacier gridpoints, instead of each longitude and latitude. \n",
+ "> Note, that the CMIP5 and CMIP6 files are much larger than the ISIMIP3b files. This is because we use a simple processing trick for the ISIMIP3b GCM files as we only save the glacier gridpoints, instead of the entire globe for CMIP5 and CMIP6.0 \n",
"\n",
"**Therefore: run the following code only if it is ok to download a few gigabytes of data.** Set the variable below to true to run it. "
]
@@ -284,7 +292,7 @@
},
"outputs": [],
"source": [
- "download_cmip5_data = False"
+ "download_cmip5_data = False # set to True to run the code below"
]
},
{
@@ -351,7 +359,7 @@
},
"outputs": [],
"source": [
- "download_cmip6_data = False"
+ "download_cmip6_data = False # set to True to run the code below"
]
},
{
@@ -407,7 +415,7 @@
"## What's next?\n",
"\n",
"- checkout the 10 mins tutorial on the [dynamical spinup](dynamical_spinup.ipynb)\n",
- "- see also the tutorial on [Merge, analyse and visualize OGGM GCM runs](../advanced/merge_gcm_runs_and_visualize.ipynb)\n",
+ "- see also the tutorial on [Merge, analyse and visualize OGGM GCM runs](../tutorials/merge_gcm_runs_and_visualize.ipynb)\n",
"- return to the [OGGM documentation](https://docs.oggm.org)\n",
"- back to the [table of contents](../welcome.ipynb)"
]
diff --git a/notebooks/advanced/centerlines_to_shape.ipynb b/notebooks/tutorials/centerlines_to_shape.ipynb
similarity index 100%
rename from notebooks/advanced/centerlines_to_shape.ipynb
rename to notebooks/tutorials/centerlines_to_shape.ipynb
diff --git a/notebooks/beginner/deal_with_errors.ipynb b/notebooks/tutorials/deal_with_errors.ipynb
similarity index 96%
rename from notebooks/beginner/deal_with_errors.ipynb
rename to notebooks/tutorials/deal_with_errors.ipynb
index 1d4b4d48..0ce01446 100644
--- a/notebooks/beginner/deal_with_errors.ipynb
+++ b/notebooks/tutorials/deal_with_errors.ipynb
@@ -144,7 +144,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "We can also check which glacier failed at which task by using [compile_task_log]('https://docs.oggm.org/en/stable/generated/oggm.utils.compile_task_log.html#oggm.utils.compile_task_log')."
+ "We can also check which glacier failed at which task by using [compile_task_log](https://docs.oggm.org/en/stable/generated/oggm.utils.compile_task_log.html#oggm.utils.compile_task_log)."
]
},
{
@@ -257,7 +257,7 @@
"Now we have a better understanding of the error: \n",
"- OGGM can not work with this geometry of this glacier and could therefore not make a gridded mask of the glacier outlines. \n",
"- there is no way to prevent this except you find a better way to pre-process the geometry of this glacier\n",
- "- these glaciers have to be ignored! Less than 0.5% of glacier area globally have errors during the geometry processing or failures in computing certain topographical properties by e.g. invalid DEM, see [Sect. 4.2 Invalid Glaciers of the OGGM paper (Maussion et al., 2019)](https://gmd.copernicus.org/articles/12/909/2019/#section4) and [this tutorial](../advanced/preprocessing_errors.ipynb) for more up-to-date numbers"
+ "- these glaciers have to be ignored! Less than 0.5% of glacier area globally have errors during the geometry processing or failures in computing certain topographical properties by e.g. invalid DEM, see [Sect. 4.2 Invalid Glaciers of the OGGM paper (Maussion et al., 2019)](https://gmd.copernicus.org/articles/12/909/2019/#section4) and [this tutorial](../tutorials/preprocessing_errors.ipynb) for more up-to-date numbers"
]
},
{
@@ -291,7 +291,7 @@
"source": [
"## What's next?\n",
"\n",
- "- read about [preprocessing errors](../advanced/preprocessing_errors.ipynb)\n",
+ "- read about [preprocessing errors](../tutorials/preprocessing_errors.ipynb)\n",
"- return to the [OGGM documentation](https://docs.oggm.org)\n",
"- back to the [table of contents](../welcome.ipynb)"
]
diff --git a/notebooks/advanced/dem_sources.ipynb b/notebooks/tutorials/dem_sources.ipynb
similarity index 98%
rename from notebooks/advanced/dem_sources.ipynb
rename to notebooks/tutorials/dem_sources.ipynb
index 8b5a1d5e..45f1350f 100644
--- a/notebooks/advanced/dem_sources.ipynb
+++ b/notebooks/tutorials/dem_sources.ipynb
@@ -72,8 +72,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "If not specifying anything, OGGM will use it's default settings, i.e. NASADEM for mid- and low-latitudes (60°S-60°N). However, this needs registration at [NASA Earthdata](https://urs.earthdata.nasa.gov/) (see [below](#register)). Here, \n",
- "we choose the **SRTM** source as example DEM (no registration necessary)."
+ "If not specifying anything, OGGM will use it's default settings, i.e. NASADEM for mid- and low-latitudes (60°S-60°N). However, this needs registration at [NASA Earthdata](https://urs.earthdata.nasa.gov/) (see [below](#register)). Here, we choose the **SRTM** source as example DEM (no registration necessary)."
]
},
{
@@ -179,6 +178,7 @@
"metadata": {},
"source": [
"\n",
+ "## Register for online datasets\n",
"The default DEM source for low and mid-latitudes (60°S-60°N), **NASADEM**, requires a user account to download data, so you need to register at [NASA Earthdata](https://urs.earthdata.nasa.gov/). There are other DEM sources where a registration is necessary; for **ASTGTMV3** at [NASA Earthdata](https://urs.earthdata.nasa.gov/), for **TanDEM-X** at [DLR](https://sso.eoc.dlr.de/tdm90/selfservice/), and for **COPDEM** at [spacedata.copernicus.eu/](https://spacedata.copernicus.eu).\n",
"\n",
"After that you can use the command line functionality `oggm_netrc_credentials` to store your user credentials in a local `~/.netrc` file. Your user credentials are only stored locally and are only used by the download function for authentification with the original DEM source. **Credentials are not needed if you use the RGI-TOPO data (see below).**"
@@ -474,13 +474,6 @@
"- return to the [OGGM documentation](https://docs.oggm.org)\n",
"- back to the [table of contents](../welcome.ipynb)"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/notebooks/beginner/distribute_flowline.ipynb b/notebooks/tutorials/distribute_flowline.ipynb
similarity index 100%
rename from notebooks/beginner/distribute_flowline.ipynb
rename to notebooks/tutorials/distribute_flowline.ipynb
diff --git a/notebooks/advanced/dynamical_spinup.ipynb b/notebooks/tutorials/dynamical_spinup.ipynb
similarity index 100%
rename from notebooks/advanced/dynamical_spinup.ipynb
rename to notebooks/tutorials/dynamical_spinup.ipynb
diff --git a/notebooks/10minutes/elevation_bands_vs_centerlines.ipynb b/notebooks/tutorials/elevation_bands_vs_centerlines.ipynb
similarity index 89%
rename from notebooks/10minutes/elevation_bands_vs_centerlines.ipynb
rename to notebooks/tutorials/elevation_bands_vs_centerlines.ipynb
index 1d60411f..0063670c 100644
--- a/notebooks/10minutes/elevation_bands_vs_centerlines.ipynb
+++ b/notebooks/tutorials/elevation_bands_vs_centerlines.ipynb
@@ -4,14 +4,25 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# 10 minutes to... \"elevation band\" and \"centerline\" flowlines"
+ "# Differences between the \"elevation band\" and \"centerline\" flowlines"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "In version 1.4, OGGM introduced a new way to compute flowlines: the so-called \"elevation-band flowlines\" (after [Huss & Farinotti, 2012](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2012JF002523)). These elevation bands complement the already available \"multiple centerlines\" glacier representation. This notebook allows you to compare the two representations."
+ "In version 1.4, OGGM introduced a new way to compute flowlines: the so-called \"elevation-band flowlines\" (after [Huss & Farinotti, 2012](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2012JF002523)). These elevation bands complement the already available \"multiple centerlines\" glacier representation. \n",
+ "\n",
+ "**In OGGM 1.6 and above, the \"elevation band\" representation is the most commonly used representation for large scale simulations.**\n",
+ "\n",
+ "This notebook allows you to compare the two representations. It shows that the difference between the two are small for projections of glacier change, but each representation comes with pros and cons when it comes to single glacier simulations."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Tags:** beginner, workflow, dynamics, flowlines "
]
},
{
@@ -165,14 +176,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Projections: often relatively small differences in volume, but more in geometry "
+ "## Projections: generally small differences in volume, but larger differences in geometry (length and area) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "Thanks to OGGM's modular workflow, simulating both geometries is very similar in terms of code. For example, we can process the climate data for both representations with the same command:"
+ "Thanks to OGGM's modular workflow, a simulation with each geometry is fairly similar in terms of code. For example, we can process the climate data for both representations with the same command:"
]
},
{
@@ -381,7 +392,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "We are however working on a better representation of retreating glaciers for outreach. Have a look at [this tutorial](../beginner/distribute_flowline.ipynb)!"
+ "We are however working on a better representation of retreating glaciers for outreach. Have a look at [this tutorial](../tutorials/distribute_flowline.ipynb)!"
]
},
{
@@ -395,8 +406,10 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "TODO, but in short: \n",
- "- in the absence of additional data to better calibrate the mass balance model, using multiple centerlines is not useful unless for growing glacier cases and cases where geometry plays an important role (e.g. lakes, paleo applications)."
+ "- in the absence of additional data to better calibrate the mass balance model, using multiple centerlines is considered not useful: indeed, the distributed representation offers little advantages if the mass balance is only a function of elevation.\n",
+ "- elevation band flowlines are now the default of most OGGM applications. It is faster, much cheaper, and more robust to use these simplified glaciers.\n",
+ "- elevation band flowlines cannot be represented on a map \"out of the box\". We have however developped a tool to display the changes by redistributing them on a map: have a look at [this tutorial](../tutorials/distribute_flowline.ipynb)!\n",
+ "- multiple centerlines can be useful for growing glacier cases and use cases where geometry plays an important role (e.g. lakes, paleo applications)."
]
},
{
diff --git a/notebooks/beginner/full_prepro_workflow.ipynb b/notebooks/tutorials/full_prepro_workflow.ipynb
similarity index 99%
rename from notebooks/beginner/full_prepro_workflow.ipynb
rename to notebooks/tutorials/full_prepro_workflow.ipynb
index bf2f9c46..8d6b8a6e 100644
--- a/notebooks/beginner/full_prepro_workflow.ipynb
+++ b/notebooks/tutorials/full_prepro_workflow.ipynb
@@ -232,7 +232,7 @@
"metadata": {},
"source": [
"- the keyword `from_prepro_level` indicates that we will start from [pre-processed directories](https://docs.oggm.org/en/stable/input-data.html#pre-processed-directories), i.e. data that are already pre-processed for the model users. In many cases you will want to start from level 3, 4 or 5. Here we start from level 3 and rerun some of the processing in order to demonstrate the OGGM workflow.\n",
- "- the `prepro_border` keyword indicates the number of DEM grid points which we'd like to add to each side of the glacier for the local map: the larger the glacier will grow, the larger the border parameter should be. The available pre-processed border values are: **10, 80, 160** (depending on the model set-ups there might be more or less options). These are the fixed map sizes we prepared for you - any other map size will require a full processing (see the [alternative DEM example](../advanced/dem_sources.ipynb) for a tutorial)."
+ "- the `prepro_border` keyword indicates the number of DEM grid points which we'd like to add to each side of the glacier for the local map: the larger the glacier will grow, the larger the border parameter should be. The available pre-processed border values are: **10, 80, 160** (depending on the model set-ups there might be more or less options). These are the fixed map sizes we prepared for you - any other map size will require a full processing (see the [alternative DEM example](../tutorials/dem_sources.ipynb) for a tutorial)."
]
},
{
diff --git a/notebooks/others/holoviz_intro.ipynb b/notebooks/tutorials/holoviz_intro.ipynb
similarity index 100%
rename from notebooks/others/holoviz_intro.ipynb
rename to notebooks/tutorials/holoviz_intro.ipynb
diff --git a/notebooks/beginner/hydrological_output.ipynb b/notebooks/tutorials/hydrological_output.ipynb
similarity index 100%
rename from notebooks/beginner/hydrological_output.ipynb
rename to notebooks/tutorials/hydrological_output.ipynb
diff --git a/notebooks/advanced/ingest_gridded_data_on_flowlines.ipynb b/notebooks/tutorials/ingest_gridded_data_on_flowlines.ipynb
similarity index 100%
rename from notebooks/advanced/ingest_gridded_data_on_flowlines.ipynb
rename to notebooks/tutorials/ingest_gridded_data_on_flowlines.ipynb
diff --git a/notebooks/beginner/inversion.ipynb b/notebooks/tutorials/inversion.ipynb
similarity index 100%
rename from notebooks/beginner/inversion.ipynb
rename to notebooks/tutorials/inversion.ipynb
diff --git a/notebooks/advanced/massbalance_calibration.ipynb b/notebooks/tutorials/massbalance_calibration.ipynb
similarity index 100%
rename from notebooks/advanced/massbalance_calibration.ipynb
rename to notebooks/tutorials/massbalance_calibration.ipynb
diff --git a/notebooks/advanced/merge_gcm_runs_and_visualize.ipynb b/notebooks/tutorials/merge_gcm_runs_and_visualize.ipynb
similarity index 99%
rename from notebooks/advanced/merge_gcm_runs_and_visualize.ipynb
rename to notebooks/tutorials/merge_gcm_runs_and_visualize.ipynb
index bb982f36..eeb3999e 100644
--- a/notebooks/advanced/merge_gcm_runs_and_visualize.ipynb
+++ b/notebooks/tutorials/merge_gcm_runs_and_visualize.ipynb
@@ -706,7 +706,7 @@
"id": "880bdb61-62d0-476c-9b03-d4cc4681dd8b",
"metadata": {},
"source": [
- "We can also visualize the data using tools from the [HoloViz](https://holoviz.org/) framework (namely [HoloViews](https://holoviews.org/) and [Panel](https://panel.holoviz.org/)). For an introduction to HoloViz, you can have a look at the [Small overview of HoloViz capability of data exploration](../others/holoviz_intro.ipynb) notebook."
+ "We can also visualize the data using tools from the [HoloViz](https://holoviz.org/) framework (namely [HoloViews](https://holoviews.org/) and [Panel](https://panel.holoviz.org/)). For an introduction to HoloViz, you can have a look at the [Small overview of HoloViz capability of data exploration](../tutorials/holoviz_intro.ipynb) notebook."
]
},
{
diff --git a/notebooks/advanced/numeric_solvers.ipynb b/notebooks/tutorials/numeric_solvers.ipynb
similarity index 99%
rename from notebooks/advanced/numeric_solvers.ipynb
rename to notebooks/tutorials/numeric_solvers.ipynb
index d67e1a32..3e28b99b 100644
--- a/notebooks/advanced/numeric_solvers.ipynb
+++ b/notebooks/tutorials/numeric_solvers.ipynb
@@ -71,7 +71,7 @@
"id": "f2d798e7-21f2-4ad8-9322-fcb53f13620a",
"metadata": {},
"source": [
- "The big advantage of the Flux-Based model is that it works for all flowline representations (multiple flowlines and different bed shapes). See the tutorial [\"elevation band\" and \"centerline\" flowlines](../10minutes/elevation_bands_vs_centerlines.ipynb) for a\n",
+ "The big advantage of the Flux-Based model is that it works for all flowline representations (multiple flowlines and different bed shapes). See the tutorial [\"elevation band\" and \"centerline\" flowlines](../tutorials/elevation_bands_vs_centerlines.ipynb) for a\n",
"hands-on introduction to the different flowline types."
]
},
diff --git a/notebooks/advanced/observed_thickness_with_dynamic_spinup.ipynb b/notebooks/tutorials/observed_thickness_with_dynamic_spinup.ipynb
similarity index 99%
rename from notebooks/advanced/observed_thickness_with_dynamic_spinup.ipynb
rename to notebooks/tutorials/observed_thickness_with_dynamic_spinup.ipynb
index e5b7bde3..697f624f 100644
--- a/notebooks/advanced/observed_thickness_with_dynamic_spinup.ipynb
+++ b/notebooks/tutorials/observed_thickness_with_dynamic_spinup.ipynb
@@ -451,7 +451,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.10.6"
+ "version": "3.11.4"
}
},
"nbformat": 4,
diff --git a/notebooks/beginner/oggm_shop.ipynb b/notebooks/tutorials/oggm_shop.ipynb
similarity index 98%
rename from notebooks/beginner/oggm_shop.ipynb
rename to notebooks/tutorials/oggm_shop.ipynb
index 6b8c8265..272c16e5 100644
--- a/notebooks/beginner/oggm_shop.ipynb
+++ b/notebooks/tutorials/oggm_shop.ipynb
@@ -302,7 +302,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "For most glaciers in the world there are several digital elevation models (DEM) which cover the respective glacier. In OGGM we have currently implemented many different open access DEMs to choose from. For some, you need to register to get access, see [dem_sources.ipynb/register](../advanced/dem_sources.ipynb#register). Some are regional and only available in certain areas (e.g. Greenland or Antarctica) and some cover almost the entire globe. For more information, visit the [rgitools documentation about DEMs](https://rgitools.readthedocs.io/en/latest/dems.html)."
+ "For most glaciers in the world there are several digital elevation models (DEM) which cover the respective glacier. In OGGM we have currently implemented many different open access DEMs to choose from. For some, you need to register to get access, see [dem_sources.ipynb/register](../tutorials/dem_sources.ipynb#register). Some are regional and only available in certain areas (e.g. Greenland or Antarctica) and some cover almost the entire globe. For more information, visit the [rgitools documentation about DEMs](https://rgitools.readthedocs.io/en/latest/dems.html)."
]
},
{
@@ -469,7 +469,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "See [dem_sources.ipynb](../advanced/dem_sources.ipynb)."
+ "See [dem_sources.ipynb](../tutorials/dem_sources.ipynb)."
]
},
{
diff --git a/notebooks/beginner/plot_mass_balance.ipynb b/notebooks/tutorials/plot_mass_balance.ipynb
similarity index 99%
rename from notebooks/beginner/plot_mass_balance.ipynb
rename to notebooks/tutorials/plot_mass_balance.ipynb
index 4ff49772..f0de095a 100644
--- a/notebooks/beginner/plot_mass_balance.ipynb
+++ b/notebooks/tutorials/plot_mass_balance.ipynb
@@ -159,7 +159,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Let's start by noting that I used the `MultipleFlowlineMassBalance` model here. This is what OGGM uses for its runs, because we allow different model parameters for different flowlines. In many cases we don't need this, but sometimes we do. Let's see if we have different mass-balance model parameters for Hintereisferner or not. Note, that the new calibration can cause any of the mass-balance model parameters (melt factor, temperature bias or precipitation factor) to be different (more in the [massbalance_calibration](../advanced/massbalance_calibration.ipynb) notebook)."
+ "Let's start by noting that I used the `MultipleFlowlineMassBalance` model here. This is what OGGM uses for its runs, because we allow different model parameters for different flowlines. In many cases we don't need this, but sometimes we do. Let's see if we have different mass-balance model parameters for Hintereisferner or not. Note, that the new calibration can cause any of the mass-balance model parameters (melt factor, temperature bias or precipitation factor) to be different (more in the [massbalance_calibration](../tutorials/massbalance_calibration.ipynb) notebook)."
]
},
{
diff --git a/notebooks/advanced/preprocessing_errors.ipynb b/notebooks/tutorials/preprocessing_errors.ipynb
similarity index 99%
rename from notebooks/advanced/preprocessing_errors.ipynb
rename to notebooks/tutorials/preprocessing_errors.ipynb
index e9e424d1..d7de409c 100644
--- a/notebooks/advanced/preprocessing_errors.ipynb
+++ b/notebooks/tutorials/preprocessing_errors.ipynb
@@ -11,7 +11,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Here we reproduce the error analysis shown in [Maussion et al. (2019)](https://www.geosci-model-dev.net/12/909/2019/) **for the pre-processing part only, and for the glacier directories (version 1.6 and 1.4)**. The error analysis of user runs needs a separate handling, see the [deal_with_errors](../beginner/deal_with_errors.ipynb) notebook for more information."
+ "Here we reproduce the error analysis shown in [Maussion et al. (2019)](https://www.geosci-model-dev.net/12/909/2019/) **for the pre-processing part only, and for the glacier directories (version 1.6 and 1.4)**. The error analysis of user runs needs a separate handling, see the [deal_with_errors](../tutorials/deal_with_errors.ipynb) notebook for more information."
]
},
{
diff --git a/notebooks/others/rgitopo_rgi6.ipynb b/notebooks/tutorials/rgitopo_rgi6.ipynb
similarity index 100%
rename from notebooks/others/rgitopo_rgi6.ipynb
rename to notebooks/tutorials/rgitopo_rgi6.ipynb
diff --git a/notebooks/others/rgitopo_rgi7.ipynb b/notebooks/tutorials/rgitopo_rgi7.ipynb
similarity index 100%
rename from notebooks/others/rgitopo_rgi7.ipynb
rename to notebooks/tutorials/rgitopo_rgi7.ipynb
diff --git a/notebooks/advanced/run_with_a_spinup_and_gcm_data.ipynb b/notebooks/tutorials/run_with_a_spinup_and_gcm_data.ipynb
similarity index 100%
rename from notebooks/advanced/run_with_a_spinup_and_gcm_data.ipynb
rename to notebooks/tutorials/run_with_a_spinup_and_gcm_data.ipynb
diff --git a/notebooks/beginner/store_and_compress_glacierdirs.ipynb b/notebooks/tutorials/store_and_compress_glacierdirs.ipynb
similarity index 100%
rename from notebooks/beginner/store_and_compress_glacierdirs.ipynb
rename to notebooks/tutorials/store_and_compress_glacierdirs.ipynb
diff --git a/notebooks/advanced/use_your_own_inventory.ipynb b/notebooks/tutorials/use_your_own_inventory.ipynb
similarity index 99%
rename from notebooks/advanced/use_your_own_inventory.ipynb
rename to notebooks/tutorials/use_your_own_inventory.ipynb
index 0f6093c2..14898f05 100644
--- a/notebooks/advanced/use_your_own_inventory.ipynb
+++ b/notebooks/tutorials/use_your_own_inventory.ipynb
@@ -91,7 +91,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Shapefiles are best read an manipulated with [geopandas](http://geopandas.org/) in python (see also our [working_with_rgi](../beginner/working_with_rgi.ipynb) tutorial):"
+ "Shapefiles are best read an manipulated with [geopandas](http://geopandas.org/) in python (see also our [working_with_rgi](../tutorials/working_with_rgi.ipynb) tutorial):"
]
},
{
@@ -703,7 +703,7 @@
"source": [
"OGGM (since version 1.5.3) now offers a function (`utils.cook_rgidf()`) to make it easier of using a non-RGI glacier inventory in OGGM. Now, let's use a non-RGI glacier inventory from the second Chinese glacier inventory (CGI2, https://doi.org/10.3189/2015JoG14J209) to show how it works.\n",
"\n",
- "**New in OGGM 1.6.1**: If you using outlines consisting of multi polygons and plan to use \"elevation band\" flowlines (see [10 minutes to... \"elevation band\" and \"centerline\" flowlines](../10minutes/elevation_bands_vs_centerlines.ipynb)) you can keep the complete multi polygon area for your simulations by setting ```cfg.PARAMS['keep_multipolygon_outlines'] = True```. That can be useful when working with local glacier inventories with multiple outlines (e.g. older outline single polygon but newer outline multi polygon for the same glacier)."
+ "**New in OGGM 1.6.1**: If you using outlines consisting of multi polygons and plan to use \"elevation band\" flowlines (see [10 minutes to... \"elevation band\" and \"centerline\" flowlines](../tutorials/elevation_bands_vs_centerlines.ipynb)) you can keep the complete multi polygon area for your simulations by setting ```cfg.PARAMS['keep_multipolygon_outlines'] = True```. That can be useful when working with local glacier inventories with multiple outlines (e.g. older outline single polygon but newer outline multi polygon for the same glacier)."
]
},
{
diff --git a/notebooks/advanced/where_are_the_flowlines.ipynb b/notebooks/tutorials/where_are_the_flowlines.ipynb
similarity index 99%
rename from notebooks/advanced/where_are_the_flowlines.ipynb
rename to notebooks/tutorials/where_are_the_flowlines.ipynb
index 866653c0..539e270a 100644
--- a/notebooks/advanced/where_are_the_flowlines.ipynb
+++ b/notebooks/tutorials/where_are_the_flowlines.ipynb
@@ -440,7 +440,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Note that we can see numeric instabilities in the flux divergence at year 20. The reason for this is that we used here the less stable dynamic numeric solver 'Flux-Based'. For more information on this problem check out [10 minutes to... understand difference between ice dynamic models](../10minutes/numeric_solvers.ipynb)!"
+ "Note that we can see numeric instabilities in the flux divergence at year 20. The reason for this is that we used here the less stable dynamic numeric solver 'Flux-Based'. For more information on this problem check out [10 minutes to... understand difference between ice dynamic models](../tutorials/numeric_solvers.ipynb)!"
]
},
{
diff --git a/notebooks/beginner/working_with_rgi.ipynb b/notebooks/tutorials/working_with_rgi.ipynb
similarity index 96%
rename from notebooks/beginner/working_with_rgi.ipynb
rename to notebooks/tutorials/working_with_rgi.ipynb
index bddbc964..e746762f 100644
--- a/notebooks/beginner/working_with_rgi.ipynb
+++ b/notebooks/tutorials/working_with_rgi.ipynb
@@ -11,7 +11,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "The glacier outlines obtained from the [Randolph Glacier Inventory](https://www.glims.org/RGI/) are the reference dataset for global and regional applications in OGGM. The current version is V6, and OGGM ships with a slightly modified version which we called `62`."
+ "The glacier outlines obtained from the [Randolph Glacier Inventory](https://www.glims.org/RGI/) are the reference dataset for global and regional applications in OGGM. The current version supported by is V6, and OGGM ships with a slightly modified version which we called `62`. OGGM also supports RGI 7, but not yet for full modelling workflows. A tutorial will follow!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Tags:** beginner, glacier-directory, workflow, RGI"
]
},
{
@@ -356,13 +363,6 @@
"- look at the [OGGM-Shop documentation](https://docs.oggm.org/en/stable/input-data.html#)\n",
"- back to the [table of contents](../welcome.ipynb)"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/notebooks/welcome.ipynb b/notebooks/welcome.ipynb
index becbae75..02c60957 100644
--- a/notebooks/welcome.ipynb
+++ b/notebooks/welcome.ipynb
@@ -4,13 +4,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Welcome to the OGGM tutorials!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
+ "# OGGM tutorials\n",
+ "\n",
"If you are new to jupyter notebooks or to jupyterlab, we recommend to have a look at our [introduction to jupyter notebooks](https://edu.oggm.org/en/latest/notebooks_howto.html) first!\n",
"\n",
"If you are reading this from our webpage (https://oggm.org/tutorials), remember that each page displayed here is in fact a jupyter notebook! You can start an interactive version of these tutorials online with [MyBinder](https://docs.oggm.org/en/latest/cloud.html) by clicking on the \"launch button\" on the top right of this page (the little rocket 🚀)."
@@ -22,48 +17,66 @@
"source": [
"Ready to go?\n",
"\n",
- "**New! The 10 minutes tutorials:**\n",
+ "## 10 minutes tutorials\n",
"\n",
"These new tutorials are designed to illustrate one single OGGM concept at a time. They are a good way to get started with OGGM, or for returning users to learn about new features!\n",
"- 10 minutes to... [a preprocessed directory](10minutes/preprocessed_directories.ipynb) (**start with this tutorial if you are new to OGGM**)\n",
"- 10 minutes to... [a glacier change projection with GCM data](10minutes/run_with_gcm.ipynb)\n",
"- 10 minutes to... [OGGM as an accelerator for modelling and machine learning](10minutes/machine_learning.ipynb)\n",
- "- 10 minutes to... [\"elevation band\" and \"centerline\" flowlines](10minutes/elevation_bands_vs_centerlines.ipynb)\n",
"- 10 minutes to... [the new dynamical spinup in OGGM v1.6](10minutes/dynamical_spinup.ipynb)\n",
"\n",
- "**Beginner tutorials:**\n",
- "- [working_with_rgi](beginner/working_with_rgi.ipynb) will show you how to read glacier outline files and prepare them for a run\n",
- "- [store_and_compress_glacierdirs](beginner/store_and_compress_glacierdirs.ipynb): storing glacier directories for later use\n",
- "- [plot_mass_balance](beginner/plot_mass_balance.ipynb): fetch and plot the simulated mass-balance as well as other diagnostics\n",
- "- [distribute_flowline](beginner/distribute_flowline.ipynb): compute area and thickness changes from the flowline on a 2D grid (experimental!)\n",
- "- [deal_with_errors](beginner/deal_with_errors.ipynb): dealing with errors after a run\n",
- "- [inversion](beginner/inversion.ipynb): run the OGGM ice thickness inversion model with various ice parameters\n",
- "- [hydrological_output](beginner/hydrological_output.ipynb): hydrological mass-balance output\n",
- "- [oggm_shop](beginner/oggm_shop.ipynb): getting acquainted with what's happening under the hood in OGGM GlacierDirectories, and how you can use the shop to add data to them\n",
- "- [full_prepro_workflow](beginner/full_prepro_workflow.ipynb) What's in your preprocessed directories? A full OGGM workflow, step by step\n",
- "\n",
- "**Advanced tutorials:**\n",
- "- [preprocessing_errors](advanced/preprocessing_errors.ipynb): error analysis of the global pre-processing workflow\n",
- "- [run_with_a_spinup_and_gcm_data](advanced/run_with_a_spinup_and_gcm_data.ipynb): start from a glacier state different than the RGI inventory date\n",
- "- [dem_sources](advanced/dem_sources.ipynb): create local topography maps from different DEM sources with OGGM\n",
- "- [use_your_own_inventory](advanced/use_your_own_inventory.ipynb): use custom glacier inventories with OGGM\n",
- "- [centerlines_to_shape](advanced/centerlines_to_shape.ipynb): compute the centerlines for a custom inventory and DEM and write them to disk \n",
- "- [massbalance_calibration](advanced/massbalance_calibration.ipynb): A look into the new mass balance calibration in OGGM v1.6\n",
- "- [numeric_solvers](advanced/numeric_solvers.ipynb): Understand the difference between the ice dynamic solvers in OGGM\n",
- "- [where_are_the_flowlines](advanced/where_are_the_flowlines.ipynb): how to access the OGGM flowlines location before, during, and after a run. \n",
- "- [ingest_gridded_data_on_flowlines](advanced/ingest_gridded_data_on_flowlines.ipynb): ingest gridded products such as ice velocity into OGGM (and compare them with model output)\n",
- "- [merge_gcm_runs_and_visualize](advanced/merge_gcm_runs_and_visualize.ipynb): how to merge different GCM runs into one dataset, analyse them on a regional scale and visualize with HoloViz\n",
- "- [dynamical_spinup](advanced/dynamical_spinup.ipynb): a deeper dive into the dynamical spinup for past simulations\n",
- "- [observed thickness and dynamical_spinup](advanced/observed_thickness_with_dynamic_spinup.ipynb): how to create OGGM flowlines from thickness observations and dynamically initialise the model\n",
- "\n",
- "**RGI-TOPO:**\n",
- "- [rgitopo_rgi6](others/rgitopo_rgi6.ipynb): RGI-TOPO for RGI v6.0\n",
- "- [rgitopo_rgi7](others/rgitopo_rgi7.ipynb): RGI-TOPO for RGI v7.0 (**new!**)\n",
- "\n",
- "**Related to OGGM:**\n",
- "- [holoviz_intro](others/holoviz_intro.ipynb): an introduction to the HoloViz vizualisation ecosystem (previously called PyViz)\n",
- "\n",
- "**Tutorials in (re-)construction:**\n",
+ "## OGGM workflow\n",
+ "\n",
+ "- [working_with_rgi](tutorials/working_with_rgi.ipynb) will show you how to read glacier outline files and prepare them for a run\n",
+ "- [store_and_compress_glacierdirs](tutorials/store_and_compress_glacierdirs.ipynb): storing glacier directories for later use\n",
+ "- [deal_with_errors](tutorials/deal_with_errors.ipynb): dealing with errors after a run\n",
+ "- [elevation_bands_vs_centerlines](tutorials/elevation_bands_vs_centerlines.ipynb): differences between \"elevation band\" and \"centerline\" flowlines\n",
+ "- [full_prepro_workflow](tutorials/full_prepro_workflow.ipynb): what's in your preprocessed directories? A full OGGM workflow, step by step\n",
+ "\n",
+ "## Mass balance\n",
+ "\n",
+ "- [plot_mass_balance](tutorials/plot_mass_balance.ipynb): fetch and plot the simulated mass-balance as well as other diagnostics\n",
+ "- [massbalance_calibration](tutorials/massbalance_calibration.ipynb): A look into the new mass balance calibration in OGGM v1.6\n",
+ "\n",
+ "## Hydrological output\n",
+ "\n",
+ "- [hydrological_output](tutorials/hydrological_output.ipynb): hydrological mass-balance output\n",
+ "\n",
+ "You might find the following notebooks in OGGM-Edu interesting as well!\n",
+ "- [Glaciers as water resources: part 1 (idealized climate)](https://oggm.org/oggm-edu-notebooks/oggm-edu/glacier_water_resources.html)\n",
+ "- [Glaciers as water resources: part 2 (projections)](https://oggm.org/oggm-edu-notebooks/oggm-edu/glacier_water_resources_projections.html)\n",
+ "\n",
+ "## Dynamical runs\n",
+ "\n",
+ "- [run_with_a_spinup_and_gcm_data](tutorials/run_with_a_spinup_and_gcm_data.ipynb): start from a glacier state different than the RGI inventory date\n",
+ "- [dynamical_spinup](tutorials/dynamical_spinup.ipynb): a deeper dive into the dynamical spinup for past simulations\n",
+ "- [numeric_solvers](tutorials/numeric_solvers.ipynb): Understand the difference between the ice dynamic solvers in OGGM\n",
+ "\n",
+ "## Ice thickness\n",
+ "\n",
+ "- [inversion](tutorials/inversion.ipynb): run the OGGM ice thickness inversion model with various ice parameters\n",
+ "- [observed_thickness_with_dynamic_spinup](tutorials/observed_thickness_with_dynamic_spinup.ipynb): how to create OGGM flowlines from thickness observations and dynamically initialise the model\n",
+ "\n",
+ "## OGGM shop and additional data\n",
+ "\n",
+ "- [oggm_shop](tutorials/oggm_shop.ipynb): OGGM-Shop and Glacier Directories in OGGM\n",
+ "- [use_your_own_inventory](tutorials/use_your_own_inventory.ipynb): use custom glacier inventories with OGGM\n",
+ "- [ingest_gridded_data_on_flowlines](tutorials/ingest_gridded_data_on_flowlines.ipynb): ingest gridded products such as ice velocity into OGGM (and compare them with model output)\n",
+ "- [dem_sources](tutorials/dem_sources.ipynb): create local topography maps from different DEM sources with OGGM\n",
+ "- [rgitopo_rgi6](tutorials/rgitopo_rgi6.ipynb): RGI-TOPO for RGI v6.0\n",
+ "- [rgitopo_rgi7](tutorials/rgitopo_rgi7.ipynb): RGI-TOPO for RGI v7.0 (**new!**)\n",
+ "\n",
+ "## Visualisation and post-processing\n",
+ "\n",
+ "- [distribute_flowline](tutorials/distribute_flowline.ipynb): compute area and thickness changes from the flowline on a 2D grid (experimental!)\n",
+ "- [where_are_the_flowlines](tutorials/where_are_the_flowlines.ipynb): how to access the OGGM flowlines location before, during, and after a run. \n",
+ "- [centerlines_to_shape](tutorials/centerlines_to_shape.ipynb): compute the centerlines for a custom inventory and DEM and write them to disk \n",
+ "- [preprocessing_errors](tutorials/preprocessing_errors.ipynb): error analysis of the global pre-processing workflow\n",
+ "- [merge_gcm_runs_and_visualize](tutorials/merge_gcm_runs_and_visualize.ipynb): how to merge different GCM runs into one dataset, analyse them on a regional scale and visualize with HoloViz\n",
+ "- [holoviz_intro](tutorials/holoviz_intro.ipynb): (not OGGM) an introduction to the HoloViz vizualisation ecosystem\n",
+ "\n",
+ "## Tutorials in (re-)construction\n",
+ "\n",
"- [inversion_with_frontal_ablation](construction/inversion_with_frontal_ablation.ipynb): a case study about ice thickness inversion with frontal ablation\n",
"- [kcalving_parameterization](construction/kcalving_parameterization.ipynb): the Oerlemans & Nick frontal ablation parameterization in OGGM\n",
"- [merging_glaciers](construction/merging_glaciers.ipynb): a tutorial about how to merge two or more glaciers for advancing glacier scenarios\n",
@@ -113,7 +126,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.10.6"
+ "version": "3.11.4"
},
"latex_envs": {
"LaTeX_envs_menu_present": true,