Lectures are on Tuesdays and Thursdays from 8:30 AM - 9:45 AM. The course website is on GitHub (https://github.com/chaneyn/CEE506). Class announcements will be made via Canvas (CEE 506.01.Fa25).
Professor Nathaniel W. Chaney (Nate)
Email: [email protected]
Office: FCIEMAS 2463
Office hours: by reservation (calendly.com/nathaniel-chaney) Thursdays 10am-12pm
Daniel Guyumus Preciado
Email: [email protected]
Office hours location: FCIEMAS 2431
Office hours: Tuesdays 1-3 pm
Environmental Spatial Data Analysis (ESDA) provides an introduction on how to leverage large volumes of spatial environmental data using primarily Python. The topics that will be covered include an overview of basic spatial statistics, spatial interpolation, kriging, conditional simulation, terrain analysis, dimensionality reduction, and spatial prediction. Existing software packages in Python will be introduced and used to explore the listed topics.
Although there are no class prerequisistes, a strong foundation in programming will make this class much easier. Please contact Nate if you have concerns.
There are no required textbooks. Reading will be provided via journal articles, online materials, and tutorials.
The course grade is based on three items:
- Homework: 55%
- Final Project: 25%
- Quizzes: 10%
- Participation: 10%
There will be 4 homework assignments. Each assignment will be provided and completed within a corresponding Jupyter notebook. Completed assignments will be submitted via a private GitHub repository that each student will have for the course; assignments submitted via any other method will not be accepted. Each assignment must be submitted before class on the day listed on the schedule below. Late homeworks will not be accepted.
There will be 4 quizzes; one after each homework assignment is due. These 30 min quizzes will be closed book/closed notes and will be based around the previous homework. You are expected to write pseudo-code in Python to answer the questions.
- Students should follow along the lecture on their personal jupyter lab Docker container that they will use for the course.
Collaboration in completing assignments is permitted. However, each student must write up their assignment independently. We will be checking for identical homeworks.
The final project can be done in groups or individually. The expectations for the project will increase with the group size. It will involve the following components:
- Proposal (11/04 via email)
- 3 pages max, single-spaced, 12 point font size, 1 inch margin
- Contains: Title, introduction, objectives, data, methodology, and timeline of tasks
- Oral presentation (12/2-12/4 in class)
- 12 minute oral presentation, 3 minutes for questions
- Everyone needs to be present for each presentation
- Final report (12/15 via email)
- 10 pages max, single-spaced, 12 point font size, 1 inch margin
- Contains: Title, introduction, data, methods, results, discussion, and conclusion
Note that the schedule is subject to change.
| Date | Topic | New Software | Assignments |
|---|---|---|---|
| 08/26 | Introduction | Jupyter/GitHub/Bash | - |
| 08/28 | Python overview | Python | - |
| 09/02 | Multi-dimensional arrays I | NumPy | HW #0 due |
| 09/04 | Probability/Statistics I | Scipy | - |
| 09/09 | Visualizing data | Matplotlib | - |
| 09/11 | Data storage | Pickle/H5py/NetCDF/GeoTiff | - |
| 09/16 | Probability/Statistics II | - | HW #1 due |
| 09/18 | Bayesian Statistics | - | - |
| 09/23 | Map projections I | Cartopy | - |
| 09/25 | Map projections II | GDAL | - |
| 09/30 | Multi-dimensional arrays II | CDO/Xarray | - |
| 10/02 | Vector Data | OGR/Shapely/GeoPandas | - |
| 10/07 | Cluster Analysis I | Scikit-Learn | HW #2 due |
| 10/09 | Cluster Analysis II | - | - |
| 10/16 | Dimensionality Reduction | - | - |
| 10/21 | Decision Trees | - | - |
| 10/23 | Random Forests/Boosting | - | - |
| 10/28 | Artificial Neural Networks | - | - |
| 10/30 | Convolutional Neural Networks | - | HW #3 due |
| 11/04 | Simple Kriging | - | Proposal due |
| 11/06 | Ordinary Kriging | - | - |
| 11/11 | Semivariogram | - | - |
| 11/13 | Regression Kriging | - | - |
| 11/18 | Terrain Analysis | - | - |
| 11/20 | TBD | - | - |
| 11/25 | Scaling up code | Numba/Mpi4py/Dask | HW #4 due |
| 12/2 | Oral Presentations | - | - |
| 12/4 | Oral Presentations | - | - |
| 12/15 | Written report due | - | - |