Skip to content

Commit 7bfc5e6

Browse files
committed
Sync with upstream
2 parents 211b25b + a8a5fa0 commit 7bfc5e6

33 files changed

+332
-222
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ repos:
1010
- id: double-quote-string-fixer
1111

1212
- repo: https://github.com/psf/black-pre-commit-mirror
13-
rev: 25.11.0
13+
rev: 25.12.0
1414
hooks:
1515
- id: black
1616

CITATION.cff

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,19 @@ authors:
4040
orcid: https://orcid.org/0000-0002-0370-8974
4141
website: https://github.com/mgrover1
4242
affiliation: Argonne National Laboratory
43+
- family-names: FitzGerald
44+
given-names: Katelyn
45+
orcid: https://orcid.org/0000-0003-4184-1917
46+
affiliation: UCAR/NCAR
4347
- family-names: Ford
4448
given-names: Robert R.
4549
orcid: https://orcid.org/0000-0001-5483-4965
4650
website: https://github.com/r-ford
4751
affiliation: University at Albany (State University of New York)
52+
- family-names: Freeman
53+
given-names: Brittany
54+
orcid: https://orcid.org/0009-0006-2806-1149
55+
affilitation: University at Albany (State University of New York)
4856
- family-names: Paul
4957
given-names: Kevin
5058
orcid: https://orcid.org/0000-0001-8155-8038

appendix/glossary.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
title: Glossary
3+
description: Glossary of terms used in Pythia Foundations.
4+
---
5+
6+
:::{glossary}
7+
8+
[Binder](https://jupyter.org/binder)
9+
: An open-source service that allows users to create sharable, interactive computing environments from {term}`Jupyter Notebooks` and other repositories. Binder can reproduce a computational environment directly from a GitHub repository, providing a seamless way to share and interact with code and data.
10+
11+
: The public service to run Binder is on <https://mybinder.org>, which is running {term}`BinderHub`. The Binder links on most Project Pythia pages point to <https://binder.projectpythia.org>, which is a Pythia-specific implementation of {term}`BinderHub` running on the NSF-supported [Jetstream2](https://jetstream-cloud.org/) cloud computing service.
12+
13+
BinderHub
14+
: The underlying technology and infrastructure that powers {term}`Binder`. BinderHub deploys and manages the interactive computing environments for {term}`Jupyter Notebooks`, ensuring that users can access and share reproducible computational work.
15+
16+
Conda
17+
: Conda is an open-source, cross-platform, language-agnostic package manager and environment management system that allows you to quickly install, run, and update packages within your work environment(s). To install `conda`, we recommend {term}`miniconda`.
18+
: See [Conda documentation](https://docs.conda.io/en/latest/) and the [Conda cheat sheet](https://docs.conda.io/projects/conda/en/4.6.0/_downloads/) and @conda-commands in the context of Project Pythia.
19+
20+
Jupyter Notebooks
21+
: The Jupyter Notebook software is an open-source web application that allows you to create and share Jupyter Notebooks (`*.ipynb` files). Jupyter Notebooks contain executable code, LaTeX equations, visualizations (e.g., plots, pictures), and narrative text. The code does not have to just be Python, other languages such as Julia or R are supported as well. Jupyter Notebooks are celebrated for their interactive output that allows movement between code, code output, explanations, and more code - similar to how scientists think and solve problems. Jupyter Notebooks can be thought of as a living, runnable publication and make for a great presentation platform. See also {term}`Jupyter Kernels`, {term}`Jupyter Lab`, {term}`Jupyter Hub`, {term}`Binder`, and {term}`BinderHub`.
22+
23+
Jupyter Kernels
24+
: Software engines and their environments (e.g., conda environments) that execute the code contained in {term}`Jupyter Notebooks`.
25+
26+
Jupyter Lab
27+
: A popular web application on which users can create and write their {term}`Jupyter Notebooks`, as well as explore data, install software, etc. You can find more information on running Jupyter Lab [here](https://jupyter.org/install).
28+
29+
: See @installing-python-in-jupyter for more.
30+
31+
Jupyter Hub
32+
: A web-based platform that authenticates users and launches {term}`Jupyter Lab` applications for users on remote systems.
33+
34+
Miniconda
35+
: [Miniconda](https://docs.conda.io/en/latest/miniconda.html) is a free minimal installer for {term}`Conda`. Miniconda only comes with the {term}`Conda` package management system; it is a pared-down version of the full Anaconda Python distribution.
36+
: See @installing-conda.
37+
38+
Miniforge
39+
: Miniforge is the community driven and more permissively licensed minimal installer.
40+
41+
[NCL](https://www.ncl.ucar.edu/)
42+
: The NCAR Command Language (NCL) is an interpreted language designed specifically for scientific data analysis and visualization.
43+
44+
Python package
45+
: A Python package is a collection of modules, which, in turn, are essentially Python scripts that contain published functionality. There are Python packages for data input, data analysis, data visualization, etc. Each package offers a unique toolset and may have its own unique syntax rules. You can install Python packages with {term}`conda`.
46+
:::

appendix/template.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@
245245
"cell_type": "markdown",
246246
"metadata": {},
247247
"source": [
248-
"We also suggest checking out Jupyter Book's [brief demonstration](https://jupyterbook.org/content/metadata.html#jupyter-cell-tags) on adding cell tags to your cells in Jupyter Notebook, Lab, or manually. Using these cell tags can allow you to [customize](https://jupyterbook.org/interactive/hiding.html) how your code content is displayed and even [demonstrate errors](https://jupyterbook.org/content/execute.html#dealing-with-code-that-raises-errors) without altogether crashing our loyal army of machines!"
248+
"We also suggest checking out Jupyter Book's [brief demonstration](https://jupyterbook.org/v1/content/metadata.html#add-metadata-to-notebooks) on adding cell tags to your cells in Jupyter Notebook, Lab, or manually. Using these cell tags can allow you to [customize](https://jupyterbook.org/v1/interactive/hiding.html) how your code content is displayed and even [demonstrate errors](https://jupyterbook.org/v1/content/execute.html#dealing-with-code-that-raises-errors) without altogether crashing our loyal army of machines!"
249249
]
250250
},
251251
{

core/cartopy.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
# Cartopy
22

3-
This section contains tutorials on plotting maps with [Cartopy](https://scitools.org.uk/cartopy/docs/latest/) {cite:p}`Cartopy`; it is cross-referenced with tutorials on [Xarray](xarray) and [Matplotlib](matplotlib).
3+
This section contains tutorials on plotting maps with [Cartopy](https://cartopy.readthedocs.io) {cite:p}`Cartopy`; it is cross-referenced with tutorials on [Xarray](xarray.md) and [Matplotlib](matplotlib.md).
44

55
---
66

7-
From the [Cartopy website](https://scitools.org.uk/cartopy/docs/latest):
7+
From the [Cartopy website](https://cartopy.readthedocs.io):
88

99
> Cartopy is a Python package designed for geospatial data processing in order to
1010
> produce maps and other geospatial data analyses.
1111
>
1212
> Cartopy makes use of the powerful PROJ.4, NumPy and Shapely libraries and includes a programmatic interface
1313
> built on top of Matplotlib for the creation of publication quality maps.
1414
>
15-
> Key features of Cartopy are its object-oriented [projection definitions](https://scitools.org.uk/cartopy/docs/latest/reference/crs.html#list-of-projections),
15+
> Key features of Cartopy are its object-oriented [projection definitions](https://cartopy.readthedocs.io/stable/reference/crs.html#list-of-projections),
1616
> and its ability to transform points, lines, vectors, polygons and images between those projections.
1717
18-
Before working through the Cartopy notebooks in this section of Pythia Foundations, you should first have a basic knowledge of [Matplotlib](matplotlib).
18+
Before working through the Cartopy notebooks in this section of Pythia Foundations, you should first have a basic knowledge of [Matplotlib](matplotlib.md).
1919

2020
In addition, please note that the geographic-features library used by Cartopy makes use of shapefiles directly served by [Natural Earth](https://www.naturalearthdata.com/).

core/cartopy/cartopy.ipynb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@
4141
"source": [
4242
"## Prerequisites\n",
4343
"\n",
44-
"| Concepts | Importance | Notes |\n",
45-
"| --- | --- | --- |\n",
46-
"| [Matplotlib](../matplotlib) | Necessary | {cite:t}`Hunter:2007` |\n",
44+
"| Concepts | Importance | Notes |\n",
45+
"| ------------------------------ | ---------- | --------------------- |\n",
46+
"| [Matplotlib](../matplotlib.md) | Necessary | {cite:t}`Hunter:2007` |\n",
4747
"\n",
4848
"- **Time to learn**: 30 minutes"
4949
]
@@ -183,7 +183,7 @@
183183
"cell_type": "markdown",
184184
"metadata": {},
185185
"source": [
186-
"We can add these features to our subplot via the `add_feature` method; this method allows the definition of attributes using arguments, similar to Matplotlib's `plot` method. A list of the various Natural Earth shapefiles can be found at https://scitools.org.uk/cartopy/docs/latest/matplotlib/feature_interface.html. In this example, we add borders and U. S. state lines to our subplot:"
186+
"We can add these features to our subplot via the `add_feature` method; this method allows the definition of attributes using arguments, similar to Matplotlib's `plot` method. A list of the various Natural Earth shapefiles can be found at https://cartopy.readthedocs.io/stable/matplotlib/feature_interface.html. In this example, we add borders and U. S. state lines to our subplot:"
187187
]
188188
},
189189
{
@@ -225,7 +225,7 @@
225225
"source": [
226226
"<div class=\"admonition alert alert-info\">\n",
227227
" <p class=\"admonition-title\" style=\"font-weight:bold\">Info</p>\n",
228-
" You can find a list of supported projections in Cartopy, with examples, at <a href=\"https://scitools.org.uk/cartopy/docs/latest/reference/crs.html\">https://scitools.org.uk/cartopy/docs/latest/reference/crs.html</a>\n",
228+
" You can find a list of supported projections in Cartopy, with examples, at <a href=\"https://cartopy.readthedocs.io/stable/reference/crs.html#list-of-projections\">https://cartopy.readthedocs.io/stable/reference/crs.html#list-of-projections</a>\n",
229229
"</div>"
230230
]
231231
},
@@ -720,8 +720,8 @@
720720
"source": [
721721
"## Additional Resources\n",
722722
"\n",
723-
"1. [Cartopy Documentation](https://scitools.org.uk/cartopy/docs/latest/)\n",
724-
"2. [Full list of projections in Cartopy](https://scitools.org.uk/cartopy/docs/latest/reference/crs.html) \n",
723+
"1. [Cartopy Documentation](https://cartopy.readthedocs.io/)\n",
724+
"2. [Full list of projections in Cartopy](https://cartopy.readthedocs.io/stable/reference/crs.html) \n",
725725
"3. [Maps with Cartopy (Ryan Abernathey)](https://rabernat.github.io/research_computing_2018/maps-with-cartopy.html)\n",
726726
"4. [Map Projections (GeoCAT)](https://geocat-examples.readthedocs.io/en/latest/gallery/index.html#map-projections)\n",
727727
"5. [NCAR xdev Cartopy Tutorial Video](https://www.youtube.com/watch?v=ivmd3RluMiw)\n"

core/data-formats/netcdf-cf.ipynb

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"source": [
77
"# NetCDF and CF: The Basics\n",
88
"\n",
9-
"![NetCDF Logo](https://www.unidata.ucar.edu/images/logos/netcdf-400x400.png \"NetCDF Logo\")\n",
9+
"![NetCDF Logo](https://archive.unidata.ucar.edu/images/logos/netcdf-400x400.png \"NetCDF Logo\")\n",
1010
"\n",
1111
"---"
1212
]
@@ -16,7 +16,7 @@
1616
"metadata": {},
1717
"source": [
1818
"## Overview\n",
19-
"This tutorial will begin with an introduction to netCDF. The CF data model will then be covered, and finally, important implementation details for netCDF. The structure of the tutorial is as follows:\n",
19+
"This tutorial will begin with an introduction to netCDF [@https://doi.org/10.1109/38.56302]. The CF data model [@https://doi.org/10.5281/zenodo.14274886] will then be covered, and finally, important implementation details for netCDF. The structure of the tutorial is as follows:\n",
2020
"\n",
2121
"1. Demonstrating gridded data\n",
2222
"1. Demonstrating observational data"
@@ -33,7 +33,7 @@
3333
"| Concepts | Importance | Notes |\n",
3434
"| --- | --- | --- |\n",
3535
"| [Numpy Basics](../numpy/numpy-basics) | Necessary | |\n",
36-
"| [Datetime](../datetime) | Necessary | |\n",
36+
"| [Datetime](../datetime.md) | Necessary | |\n",
3737
"\n",
3838
"- **Time to learn**: 50 minutes"
3939
]
@@ -72,7 +72,6 @@
7272
"cell_type": "markdown",
7373
"metadata": {},
7474
"source": [
75-
"<a name=\"gridded\"></a>\n",
7675
"## Gridded Data"
7776
]
7877
},
@@ -744,7 +743,6 @@
744743
"cell_type": "markdown",
745744
"metadata": {},
746745
"source": [
747-
"<a name=\"obs\"></a>\n",
748746
"## Observational Data\n",
749747
"\n",
750748
"Thus far, we have only worked with data arranged on grids. One common type of data, called \"in-situ\" or \"observational\" data, is usually arranged in other ways. The CF conventions for this type of data are called *Conventions for DSG (Discrete Sampling Geometries)*.\n",
@@ -974,8 +972,7 @@
974972
"cell_type": "markdown",
975973
"metadata": {},
976974
"source": [
977-
"<a name=\"references\"></a>\n",
978-
"## Resources and References\n",
975+
"## Additional Resources\n",
979976
"\n",
980977
"- [CF Conventions doc (1.7)](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html)\n",
981978
"- [Jonathan Gregory's old CF presentation](http://cfconventions.org/Data/cf-documents/overview/viewgraphs.pdf)\n",

core/datetime.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ When this chapter is fully built out, it will include a comprehensive guide to d
1111
- [Numpy `datetime64`](https://numpy.org/doc/stable/reference/arrays.datetime.html) (for efficient vectorized date and time operations)
1212
- [cftime library](https://unidata.github.io/cftime/) (for dealing with dates and times in non-standard calendars)
1313

14-
These tutorials will be cross-referenced with other tutorials on time-related topics, such as dealing with timeseries data in [Pandas](pandas) and [Xarray](xarray).
14+
These tutorials will be cross-referenced with other tutorials on time-related topics, such as dealing with timeseries data in [Pandas](pandas.md) and [Xarray](xarray.md).

0 commit comments

Comments
 (0)