diff --git a/core/cartopy.md b/core/cartopy.md index 03a47555a..6abf7da96 100644 --- a/core/cartopy.md +++ b/core/cartopy.md @@ -1,6 +1,6 @@ # Cartopy -This section contains tutorials on plotting maps with [Cartopy](https://scitools.org.uk/cartopy/docs/latest/); it is cross-referenced with tutorials on [Xarray](xarray) and [Matplotlib](matplotlib). +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). --- diff --git a/core/cartopy/cartopy.ipynb b/core/cartopy/cartopy.ipynb index ac349eb11..3f65b71b3 100644 --- a/core/cartopy/cartopy.ipynb +++ b/core/cartopy/cartopy.ipynb @@ -30,7 +30,7 @@ "2. Exploring some of Cartopy's map projections\n", "3. Creating regional maps\n", "\n", - "This tutorial will lead you through some basics of creating maps with specified projections using Cartopy, and adding geographical features (like coastlines and borders) to those maps.\n", + "This tutorial will lead you through some basics of creating maps with specified projections using Cartopy {cite:p}`Cartopy`, and adding geographical features (like coastlines and borders) to those maps.\n", "\n", "Plotting data on map projections will be covered in later tutorials." ] @@ -43,7 +43,7 @@ "\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [Matplotlib](../matplotlib) | Necessary | |\n", + "| [Matplotlib](../matplotlib) | Necessary | {cite:t}`Hunter:2007` |\n", "\n", "- **Time to learn**: 30 minutes" ] @@ -718,13 +718,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Resources and References\n", + "## Additional Resources\n", "\n", "1. [Cartopy Documentation](https://scitools.org.uk/cartopy/docs/latest/)\n", "2. [Full list of projections in Cartopy](https://scitools.org.uk/cartopy/docs/latest/reference/crs.html) \n", "3. [Maps with Cartopy (Ryan Abernathey)](https://rabernat.github.io/research_computing_2018/maps-with-cartopy.html)\n", "4. [Map Projections (GeoCAT)](https://geocat-examples.readthedocs.io/en/latest/gallery/index.html#map-projections)\n", - "5. [NCAR xdev Cartopy Tutorial Video](https://www.youtube.com/watch?v=ivmd3RluMiw)" + "5. [NCAR xdev Cartopy Tutorial Video](https://www.youtube.com/watch?v=ivmd3RluMiw)\n" ] } ], diff --git a/core/matplotlib.md b/core/matplotlib.md index 184519f98..7f27f31fa 100644 --- a/core/matplotlib.md +++ b/core/matplotlib.md @@ -2,7 +2,7 @@ ![Matplotlib logo](https://matplotlib.org/stable/_images/sphx_glr_logos2_003.png) -[Matplotlib](https://matplotlib.org) is the go-to library for plotting within Python. Numerous packages and libraries build off of Matplotlib, making it the de facto standard Python plotting package. If you were to learn a single plotting tool to keep in your toolbox, this is it. +[Matplotlib](https://matplotlib.org) {cite:p}`Hunter:2007` is the go-to library for plotting within Python. Numerous packages and libraries build off of Matplotlib, making it the de facto standard Python plotting package. If you were to learn a single plotting tool to keep in your toolbox, this is it. ## Why Matplotlib? diff --git a/core/matplotlib/annotations-colorbars-layouts.ipynb b/core/matplotlib/annotations-colorbars-layouts.ipynb index 0fc49775b..515f83814 100644 --- a/core/matplotlib/annotations-colorbars-layouts.ipynb +++ b/core/matplotlib/annotations-colorbars-layouts.ipynb @@ -31,10 +31,10 @@ "## Prerequisites\n", "\n", "\n", - "| Concepts | Importance |\n", - "| --- | --- |\n", - "| [NumPy Basics](../numpy/numpy-basics) | Necessary |\n", - "| [Matplotlib Basics](matplotlib-basics) | Necessary |\n", + "| Concepts | Importance | Notes |\n", + "| --- | --- | --- |\n", + "| [NumPy Basics](../numpy/numpy-basics) | Necessary | {cite:t}`harris2020array` |\n", + "| [Matplotlib Basics](matplotlib-basics) | Necessary | {cite:t}`Hunter:2007` |\n", "\n", "- **Time to learn**: *30-40 minutes*" ] @@ -635,7 +635,7 @@ "* You can create your own colormaps with Matplotlib\n", "* Various subplots and corresponding `Axes` objects in a figure can share colorbars\n", " \n", - "## Resources and references\n", + "## Additional Resources\n", "- [Matplotlib text documentation](https://matplotlib.org/stable/api/text_api.html#matplotlib.text.Text.set_math_fontfamily)\n", "- [Matplotlib annotation documentation](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.annotate.html)\n", "- [Matplotlib's annotation examples](https://matplotlib.org/stable/tutorials/text/annotations.html)\n", @@ -645,7 +645,7 @@ "- [Plot Types Cheat Sheet](https://lnkd.in/dD5fE8V)\n", "- [Choosing Colormaps in Matplotlib](https://matplotlib.org/stable/tutorials/colors/colormaps.html)\n", "- [Making custom colormaps](https://matplotlib.org/stable/tutorials/colors/colormap-manipulation.html)\n", - "- [Complex figure and subplot composition](https://matplotlib.org/stable/tutorials/provisional/mosaic.html#)" + "- [Complex figure and subplot composition](https://matplotlib.org/stable/tutorials/provisional/mosaic.html#)\n" ] }, { diff --git a/core/matplotlib/histograms-piecharts-animation.ipynb b/core/matplotlib/histograms-piecharts-animation.ipynb index 1414ca84a..6b94973a0 100644 --- a/core/matplotlib/histograms-piecharts-animation.ipynb +++ b/core/matplotlib/histograms-piecharts-animation.ipynb @@ -33,8 +33,8 @@ "## Prerequisites\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [NumPy Basics](../numpy/numpy-basics) | Necessary | |\n", - "| [Matplotlib Basics](matplotlib-basics) | Necessary | |\n", + "| [NumPy Basics](../numpy/numpy-basics) | Necessary | {cite:t}`harris2020array` |\n", + "| [Matplotlib Basics](matplotlib-basics) | Necessary | {cite:t}`Hunter:2007` |\n", "\n", "* **Time to Learn**: 30 minutes" ] @@ -420,7 +420,7 @@ "## Additional Resources\n", "- [Plot Types Cheat Sheet](https://lnkd.in/dD5fE8V)\n", "- [Matplotlib Documentation: Basic Pie Charts](https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_features.html)\n", - "- [Matplotlib Documentation: Histograms](https://matplotlib.org/stable/gallery/statistics/hist.html)" + "- [Matplotlib Documentation: Histograms](https://matplotlib.org/stable/gallery/statistics/hist.html)\n" ] }, { diff --git a/core/matplotlib/matplotlib-basics.ipynb b/core/matplotlib/matplotlib-basics.ipynb index 8dcbbf813..053a3b3c2 100644 --- a/core/matplotlib/matplotlib-basics.ipynb +++ b/core/matplotlib/matplotlib-basics.ipynb @@ -15,7 +15,7 @@ "source": [ "---\n", "## Overview\n", - "We will cover the basics of using the Matplotlib library to create plots in Python, including a few different plots available within the library. This page is laid out as follows:\n", + "We will cover the basics of using the Matplotlib {cite:p}`Hunter:2007` library to create plots in Python, including a few different plots available within the library. This page is laid out as follows:\n", "\n", "1. Why Matplotlib?\n", "1. Figure and axes\n", @@ -37,7 +37,7 @@ "## Prerequisites\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [NumPy Basics](../numpy/numpy-basics) | Necessary | |\n", + "| [NumPy Basics](../numpy/numpy-basics) | Necessary | {cite:t}`harris2020array` |\n", "| MATLAB plotting experience | Helpful | |\n", "\n", "* **Time to Learn**: 30 minutes" @@ -870,12 +870,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Resources and References\n", + "## Additional Resources\n", "\n", "The goal of this tutorial is to provide an overview of the use of the Matplotlib library. It covers creating simple line plots, but it is by no means comprehensive. For more information, try looking at the following documentation:\n", "- [Matplotlib documentation](http://matplotlib.org)\n", "- [Matplotlib examples gallery](https://matplotlib.org/stable/gallery/index.html)\n", - "- [GeoCAT examples gallery](https://geocat-examples.readthedocs.io/en/latest/gallery/index.html)" + "- [GeoCAT examples gallery](https://geocat-examples.readthedocs.io/en/latest/gallery/index.html)\n" ] } ], diff --git a/core/numpy.md b/core/numpy.md index eb4cecb06..fa8d37b1a 100644 --- a/core/numpy.md +++ b/core/numpy.md @@ -5,7 +5,7 @@ :width: 250 ::: -This section contains tutorials on array computing with [NumPy](https://numpy.org). +This section contains tutorials on array computing with [NumPy](https://numpy.org) {cite:p}`harris2020array`. --- diff --git a/core/numpy/intermediate-numpy.ipynb b/core/numpy/intermediate-numpy.ipynb index a87ad168a..1ef29dd86 100644 --- a/core/numpy/intermediate-numpy.ipynb +++ b/core/numpy/intermediate-numpy.ipynb @@ -29,7 +29,7 @@ "\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [NumPy Basics](numpy-basics) | Necessary | |\n", + "| [NumPy Basics](numpy-basics) | Necessary | {cite:t}`harris2020array` |\n", "\n", "* **Time to learn**: 20 minutes\n", "---" @@ -649,8 +649,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Resources and references\n", - "The [NumPy Users Guide](https://numpy.org/devdocs/user/quickstart.html#less-basic) expands further on some of these topics, as well as suggests various [Tutorials](https://numpy.org/learn/), lectures, and more at this stage." + "## Additional Resources\n", + "The [NumPy Users Guide](https://numpy.org/devdocs/user/quickstart.html#less-basic) expands further on some of these topics, as well as suggests various [Tutorials](https://numpy.org/learn/), lectures, and more at this stage.\n", +"\n" ] } ], diff --git a/core/numpy/numpy-basics.ipynb b/core/numpy/numpy-basics.ipynb index ee2a9925c..ac39c8260 100644 --- a/core/numpy/numpy-basics.ipynb +++ b/core/numpy/numpy-basics.ipynb @@ -16,7 +16,7 @@ "metadata": {}, "source": [ "## Overview\n", - "Welcome to your first Python library - NumPy! NumPy is the fundamental package for numerical operations with Python. It contains among other things:\n", + "Welcome to your first Python library - NumPy! NumPy is the fundamental package for numerical operations with Python {cite:p}`harris2020array`. It contains among other things:\n", "\n", "- a powerful N-dimensional array object\n", "- sophisticated (broadcasting) functions\n", @@ -1005,9 +1005,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Resources and references\n", + "## Additional Resources\n", "- [NumPy User Guide](http://docs.scipy.org/doc/numpy/user/)\n", - "- [SciPy Lecture Notes](https://scipy-lectures.org/)" + "- [SciPy Lecture Notes](https://scipy-lectures.org/)\n" ] } ], diff --git a/core/numpy/numpy-broadcasting.ipynb b/core/numpy/numpy-broadcasting.ipynb index 3d636bc02..5604b6f9b 100644 --- a/core/numpy/numpy-broadcasting.ipynb +++ b/core/numpy/numpy-broadcasting.ipynb @@ -29,7 +29,7 @@ "\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [NumPy Basics](numpy-basics) | Necessary | |\n", + "| [NumPy Basics](numpy-basics) | Necessary | {cite:t}`harris2020array` |\n", "| [Intermediate NumPy](intermediate-numpy) | Helpful | |\n", "| [Conceptual guide to broadcasting](https://numpy.org/doc/stable/user/theory.broadcasting.html#array-broadcasting-in-numpy) | Helpful | |\n", "\n", @@ -911,8 +911,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Resources and references\n", - "* [NumPy Broadcasting Documentation](https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html)" + "## Additional Resources\n", + "* [NumPy Broadcasting Documentation](https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html)\n" ] } ], diff --git a/core/pandas.md b/core/pandas.md index 680210b1b..43022df39 100644 --- a/core/pandas.md +++ b/core/pandas.md @@ -8,7 +8,7 @@ This section will contain tutorials on using [pandas](https://pandas.pydata.org) --- -From the [official documentation](https://pandas.pydata.org/), Pandas "is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language." +From the [official documentation](https://pandas.pydata.org/), Pandas {cite:p}`reback2020pandas` "is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language." Pandas is a very powerful library for working with tabular data (e.g., spreadsheets, comma-separated-value files, or database printouts; all of these are quite common for geoscientific data). It allows us to use labels for our data; this, in turn, allows us to write expressive and robust code to manipulate the data. diff --git a/core/pandas/pandas.ipynb b/core/pandas/pandas.ipynb index 147640ff3..9005ad47f 100644 --- a/core/pandas/pandas.ipynb +++ b/core/pandas/pandas.ipynb @@ -18,7 +18,7 @@ "metadata": {}, "source": [ "## Overview\n", - "1. Introduction to pandas data structures\n", + "1. Introduction to pandas {cite:p}`reback2020pandas` data structures\n", "1. How to slice and dice pandas dataframes and dataseries\n", "1. How to use pandas for exploratory data analysis\n", "\n", @@ -27,7 +27,7 @@ "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", "| [Python Quickstart](../../foundations/quickstart) | Necessary | Intro to `dict` |\n", - "| [Numpy Basics](../numpy/numpy-basics) | Necessary | |\n", + "| [Numpy Basics](../numpy/numpy-basics) | Necessary | {cite:t}`harris2020array` |\n", "\n", "* **Time to learn**: 60 minutes" ] @@ -1219,10 +1219,10 @@ "### What's Next?\n", "In the next notebook, we will look more into using pandas for more in-depth data analysis.\n", "\n", - "## Resources and References\n", + "## Additional Resources\n", "1. [ENSO data used in this example](https://www.ncei.noaa.gov/access/monitoring/enso/sst)\n", "1. [Getting Started with Pandas](https://pandas.pydata.org/docs/getting_started/index.html#getting-started)\n", - "1. [Pandas User Guide](https://pandas.pydata.org/docs/user_guide/index.html#user-guide)" + "1. [Pandas User Guide](https://pandas.pydata.org/docs/user_guide/index.html#user-guide)\n" ] }, { diff --git a/core/xarray.md b/core/xarray.md index 7d37a20bd..90cab47bf 100644 --- a/core/xarray.md +++ b/core/xarray.md @@ -2,7 +2,7 @@ ![xarray Logo](https://docs.xarray.dev/en/stable/_static/Xarray_Logo_RGB_Final.svg "xarray Logo") -This section contains tutorials on using [Xarray][xarray home]. Xarray is used widely in the geosciences and beyond for analysis of gridded N-dimensional datasets. +This section contains tutorials on using [Xarray][xarray home]. Xarray {cite:p}`hoyer2017xarray` is used widely in the geosciences and beyond for analysis of gridded N-dimensional datasets. --- diff --git a/core/xarray/computation-masking.ipynb b/core/xarray/computation-masking.ipynb index 4f4bfe70c..be27ec45f 100644 --- a/core/xarray/computation-masking.ipynb +++ b/core/xarray/computation-masking.ipynb @@ -49,7 +49,7 @@ "\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [Introduction to Xarray](xarray-intro) | Necessary | |\n", + "| [Introduction to Xarray](xarray-intro) | Necessary | {cite:t}`hoyer2017xarray` |\n", "\n", "\n", "- **Time to learn**: 60 minutes" @@ -865,7 +865,7 @@ "id": "374de3a3-807a-47be-9014-e1af98909456", "metadata": {}, "source": [ - "## Resources and References\n", + "## Additional Resources\n", "\n", "- `groupby`: [Useful for binning/grouping data and applying reductions and/or transformations on those groups](https://xarray.pydata.org/en/stable/user-guide/groupby.html)\n", "- `resample`: [Functionality similar to groupby, specialized for time dimensions. Can be used for temporal upsampling and downsampling](https://xarray.pydata.org/en/stable/user-guide/time-series.html#resampling-and-grouped-operations)\n", @@ -875,7 +875,7 @@ "- `weighted`: [Useful for weighting data before applying reductions](https://xarray.pydata.org/en/stable/user-guide/computation.html#weighted-array-reductions)\n", "\n", "- [More xarray tutorials and videos](https://docs.xarray.dev/en/stable/getting-started-guide/tutorials-and-videos.html)\n", - "- [Xarray Documentation - Masking with `where()`](https://xarray.pydata.org/en/stable/user-guide/indexing.html#masking-with-where)" + "- [Xarray Documentation - Masking with `where()`](https://xarray.pydata.org/en/stable/user-guide/indexing.html#masking-with-where)\n" ] } ], diff --git a/core/xarray/dask-arrays-xarray.ipynb b/core/xarray/dask-arrays-xarray.ipynb index c4c68b065..af4749543 100644 --- a/core/xarray/dask-arrays-xarray.ipynb +++ b/core/xarray/dask-arrays-xarray.ipynb @@ -32,7 +32,7 @@ "\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [Introduction to NumPy](../numpy/numpy-basics) | Necessary | Familiarity with Data Arrays |\n", + "| [Introduction to NumPy](../numpy/numpy-basics) | Necessary | Familiarity with Data Arrays; {cite:t}`hoyer2017xarray` |\n", "| [Introduction to Xarray](xarray-intro) | Necessary | Familiarity with Xarray Data Structures |\n", "\n", "\n", @@ -645,7 +645,7 @@ "id": "c282d878-a11f-41a2-9737-caee406ad5c3", "metadata": {}, "source": [ - "## Resources and references\n", + "## Additional Resources\n", "\n", "* To find specific reference information about Dask and Xarray, see the official documentation pages listed below:\n", " * [Dask Docs](https://dask.org/)\n", diff --git a/core/xarray/enso-xarray.ipynb b/core/xarray/enso-xarray.ipynb index a419fd5f3..8a66898c3 100644 --- a/core/xarray/enso-xarray.ipynb +++ b/core/xarray/enso-xarray.ipynb @@ -41,7 +41,7 @@ "\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [Introduction to Xarray](xarray-intro) | Necessary | |\n", + "| [Introduction to Xarray](xarray-intro) | Necessary | {cite:t}`hoyer2017xarray` |\n", "| [Computation and Masking](computation-masking) | Necessary | |\n", "\n", "\n", @@ -362,11 +362,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Resources and References\n", + "## Additional Resources\n", "\n", "- [Niño 3.4 index](https://climatedataguide.ucar.edu/climate-data/nino-sst-indices-nino-12-3-34-4-oni-and-tni)\n", "- [Matplotlib's `fill_between` method](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.fill_between.html)\n", - "- [Matplotlib's `axhline` method](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axhline.html) (see also its analogous `axvline` method)" + "- [Matplotlib's `axhline` method](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axhline.html) (see also its analogous `axvline` method)\n" ] }, { diff --git a/core/xarray/xarray-intro.ipynb b/core/xarray/xarray-intro.ipynb index aabf7ee0c..dca1d5e80 100644 --- a/core/xarray/xarray-intro.ipynb +++ b/core/xarray/xarray-intro.ipynb @@ -22,7 +22,7 @@ "source": [ "## Overview\n", "\n", - "The examples in this tutorial focus on the fundamentals of working with gridded, labeled data using Xarray. Xarray works by introducing additional abstractions into otherwise ordinary data arrays. In this tutorial, we demonstrate the usefulness of these abstractions. The examples in this tutorial explain how the proper usage of Xarray abstractions generally leads to simpler, more robust code.\n", + "The examples in this tutorial focus on the fundamentals of working with gridded, labeled data using Xarray {cite:p}`hoyer2017xarray`. Xarray works by introducing additional abstractions into otherwise ordinary data arrays. In this tutorial, we demonstrate the usefulness of these abstractions. The examples in this tutorial explain how the proper usage of Xarray abstractions generally leads to simpler, more robust code.\n", "\n", "The following topics will be covered in this tutorial:\n", "\n", @@ -43,7 +43,7 @@ "\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [NumPy Basics](../numpy/numpy-basics) | Necessary | |\n", + "| [NumPy Basics](../numpy/numpy-basics) | Necessary | {cite:t}`harris2020array` |\n", "| [Intermediate NumPy](../numpy/intermediate-numpy) | Helpful | Familiarity with indexing and slicing arrays |\n", "| [NumPy Broadcasting](../numpy/numpy-broadcasting) | Helpful | Familiarity with array arithmetic and broadcasting |\n", "| [Introduction to Pandas](../pandas/pandas) | Helpful | Familiarity with labeled data |\n", @@ -901,7 +901,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Resources and references\n", + "## Additional Resources\n", "\n", "This tutorial contains content adapted from the material in [Unidata's Python Training](https://unidata.github.io/python-training/workshop/XArray/xarray-and-cf/).\n", "\n", @@ -910,7 +910,8 @@ "- [Quick overview](http://xarray.pydata.org/en/stable/getting-started-guide/quick-overview.html#)\n", "- [Example gallery](http://xarray.pydata.org/en/stable/gallery.html)\n", "\n", - "Another resource you may find useful is this [Xarray Tutorial collection](https://xarray-contrib.github.io/xarray-tutorial/), created from content hosted on GitHub." + "Another resource you may find useful is this [Xarray Tutorial collection](https://xarray-contrib.github.io/xarray-tutorial/), created from content hosted on GitHub.\n", + "\n" ] } ], diff --git a/myst.yml b/myst.yml index f80ed4378..530d8a525 100644 --- a/myst.yml +++ b/myst.yml @@ -5,6 +5,8 @@ extends: project: title: Pythia Foundations github: https://github.com/projectpythia/pythia-foundations + bibtex_bibfiles: + - references.bib author: - Project Pythia Community copyright: '2024' diff --git a/references.bib b/references.bib index 783ec6aa5..4baf790dd 100644 --- a/references.bib +++ b/references.bib @@ -1,56 +1,77 @@ ---- ---- +@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} +} -@inproceedings{holdgraf_evidence_2014, - address = {Brisbane, Australia, Australia}, - title = {Evidence for {Predictive} {Coding} in {Human} {Auditory} {Cortex}}, - booktitle = {International {Conference} on {Cognitive} {Neuroscience}}, - publisher = {Frontiers in Neuroscience}, - author = {Holdgraf, Christopher Ramsay and de Heer, Wendy and Pasley, Brian N. and Knight, Robert T.}, - year = {2014} +@Article{Hunter:2007, + Author = {Hunter, J. D.}, + Title = {Matplotlib: A 2D graphics environment}, + Journal = {Computing in Science \& Engineering}, + Volume = {9}, + Number = {3}, + Pages = {90--95}, + abstract = {Matplotlib is a 2D graphics package used for Python for + application development, interactive scripting, and publication-quality + image generation across user interfaces and operating systems.}, + publisher = {IEEE COMPUTER SOC}, + doi = {10.1109/MCSE.2007.55}, + year = 2007 } -@article{holdgraf_rapid_2016, - title = {Rapid tuning shifts in human auditory cortex enhance speech intelligibility}, - volume = {7}, - issn = {2041-1723}, - url = {http://www.nature.com/doifinder/10.1038/ncomms13654}, - doi = {10.1038/ncomms13654}, - number = {May}, - journal = {Nature Communications}, - author = {Holdgraf, Christopher Ramsay and de Heer, Wendy and Pasley, Brian N. and Rieger, Jochem W. and Crone, Nathan and Lin, Jack J. and Knight, Robert T. and Theunissen, Frédéric E.}, - year = {2016}, - pages = {13654}, - file = {Holdgraf et al. - 2016 - Rapid tuning shifts in human auditory cortex enhance speech intelligibility.pdf:C\:\\Users\\chold\\Zotero\\storage\\MDQP3JWE\\Holdgraf et al. - 2016 - Rapid tuning shifts in human auditory cortex enhance speech intelligibility.pdf:application/pdf} +@manual{Cartopy, +author = {{Met Office}}, +title = {Cartopy: a cartographic python library with a Matplotlib interface}, +year = {2010 - 2025}, +address = {Exeter, Devon }, +url = {https://scitools.org.uk/cartopy} } -@inproceedings{holdgraf_portable_2017, - title = {Portable learning environments for hands-on computational instruction using container-and cloud-based technology to teach data science}, - volume = {Part F1287}, - isbn = {978-1-4503-5272-7}, - doi = {10.1145/3093338.3093370}, - abstract = {© 2017 ACM. There is an increasing interest in learning outside of the traditional classroom setting. This is especially true for topics covering computational tools and data science, as both are challenging to incorporate in the standard curriculum. These atypical learning environments offer new opportunities for teaching, particularly when it comes to combining conceptual knowledge with hands-on experience/expertise with methods and skills. Advances in cloud computing and containerized environments provide an attractive opportunity to improve the effciency and ease with which students can learn. This manuscript details recent advances towards using commonly-Available cloud computing services and advanced cyberinfrastructure support for improving the learning experience in bootcamp-style events. We cover the benets (and challenges) of using a server hosted remotely instead of relying on student laptops, discuss the technology that was used in order to make this possible, and give suggestions for how others could implement and improve upon this model for pedagogy and reproducibility.}, - booktitle = {{ACM} {International} {Conference} {Proceeding} {Series}}, - author = {Holdgraf, Christopher Ramsay and Culich, A. and Rokem, A. and Deniz, F. and Alegro, M. and Ushizima, D.}, - year = {2017}, - keywords = {Teaching, Bootcamps, Cloud computing, Data science, Docker, Pedagogy} +@InProceedings{ mckinney-proc-scipy-2010, + author = { Wes McKinney }, + title = { Data Structures for Statistical Computing in Python }, + booktitle = { Proceedings of the 9th Python in Science Conference }, + pages = { 51 - 56 }, + year = { 2010 }, + editor = { St\'efan van der Walt and Jarrod Millman } } -@article{holdgraf_encoding_2017, - title = {Encoding and decoding models in cognitive electrophysiology}, - volume = {11}, - issn = {16625137}, - doi = {10.3389/fnsys.2017.00061}, - abstract = {© 2017 Holdgraf, Rieger, Micheli, Martin, Knight and Theunissen. Cognitive neuroscience has seen rapid growth in the size and complexity of data recorded from the human brain as well as in the computational tools available to analyze this data. This data explosion has resulted in an increased use of multivariate, model-based methods for asking neuroscience questions, allowing scientists to investigate multiple hypotheses with a single dataset, to use complex, time-varying stimuli, and to study the human brain under more naturalistic conditions. These tools come in the form of “Encoding” models, in which stimulus features are used to model brain activity, and “Decoding” models, in which neural features are used to generated a stimulus output. Here we review the current state of encoding and decoding models in cognitive electrophysiology and provide a practical guide toward conducting experiments and analyses in this emerging field. Our examples focus on using linear models in the study of human language and audition. We show how to calculate auditory receptive fields from natural sounds as well as how to decode neural recordings to predict speech. The paper aims to be a useful tutorial to these approaches, and a practical introduction to using machine learning and applied statistics to build models of neural activity. The data analytic approaches we discuss may also be applied to other sensory modalities, motor systems, and cognitive systems, and we cover some examples in these areas. In addition, a collection of Jupyter notebooks is publicly available as a complement to the material covered in this paper, providing code examples and tutorials for predictive modeling in python. The aimis to provide a practical understanding of predictivemodeling of human brain data and to propose best-practices in conducting these analyses.}, - journal = {Frontiers in Systems Neuroscience}, - author = {Holdgraf, Christopher Ramsay and Rieger, J.W. and Micheli, C. and Martin, S. and Knight, R.T. and Theunissen, F.E.}, - year = {2017}, - keywords = {Decoding models, Encoding models, Electrocorticography (ECoG), Electrophysiology/evoked potentials, Machine learning applied to neuroscience, Natural stimuli, Predictive modeling, Tutorials} +@article{hoyer2017xarray, + title = {xarray: {N-D} labeled arrays and datasets in {Python}}, + author = {Hoyer, S. and J. Hamman}, + journal = {Journal of Open Research Software}, + volume = {5}, + number = {1}, + year = {2017}, + publisher = {Ubiquity Press}, + doi = {10.5334/jors.148}, + url = {https://doi.org/10.5334/jors.148} } -@book{ruby, - title = {The Ruby Programming Language}, - author = {Flanagan, David and Matsumoto, Yukihiro}, - year = {2008}, - publisher = {O'Reilly Media} +@software{reback2020pandas, + author = {{The Pandas Development Team}}, + title = {pandas-dev/pandas: Pandas}, + month = feb, + year = 2020, + publisher = {Zenodo}, + version = {latest}, + doi = {10.5281/zenodo.3509134}, + url = {https://doi.org/10.5281/zenodo.3509134} }