Course syllabus
ATM 433/533: Advanced Geophysical Data Analysis & Visualization
Fall 2025 (Hybrid)
Instructor¶
Kevin Tyle, ETEC-419
Teaching Assistant¶
Sincere Miranda, ETEC-336
In-class meeting hours¶
4:30-5:50 PM Tue, ETEC 480
Office hours¶
Kevin:¶
10:30-11:30 AM Mon. (ETEC 419) and 4:30-5:30 PM Thu (ETEC 480) (or by appointment)
Sincere:¶
10:30-11:30 AM Wed. (ETEC 3rd Floor Collaboratorium) and 4:30-5:30 PM Thu (ETEC 480)
Class webpages¶
Brightspace (Announcements, Grades, Forum): https://
Jupyterbook (Course content, assignments): https://
Jupyterhub servers (UAlbany and DAES computing account required):
Primary Server:
https://
Backup Servers:
Git Classroom: https://
Prerequisites¶
- ATM433: ATM350
- ATM533: Check with instructor
Required Textbook: None¶
Required external accounts:¶
- GitHub; sign up for a free account here
- ORCID; sign up for a free account here
- Zenodo; sign up for a free account here
Credits: 3¶
Grading: A-E¶
Objectives¶
This course prepares students to learn, develop, and refine best practices in geoscience-centric data analysis and visualization using free- and open-source software written in Python.
You will develop interactive, shareable Jupyter notebooks powered by what’s termed the Pangeo stack, a continuously evolving set of Python software libraries with particular application to atmospheric and climate science-related data access, analysis, and visualization tasks.
Additionally, you will share and publish your work via reproducible and citable open-science workflows.
You will be encouraged to Bring your own dataset to this class. While in-class examples will feature datasets of particular relevance to atmospheric- and climate-science students and scientists, the software libraries that we will use are largely dataset agnostic.
Learning Outcomes¶
By the end of the class, you will have accomplished the following:
Accessed, analyzed and visualized geoscience datasets using the Pangeo software ecosystem demonstrated in class and with online resources such as https://
projectpythia .org/ Gained familiarity with a variety of geoscientific data formats, and learned how effectively these formats fit into an analysis-ready, cloud-optimized (ARCO) framework
Mastered the use of Git and GitHub for software developement, sharing and version control
Developed a collaborative, reproducible, citable, scientific presentation, using a state-of-the-art open-science publishing framework (MystMD)
Course Delivery Plan¶
This class is presented in a hybrid, synchronous/asynchronous manner. We will meet in person each Tuesday. While no formal class meeting will occur at the corresponding time on Thursday, students are encouraged to use that time as a dedicated lab session; both the instructor and T.A. will be available. The following content methods will be used, although each week may vary in the use of each method:
In-class lectures
Interactive, self-paced tutorials, such as Project Pythia
Jupyter notebook-served content, using the department’s Jupyterhub servers
Online videos, such as those made by Earthmover and Unidata’s Metpy Monday weekly YouTube video series
Readings from online journals and/or blogs
Course schedule (subject to change)¶
Week | Period | Topics | Assignment Milestones |
---|---|---|---|
1 | Aug 25-31 | Introduction; Reproducible science | Set up GitHub and ORCID |
2 | Sep 1-7 | Git & Github; Tabular Data | |
3 | Sep 8-14 | Tabular Data | |
4 | Sep 15-21 | Tabular / Georeferenced Data | HW1 assigned |
5 | Sep 22-28 | Gridded Data | |
6 | Sep 29-Oct 5 | Gridded Data | HW1 due; HW2 assigned |
7 | Oct 6-12 | Final Project Team Orientation | Set up Zenodo |
8 | Oct 13-19 | Gridded Data | HW2 due |
9 | Oct 20-26 | Cloud-optimized Data | HW3 assigned |
10 | Oct 27-Nov 2 | Interactive Visualization | |
11 | Nov 3-9 | Radar Data | HW3 due |
12 | Nov 10-16 | Satellite Data | HW4 assigned |
13 | Nov 17-23 | Large Dataset Management | |
14 | Nov 24-30 | Final Project Work | HW4 due |
15 | Dec 1-7 | Course Wrapup | Final Project due |
Grading and assessment¶
Weekly class participation, which may include one or more of the following each week (20%):
a. Version control and repository syncing, via git and GitHub
b. Execution / completion of example Jupyter Python notebooks
c. Participation in the Brightspace class forum
d. Participation in surveys
4 homework assignments (40%)
- Grad students: There will be one additional mandatory task in each homework assignment.
- Final project: Reproducible Group Project (40%, team-based)
Weekly participation tasks and (when assigned) homework assignments will be distributed and discussed during the Tuesday in-class lecture period, and will be due at midnight Eastern the following Tuesday, unless otherwise directed.
Lateness / non-submission standards:¶
The class will cover a lot of ground and build on material previously learned, so it is of paramount importance that students budget their time appropriately so as not to fall behind. Therefore, submissions for both the weekly participation and homework assignments must be received on-time to avoid lateness penalties. Exceptions will be made only for a documented medical reason. If your weekly participation and periodic homework assignments are completed late, the following penalties will apply:
Up to 24 hours late: 5% penalty
24-48 hours late: 10% penalty
48-96 hours late: 25% penalty
96-168 hours late: 50%
More than 168 hours late: 100% penalty
Special provision for weekly participation assignments:
- Although it is recommended that you participate in all weekly activities, you may opt out of one weekly activity without penalty at any point in the semester. Don’t waste your “freebie” early in the semester!
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 the instructor and T.A.!
Keys to succeed in this course¶
Do not fall behind. Each unit will build on concepts learned in prior ones.
The programs we write never work the first time (or the second, third, ...). It’s when things don’t work that we actually learn something. Do not wait until the last minute to start a coding assignment (or any assignment for that matter).
In videos where live-coding occurs, and in web-served content where there are code cells, TYPE IN THE CODE as you follow along. This will build your coding muscle memory.
Document your notebook and code using Markdown and comment lines. Not only will that make it easier for someone else (perhaps your instructor/T.A., perhaps your peers, perhaps someone who discovered your amazing notebooks on GitHub) to understand your code, but you will also be glad you did when you come back to a notebook you developed more than a few weeks ago!
As this is a data visualization course, pay particular attention to the graphics you create. They should have:
- An informative title
- Legends and/or colorbars when necessary
- Labeled x- and y-axes
Do not feel shy about asking questions. Every “expert” starts as a complete novice. Ideally, make it a point to use the class forums on Brightspace. But do try to seek out online resources, such as StackOverflow, GitHub’s Issues and/or judicious and conscientious use of a generative AI tool to work out problems on your own before immediately seeking out help.
Additional guidance regarding the use (and abuse) of AI tools will accompany the four homework assignments.