emmaxu43 / ESDA_CEE690-02

Environmental Spatial Data Analysis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CEE690-02: Environmental Spatial Data Analysis

Fall 2019

Course Information

Lectures are on Tuesdays and Thursdays from 3:05 PM - 4:20 PM in Teer 106. The course website is on GitHub (https://github.com/chaneyn/CEE690-02). Class announcements will be made via Sakai (CEE690.02.F19).

Instructor

Professor Nathaniel W. Chaney (Nate)
Email: nathaniel.chaney@duke.edu
Office: FCIEMAS 2463
Office hours: By appointment on Friday mornings (calendly.com/nathaniel-chaney)

TA

Reza Momenifar
Email: mohammadreza.momenifar@duke.edu
Office: FCIEMAS 2421
Office hours: Mondays 8:00-10:00 AM

Course Description

This course provides an introduction on how to analyze and create Gigabytes to Terabytes of spatial environmental data using Python and R. 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 and R 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: 40%
  • Participation: 20%
  • Final Project: 40%

Homework

There will be 8 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. One homework with the lowest grade will be dropped. Late homeworks will not be accepted. Solutions to the homeworks will be provided via Sakai.

Participation

  • Students should bring a laptop to class to follow along the lecture on their personal jupyter lab Docker container that they will use for the course.
  • Most Tuesdays we will begin with a 15-30 minute review of the assignment turned in the previous week. Groups will present and discuss the solutions to the assignment. The number of students to present will vary depending on the length of the assignment.
  • We will be using Piazza for most communication outside of class. This will facilitate interaction among the class members when completing the assignments.

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 will be done in groups of 3-4 students and will involve the following components:

  • Initial Proposal (October 10th via email)
    • 1 page, Single-spaced, 12 point font size, 1 inch margin
    • Contains: Title, motivation, and sketch of proposed methodology
  • Proposal presentations (November 5th)
    • 10 minute informal oral presentation
    • Open discussion/feedback in class
  • Revised Proposal (November 10th via email)
    • 3 pages, Single-spaced, 12 point font size, 1 inch margin
    • Contains: Title, introduction, objectives, Methodology, and a timeline of tasks
  • Oral presentation (December 3rd and 5th in class)
    • 20 minute oral presentation, 5 minutes for questions
    • Everyone needs to be present for each presentation

Schedule

Note that the schedule is subject to change; changes will be announced in class and the online syllabus will be updated.

Date Topic New Software Assignments Presentation
08/27 Introduction Jupyter/GitHub/Bash
08/29 Python overview Python
09/03 Multi-dimensional arrays I NumPy HW #1 due
09/05 Visualizing data I Matplotlib/Seaborn Reza and Nate
09/10 Raster data Rasterio HW #2 due
09/12 Data storage Pickle/H5py/NetCDF/Tiff TBD
09/17 Multi-dimensional arrays II Pandas/Xarray HW #3 due
09/19 Map projections I GDAL TBD
09/24 Map projections II HW #4 due
09/26 Visualizing data II Cartopy TBD
10/01 Spatial statistics I Scipy HW #5 due
10/03 Spatial statistics II TBD
10/08 Fall Break
10/10 R overview R/Rpy2 Initial proposal due
10/15 Spatial statistics III Gstat (R) HW #6 due
10/17 Semivariogram TBD
10/22 Kriging
10/24 Conditional Simulation
10/29 Spatial prediction I Scikit-learn
10/31 Spatial prediction II
11/05 Proposal presentations
11/07 Dimensionality Reduction I Revised proposal due
11/12 Dimensionality Reduction II HW #7 due
11/14 Terrain Analysis I TBD TBD
11/19 Terrain Analysis II
11/21 Vector data Shapely
11/26 Speed up code Numba/Mpi4py/Dask
11/28 Thanksgiving Break
12/03 Oral Presentations
12/05 Oral Presentations
12/16 Written report due HW #8 due

About

Environmental Spatial Data Analysis

License:MIT License