September 28, 2014

To Learn

Technologies:

  • version control using Git

  • project manage at Github

  • publish web pages in markdown

  • program in Python: arcpy module for ArcGIS functions; looping, variables…

  • program in R: open-source, cross-platform; embed chunks of R in markdown: Rmarkdown

  • publish web maps: Leaflet javascript, ArcGIS Online

Conservation analysis:

  • siting wind farms

  • building species distribution models

  • assessing an ecosystem service (coastal protection)

Motivation

Why Git?

Why Python?

Why R?

Source: Gandrud, C. (2013). Reproducible Research with R and RStudio. Boca Raton: Chapman and Hall/CRC.

Specifics

Git / Github Flow

Division of labor:

  • git performs these actions
  • github stores repositories online

Other: BRANCH, FORK

Permissions:

  • ucsb-bren/esm296-4f: pull only (no push privileges)
  • USER/courses: push and pull

Git / Github Features

GOOD:

  • text formats (txt, r, py, md…)
  • backup to offsite archive, and rewind changes
  • document changes of code and files with issues and messages
  • collaborate with others and publish to web site

BAD:

  • binary formats (eg docx, pdf, shp…)
  • big files (limits: 1GB per repository, 100MB per file)

Folder Structure

So your local file structure will look like this:

H:/

  • github/esm296-4f
    read-only repo for course

  • github/courses/esm296-4f
    read-write personal courses repo containing esm296-4f folder

  • esm296-4f
    personal workspace for working through labs and everything else, especially for big data files

Cool Features of Github

Github: Track Changes View

Track Changes View with "Rendered" button to view differences between versions of a text file: additions in green, removals in red strikethrough.