Course syllabus
Contents
Course syllabus¶
ATM 433/533: Advanced Geophysical Data Analysis & Visualization
Fall 2022 (Online / asynchronous)
Office hours¶
10:30-11:30 AM Mon. and 2-3 PM Thu. (or by appointment); in-person or via Zoom: 670 330 460 (ask Kevin for the password)
Class webpages¶
Blackboard (Announcements, Grades, Forum): https://blackboard.albany.edu
Jupyterbook (Course content, assignments): https://www.atmos.albany.edu/facstaff/ktyle/atm533
Jupyterhub servers (UAlbany and DAES computing account required):
Primary Server:
https://turing.atmos.albany.edu:8000
Backup Servers:
Git Classroom: https://github.com/DAES433533
Prerequisites¶
ATM433: ATM350; ATM533: Check with instructor
Required Textbook: None¶
Credits: 3¶
Grading: A-E¶
Objectives¶
This course prepares students to learn, develop, and refine best practices in geoscience-centric data analysis and visualzation using free- and open-source software written in Python.
Students will develop interactive, shareable software using what is often termed the Python Geoscience Software Ecosystem (PGSE), a continuously evolving set of Python software libraries with particular application to atmospheric and climate science-related data access, analysis, and visualization tasks.
Additionally, students will learn and practice version control using Git and GitHub.
Learning Outcomes¶
By the end of the class, students will have accomplished the following:
Accessed, analyzed and visualized geoscience datasets using the PGSE demonstrated in class and with online resources such as https://projectpythia.org/
Minimized the need to download copies of datasets from remote servers in favor of using PGSE client-access methods
Developed publication/presentation-ready visualizations, both static and interactive
Learned software-debugging strategies via the use of online resources such as StackOverflow
Contributed example workflows and notebooks to Project Pythia’s Cookbook Gallery
Graduate students only: Created a public repository on GitHub containing code, figures, and documentation of a short but data-intensive research study that could be accessed and reproduced by the community at-large
Course Delivery Plan¶
With the understanding that this class is intended as an asynchronous, online-based experience, the following content methods will be used, although each week may vary in the use of each method:
Several concise pre-recorded video lectures by the instructor, often involving “live” coding on the department’s Jupyterhub servers
Interactive, self-paced tutorials, such as Project Pythia
Jupyter notebook-served content, using the department’s Jupyterhub servers
Third-party videos, such as the Unidata’s Metpy Monday weekly YouTube video series
5.Readings from published material, such as journal articles or online-accessible textbooks
Course schedule (subject to change)¶
Week |
Period |
Topics |
Python Libraries |
Assignment Milestones |
---|---|---|---|---|
1 |
Aug. 22-28 |
Introduction; Python and Jupyter |
Jupyterlab |
Survey, Set up GitHub account |
2 |
Aug. 29-Sep. 4 |
Git & Github; Plotting |
Matplotlib |
|
3 |
Sep. 5-11 |
Git and Github; Mapping |
Cartopy |
|
4 |
Sep. 12-18 |
Tabular datasets |
Pandas |
HW1 due |
5 |
Sep. 19-25 |
Georeferenced tabular datasets |
Geopandas |
|
6 |
Sep. 26-Oct 2 |
Gridded datasets |
Xarray, MetPy |
Set up RDA account |
7 |
Oct. 3-9 |
Cloud-served Gridded datasets |
Xarray, MetPy, Zarr |
HW2 due |
8 |
Oct. 10-16 |
Rasters and Shapefiles |
Rasterio, Contextily, Ipyleaflet |
|
9 |
Oct. 17-23 |
Satellite and Radar datasets |
Satpy, Py-Art |
Midterm assignment due |
10 |
Oct. 24-30 |
Cloud-optimized imagery |
Intake |
|
11 |
Oct. 31-Nov. 6 |
GPU-optimized data analysis/visualization |
RAPIDS-AI environment, Datashader |
HW 3 due |
12 |
Nov. 7-13 |
Interactive visualization |
Holoviz suite |
|
13 |
Nov. 14-20 |
Interactive visualization |
Holoviz suite |
HW 4 due |
14 |
Nov. 21-27 |
3D-viz |
PyVista |
|
15 |
Nov.28-Dec. 4 |
TBD |
||
16 |
Dec. 5-11 |
Project presentations |
Final Project due |
Grading and assessment¶
- Weekly class participation, which may include one or more of the following each week (15%):
- Version control and repository syncing, via git and GitHub
- Execution / completion of example Jupyter Python notebooks
- Participation in weekly class forums (Blackboard)
- Participation in surveys
- 4 homework assignments (30%)
- Mid-semester assignment: Produce a visualization for the DAES Science-on-a-Sphere (25%, teams of two)
- Final project: Contribute a reproducible workflow to Project Pythia's Cookbooks repository (30%, teams of two) (Grad students: Create a 15-minute oral presentation to accompany your project)
Homework assignments will be distributed and discussed by noon Eastern time on Mondays and will be due at noon Eastern the following Monday, unless otherwise directed.
Lateness penalties are as follows:
Up to 24 hours late: 10% penalty
24-48 hours late: 20% penalty
48-120 hours late: 50% penalty
More than 120 hours late: 100% penalty
Since assignments will typically be submitted electronically, each file will automatically have a timestamp, to avoid any questions of the time that the student completed the homework. The instructor reserves the right to reduce the penalty if the situation warrants.
Communication is key: if you are having difficulty meeting the deadline, do not hesitate to reach out; please avoid waiting until the due date to get in touch with me!
UAlbany policies and procedures¶
COVID-19 resources for students: The University at Albany is committed to providing an excellent education for every student in an environment that maintains the health, safety and well-being of our entire campus community. For more info, see https://www.albany.edu/information-students
Religious observances: New York State Education Law Section 224-A excuses absences due to religious beliefs. Students must notify the instructors in a timely manner prior to the absence.
Academic grievance policy: Students who seek to challenge an academic grade or evaluation of their work in a course or seminar, or in research or another educational activity may request a review of the evaluation by filing an academic grievance. For more info, see https://www.albany.edu/graduatebulletin/requirements_degree.htm#academic_grievance .
Campus workplace violence prevention policy and program: UAlbany is committed to providing a safe learning and work environment for the University’s community. For more info, see https://www.albany.edu/hr/assets/Campus_Violence_Prevention.pdf
Accommodating Disabilities Policy: Please visit Albany’s Disability Resource Center for more info: https://www.albany.edu/disability/
Standards of academic integrity: Please refer to https://www.albany.edu/graduatebulletin/requirements_degree.htm#standards_integrity
Policy on allegations of unlawful discrimination and sexual harassment: Please refer to https://www.albany.edu/general-counsel/assets/Sexual_Harassment_Policy_and_Procedures_Revised_6-20014.pdf.