## GEOB 503 - Topics in Hydrology and Geomorphology

### Course Description

This problem-based learning course is designed to introduce graduate students to data processing, manipulation and analysis using two commonly available programs (MATLAB and R). It is a hands-on course requiring students to work with the software to work on laboratory-style assignments during the scheduled class time. The objective of the course is to allow students to become sufficiently competent with these programs that they can use them during their graduate research. The examples used to develop the weekly assignments come from research projects in hydrology and geomorphology. The course is intended for all graduate students in the natural sciences who will be taking a quantitative, analytical approach to their research.

### Syllabus, Textbook etc.

The course syllabus is your primary reference for all grade distributions, policies, dates and expectations for this course.

The **textbooks** and **readings** assigned for this course can be found on the course website or online.

The **software** you will use (MATLAB and R) is available in the computer lab (rm 239), but you **MUST install R BEFORE the first class on January 5, 2012**. To install R on your machine, proceed as follows:

- Download and install R from R-Project webpage
- If you are using a PC, dowload and install Notepad++ and NppToR, which is a plug-in that allows you to run R code from the Notepad++ text editor
- If you are using a Mac, you should download and install TextWrangler, and then put this language file in the directory ~/Library/Application Support/TextWrangler/Language Modules/ and this script in the directory ~/Library/Application Support/TextWrangler/Scripts/ (if you are using OS 10.7 Lion, you will need some help to locate these directories).

You are also strongly encouraged to install MATLAB on your own computers. It can be purchased from the Matworks website or from the UBC Bookstore.

### Instructors

Brett Eaton

Office: Geography Room 232

Phone: 604.822.2257

Email: brett (dot) eaton (at) ubc (dot) ca
**Office hours:** T, 14:00 to 16:00

Sean Fleming

Email: sean (dot) fleming (at) ec (dot) gc (dot) ca
**Office hours:**via e-mail

Dan Moore

Office: Geography Room 225

Phone: 604.822.3538

Email: dan (dot) moore (at) geog (dot) ubc (dot) ca
**Office hours:** TBA

### Readings, Notes and Lab Assignments

**Week #1**: Introduction to R for data analysis and programming

- Introductory examples Part I
- Introductory examples Part II
- Lecture Notes & Assignment
- Assignment 1 -- solutions

**Week #2**: Regression analysis

- Example script -- sampling variability
- Example script -- creating a dataframe and regression analysis
- Example script -- Okanagan Lake Inflow and April 1 SWE
- Assignment 2-- Regression Analysis
- Assignment 2-- dataset
- Assignment 2 -- solution script
- Assignment 2 -- solution PDF

**Week #3**: Multiple regression analysis

- Assigned Reading: Watson et al. 2001. Improved methods to assess water yield changes from paired-catchment studies: application to the Maroondah catchments.
- Example script-- Regressing Tw and Ta: analysis of residuals
- Example script-- Okanagan Lake inflow using multiple regression
- Lecture Notes on Multiple Regression
- Assignment 3-- Multiple Regression Analysis
- Assignment 3-- dataset
- Assignment 3 -- solution Part I
- Assignment 3 -- solution Part II

**Week #4**: Nonlinear regression analysis

- Example script -- Loess smoothing of a scatter plot
- Example script -- fitting a logistic function
- Example script -- fitting a rating curve using a power function
- Example script -- Camp Creek and Greata Creek regressions
- Lecture Notes & Assignment
- Assignment 4-- dataset

**Week #6**: Introduction to MATLAB & Solving Equations

- Summary of useful functions in MATLAB ( Example script A)
- Example script B -- constructing and plotting a cross section
- Example script C -- estimating flow for a given water level
- Assignment 5 - part 1 brute force approaches
- Assignment 5 - part 2-- numerical search methods
- function file for part 1 and 2
- Dataset for part 2
- R for MATLAB users guide from sourceforge.net
- R / MATLAB Reference Guide by David Hiebeler
- Answers are in this ZIP file

**Week #7**: Using While Loops to find roots and max/min values of a function

- Assignment 6 - part 1 using WHILE loops with a simple formula, F(x)
- Assignment 6 - part 2 using WHILE loops with a function file for calculating sediment transport rate, Qb
- function file for part 2
- function file for part and 2
- READING: Maxima and Minima of a function
- READING: Numerical Methods for Equation Solving
- Answers are in this ZIP file

**Week #9**: Solution of ordinary differential equations

- Example script -- solving for the impact velocity of a raindrop falling from a tree (you will also need this function file)
- Assigned Reading on Storage-outflow modelling by R.D. Moore (1997)
- Notes and Assignment -- Modelling catchment-scale storage-discharge relations
- Assignment script -- solving for the storage-outflow relations (you will also need this function file)
- Answers are in this ZIP file

**Week #10**: Sensitivity analysis

- Lecture Notes & Assignment on model sensitivity analysis and model fitting
- Assigned Reading by Eaton (2006) on the bank stability formulation used in the UBCRMH model
- UBCRMH function file

**Week #11**: MATLAB exam

- Function file to be used for the last question in the exam

**Week #12**: Spectral analysis

- Lecture powerpoint file on Spectral Analysis
- Example script 1 FFTSpectralAnalysis_AdaptedForGEOB503.r
- Example script 2 noise-colours.r
- Assignment
- Dataset 1 Elton-Nicholson Mackenzie Lynx Population
- Dataset 1 PDO-DJFmean

**Week #13**: Trend analysis

- Assignment on Trend analysis
- Script TrendAnalysis_v2.r
- Lecture Notes in powerpoint format