A hands-on approach to climate physics and climate modeling
By Brian E. J. Rose, University at Albany
This book is powered by MyST Markdown and JupyterBook 2, and aims to be all of the following:
- self-reproducing (most figures are self-generating in the notebooks)
- free and open (permissive license, sources and content available through github)
- interactive (integration with JupyterHub and Binder allows readers to run and modify code examples)
- a living document (content continues to evolve, and collaboration is welcome)
The material is mostly based on lecture notes for ENV 415: Climate Laboratory and ATM 623: Climate Modeling at the University at Albany.
To view the book online, go here. The JupyterBook source and all book content (mostly Jupyter Notebook files) are all in this github repository.
Much of the content is made possible by climlab, an open-source Python toolkit for interactive, process-oriented climate modeling. Brian Rose is the principle developer of climlab as well as the author of this book.
The contents of this book are licensed for free and open consumption under the following license: Creative Commons Attribution 4.0 International (CC BY 4.0)
The source repository on github contains everything you need to build your own local version of the book.
From a local clone of the source, set up a self-contained conda environment with
conda env create --file environment.yml
conda activate climlab-courseware
This environment contains all dependencies for both building the book and running all the code in the book.
To build a local copy of the book, do this from the source root
myst start
Then point your web brower to http://localhost:3000 to find the built pages.
Note that building the book creates the web pages from the *.md
and *.ipynb
sources, but does not re-run the notebooks. When building the book, we assume that all notebooks are already up-to-date!
Anyone is welcome to suggest edits or improvements by opening pull requests on the github repository. If you are editing any code in a notebook, please make sure you execute the modified notebook cleanly before submitting the PR.
The book is just the rendered html that results from running myst build --html
. A new build is triggered on GitHub Actions whenever the sources are updated on the github repository, and the successful build is deployed to the gh-pages
branch of the repo.