Instructor: Rebekah Esmaili
Contributors: Kriti Bhargava and Eviatar Bach
A crash course in Python focusing on reading and visualizing data-sets used in Earth sciences.
This code is interactive! Click:
This workshop will cover:
- Launching Jupyter Notebooks
- Working with arrays using the Numpy package
- Importing text datasets using the Pandas package
- Creating simple graphics with Matplotlib
- Importing scientific data formats, such as netCDF and GRIB2
- Creating maps from datasets
Installation requirements
"I am really new to Python!"
-
I recommend launching binder, which is a "cloud version" of this course. No installation required!
-
Need help with Binder? Video tutorial on YouTube.
"I have used Python before!"
- If you wish to run the examples locally, I recommend installing Anaconda. If you are having trouble with your installation, contact the instructor before the course or use binder.
- Need help installing Anaconda? Video tutorial on YouTube.
- Download the contents of the GitHub repository to your computer.
- Launch Jupyter Notebooks from the Anaconda Navigator. This will open a window in your default browser. Navigate to the folder that contains the notebooks (*.ipynb) and click on the tutorial for the day.
- New to Jupyter? Here's a video tutorial on YouTube.
- Additional packages:
- Launch the Anaconda Prompt (Windows) or Terminal (MacOS/Linux). Then copy/paste and hit enter:
conda install -c conda-forge cartopy conda install -c conda-forge netCDF4 conda install -c conda-forge pygrib
- If there are no errors, then you are set-up!
- Alternatively, if you are familiar with environments, you can use the environments.yml to install the necessary packages.
- Launch the Anaconda Prompt (Windows) or Terminal (MacOS/Linux). Then copy/paste and hit enter:
I do not recommend:
- Using Python on a remote server for this tutorial (I cannot help troubleshoot)
- Using your operating system's Python or a shared Python installations unless you are advanced!
- Increase accessibility of satellite data and analysis
- Teach Python using practical examples and real-world datasets
- Promote reproducible and transparent scientific research
Pandas
- Short Introduction: https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html
- Cookbook for more details: https://pandas.pydata.org/pandas-docs/stable/user_guide/cookbook.html#cookbook
Matplotlib
- Pyplot Tutorial: https://matplotlib.org/3.1.1/tutorials/introductory/pyplot.html
Reading self describing file
- NETCDF
- Detailed tutorial https://unidata.github.io/netcdf4-python/netCDF4/index.html.
- HDF files
- The package h5py is similar to netcdf4.
- User manual at http://docs.h5py.org/en/stable/.
- GRIB/GRIB2 files
- World Meteorology Association standard format, e.g. commonly used with weather-related models like ECMWF and GFS.
- Can be opened using pygrib.
- Example usage at https://jswhit.github.io/pygrib/docs/.
- BUFR
- Another common table-driven format.
- Open with python-bufr, part of the pytroll project.
Free online Tutorials
- YouTube series for absolute beginners CS Dojo
- [Python for Earth Science with Rebekah] (https://www.youtube.com/channel/UCGa4rhczYNTGBYIMxmR8nHg) ... we are slowly adding content ...
- Enhance your workflow Automate Boring Stuff