Introduction to Hydrologic Data Analysis Using Scientific Programming Languages

Project Summary

Graduate Students: Kendra Kaiser and John Mallard

Faculty: Michael O’Driscoll

Course: Landscape Hydrology, EOS 323/723

Themes and Categories

Graduate Students: Kendra Kaiser and John Mallard

Faculty: Michael O’Driscoll

Course: Landscape Hydrology, EOS 323/723

The goals of this exercise were twofold: introduce students to scientific programming languages and reinforce hydrological concepts through an assignment that utilized a publically available high-frequency dataset. Although analysis of environmental data is almost always performed using MATLAB, R, or something similar, students often lack opportunities to become comfortable with their use in a setting that provides instructional support. Additionally, although hydrology and other environmental sciences are vitally dependent on high-quality, real-world data, the instruction of these subjects often favors conceptual lessons at the expense of exposure to actual environmental data. Therefore, our assignment is designed to introduce or reinforce scientific programming languages to the students while leveraging a real-world dataset to reinforce concepts learned in class and familiarize students with some of the challenges unique to large, environmental datasets. The students acquired data, imported it into Matlab or R, performed analyses on it, and exported the modified dataset to a common format to be shared along with their script.

Data Expedition Assignment Objectives

1. Identify and acquire publicly available data

2. Demonstrate increased proficiency with scientific programming languages

  • Import data into MATLAB or R
  • Perform analyses on dataset: manipulate, preform calculations, and plot
  • Export the modified dataset to a common format

3. Reinforce conceptual understanding of water and energy fluxes through interpretation of     real-world data

  • Calculate components of the energy balance and discuss temporal dynamics with respect to site specific environmental conditions
  • Calculate evapotranspiration and potential evapotranspiration using common methods and discuss assumptions associated with each

Data Source

The AmeriFlux network measures carbon, water, and energy flux at the ecosystem level across North and South America. These measurements are used to build an understanding of fluxes of energy, water, and nutrients from ecosystems across the western hemisphere and to evaluate ecosystem response to landuse and climate change. This project is funded by the US Department of Energy to encourage consistent measurements and long-term monitoring of these ecosystem fluxes. Data are collected at individual research sites and uploaded to a central Ameriflux server, from which researchers and educators can download individual data records. The network consists of 110 active research sites, of which 44 are designated “core” sites, which maintain specific and high standards of data collection.

Concluding Remarks

We assessed students’ experience with programming (in any language) using a pre-assignment survey. We found that half of the students had no experience with coding, and of those who did have experience only two rated themselves as proficient. We provided two lab sessions where we introduced students to the programming platforms and were on hand to answer specific questions related to the assignment, and then extended office hours to help along the way. In doing so, we found that no students were unable to get the help they needed on the assignment. In a post-assignment questionnaire we found that over half of the class rated themselves as having moderate experience with coding (over 3 on a scale from 1-5), and none of the students rated themselves lower than 2.

However, this method of intensive instructional support required significant time commitments from both instructors. In the future, requiring students to watch tutorials online, and to gradually introduce them to the programs throughout the semester would help get students past the initial learning curve. We found that students did a good job of working through coding issues and questions in small groups. Creating opportunities for them to do this (e.g., booking a computer lab for them, assigning or encouraging formalized groups, etc) would be beneficial.


Related Projects

A large and growing trove of patient, clinical, and organizational data is collected as a part of the “Help Desk” program at Durham’s Lincoln Community Health Center. Help Desk is a group of student volunteers who connect with patients over the phone and help them navigate to community resources (like food assistance programs, legal aid, or employment centers). Data-driven approaches to identifying service gaps, understanding the patient population, and uncovering unseen trends are important for improving patient health and advocating for the necessity of these resources. Disparities in food security, economic stability, education, neighborhood and physical environment, community and social context, and access to the healthcare system are crucial social determinants of health, which studies indicate account for nearly 70% of all health outcomes.

We led a 75-minute class session for the Marine Mammals course at the Duke University Marine Lab that introduced students to strengths and challenges of using aerial imagery to survey wildlife populations, and the growing use of machine learning to address these "big data" tasks.

Most phenomena that data scientists seek to analyze are either spatially or temporally correlated. Examples of spatial and temporal correlation include political elections, contaminant transfer, disease spread, housing market, and the weather. A question of interest is how to incorporate the spatial correlation information into modeling such phenomena.


In this project, we focus on the impact of environmental attributes (such as greenness, tree cover, temperature, etc.) along with other socio-demographics and home characteristics on housing prices by developing a model that takes into account the spatial autocorrelation of the response variable. To this aim, we introduce a test to diagnose spatial autocorrelation and explain how to integrate spatial autocorrelation into a regression model



In this data exploration, students are provided with data collected from remote sensing, census, and Zillow sources. Students are tasked with conducting a regression analysis of real-estate estimates against environmental amenities and other control variables which may or may not include the spatial autocorrelation information.