/ESDA_CEE506

Environmental Spatial Data Analysis

Primary LanguageJupyter NotebookMIT LicenseMIT

CEE506: Environmental Spatial Data Analysis

Fall 2024

Course Information

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.Fa24).

Instructor

Professor Nathaniel W. Chaney (Nate)
Email: nathaniel.chaney@duke.edu
Office: FCIEMAS 2463
Office hours: by reservation (calendly.com/nathaniel-chaney) Tuesdays 10am-12pm

TA

Jiaxuan Cai
Email: jiaxuan.cai@duke.edu
Office hours location: CIEMAS 2431
Office hours: Mondays 10am-12pm

Course Description

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.

Prerequisites

Although there are no class prerequisistes, a strong foundation in programming will make this class much easier. Please contact Nate if you have concerns.

Readings

There are no required textbooks. Reading will be provided via journal articles, online materials, and tutorials.

Grades and workload

The course grade is based on three items:

  • Homework: 60%
  • Participation: 10%
  • Final Project: 30%

Homework

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.

Participation

  • Students should follow along the lecture on their personal jupyter lab Docker container that they will use for the course.
  • Each student will present once.

Collaboration

Collaboration in completing assignments is permitted. However, each student must write up their assignment independently. We will be checking for identical homeworks.

Final Project

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 (November 7th 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 (December 7th in class)
    • 12 minute oral presentation, 3 minutes for questions
    • Everyone needs to be present for each presentation
  • Final report (December 16th via email)
    • 10 pages max, single-spaced, 12 point font size, 1 inch margin
    • Contains: Title, introduction, data, methods, results, discussion, and conclusion

Schedule

Note that the schedule is subject to change.

Date Topic New Software Assignments Article
08/27 Introduction Jupyter/GitHub/Bash - -
08/29 Python overview Python - -
09/03 Multi-dimensional arrays I NumPy HW #0 due -
09/05 Probability/Statistics I Scipy - Holmes, 2018 (TBD)
09/10 Visualizing data Matplotlib - Rougier et al., 2014 (TBD)
09/12 Data storage Pickle/H5py/NetCDF/GeoTiff - -
09/17 Probability/Statistics II - HW #1 due Walther and Moore, 2005 (TBD)
09/19 Bayesian Statistics - - -
09/24 Map projections I Cartopy - Lapaine, 2017 (TBD)
09/26 Map projections II GDAL - Asay, 2020 and Simmon, 2017 (TBD)
10/01 Multi-dimensional arrays II CDO/Xarray - Hoyer and Hamman, 2017 (TBD)
10/03 Vector Data OGR/Shapely/GeoPandas - Kreveld, 2006 (TBD)
10/8 Cluster Analysis I Scikit-Learn HW #2 due Mishra, 2017 (TBD)
10/10 Cluster Analysis II - - -
10/17 Dimensionality Reduction - - -
10/22 Decision Trees - - Homer et al., 2004 (TBD)
10/24 Random Forests/Boosting - - Kaminska, J., 2018, Cai, J., et al., 2020 (TBD)
10/29 Artificial Neural Networks - - -
10/31 Convolutional Neural Networks - HW #3 due -
11/05 Simple Kriging - Proposal due Wong, D., et al., 2004 (TBD)
11/07 Ordinary Kriging - - -
11/12 Semivariogram - - Pouladi, N., et al., 2019 (TBD)
11/14 Regression Kriging - - Hengl, T., et al., 2007 (TBD)
11/19 Terrain Analysis I - - Moore, I., et al., 1991 (TBD)
11/21 Visualization II - -
11/26 Scaling up code Numba/Mpi4py/Dask HW #4 due Bakharia, A., 2018 and Grover, P., 2018 (TBD)
12/10 Oral Presentations - - -
12/18 Written report due - - -