September 28, 2014

To Learn


  • 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)


Why Git?

Why Python?

Why R?

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


Git / Github Flow

Division of labor:

  • git performs these actions
  • github stores repositories online



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

Git / Github Features


  • 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


  • 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:


  • 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.