diff --git a/core/data-formats/netcdf-cf.ipynb b/core/data-formats/netcdf-cf.ipynb index a79cbfd61c..33771ba685 100644 --- a/core/data-formats/netcdf-cf.ipynb +++ b/core/data-formats/netcdf-cf.ipynb @@ -16,7 +16,7 @@ "metadata": {}, "source": [ "## Overview\n", - "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", + "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", "\n", "1. Demonstrating gridded data\n", "1. Demonstrating observational data" @@ -972,7 +972,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Resources and References\n", + "## Additional Resources\n", "\n", "- [CF Conventions doc (1.7)](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html)\n", "- [Jonathan Gregory's old CF presentation](http://cfconventions.org/Data/cf-documents/overview/viewgraphs.pdf)\n", diff --git a/core/xarray/dask-arrays-xarray.ipynb b/core/xarray/dask-arrays-xarray.ipynb index af47495430..662b46afbc 100644 --- a/core/xarray/dask-arrays-xarray.ipynb +++ b/core/xarray/dask-arrays-xarray.ipynb @@ -10,7 +10,7 @@ "\n", "\n", "\n", - "The scientific Python package known as Dask provides Dask Arrays: parallel, larger-than-memory, n-dimensional arrays that make use of blocked algorithms. They are analogous to Numpy arrays, but are distributed. These terms are defined below:\n", + "The scientific Python package known as Dask [@https://doi.org/10.25080/Majora-7b98e3ed-013] provides Dask Arrays: parallel, larger-than-memory, n-dimensional arrays that make use of blocked algorithms. They are analogous to Numpy arrays, but are distributed. These terms are defined below:\n", "\n", "* **Parallel** code uses many or all of the cores on the computer running the code.\n", "* **Larger-than-memory** refers to algorithms that break up data arrays into small pieces, operate on these pieces in an optimized fashion, and stream data from a storage device. This allows a user or programmer to work with datasets of a size larger than the available memory.\n", diff --git a/foundations/getting-started-jupyter.ipynb b/foundations/getting-started-jupyter.ipynb index cbae2729b1..dc0ee91ee9 100644 --- a/foundations/getting-started-jupyter.ipynb +++ b/foundations/getting-started-jupyter.ipynb @@ -32,7 +32,7 @@ }, "source": [ "## Overview\n", - "Project Jupyter is a project and community whose goal is to \"develop open-source software, open-standards, and services for interactive computing across dozens of programming languages\". Jupyter consists of four main components: Jupyter Notebooks, Jupyter Kernels, Jupyter Lab, and Jupyter Hub. Jupyter can be executed locally and remotely.\n", + "Project Jupyter [@https://doi.org/10.1109/MCSE.2021.3059263] is a project and community whose goal is to \"develop open-source software, open-standards, and services for interactive computing across dozens of programming languages\". Jupyter consists of four main components: Jupyter Notebooks, Jupyter Kernels, Jupyter Lab, and Jupyter Hub. Jupyter can be executed locally and remotely.\n", "\n", "1. Jupyter Notebooks\n", "2. Jupyter Kernels\n", @@ -73,7 +73,7 @@ "source": [ "## Jupyter Notebooks\n", "\n", - "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. \n", + "The Jupyter Notebook software [@https://doi.org/10.3233/978-1-61499-649-1-87] 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. \n", "\n", "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." ] diff --git a/preamble/how-to-use.md b/preamble/how-to-use.md index ac7163446e..61cd9179c0 100644 --- a/preamble/how-to-use.md +++ b/preamble/how-to-use.md @@ -45,8 +45,10 @@ of the Scientific Python Ecosystem. ## Running Pythia Foundations examples All of the content in Pythia Foundations is authored in Markdown -and presented in the form of [Jupyter -Notebook](https://jupyter.org) “chapters”. The power +and presented in the form of a [Jupyter +Book](https://jupyterbook.org) [@https://doi.org/10.25080/hwcj9957] with +“chapters” written as MyST Markdown documents or Jupyter Notebooks +[@https://doi.org/10.3233/978-1-61499-649-1-87]. The power of Jupyter Notebooks is that they can contain both static text and executable code that you can interact with. When you navigate to a book chapter such as [Matplotlib diff --git a/references.bib b/references.bib index 4baf790ddd..65f7a634d3 100644 --- a/references.bib +++ b/references.bib @@ -1,25 +1,25 @@ -@Article{ harris2020array, - title = {Array programming with {NumPy}}, - author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. - van der Walt and Ralf Gommers and Pauli Virtanen and David - Cournapeau and Eric Wieser and Julian Taylor and Sebastian - Berg and Nathaniel J. Smith and Robert Kern and Matti Picus - and Stephan Hoyer and Marten H. van Kerkwijk and Matthew - Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del - R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre - G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and - Warren Weckesser and Hameer Abbasi and Christoph Gohlke and - Travis E. Oliphant}, - year = {2020}, - month = sep, - journal = {Nature}, - volume = {585}, - number = {7825}, - pages = {357--362}, - doi = {10.1038/s41586-020-2649-2}, - publisher = {Springer Science and Business Media {LLC}}, - url = {https://doi.org/10.1038/s41586-020-2649-2} -} +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} @Article{Hunter:2007, Author = {Hunter, J. D.}, @@ -75,3 +75,84 @@ @software{reback2020pandas doi = {10.5281/zenodo.3509134}, url = {https://doi.org/10.5281/zenodo.3509134} } + +@inbook{Kluyver_Thomas_2016, + author = {Thomas, Kluyver and Benjamin, Ragan-Kelley and Fernando, P\érez and Brian, Granger and Matthias, Bussonnier and Jonathan, Frederic and Kyle, Kelley and Jessica, Hamrick and Jason, Grout and Sylvain, Corlay and Paul, Ivanov and Dami\án, Avila and Safia, Abdalla and Carol, Willing and Team, Jupyter Development}, + booktitle = {Positioning and {Power} in {Academic} {Publishing}: Players, {Agents} and {Agendas}}, + doi = {10.3233/978-1-61499-649-1-87}, + year = {2016}, + publisher = {IOS Press}, + title = {Jupyter {Notebooks} \– a publishing format for reproducible computational workflows}, + url = {http://dx.doi.org/10.3233/978-1-61499-649-1-87}, +} + + +@inproceedings{Jupyter_2025, + author = {Jupyter, Project and Bolyen, Evan and Caporaso, J Gregory and Cockett, Rowan and Garside, Danny and Holdgraf, Chris and Hollands, Angus and Kent, Julia and Koch, Franklin and Madge, Jim and McKay, Matthew and Morrison, Mike and P{\' e}rez, Fernando and Purves, Steve and Kelley, Min Ragan and Rose, Brian E. J. and Sharan, Malvika and Sip{\H o}cz, Brigitta M. and Walt, St{\' e}fan J. and Whitaker, Kirstie Jane}, + series = {SciPy}, + booktitle = {Proceedings of the 24th {Python} in {Science} {Conference}}, + doi = {10.25080/hwcj9957}, + issn = {2575-9752}, + year = {2025}, + month = {7}, + pages = {173--193}, + organization = {SciPy}, + title = {Jupyter {Book} 2 and the {MyST} {Document} {Stack}: A modular, extensible, web-native stack for authoring and publishing computational narratives}, + url = {http://dx.doi.org/10.25080/hwcj9957}, +} + + +@article{Granger_2021, + author = {Granger, Brian E. and Perez, Fernando}, + journal = {Computing in Science \& Engineering}, + doi = {10.1109/mcse.2021.3059263}, + issn = {1558-366X}, + number = {2}, + year = {2021}, + month = {3}, + pages = {7--14}, + publisher = {Institute of Electrical}, + title = {Jupyter: Thinking and {Storytelling} {With} {Code} and {Data}}, + url = {http://dx.doi.org/10.1109/MCSE.2021.3059263}, + volume = {23}, +} + + +@article{Rew_1990, + author = {Rew, R. and Davis, G.}, + journal = {IEEE Computer Graphics and Applications}, + doi = {10.1109/38.56302}, + issn = {0272-1716}, + number = {4}, + year = {1990}, + month = {7}, + pages = {76--82}, + publisher = {Institute of Electrical}, + title = {NetCDF: an interface for scientific data access}, + url = {http://dx.doi.org/10.1109/38.56302}, + volume = {10}, +} + + +@misc{https://doi.org/10.5281/zenodo.14274886, + author = {Eaton, Brian and Gregory, Jonathan and Drach, Bob and Taylor, Karl and Hankin, Steve and Caron, John and Signell, Rich and Bentley, Phil and Rappa, Greg and H{\" o}ck, Heinke and Pamment, Alison and Juckes, Martin and Raspaud, Martin and Blower, Jon and Horne, Randy and Whiteaker, Timothy and Blodgett, David and Zender, Charlie and Lee, Daniel and Hassell, David and Snow, Alan D. and K{\" o}lling, Tobias and Allured, Dave and Jelenak, Aleksandar and Soerensen, Anders Meier and Gaultier, Lucile and Herl{\' e}dan, Sylvain and Manzano, Fernando and B{\" a}rring, Lars and Barker, Christopher and Bartholomew, Sadie L.}, + doi = {10.5281/ZENODO.14274886}, + year = {2024}, + publisher = {CF Community}, + title = {NetCDF {Climate} and {Forecast} ({CF}) {Metadata} {Conventions}}, + url = {https://zenodo.org/doi/10.5281/zenodo.14274886}, +} + + +@inproceedings{Rocklin_2015, + author = {Rocklin, Matthew}, + series = {SciPy}, + booktitle = {Proceedings of the 14th {Python} in {Science} {Conference}}, + doi = {10.25080/majora-7b98e3ed-013}, + issn = {2575-9752}, + year = {2015}, + pages = {126--132}, + organization = {SciPy}, + title = {Dask: Parallel {Computation} with {Blocked} algorithms and {Task} {Scheduling}}, + url = {http://dx.doi.org/10.25080/Majora-7b98e3ed-013}, +}