diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..af2295c --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,45 @@ +name: Build and Deploy +on: + push: + branches: + - main + - master +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + persist-credentials: false + # NOTE: Python is necessary for the pre-rendering (minification) step + - name: Install python + uses: actions/setup-python@v2 + with: + python-version: '3.8' + # NOTE: Here you can install dependencies such as matplotlib if you use + # packages such as PyPlot. + # - run: pip install matplotlib + - name: Install Julia + uses: julia-actions/setup-julia@v1 + with: + version: 1.5 + # NOTE + # The steps below ensure that NodeJS and Franklin are loaded then it + # installs highlight.js which is needed for the prerendering step + # (code highlighting + katex prerendering). + # Then the environment is activated and instantiated to install all + # Julia packages which may be required to successfully build your site. + # The last line should be `optimize()` though you may want to give it + # specific arguments, see the documentation or ?optimize in the REPL. + - run: julia -e ' + using Pkg; Pkg.activate("."); Pkg.instantiate(); + using NodeJS; run(`$(npm_cmd()) install highlight.js`); + using Franklin; + optimize(minify=false, prerender=false)' + - name: Build and Deploy + uses: JamesIves/github-pages-deploy-action@releases/v3 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages + FOLDER: __site diff --git a/.gitignore b/.gitignore index 45c1505..78d1859 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ -_site -.sass-cache -.jekyll-metadata +__site/ +.DS_Store +franklin +franklin.pub +node_modules/ +sandbo*.html diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..d4e7878 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,20 @@ +image: julia:1.5 + +before_script: + - apt-get -qq update; apt-get -y install git python3-dev python3-pip + - pip3 install css-html-js-minify + +pages: + stage: deploy + script: + - julia --project=@. -e 'import Pkg; Pkg.instantiate(); + using NodeJS; run(`$(npm_cmd()) install highlight.js`); + using Franklin; + optimize()' + - mv __site public + artifacts: + paths: + - public + only: + - master + diff --git a/404.html b/404.html deleted file mode 100644 index c472b4e..0000000 --- a/404.html +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: default ---- - - - -
-

404

- -

Page not found :(

-

The requested page could not be found.

-
diff --git a/404.md b/404.md new file mode 100644 index 0000000..ea858b9 --- /dev/null +++ b/404.md @@ -0,0 +1,5 @@ +# 404: File not found + +The requested file was not found. + +Please [click here](/) to go to the home page. diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 043e40d..0000000 --- a/Gemfile +++ /dev/null @@ -1,32 +0,0 @@ -source "https://rubygems.org" - -# Hello! This is where you manage which Jekyll version is used to run. -# When you want to use a different version, change it below, save the -# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: -# -# bundle exec jekyll serve -# -# This will help ensure the proper Jekyll version is running. -# Happy Jekylling! -gem "jekyll", ">= 3.8.5" - -# This is the default theme for new Jekyll sites. You may change this to anything you like. -gem "minima", "~> 2.0" - -# If you want to use GitHub Pages, remove the "gem "jekyll"" above and -# uncomment the line below. To upgrade, run `bundle update github-pages`. -# gem "github-pages", group: :jekyll_plugins - -# If you have any plugins, put them here! -group :jekyll_plugins do - gem "jekyll-feed", "~> 0.6" -end - -# Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] - -# Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1.0" if Gem.win_platform? - -# Github security alert -gem "kramdown", ">= 2.3.0" diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 293ec21..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,79 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - addressable (2.7.0) - public_suffix (>= 2.0.2, < 5.0) - colorator (1.1.0) - concurrent-ruby (1.1.7) - em-websocket (0.5.1) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - eventmachine (1.2.7) - ffi (1.13.1) - forwardable-extended (2.6.0) - http_parser.rb (0.6.0) - i18n (1.8.5) - concurrent-ruby (~> 1.0) - jekyll (4.1.1) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (~> 1.0) - jekyll-sass-converter (~> 2.0) - jekyll-watch (~> 2.0) - kramdown (~> 2.1) - kramdown-parser-gfm (~> 1.0) - liquid (~> 4.0) - mercenary (~> 0.4.0) - pathutil (~> 0.9) - rouge (~> 3.0) - safe_yaml (~> 1.0) - terminal-table (~> 1.8) - jekyll-feed (0.15.0) - jekyll (>= 3.7, < 5.0) - jekyll-sass-converter (2.1.0) - sassc (> 2.0.1, < 3.0) - jekyll-seo-tag (2.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - kramdown (2.3.0) - rexml - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.3) - listen (3.2.1) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.4.0) - minima (2.5.1) - jekyll (>= 3.5, < 5.0) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (4.0.6) - rb-fsevent (0.10.4) - rb-inotify (0.10.1) - ffi (~> 1.0) - rexml (3.2.4) - rouge (3.23.0) - safe_yaml (1.0.5) - sassc (2.4.0) - ffi (~> 1.9) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - unicode-display_width (1.7.0) - -PLATFORMS - ruby - -DEPENDENCIES - jekyll (>= 3.8.5) - jekyll-feed (~> 0.6) - kramdown (>= 2.3.0) - minima (~> 2.0) - tzinfo-data - -BUNDLED WITH - 1.17.1 diff --git a/Project.toml b/Project.toml new file mode 100644 index 0000000..8f357c5 --- /dev/null +++ b/Project.toml @@ -0,0 +1,3 @@ +[deps] +Franklin = "713c75ef-9fc9-4b05-94a9-213340da978e" +NodeJS = "2bd173c7-0d6d-553b-b6af-13a54713934c" \ No newline at end of file diff --git a/img/SB_surf.jpg b/_assets/img/SB_surf.jpg similarity index 100% rename from img/SB_surf.jpg rename to _assets/img/SB_surf.jpg diff --git a/img/banner.PNG b/_assets/img/banner.png similarity index 100% rename from img/banner.PNG rename to _assets/img/banner.png diff --git a/img/barriermapper.png b/_assets/img/barriermapper.png similarity index 100% rename from img/barriermapper.png rename to _assets/img/barriermapper.png diff --git a/img/brad.jpg b/_assets/img/brad.jpg similarity index 100% rename from img/brad.jpg rename to _assets/img/brad.jpg diff --git a/img/image16.png b/_assets/img/image16.png similarity index 100% rename from img/image16.png rename to _assets/img/image16.png diff --git a/img/lm2.png b/_assets/img/lm2.png similarity index 100% rename from img/lm2.png rename to _assets/img/lm2.png diff --git a/img/lm3.png b/_assets/img/lm3.png similarity index 100% rename from img/lm3.png rename to _assets/img/lm3.png diff --git a/img/lm5.png b/_assets/img/lm5.png similarity index 100% rename from img/lm5.png rename to _assets/img/lm5.png diff --git a/img/lm6.png b/_assets/img/lm6.png similarity index 100% rename from img/lm6.png rename to _assets/img/lm6.png diff --git a/img/lm7.png b/_assets/img/lm7.png similarity index 100% rename from img/lm7.png rename to _assets/img/lm7.png diff --git a/img/lm8.jpg b/_assets/img/lm8.jpg similarity index 100% rename from img/lm8.jpg rename to _assets/img/lm8.jpg diff --git a/img/lm9.jpg b/_assets/img/lm9.jpg similarity index 100% rename from img/lm9.jpg rename to _assets/img/lm9.jpg diff --git a/img/lm_logo.jpg b/_assets/img/lm_logo_big.jpg similarity index 100% rename from img/lm_logo.jpg rename to _assets/img/lm_logo_big.jpg diff --git a/_assets/img/lm_logo_min.jpg b/_assets/img/lm_logo_min.jpg new file mode 100644 index 0000000..8570734 Binary files /dev/null and b/_assets/img/lm_logo_min.jpg differ diff --git a/_assets/img/logo.png b/_assets/img/logo.png new file mode 100644 index 0000000..284d339 Binary files /dev/null and b/_assets/img/logo.png differ diff --git a/img/ranjan.jpg b/_assets/img/ranjan.jpg similarity index 100% rename from img/ranjan.jpg rename to _assets/img/ranjan.jpg diff --git a/img/sa_sb2.jpg b/_assets/img/sa_sb2.jpg similarity index 100% rename from img/sa_sb2.jpg rename to _assets/img/sa_sb2.jpg diff --git a/img/tanmaynew.jpeg b/_assets/img/tanmaynew.jpeg similarity index 100% rename from img/tanmaynew.jpeg rename to _assets/img/tanmaynew.jpeg diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 4e3064d..0000000 --- a/_config.yml +++ /dev/null @@ -1,58 +0,0 @@ -# Welcome to Jekyll! -# -# This config file is meant for settings that affect your whole blog, values -# which you are expected to set up once and rarely edit after that. If you find -# yourself editing this file very often, consider using Jekyll's data files -# feature for the data you need to update frequently. -# -# For technical reasons, this file is *NOT* reloaded automatically when you use -# 'bundle exec jekyll serve'. If you change this file, please restart the server process. - -# Site settings -# These are used to personalize your new site. If you look in the HTML files, -# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. -# You can create any custom variable you would like, and they will be accessible -# in the templates via {{ site.myvariable }}. -title: Circuitscape -email: circuitscape@googlegroups.com -description: >- # this means to ignore newlines until "baseurl:" - Circuitscape is an award-winning connectivity analysis software package which - borrows algorithms from electronic circuit theory to predict patterns of movement, - gene flow, and genetic differentiation among plant and animal populations - in heterogeneous landscapes. Circuitscape has rapidly become the most widely used - connectivity analysis package in the world. It is used by numerous state, federal, - and local agencies in the USA, and by government ministries and NGOs for conservation - planning on six continents. It routinely appears in journals like PNAS, - Nature Genetics, Ecology, Ecological Applications, Ecology Letters, Landscape Ecology, - Evolution, Heredity, Bioscience, Molecular Ecology, Conservation Biology, and many others. -baseurl: "" # the subpath of your site, e.g. /blog -url: "" # the base hostname & protocol for your site, e.g. http://example.com -# twitter_username: jekyllrb -github_username: Circuitscape - -# Build settings -markdown: kramdown -theme: minima -plugins: - - jekyll-feed - -# Header pages -header_pages: - - docs.md - - downloads.md - - about.md - - linkage-mapper.md - - pubs.md - - authors.md - -# Exclude from processing. -# The following items will not be processed, by default. Create a custom list -# to override the default setting. -# exclude: -# - Gemfile -# - Gemfile.lock -# - node_modules -# - vendor/bundle/ -# - vendor/cache/ -# - vendor/gems/ -# - vendor/ruby/ diff --git a/_css/main.css b/_css/main.css new file mode 100644 index 0000000..0fd57f7 --- /dev/null +++ b/_css/main.css @@ -0,0 +1,745 @@ +body, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +hr, +dl, +dd, +ol, +ul, +figure { + margin: 0; + padding: 0 +} + +body { + font: 400 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + color: #111; + background-color: #fdfdfd; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1; + -moz-font-feature-settings: "kern" 1; + -o-font-feature-settings: "kern" 1; + font-feature-settings: "kern" 1; + font-kerning: normal; + display: flex; + min-height: 100vh; + flex-direction: column +} + +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +ul, +ol, +dl, +figure, +.highlight { + margin-bottom: 15px +} + +main { + display: block +} + +img { + max-width: 100%; + vertical-align: middle +} + +figure>img { + display: block +} + +figcaption { + font-size: 14px +} + +ul, +ol { + margin-left: 30px +} + +li>ul, +li>ol { + margin-bottom: 0 +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 400 +} + +a { + color: #2a7ae2; + text-decoration: none +} + +a:visited { + color: #1756a9 +} + +a:hover { + color: #111; + text-decoration: underline +} + +.social-media-list a:hover { + text-decoration: none +} + +.social-media-list a:hover .username { + text-decoration: underline +} + +blockquote { + color: #828282; + border-left: 4px solid #e8e8e8; + padding-left: 15px; + font-size: 18px; + letter-spacing: -1px; + font-style: italic +} + +blockquote>:last-child { + margin-bottom: 0 +} + +pre, +code { + font-size: 15px; + border: 1px solid #e8e8e8; + border-radius: 3px; + background-color: #eef +} + +code { + padding: 1px 5px +} + +pre { + padding: 8px 12px; + overflow-x: auto +} + +pre>code { + border: 0; + padding-right: 0; + padding-left: 0 +} + +.wrapper { + max-width: -webkit-calc(800px - (30px * 2)); + max-width: calc(800px - (30px * 2)); + margin-right: auto; + margin-left: auto; + padding-right: 30px; + padding-left: 30px +} + +@media screen and (max-width: 800px) { + .wrapper { + max-width: -webkit-calc(800px - (30px)); + max-width: calc(800px - (30px)); + padding-right: 15px; + padding-left: 15px + } +} + +.wrapper:after, +.footer-col-wrapper:after { + content: ""; + display: table; + clear: both +} + +.svg-icon { + width: 16px; + height: 16px; + display: inline-block; + fill: #828282; + padding-right: 5px; + vertical-align: text-top +} + +.social-media-list li+li { + padding-top: 5px +} + +table { + margin-bottom: 30px; + width: 100%; + text-align: left; + color: #3f3f3f; + border-collapse: collapse; + border: 1px solid #e8e8e8 +} + +table tr:nth-child(even) { + background-color: #f7f7f7 +} + +table th, +table td { + padding: 10px 15px +} + +table th { + background-color: #f0f0f0; + border: 1px solid #dedede; + border-bottom-color: #c9c9c9 +} + +table td { + border: 1px solid #e8e8e8 +} + +.site-header { + border-top: 5px solid #424242; + border-bottom: 1px solid #e8e8e8; + min-height: 55.95px; + position: relative +} + +.site-title { + font-size: 26px; + font-weight: 300; + line-height: 54px; + letter-spacing: -1px; + margin-bottom: 0; + float: left +} + +.site-title, +.site-title:visited { + color: #424242 +} + +.site-nav { + float: center; + line-height: 54px +} + +.site-nav .nav-trigger { + display: none +} + +.site-nav .menu-icon { + display: none +} + +.site-nav .page-link { + color: #111; + line-height: 1.5 +} + +.site-nav .page-link:not(:last-child) { + margin-right: 20px +} + +@media screen and (max-width: 600px) { + .site-nav { + position: absolute; + top: 9px; + right: 15px; + background-color: #fdfdfd; + border: 1px solid #e8e8e8; + border-radius: 5px; + text-align: right + } + .site-nav label[for="nav-trigger"] { + display: block; + float: right; + width: 36px; + height: 36px; + z-index: 2; + cursor: pointer + } + .site-nav .menu-icon { + display: block; + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center + } + .site-nav .menu-icon>svg { + fill: #424242 + } + .site-nav input~.trigger { + clear: both; + display: none + } + .site-nav input:checked~.trigger { + display: block; + padding-bottom: 5px + } + .site-nav .page-link { + display: block; + padding: 5px 10px; + margin-left: 20px + } + .site-nav .page-link:not(:last-child) { + margin-right: 0 + } +} + +.site-footer { + border-top: 1px solid #e8e8e8; + padding: 30px 0 +} + +.footer-heading { + font-size: 18px; + margin-bottom: 15px +} + +.contact-list, +.social-media-list { + list-style: none; + margin-left: 0 +} + +.footer-col-wrapper { + font-size: 15px; + color: #828282; + margin-left: -15px +} + +.footer-col { + float: left; + margin-bottom: 15px; + padding-left: 15px +} + +.footer-col-1 { + width: -webkit-calc(35% - (30px / 2)); + width: calc(35% - (30px / 2)) +} + +.footer-col-2 { + width: -webkit-calc(20% - (30px / 2)); + width: calc(20% - (30px / 2)) +} + +.footer-col-3 { + width: -webkit-calc(45% - (30px / 2)); + width: calc(45% - (30px / 2)) +} + +@media screen and (max-width: 800px) { + .footer-col-1, + .footer-col-2 { + width: -webkit-calc(50% - (30px / 2)); + width: calc(50% - (30px / 2)) + } + .footer-col-3 { + width: -webkit-calc(100% - (30px / 2)); + width: calc(100% - (30px / 2)) + } +} + +@media screen and (max-width: 600px) { + .footer-col { + float: none; + width: -webkit-calc(100% - (30px / 2)); + width: calc(100% - (30px / 2)) + } +} + +.page-content { + padding: 30px 0; + flex: 1 +} + +.page-heading { + font-size: 32px +} + +.post-list-heading { + font-size: 28px +} + +.post-list { + margin-left: 0; + list-style: none +} + +.post-list>li { + margin-bottom: 30px +} + +.post-meta { + font-size: 14px; + color: #828282 +} + +.post-link { + display: block; + font-size: 24px +} + +.post-header { + margin-bottom: 30px +} + +.post-title { + font-size: 42px; + letter-spacing: -1px; + line-height: 1 +} + +@media screen and (max-width: 800px) { + .post-title { + font-size: 36px + } +} + +.post-content { + margin-bottom: 30px +} + +.post-content h2 { + font-size: 32px +} + +@media screen and (max-width: 800px) { + .post-content h2 { + font-size: 28px + } +} + +.post-content h3 { + font-size: 26px +} + +@media screen and (max-width: 800px) { + .post-content h3 { + font-size: 22px + } +} + +.post-content h4 { + font-size: 20px +} + +@media screen and (max-width: 800px) { + .post-content h4 { + font-size: 18px + } +} + +.highlight { + background: #fff +} + +.highlighter-rouge .highlight { + background: #eef +} + +.highlight .c { + color: #998; + font-style: italic +} + +.highlight .err { + color: #a61717; + background-color: #e3d2d2 +} + +.highlight .k { + font-weight: bold +} + +.highlight .o { + font-weight: bold +} + +.highlight .cm { + color: #998; + font-style: italic +} + +.highlight .cp { + color: #999; + font-weight: bold +} + +.highlight .c1 { + color: #998; + font-style: italic +} + +.highlight .cs { + color: #999; + font-weight: bold; + font-style: italic +} + +.highlight .gd { + color: #000; + background-color: #fdd +} + +.highlight .gd .x { + color: #000; + background-color: #faa +} + +.highlight .ge { + font-style: italic +} + +.highlight .gr { + color: #a00 +} + +.highlight .gh { + color: #999 +} + +.highlight .gi { + color: #000; + background-color: #dfd +} + +.highlight .gi .x { + color: #000; + background-color: #afa +} + +.highlight .go { + color: #888 +} + +.highlight .gp { + color: #555 +} + +.highlight .gs { + font-weight: bold +} + +.highlight .gu { + color: #aaa +} + +.highlight .gt { + color: #a00 +} + +.highlight .kc { + font-weight: bold +} + +.highlight .kd { + font-weight: bold +} + +.highlight .kp { + font-weight: bold +} + +.highlight .kr { + font-weight: bold +} + +.highlight .kt { + color: #458; + font-weight: bold +} + +.highlight .m { + color: #099 +} + +.highlight .s { + color: #d14 +} + +.highlight .na { + color: teal +} + +.highlight .nb { + color: #0086B3 +} + +.highlight .nc { + color: #458; + font-weight: bold +} + +.highlight .no { + color: teal +} + +.highlight .ni { + color: purple +} + +.highlight .ne { + color: #900; + font-weight: bold +} + +.highlight .nf { + color: #900; + font-weight: bold +} + +.highlight .nn { + color: #555 +} + +.highlight .nt { + color: navy +} + +.highlight .nv { + color: teal +} + +.highlight .ow { + font-weight: bold +} + +.highlight .w { + color: #bbb +} + +.highlight .mf { + color: #099 +} + +.highlight .mh { + color: #099 +} + +.highlight .mi { + color: #099 +} + +.highlight .mo { + color: #099 +} + +.highlight .sb { + color: #d14 +} + +.highlight .sc { + color: #d14 +} + +.highlight .sd { + color: #d14 +} + +.highlight .s2 { + color: #d14 +} + +.highlight .se { + color: #d14 +} + +.highlight .sh { + color: #d14 +} + +.highlight .si { + color: #d14 +} + +.highlight .sx { + color: #d14 +} + +.highlight .sr { + color: #009926 +} + +.highlight .s1 { + color: #d14 +} + +.highlight .ss { + color: #990073 +} + +.highlight .bp { + color: #999 +} + +.highlight .vc { + color: teal +} + +.highlight .vg { + color: teal +} + +.highlight .vi { + color: teal +} + +.highlight .il { + color: #099 +} + +/* ================================================================== + Franklin +================================================================== */ + +.page-foot a { + text-decoration: none; + color: #a6a2a0; + text-decoration: underline; +} + +.page-foot { + font-size: 80%; + font-family: Arial, serif; + color: #a6a2a0; + text-align: center; + margin-top: 6em; + border-top: 1px solid lightgrey; + padding-top: 2em; + margin-bottom: 4em; +} + +h1 a { color: inherit; } +h1 a:hover { text-decoration: none; } +h2 a { color: inherit; } +h2 a:hover { text-decoration: none; } +h3 a { color: inherit; } +h3 a:hover { text-decoration: none; } +h4 a { color: inherit; } +h4 a:hover { text-decoration: none; } +h5 a { color: inherit; } +h5 a:hover { text-decoration: none; } +h6 a { color: inherit; } +h6 a:hover { text-decoration: none; } + +/* Spacing between bullet points. */ +li > p { + margin: 0; +} diff --git a/_css/normalize.css b/_css/normalize.css new file mode 100644 index 0000000..192eb9c --- /dev/null +++ b/_css/normalize.css @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/_includes/disqus_comments.html b/_includes/disqus_comments.html deleted file mode 100644 index d9400f2..0000000 --- a/_includes/disqus_comments.html +++ /dev/null @@ -1,20 +0,0 @@ -{%- if page.comments != false and jekyll.environment == "production" -%} - -
- - -{%- endif -%} diff --git a/_includes/footer.html b/_includes/footer.html deleted file mode 100644 index f457087..0000000 --- a/_includes/footer.html +++ /dev/null @@ -1,37 +0,0 @@ - diff --git a/_includes/google-analytics.html b/_includes/google-analytics.html deleted file mode 100644 index 1281a3e..0000000 --- a/_includes/google-analytics.html +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/_includes/head.html b/_includes/head.html deleted file mode 100644 index 899e96e..0000000 --- a/_includes/head.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - {%- seo -%} - - {%- feed_meta -%} - {%- if jekyll.environment == 'production' and site.google_analytics -%} - {%- include google-analytics.html -%} - {%- endif -%} - diff --git a/_includes/header.html b/_includes/header.html deleted file mode 100644 index 4894b11..0000000 --- a/_includes/header.html +++ /dev/null @@ -1,31 +0,0 @@ - diff --git a/_includes/icon-github.html b/_includes/icon-github.html deleted file mode 100644 index e501a16..0000000 --- a/_includes/icon-github.html +++ /dev/null @@ -1 +0,0 @@ -{% include icon-github.svg %}{{ include.username }} diff --git a/_includes/icon-github.svg b/_includes/icon-github.svg deleted file mode 100644 index e6c5f6d..0000000 --- a/_includes/icon-github.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/_includes/icon-twitter.html b/_includes/icon-twitter.html deleted file mode 100644 index e623dbd..0000000 --- a/_includes/icon-twitter.html +++ /dev/null @@ -1 +0,0 @@ -{% include icon-twitter.svg %}{{ include.username }} diff --git a/_includes/icon-twitter.svg b/_includes/icon-twitter.svg deleted file mode 100644 index efc0ecf..0000000 --- a/_includes/icon-twitter.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/_includes/social.html b/_includes/social.html deleted file mode 100644 index 44046b8..0000000 --- a/_includes/social.html +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/_layout/foot.html b/_layout/foot.html new file mode 100644 index 0000000..57022fb --- /dev/null +++ b/_layout/foot.html @@ -0,0 +1,23 @@ + + {{ispage index.html}} + + {{end}} + {{isnotpage index.html}} + + + {{end}} + + + + + + + + + diff --git a/_layout/head.html b/_layout/head.html new file mode 100644 index 0000000..861826c --- /dev/null +++ b/_layout/head.html @@ -0,0 +1,38 @@ + + + + + + + {{isdef title}} {{fill title}} {{end}} + + + + + + + + + + + + + + + {{insert header.html}} +
+
+ + {{ispage index.html}} +
+ {{end}} + + {{isnotpage index.html}} +
+
+

{{title}}

+
+
+ {{end}} + + diff --git a/_layout/header.html b/_layout/header.html new file mode 100644 index 0000000..5034066 --- /dev/null +++ b/_layout/header.html @@ -0,0 +1,24 @@ + diff --git a/_layout/page_foot.html b/_layout/page_foot.html new file mode 100644 index 0000000..9562d32 --- /dev/null +++ b/_layout/page_foot.html @@ -0,0 +1,5 @@ +
+ +
diff --git a/_layout/tag.html b/_layout/tag.html new file mode 100644 index 0000000..c863721 --- /dev/null +++ b/_layout/tag.html @@ -0,0 +1,31 @@ + + + + + + + Tag: {{fill fd_tag}} + + +
+

Tag: {{fill fd_tag}}

+ {{taglist}} + {{insert page_foot.html}} +
+ + diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index 7f41d65..0000000 --- a/_layouts/default.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - {%- include head.html -%} - - - - {%- include header.html -%} - -
-
- {{ content }} -
-
- - {%- include footer.html -%} - {% include google-analytics.html %} - - - - diff --git a/_layouts/external.html b/_layouts/external.html deleted file mode 100644 index dc2cc27..0000000 --- a/_layouts/external.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - {{ page.title }} - - - - diff --git a/_layouts/home.html b/_layouts/home.html deleted file mode 100644 index 71ff8b0..0000000 --- a/_layouts/home.html +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: default ---- - -
- {%- if page.title -%} -

{{ page.title }}

- {%- endif -%} - - {{ content }} - - - -
diff --git a/_layouts/page.html b/_layouts/page.html deleted file mode 100644 index 01e4b2a..0000000 --- a/_layouts/page.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: default ---- -
- -
-

{{ page.title | escape }}

-
- -
- {{ content }} -
- -
diff --git a/_layouts/post.html b/_layouts/post.html deleted file mode 100644 index abf9696..0000000 --- a/_layouts/post.html +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: default ---- -
- -
-

{{ page.title | escape }}

- -
- -
- {{ content }} -
- - {%- if site.disqus.shortname -%} - {%- include disqus_comments.html -%} - {%- endif -%} - - -
diff --git a/_posts/2018-11-21-welcome-to-jekyll.markdown b/_posts/2018-11-21-welcome-to-jekyll.markdown deleted file mode 100644 index a54024a..0000000 --- a/_posts/2018-11-21-welcome-to-jekyll.markdown +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: post -title: "Welcome to Jekyll!" -date: 2018-11-21 21:18:37 -0500 -categories: jekyll update ---- -You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. - -To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works. - -Jekyll also offers powerful support for code snippets: - -{% highlight ruby %} -def print_hi(name) - puts "Hi, #{name}" -end -print_hi('Tom') -#=> prints 'Hi, Tom' to STDOUT. -{% endhighlight %} - -Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. - -[jekyll-docs]: https://jekyllrb.com/docs/home -[jekyll-gh]: https://github.com/jekyll/jekyll -[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/_sass/minima.scss b/_sass/minima.scss deleted file mode 100644 index cb0865b..0000000 --- a/_sass/minima.scss +++ /dev/null @@ -1,51 +0,0 @@ -@charset "utf-8"; - -// Define defaults for each variable. - -$base-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default; -$base-font-size: 16px !default; -$base-font-weight: 400 !default; -$small-font-size: $base-font-size * 0.875 !default; -$base-line-height: 1.5 !default; - -$spacing-unit: 30px !default; - -$text-color: #111 !default; -$background-color: #fdfdfd !default; -$brand-color: #2a7ae2 !default; - -$grey-color: #828282 !default; -$grey-color-light: lighten($grey-color, 40%) !default; -$grey-color-dark: darken($grey-color, 25%) !default; - -$table-text-align: left !default; - -// Width of the content area -$content-width: 800px !default; - -$on-palm: 600px !default; -$on-laptop: 800px !default; - -// Use media queries like this: -// @include media-query($on-palm) { -// .wrapper { -// padding-right: $spacing-unit / 2; -// padding-left: $spacing-unit / 2; -// } -// } -@mixin media-query($device) { - @media screen and (max-width: $device) { - @content; - } -} - -@mixin relative-font-size($ratio) { - font-size: $base-font-size * $ratio; -} - -// Import partials. -@import - "minima/base", - "minima/layout", - "minima/syntax-highlighting" -; diff --git a/_sass/minima/_base.scss b/_sass/minima/_base.scss deleted file mode 100644 index e61b0be..0000000 --- a/_sass/minima/_base.scss +++ /dev/null @@ -1,254 +0,0 @@ -/** - * Reset some basic elements - */ -body, h1, h2, h3, h4, h5, h6, -p, blockquote, pre, hr, -dl, dd, ol, ul, figure { - margin: 0; - padding: 0; -} - - - -/** - * Basic styling - */ -body { - font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family; - color: $text-color; - background-color: $background-color; - -webkit-text-size-adjust: 100%; - -webkit-font-feature-settings: "kern" 1; - -moz-font-feature-settings: "kern" 1; - -o-font-feature-settings: "kern" 1; - font-feature-settings: "kern" 1; - font-kerning: normal; - display: flex; - min-height: 100vh; - flex-direction: column; -} - - - -/** - * Set `margin-bottom` to maintain vertical rhythm - */ -h1, h2, h3, h4, h5, h6, -p, blockquote, pre, -ul, ol, dl, figure, -%vertical-rhythm { - margin-bottom: $spacing-unit / 2; -} - - - -/** - * `main` element - */ -main { - display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ -} - - - -/** - * Images - */ -img { - max-width: 100%; - vertical-align: middle; -} - - - -/** - * Figures - */ -figure > img { - display: block; -} - -figcaption { - font-size: $small-font-size; -} - - - -/** - * Lists - */ -ul, ol { - margin-left: $spacing-unit; -} - -li { - > ul, - > ol { - margin-bottom: 0; - } -} - - - -/** - * Headings - */ -h1, h2, h3, h4, h5, h6 { - font-weight: $base-font-weight; -} - - - -/** - * Links - */ -a { - color: $brand-color; - text-decoration: none; - - &:visited { - color: darken($brand-color, 15%); - } - - &:hover { - color: $text-color; - text-decoration: underline; - } - - .social-media-list &:hover { - text-decoration: none; - - .username { - text-decoration: underline; - } - } -} - - -/** - * Blockquotes - */ -blockquote { - color: $grey-color; - border-left: 4px solid $grey-color-light; - padding-left: $spacing-unit / 2; - @include relative-font-size(1.125); - letter-spacing: -1px; - font-style: italic; - - > :last-child { - margin-bottom: 0; - } -} - - - -/** - * Code formatting - */ -pre, -code { - @include relative-font-size(0.9375); - border: 1px solid $grey-color-light; - border-radius: 3px; - background-color: #eef; -} - -code { - padding: 1px 5px; -} - -pre { - padding: 8px 12px; - overflow-x: auto; - - > code { - border: 0; - padding-right: 0; - padding-left: 0; - } -} - - - -/** - * Wrapper - */ -.wrapper { - max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); - max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); - margin-right: auto; - margin-left: auto; - padding-right: $spacing-unit; - padding-left: $spacing-unit; - @extend %clearfix; - - @include media-query($on-laptop) { - max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); - max-width: calc(#{$content-width} - (#{$spacing-unit})); - padding-right: $spacing-unit / 2; - padding-left: $spacing-unit / 2; - } -} - - - -/** - * Clearfix - */ -%clearfix:after { - content: ""; - display: table; - clear: both; -} - - - -/** - * Icons - */ - -.svg-icon { - width: 16px; - height: 16px; - display: inline-block; - fill: #{$grey-color}; - padding-right: 5px; - vertical-align: text-top; -} - -.social-media-list { - li + li { - padding-top: 5px; - } -} - - - -/** - * Tables - */ -table { - margin-bottom: $spacing-unit; - width: 100%; - text-align: $table-text-align; - color: lighten($text-color, 18%); - border-collapse: collapse; - border: 1px solid $grey-color-light; - tr { - &:nth-child(even) { - background-color: lighten($grey-color-light, 6%); - } - } - th, td { - padding: ($spacing-unit / 3) ($spacing-unit / 2); - } - th { - background-color: lighten($grey-color-light, 3%); - border: 1px solid darken($grey-color-light, 4%); - border-bottom-color: darken($grey-color-light, 12%); - } - td { - border: 1px solid $grey-color-light; - } -} diff --git a/_sass/minima/_layout.scss b/_sass/minima/_layout.scss deleted file mode 100644 index 0acaa9c..0000000 --- a/_sass/minima/_layout.scss +++ /dev/null @@ -1,255 +0,0 @@ -/** - * Site header - */ -.site-header { - border-top: 5px solid $grey-color-dark; - border-bottom: 1px solid $grey-color-light; - min-height: $spacing-unit * 1.865; - - // Positioning context for the mobile navigation icon - position: relative; -} - -.site-title { - @include relative-font-size(1.625); - font-weight: 300; - line-height: $base-line-height * $base-font-size * 2.25; - letter-spacing: -1px; - margin-bottom: 0; - float: left; - - &, - &:visited { - color: $grey-color-dark; - } -} - -.site-nav { - float: center; - line-height: $base-line-height * $base-font-size * 2.25; - - .nav-trigger { - display: none; - } - - .menu-icon { - display: none; - } - - .page-link { - color: $text-color; - line-height: $base-line-height; - - // Gaps between nav items, but not on the last one - &:not(:last-child) { - margin-right: 20px; - } - } - - @include media-query($on-palm) { - position: absolute; - top: 9px; - right: $spacing-unit / 2; - background-color: $background-color; - border: 1px solid $grey-color-light; - border-radius: 5px; - text-align: right; - - label[for="nav-trigger"] { - display: block; - float: right; - width: 36px; - height: 36px; - z-index: 2; - cursor: pointer; - } - - .menu-icon { - display: block; - float: right; - width: 36px; - height: 26px; - line-height: 0; - padding-top: 10px; - text-align: center; - - > svg { - fill: $grey-color-dark; - } - } - - input ~ .trigger { - clear: both; - display: none; - } - - input:checked ~ .trigger { - display: block; - padding-bottom: 5px; - } - - .page-link { - display: block; - padding: 5px 10px; - - &:not(:last-child) { - margin-right: 0; - } - margin-left: 20px; - } - } -} - - - -/** - * Site footer - */ -.site-footer { - border-top: 1px solid $grey-color-light; - padding: $spacing-unit 0; -} - -.footer-heading { - @include relative-font-size(1.125); - margin-bottom: $spacing-unit / 2; -} - -.contact-list, -.social-media-list { - list-style: none; - margin-left: 0; -} - -.footer-col-wrapper { - @include relative-font-size(0.9375); - color: $grey-color; - margin-left: -$spacing-unit / 2; - @extend %clearfix; -} - -.footer-col { - float: left; - margin-bottom: $spacing-unit / 2; - padding-left: $spacing-unit / 2; -} - -.footer-col-1 { - width: -webkit-calc(35% - (#{$spacing-unit} / 2)); - width: calc(35% - (#{$spacing-unit} / 2)); -} - -.footer-col-2 { - width: -webkit-calc(20% - (#{$spacing-unit} / 2)); - width: calc(20% - (#{$spacing-unit} / 2)); -} - -.footer-col-3 { - width: -webkit-calc(45% - (#{$spacing-unit} / 2)); - width: calc(45% - (#{$spacing-unit} / 2)); -} - -@include media-query($on-laptop) { - .footer-col-1, - .footer-col-2 { - width: -webkit-calc(50% - (#{$spacing-unit} / 2)); - width: calc(50% - (#{$spacing-unit} / 2)); - } - - .footer-col-3 { - width: -webkit-calc(100% - (#{$spacing-unit} / 2)); - width: calc(100% - (#{$spacing-unit} / 2)); - } -} - -@include media-query($on-palm) { - .footer-col { - float: none; - width: -webkit-calc(100% - (#{$spacing-unit} / 2)); - width: calc(100% - (#{$spacing-unit} / 2)); - } -} - - - -/** - * Page content - */ -.page-content { - padding: $spacing-unit 0; - flex: 1; -} - -.page-heading { - @include relative-font-size(2); -} - -.post-list-heading { - @include relative-font-size(1.75); -} - -.post-list { - margin-left: 0; - list-style: none; - - > li { - margin-bottom: $spacing-unit; - } -} - -.post-meta { - font-size: $small-font-size; - color: $grey-color; -} - -.post-link { - display: block; - @include relative-font-size(1.5); -} - - - -/** - * Posts - */ -.post-header { - margin-bottom: $spacing-unit; -} - -.post-title { - @include relative-font-size(2.625); - letter-spacing: -1px; - line-height: 1; - - @include media-query($on-laptop) { - @include relative-font-size(2.25); - } -} - -.post-content { - margin-bottom: $spacing-unit; - - h2 { - @include relative-font-size(2); - - @include media-query($on-laptop) { - @include relative-font-size(1.75); - } - } - - h3 { - @include relative-font-size(1.625); - - @include media-query($on-laptop) { - @include relative-font-size(1.375); - } - } - - h4 { - @include relative-font-size(1.25); - - @include media-query($on-laptop) { - @include relative-font-size(1.125); - } - } -} diff --git a/_sass/minima/_syntax-highlighting.scss b/_sass/minima/_syntax-highlighting.scss deleted file mode 100644 index bccdb89..0000000 --- a/_sass/minima/_syntax-highlighting.scss +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Syntax highlighting styles - */ -.highlight { - background: #fff; - @extend %vertical-rhythm; - - .highlighter-rouge & { - background: #eef; - } - - .c { color: #998; font-style: italic } // Comment - .err { color: #a61717; background-color: #e3d2d2 } // Error - .k { font-weight: bold } // Keyword - .o { font-weight: bold } // Operator - .cm { color: #998; font-style: italic } // Comment.Multiline - .cp { color: #999; font-weight: bold } // Comment.Preproc - .c1 { color: #998; font-style: italic } // Comment.Single - .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special - .gd { color: #000; background-color: #fdd } // Generic.Deleted - .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific - .ge { font-style: italic } // Generic.Emph - .gr { color: #a00 } // Generic.Error - .gh { color: #999 } // Generic.Heading - .gi { color: #000; background-color: #dfd } // Generic.Inserted - .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific - .go { color: #888 } // Generic.Output - .gp { color: #555 } // Generic.Prompt - .gs { font-weight: bold } // Generic.Strong - .gu { color: #aaa } // Generic.Subheading - .gt { color: #a00 } // Generic.Traceback - .kc { font-weight: bold } // Keyword.Constant - .kd { font-weight: bold } // Keyword.Declaration - .kp { font-weight: bold } // Keyword.Pseudo - .kr { font-weight: bold } // Keyword.Reserved - .kt { color: #458; font-weight: bold } // Keyword.Type - .m { color: #099 } // Literal.Number - .s { color: #d14 } // Literal.String - .na { color: #008080 } // Name.Attribute - .nb { color: #0086B3 } // Name.Builtin - .nc { color: #458; font-weight: bold } // Name.Class - .no { color: #008080 } // Name.Constant - .ni { color: #800080 } // Name.Entity - .ne { color: #900; font-weight: bold } // Name.Exception - .nf { color: #900; font-weight: bold } // Name.Function - .nn { color: #555 } // Name.Namespace - .nt { color: #000080 } // Name.Tag - .nv { color: #008080 } // Name.Variable - .ow { font-weight: bold } // Operator.Word - .w { color: #bbb } // Text.Whitespace - .mf { color: #099 } // Literal.Number.Float - .mh { color: #099 } // Literal.Number.Hex - .mi { color: #099 } // Literal.Number.Integer - .mo { color: #099 } // Literal.Number.Oct - .sb { color: #d14 } // Literal.String.Backtick - .sc { color: #d14 } // Literal.String.Char - .sd { color: #d14 } // Literal.String.Doc - .s2 { color: #d14 } // Literal.String.Double - .se { color: #d14 } // Literal.String.Escape - .sh { color: #d14 } // Literal.String.Heredoc - .si { color: #d14 } // Literal.String.Interpol - .sx { color: #d14 } // Literal.String.Other - .sr { color: #009926 } // Literal.String.Regex - .s1 { color: #d14 } // Literal.String.Single - .ss { color: #990073 } // Literal.String.Symbol - .bp { color: #999 } // Name.Builtin.Pseudo - .vc { color: #008080 } // Name.Variable.Class - .vg { color: #008080 } // Name.Variable.Global - .vi { color: #008080 } // Name.Variable.Instance - .il { color: #099 } // Literal.Number.Integer.Long -} diff --git a/about.md b/about.md index 6e7f8cc..4b29d79 100644 --- a/about.md +++ b/about.md @@ -1,23 +1,20 @@ ---- -layout: page -title: About Circuitscape -permalink: about/ ---- ++++ +title = "About" ++++ Circuitscape is an award-winning connectivity analysis software package which borrows algorithms from electronic circuit theory to predict patterns of movement, gene flow, and genetic differentiation among plant and animal populations in heterogeneous landscapes. Circuit theory complements least-cost path approaches because it considers effects of all possible pathways across a landscape simultaneously. - +~~~ + +~~~ The links below give more background on Circuitscape and how it is used: -- [Applications](/applications/) -- [Circuitscape user guide](/docs/) -- [Publications](/pubs.html) -- [About the authors](/authors.html) +* [Applications](/applications/) +* [Circuitscape user guide](/docs/) +* [Publications](/pubs.html) +* [About the authors](/authors.html) -More info about how Circuitscape is used and our plans for future development can be found in [**this white paper**](pubs/circuitscape_whitepaper.pdf). +More info about how Circuitscape is used and our plans for future development can be found in [**this white paper**](/pubs/circuitscape_whitepaper.pdf). **Whatever tool you use,** connectivity modeling involves a great deal of research, data compilation, GIS analyses, and careful interpretation of results. Defining areas to connect, parameterizing resistance models, and other modeling decisions you will need to make are not trivial. Before diving in, we strongly recommend that users first acquaint themselves with the process and challenges of connectivity modeling by consulting published resources. Good places to start include overviews on the [Corridor Design](http://www.corridordesign.org/) and [Connecting Landscapes](http://connectinglandscapes.org/) websites. - - - diff --git a/applications.md b/applications.md deleted file mode 100644 index feed21f..0000000 --- a/applications.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -layout: page -title: Applications -permalink: /applications/ ---- - -Circuitscape has rapidly become the most widely used connectivity analysis package in the world. It is used by numerous state, federal, and local agencies in the USA, and by government ministries and NGOs for conservation planning on six continents. It routinely appears in journals like *PNAS, Nature Genetics, Ecology, Ecological Applications, Ecology Letters, Landscape Ecology, Evolution, Heredity, Bioscience, Molecular Ecology, Conservation Biology,* and many others*.* In 2015 alone, Circuitscape appeared in 80 peer-reviewed journal articles—a 40% increase from 2014—plus dozens of dissertations, reports, and book chapters. - -### A Sampling of Circuitscape Applications from Around the World - -#### Wildlife corridor design - -Within the Nature Conservancy, connectivity analyses using Circuitscape are being used in planning exercises affecting tens of millions of dollars for land acquisition, restoration, and management. Other NGOs, whether small ones like the Snow Leopard Conservancy or large ones like the Wildlife Conservation Society, are using Circuitscape to set conservation priorities. Here are some recent examples of research in this area. - -Multispecies connectivity planning in Borneo (Brodie et al. 2015).Connectivity for pumas in Arizona and New Mexico (Dickson et al. 2013).Large landscape planning across Ontario, Canada (Bowman and Cordes 2015).Connectivity prioritization for gibbons (Vasudev and Fletcher 2015).Corridors for tigers in India (Joshi et al. 2013, Dutta et al. 2015).Connectivity for Amur leopards in China (Jiang et al. 2015).Trans-boundary conservation of Persian leopards in Iran, Turkey, Armenia, and Azerbaijan (Farhadiniaa et al. 2015).Multi-scale connectivity planning in Australia (Lechner et al. 2015).Wall-to-wall’ methods that don’t require core areas to connect (Anderson et al. 2012, 2014, Pelletier et al. 2014). - - - -*Dutta et al. (2015) combined Circuitscape with least-cost corridor methods to map pinch points within corridors connecting protected areas for tigers in central India. Areas with high current flow are most important for tiger movements and keeping the network connected.* - -#### Landscape genetics - -Landscape genetics is the study of how landscape pattern (the distribution of suitable habitat, barriers, etc.) affects gene flow and genetic differentiation among plant and animal populations. Circuitscape is widely used in this field, and has been combined with genetic data to show - -- the resilience of montane rainforest lizards to past climate change in the Australian tropics (Bell et al. 2010); - -- how oil palm plantations isolate squirrel monkeys in Costa Rica, and where corridors of native trees could reconnect populations (Blair et al. 2012); - -- how the pattern of climatically stable habitat structures genetics of canyon live oaks (Ortego et al. 2014); - -- how genetics and connectivity models can be combined to design Indian tiger corridors (Yumnam et al. 2014); - -- how urban trees facilitate animal gene flow (Munshi-South 2012); - -- how climate change and montane refugia have structured salamander populations in southern California (Devitt et al. 2013); - -- the effects of landscape change on movement among prairie dog colonies (Sackett et al. 2012); and - -- how landscape features influence genetic connectivity for dozens of species, from songbirds in British Columbia (Adams et al. 2016) to army ants in Panama (Pérez-Espona et al. 2012). - - -#### Movement ecology - -Circuit theory can also be used to predict movements of animals and how these affect overall population connectivity. As with landscape genetics, this application is tightly tied to conservation planning. Examples include - -- movements of African wild dogs and cheetahs in South Africa (Jackson et al. 2016); -- wolverine dispersal in the Greater Yellowstone Ecosystem (McClure et al. 2016); -- how periodic flooding affects connectivity for amphibians in Australia (Bishop-Taylor et al. 2015); -- predicting where mitigating road impacts on connectivity would reduce wildlife mortality in France (Girardet et al. 2015) and Canada (Koen et al. 2014); -- movement and gap crossing behavior of forest interior songbirds (St. Louis et al. 2014); and -- how local abundance and dispersal scale up to affect metapopulation persistence and community stability (Brodie et al. 2016). - - - -*Circuit theory is being used to mitigate road impacts on wildlife and improve driver safety in at least six countries. (a) Circuit theory (implemented using Graphab) outperformed other connectivity models for predicting vehicle collisions with roe deer in France (**Girardet et al. 2015**). (b) A wall-to-wall connectivity map created using Circuitscape was highly correlated with road mortality for amphibians and reptiles and habitat use by fishers in eastern Ontario, Canada (from Koen et al. 2014). Similar methods are now being used across Ontario and in many other parts of Canada.* - -#### Connectivity for climate change - -Predicting important areas for range shifts under climate change is an exciting new application of Circuitscape. One of the most important ways species have responded to past climatic changes has been to shift their ranges to track suitable climates. Rapid warming projected for the next century means many species and populations will need to move even faster than in the past or face extinction. Many species are already moving in response to rapid warming, but they are encountering barriers—like roads, agricultural areas, and cities—that weren’t present in the past. In order for species to maintain population connectivity and the ability to adapt to climate change, we need to identify and conserve important movement routes. Here are some ways Circuitscape can be used to address this need: - -- Hodgson et al. (2012) showed how circuit theory can be used to design landscapes that promote rapid range shifts. -- Lawler et al. (2013) used Circuitscape to project movements of nearly 3000 species in response to climate change across the Western Hemisphere. [See an animation of their results here](https://maps.tnc.org/migrations-in-motion/#4/19.00/-78.00). -- Razgour (2015) combined species distributions, climate projections, genetic data, and Circuitscape to predict range shift pathways for bats in Iberia. -- New methods connecting natural lands to those that have similar projected future climates (Littlefield et al. in review) and connecting across climate gradients (McRae et al. in 2016) are in active development. - - - -*Projected climate-driven range shifts of 2903 species in response to climate change using Circuitscape. Arrows represent the direction of modelled movements from unsuitable climates to suitable climates via routes that avoid human land uses. From Lawler et al. (2013). Explore the full animation of these results* [*here*](https://maps.tnc.org/migrations-in-motion/#4/19.00/-78.00)*.* - -#### New applications: infectious disease, fire, and agriculture - -Circuitscape is breaking into new areas like epidemiology, invasive species spread, archaeology, and fire management. Examples include - -- how road networks drive HIV spread in Africa (Tatem et al. 2012); -- spread of invasive insects, including disease-carrying mosquitos (Cowley et al. 2015, Andraca- Gómez et al. 2015, Medley et al. 2014); -- understanding why species reintroductions succeed or fail (Ziółkowska et al. 2016); -- spread of a disease that is threatening rice production in Africa (Trovão et al. 2015); -- spread of rabies (Barton et al. 2010, Rioux Paquette et al. 2014); -- how climate and habitat fragmentation drive Lyme disease at its range limit (Simon et al. 2014). -- fuel connectivity and wildfire risk (Gray and Dickson 2015, 2016); and -- strategic fuel breaks to protect sage-grouse habitat from wildfire (Welch et al. 2015). - -
- -*Fire likelihood across Arizona’s lower Sonoran Desert, using Circuitscape to model fuel connectivity. Areas with high predicted fire risk corresponded with burned area data showing where wildfires occurred from 2000 to 2012 (Gray and Dickson 2015). This method has been extended to evaluate fuel treatments where invasive cheatgrass is increasing fire (Gray and Dickson 2016).* - -
- -*Welch et al. (2015) used a similar analysis to identify strategic areas for fuel breaks to protect greater sage-grouse habitat.* - -#### How Circuitscape Complements other Models - -Circuitscape isn’t the right modeling method for every connectivity application, but it is strongly complementary to others, and often works well in conjunction with other methods. For example, McClure et al. (2016) compared least-cost paths and Circuitscape for predicting elk and wolverine movements using GPS-collared animals. They found that Circuitscape outperformed least-cost paths for predicting wolverine dispersal, but slightly underperformed them for elk. This makes sense, because circuit models reflect random exploration of the landscape, and dispersing juvenile wolverines are making exploratory movements since they do not have perfect knowledge. Elk, on the other hand, are following routes established over generations, and have much better knowledge of the best pathways. - - -#### Hybrid approaches - -New hybrid methods are taking advantage of both circuit and least-cost methods. In their tiger study, Dutta et al. (2015) combined least-cost corridors and Circuitscape to map the most important and vulnerable connectivity areas connecting tiger reserves. And in their work on invasive mosquitoes, Medley et al. (2014) found that circuit and least-cost-based analyses complemented each other, with differing strengths at different movement scales and in different contexts. Using the two models in concert gave the most insight into mosquito movement and spread. Other papers that combine methods, taking advantage of different strengths for different processes and scales, include Rayfield et al. (2015), Lechner et al. (2015), Fagan et al. (2016), and Ziółkowska et al. (2016). - - - -**References** - -Adams R V, Burg TM. 2014. Influence of ecological and geological features on rangewide patterns of genetic structure in a widespread passerine. Heredity **114**:143–154. - -Anderson MG, Barnett A, Clark M, Ferree C, Olivero Sheldon A, Prince J. 2014. Resilient Sites for Terrestrial Conservation in the Southeast Region. The Nature Conservancy, Boston, MA. 127 pp. - -Anderson MG, Clark M, Sheldon AO. 2012. Resilient Sites for Terrestrial Conservation in the Northeast and Mid-Atlantic Region. The Nature Conservancy, Eastern Conservation Science. The Nature Conservancy, Boston, MA. - -Andraca-Gómez G, Ordano M, Boege K, Dominguez CA, Piñero D, Pérez-Ishiwara R, Pérez-Camacho J, Cañizares M, Fornoni J. 2015. A potential invasion route of Cactoblastis cactorum within the Caribbean region matches historical hurricane trajectories. Biological Invasions **17**:1397–1406. - -Barton HD, Gregory AJ, Davis R, Hanlon CA, Wisely SM. 2010. Contrasting landscape epidemiology of two sympatric rabies virus strains. Molecular Ecology **19**:2725–2738. - -Bell RC, Parra JL, Tonione M, Hoskin CJ, MacKenzie JB, Williams SE, Moritz C. 2010. Patterns of persistence and isolation indicate resilience to climate change in montane rainforest lizards. Molecular Ecology **19**:2531–2544. - -Bishop-Taylor R, Tulbure MG, Broich M. 2015. Surface water network structure, landscape resistance to movement and flooding vital for maintaining ecological connectivity across Australia’s largest river basin. Landscape Ecology **30**:2045–2065. - -Blair ME, Melnick DJ. 2012. Scale-dependent effects of a heterogeneous landscape on genetic differentiation in the Central American squirrel monkey (Saimiri oerstedii). PLoS ONE **7**. - -Bowman J, Cordes C. 2015. Landscape connectivity in the Great Lakes Basin. - -Brodie JF, Giordano AJ, Dickson B, Hebblewhite M, Bernard H, Mohd-Azlan J, Anderson J, Ambu L. 2015. Evaluating multispecies landscape connectivity in a threatened tropical mammal community. Conservation Biology **29**:122–132. - -Brodie JF, Mohd‐Azlan J, Schnell JK. 2016. How individual links affect network stability in a large‐scale, heterogeneous metacommunity. Ecology. - -Cowley DJ, Johnson O, Pocock MJO. 2015. Using electric network theory to model the spread of oak processionary moth, Thaumetopoea processionea, in urban woodland patches. Landscape Ecology **30**:905–918. - -Devitt TJ, Devitt SEC, Hollingsworth BD, McGuire JA, Moritz C. 2013. Montane refugia predict population genetic structure in the Large-blotched Ensatina salamander. Molecular ecology **22**:1650–65. - -Dickson BG, Roemer GW, McRae BH, Rundall JM. 2013. Models of regional habitat quality and connectivity for pumas (Puma concolor) in the Southwestern United States. PLoS ONE **8**. - -Dutta T, Sharma S, McRae B, Roy P, DeFries R. 2015. Connecting the dots: mapping habitat connectivity for tigers in central India. Regional Environmental Conservation:1–15. - -Fagan ME, DeFries RS, Sesnie SE, Arroyo JP, Chazdon RL. 2016. Targeted reforestation could reverse declines in connectivity for understory birds in a tropical habitat corridor. Ecological Applications. - -Farhadinia MS, Ahmadi M, Sharbafi E, Khosravi S, Alinezhad H, Macdonald DW. 2015. Leveraging trans-boundary conservation partnerships: Persistence of Persian leopard (Panthera pardus saxicolor) in the Iranian Caucasus. Biological Conservation **191**:770–778. - -Girardet X, Conruyt-Rogeon G, Foltête JC. 2015. Does regional landscape connectivity influence the location of roe deer roadkill hotspots? European Journal of Wildlife Research **61**:731–742. - -Gray ME, Dickson BG. 2015. A new model of landscape-scale fire connectivity applied to resource and fire management in the Sonoran Desert, USA. Ecological Applications **25**:1099–1113. - -Gray ME, Dickson BG. 2016. Applying fire connectivity and centrality measures to mitigate the cheatgrass-fire cycle in the arid West, USA. Landscape Ecology. - -Heller NE, Zavaleta ES. 2009. Biodiversity management in the face of climate change: A review of 22 years of recommendations. Biological Conservation **142**:14–32. - -Hodgson JA, Thomas CD, Dytham C, Travis JMJ, Cornell SJ. 2012. The Speed of Range Shifts in Fragmented Landscapes. PLoS ONE **7**. - -Jackson CR, Marnewick K, Lindsey PA, Røskaft E, Robertson MP. 2016. Evaluating habitat connectivity methodologies: a case study with endangered African wild dogs in South Africa. Landscape Ecology:1–15. - -Jiang G et al. 2015. New hope for the survival of the Amur leopard in China. Scientific Reports **5**:15475. - -Joshi A, Vaidyanathan S, Mondo S, Edgaonkar A, Ramakrishnan U. 2013. Connectivity of tiger (Panthera tigris) populations in the human-influenced forest mosaic of central India. PLoS ONE **8**. - -Koen EL, Bowman J, Sadowski C, Walpole AA. 2014. Landscape connectivity for wildlife: Development and validation of multispecies linkage maps. Methods in Ecology and Evolution **5**:626–633. - -Lawler JJ, Ruesch AS, Olden JD, McRae BH. 2013. Projected climate-driven faunal movement routes. Ecology Letters **16**:1014–1022. - -Lechner AM, Doerr V, Harris RMB, Doerr E, Lefroy EC. 2015. A framework for incorporating fine-scale dispersal behaviour into biodiversity conservation planning. Landscape and Urban Planning **141**:11–23. - -Littlefield CE, McRae, B.H. Michalak J, Lawler JJ, Carroll C. (n.d.). Missed connections: Tracking climates through time and space to predict connectivity under climate change. Conservation Biology. - -McClure M, Hansen A, Inman R. 2016. Connecting models to movements: testing connectivity model predictions against empirical migration and dispersal data. Landscape Ecology. - -McRae BH. 2006. Isolation by resistance. Evolution **60**:1551–1561. - -McRae BH, Dickson BG, Keitt TH, Shah VB. 2008. Using circuit theory to model connectivity in ecology, evolution, and conservation. Ecology **89**:2712–2724. - -McRae BH, Popper K, Jones A, Schindel M, Buttrick S, Hall K, Unnasch RS, Platt JT. 2016. Conserving Nature’s Stage: Mapping Omnidirectional Connectivity for Resilient Terrestrial Landscapes in the Pacific Northwest. The Nature Conservancy, Portland Oregon. 47 pp. Available online at: https://nature.org/resilienceNW. - -Medley KA, Jenkins DG, Hoffman EA. 2015. Human-aided and natural dispersal drive gene flow across the range of an invasive mosquito. Molecular Ecology **24**:284–295. - -Munshi-South J. 2012. Urban landscape genetics: Canopy cover predicts gene flow between white-footed mouse (Peromyscus leucopus) populations in New York City. Molecular Ecology **21**:1360–1378. - -Ortego J, Gugger PF, Sork VL. 2015. Climatically stable landscapes predict patterns of genetic structure and admixture in the Californian canyon live oak. Journal of Biogeography **42**:328–338. - -Pelletier D, Clark M, Anderson MG, Rayfield B, Wulder MA, Cardille JA. 2014. Applying circuit theory for corridor expansion and management at regional scales: Tiling, pinch points, and omnidirectional connectivity. PLoS ONE **9**. - -Pérez-Espona S, McLeod JE, Franks NR. 2012. Landscape genetics of a top neotropical predator. Molecular Ecology **21**:5969–5985. - -Rayfield B, Pelletier D, Dumitru M, Cardille JA, Gonzalez A. 2015. Multipurpose habitat networks for short-range and long-range connectivity: A new method combining graph and circuit connectivity. Methods in Ecology and Evolution **7**:222–231. - -Razgour O. 2015. Beyond species distribution modeling: A landscape genetics approach to investigating range shifts under future climate change. Ecological Informatics **30**:250–256. - -Rioux Paquette S, Talbot B, Garant D, Mainguy J, Pelletier F. 2014. Modelling the dispersal of the two main hosts of the raccoon rabies variant in heterogeneous environments with landscape genetics. Evolutionary Applications **7**:734–749. - -Roever CL, van Aarde RJ, Leggett K. 2013. Functional connectivity within conservation networks: Delineating corridors for African elephants. Biological Conservation **157**:128–135. - -Sackett LC, Cross TB, Jones RT, Johnson WC, Ballare K, Ray C, Collinge SK, Martin AP. 2012. Connectivity of prairie dog colonies in an altered landscape: Inferences from analysis of microsatellite DNA variation. Conservation Genetics **13**:407–418. - -Simon JA et al. 2014. Climate change and habitat fragmentation drive the occurrence of Borrelia burgdorferi, the agent of Lyme disease, at the northeastern limit of its distribution. Evolutionary Applications **7**:750–764. - -St-Louis V, Forester JD, Pelletier D, Bélisle M, Desrochers A, Rayfield B, Wulder MA, Cardille JA. 2014. Circuit theory emphasizes the importance of edge-crossing decisions in dispersal-scale movements of a forest passerine. Landscape Ecology **29**:831–841. - -Tatem AJ, Hemelaar J, Gray RR, Salemi M. 2012. Spatial accessibility and the spread of HIV-1 subtypes and recombinants. AIDS **26**:2351–2360. - -Trovão NS, Baele G, Vrancken B, Bielejec F, Suchard MA, Fargette D, Lemey P. 2015. Host ecology determines the dispersal patterns of a plant virus. Virus Evolution **1**:vev016. 1`. - -Vasudev D, Fletcher RJ. 2015. Incorporating movement behavior into conservation prioritization in fragmented landscapes: An example of western hoolock gibbons in Garo Hills, India. Biological Conservation **181**:124–132. - -Welch N, Provencher L, Unnasch RS, Anderson T, McRae B. 2015. Designing regional fuel breaks to protect large remnant tracts of Greater Sage‐Grouse habitat in parts of Idaho, Nevada, Oregon, and Utah. Final Report to the Western Association of Fish & Wildlife Agencies, Contract Number SG-C-13-02. The Nature Conservancy, Reno, NV. - -Yumnam B, Jhala Y V., Qureshi Q, Maldonado JE, Gopal R, Saini S, Srinivas Y, Fleischer RC. 2014. Prioritizing tiger conservation through landscape genetics and habitat linkages. PLoS ONE **9**. - -Ziółkowska E, Perzanowski K, Bleyhl B, Ostapowicz K, Kuemmerle T. 2016. Understanding unexpected reintroduction outcomes: Why aren’t European bison colonizing suitable habitat in the Carpathians? Biological Conservation **195**:106–117. diff --git a/assets/main.scss b/assets/main.scss deleted file mode 100644 index c60ebe4..0000000 --- a/assets/main.scss +++ /dev/null @@ -1,5 +0,0 @@ ---- -# Only the main Sass file needs front matter (the dashes are enough) ---- - -@import "minima"; diff --git a/assets/minima-social-icons.svg b/assets/minima-social-icons.svg deleted file mode 100644 index fa7399f..0000000 --- a/assets/minima-social-icons.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/authors.md b/authors.md index 3e86c17..e45489b 100644 --- a/authors.md +++ b/authors.md @@ -1,24 +1,21 @@ ---- -layout: page -title: Authors ---- ++++ +title = "Authors" ++++ +Circuitscape was written by -Circuitscape was written by +* [Brad McRae](https://blog.nature.org/science/2018/04/26/innovation-for-conservation-brad-mcrae-1966-2017/) and [Viral Shah](https://github.com/ViralBShah). -* [Brad McRae](https://blog.nature.org/science/2018/04/26/innovation-for-conservation-brad-mcrae-1966-2017/) and [Viral Shah](https://github.com/ViralBShah). +![](/assets/img/SB_surf.jpg) - +* [Ranjan Anantharaman](https://ranjanan.github.io). -* [Ranjan Anantharaman](https://ranjanan.github.io). - - +~~~ + +~~~ * [Tanmay Mohapatra](https://github.com/tanmaykm) - - - - +~~~ + +~~~ diff --git a/config.md b/config.md new file mode 100644 index 0000000..0dc5622 --- /dev/null +++ b/config.md @@ -0,0 +1,17 @@ ++++ +author = "Circuitscape" +prepath = "" + +description = """ + Circuitscape is an award-winning connectivity analysis software package which borrows algorithms from electronic circuit theory to predict patterns of movement, gene flow, and genetic differentiation among plant and animal populations in heterogeneous landscapes. + Circuitscape has rapidly become the most widely used connectivity analysis package in the world. + It is used by numerous state, federal, and local agencies in the USA, and by government ministries and NGOs for conservation planning on six continents. + It routinely appears in journals like PNAS, Nature Genetics, Ecology, Ecological Applications, Ecology Letters, Landscape Ecology, Evolution, Heredity, Bioscience, Molecular Ecology, Conservation Biology, and many others + """ + +docs_link = "https://docs.circuitscape.org/Circuitscape.jl/latest/" + +generate_rss = false + +content_tag = "" ++++ diff --git a/docs.md b/docs.md deleted file mode 100644 index e44660a..0000000 --- a/docs.md +++ /dev/null @@ -1,606 +0,0 @@ ---- -layout: external -title: Documentation -external_url: https://docs.circuitscape.org/Circuitscape.jl/latest/ ---- -# CIRCUITSCAPE User Guide - -**Brad McRae, Viral Shah, and Tanmay Mohapatra** - -**Version 4.0 - Updated March 28, 2014** - -**_How to cite this document:_** -McRae, B.H., V.B. Shah, and T.K. Mohapatra. 2013\. Circuitscape 4 User Guide. The Nature Conservancy. [http://www.circuitscape.org](http://www.circuitscape.org). - -**First-time users:** Please see the section on memory management before running large grids (> 1 million cells). - -# 1\. Introduction - -Circuitscape is an open-source program that uses circuit theory to model connectivity in heterogeneous landscapes. Its most common applications include modeling movement and gene flow of plants and animals, as well as identifying areas important for connectivity conservation. Circuit theory complements commonly-used connectivity models because of its connections to random walk theory and its ability to simultaneously evaluate contributions of multiple dispersal pathways. Landscapes are represented as conductive surfaces, with low resistances assigned to landscape features types that are most permeable to movement or best promote gene flow, and high resistances assigned to movement barriers. Effective resistances, current flow, and voltages calculated across the landscapes can then be related to ecological processes, such as individual movement and gene flow. More detail about the underlying model, its parameterization, and potential applications in ecology, evolution, and conservation planning can be found in McRae (2006) and McRae et al. (2008). - -Circuitscape was originally designed to analyze connectivity across raster grids. With version 4.0, it can now analyze arbitrary networks (graphs) with any set of connections between nodes the user specifies. Circuitscape can be run from a stand-alone interface or from an ArcGIS toolbox: - -![GUI](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/image16.png) - -**Fig. 1.** Stand-alone interface (supports raster and network analyses). - -![ArcGIS Toolbox](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/ArcGISInterface.png) - -**Fig. 2.** ArcGIS Toolbox (for raster-based analyses only). The toolbox also includes utilities to put raster and feature class inputs into a common coordinate system. More utilities for creating core habitat areas and resistance layers are in development. - -### Before You Start - -Whatever software you use, connectivity modeling involves a great deal of research, data compilation, GIS analyses, and careful interpretation of results. Defining areas to connect, parameterizing resistance models, and other modeling decisions you will need to make are not trivial. Before diving in, we strongly recommend that users first acquaint themselves with the process and challenges of connectivity modeling by consulting published resources. Good places to start include overviews on the [Corridor Design](http://www.corridordesign.org/) and [Connecting Landscapes](http://connectinglandscapes.org/) websites. Spear et al. (2010), Beier et al. (2011) and Zeller et al. (2012) offer helpful advice on resistance mapping and connectivity analysis in general. Before using this software, users should acquaint themselves with the use of circuit theory for modeling connectivity (summarized in McRae et al. 2008). - -See the [Gnarly Landscape Utilities website](http://www.circuitscape.org/gnarly-landscape-utilities) for tools that can help to automate resistance and core area modeling. - -Lastly, users interested in mapping important connectivity areas may wish to consider [Linkage Mapper](https://code.google.com/p/linkage-mapper/), which maps least-cost corridors. Linkage Mapper now also hybridizes least-cost corridor modeling with Circuitscape (see the Pinchpoint Mapper tool within the Linkage Mapper toolkit). Links to other connectivity tools can be found on the [Corridor Design](http://www.corridordesign.org/) and [Connecting Landscapes](http://connectinglandscapes.org/) websites. - -# 2\. How Circuitscape Works - -Circuitscape may be called through its own graphical user interface, from the Circuitscape for ArcGIS Toolbox, or from the command line. Users supply Circuitscape with resistance data and the program calculates effective resistances and/or creates maps of current flow and voltages across landscapes and networks. - -### Two data types: network and raster - -Circuitscape reads either a network of nodes connected by links or a raster grid of resistances (Fig. 3). Links and raster cells are attributed with resistance values that reflect the degree to which the landscape facilitates or impedes movement. Networks and raster maps can be coded in resistances (with higher values denoting greater resistance to movement) or conductances (the reciprocal of resistance; higher values indicate greater ease of movement). - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/SimpleNetworkAndRaster.png) - -**Fig. 3.** Simple illustrations of network and raster data types used by Circuitscape. The program can operate on networks of nodes (left panel) or raster grids (right panel). Raster grid cells can have any resistance value. Here, cells with zero resistance ("short-circuit regions," which can be used to represent contiguous habitat patches) are shown in white, cells with a resistance of 1 are shown in gray, and a cell with infinite resistance (coded as NODATA) is shown in black. - -For rasters, every grid cell with finite resistance is represented as a node in a graph, connected to either its four first-order or eight first- and second-order neighboring cells. Cells with infinite resistance (zero conductance) are dropped. Habitat patches, or collections of cells, can be assigned zero resistance (infinite conductance) using a separate "short-circuit region" file. These collections of cells are collapsed into a single node. - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/RasterWithResistors.png) - -**Fig. 4.** Raster grids are converted to electrical networks. Each cell becomes a node (represented by a dot), and adjacent cells are connected to their four or eight neighbors by resistors. Here, the two short-circuit regions have each been collapsed into a single node. The infinite resistance cell is dropped entirely from the network. - -### Calculation modes - -Circuitscape operates in one of four modes: **pairwise**, **advanced**, **one-to-all**, and **all-to-one**. Pairwise and advanced modes are available for both raster and network data types. The one-to-all and all-to-one modes are available for raster data only. - -In the **pairwise** mode, connectivity is calculated between all pairs of focal nodes (points or regions between which connectivity is to be modeled) supplied to the program in a single input file. For each pair of focal nodes, one node will arbitrarily be connected to a 1-amp current source, while the other will be connected to ground. Effective resistances will be calculated iteratively between all pairs of focal nodes, and, if selected, maps of current and voltage will be produced. If there are _n_ focal nodes, there will be _n_(_n_ - 1)/2 calculations **unless** you're using focal points (only one cell per focal node) and not mapping currents or voltages. In the latter case, we can do it in _n_ calculations **(much faster)**. - -The **advanced** mode offers much greater flexibility in defining sources and targets for current flow. The user defines any number of current sources and any number of grounds in a network or raster landscape, and these are all activated simultaneously. Sources represent points or areas from which current flows, whereas grounds represent nodes where current exits the system. - -Source nodes can have different strengths (i.e. inject more or less current into the network or grid), and ground nodes can be tied to ground with any resistance. Current sources and grounds are supplied in separate input files. - -Two other modes are available for raster data types only. The **one-to-all** mode is similar to the pairwise mode, and takes the same input files. However, instead of iterating across all focal node _pairs_, this mode iterates across all focal nodes. In each iteration, one focal node is connected to a 1-amp current source, while all remaining focal nodes are connected to ground. If there are _n_ focal nodes, there will be _n_ calculations. - -The **all-to-one** mode is similar to the one-to-all mode, and takes the same input files. However, in this mode Circuitscape connects one focal node to ground and all remaining focal nodes to 1-amp current sources. It then repeats the process for each focal node; if there are _n_ focal nodes, there will be _n_ calculations. - -Circuitscape can generate maps showing the current density and voltage at each node or cell under each configuration (and current flow for each link/resistor in networks). Additionally, Circuitscape writes a file reporting effective resistances between all pairs of focal nodes in the pairwise mode, and between each node and ground in the one-to-all mode. Resistances in the all-to-one mode are undefined, so a file is written with zeros indicating successful solves. - -### Illustrations of analyses with network data - -For network data types, any node can be connected to any other node by a resistor: - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/SimpleNetworkWithNumbers2.png) - -**Fig. 5.** Example network. This network would be input as a **text list** specifying resistances between each pair of connected nodes (0-1, 1-2, 1-3, 2-3, and 2-4; see the _Input file formats_ section below). - -For **pairwise analysis** we would also supply a list of focal nodes (containing at least two node numbers, but as many as five, the number of nodes in the circuit) between which we want to perform calculations. - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/SimpleNetworkCurrentFlow.png) - -**Fig 6.** In pairwise mode, Circuitscape will iterate across pairs of nodes in a focal node list. If node 0 and node 4 are in the focal node list, then one of the iterations will look like the above, with a 1 amp current source connected to one node and the other grounded. Current will flow across the network from the source to the ground. Branch currents, node currents, node voltages, and effective resistances between node pairs can be written for each iteration. - -More complexity can be added by running in **advanced mode**, which allows any number of sources and grounds to be activated simultaneously. For example, we could modify the circuit above by adding a single, fixed source at node zero and adding multiple grounds with different resistances. Current sources and grounds are entered in separate files. - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/AdvancedNetwork.png) - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/AdvancedNetworkFlows.png) - -**Fig. 7.** In advanced mode, any node can be tied to a current source or to ground, either directly or via resistors with any value (top panel). Currents passing through all nodes and links can then be calculated (bottom panel), and voltages can be calculated at each node. Circuit above is from McRae et al. (2008). - -### Illustrations of analyses with raster data - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/Fig1_RasterInputs.png) - -**Fig. 8.** Example raster input files for **pairwise, one-to-all, and all-to-one modes**. Input files in this example include a **resistance map** specifying per-cell resistances or conductances, a **focal node location file** (with two focal regions and one focal point in this case), and an optional **short-circuit region map**. Focal regions and short-circuit regions represent areas with zero resistance. Cells with the same region ID are considered perfectly connected and are collapsed into a single node, even if they are not contiguous. - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/Fig2_RasterPairwise.png) - -**Fig. 9.** Schematic describing **pairwise** mode analyses that would result from the input files shown in Fig. 8\. Three sets of pairwise calculations, involving focal nodes 1 and 2, nodes 1 and 3, and nodes 2 and 3, would be conducted. For each pair, one node would be connected to a 1-amp current source, and the other to ground. Note that focal region nodes become short-circuit regions when they are activated (e.g., node 1 in scenario 1), but these regions are not present when the nodes are not activated (e.g., node 1 in scenario 3). - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/Fig3_RasterOneToAll.png) - -**Fig. 10.** Schematic describing **one-to-all mode** analyses that would result from the input files shown in Fig. 8\. Three sets of calculations, involving focal nodes 1, 2, and 3, would be conducted. For each, one node would be connected to a 1-amp current source, and the other two would be connected to ground. The all-to-one mode is similar, with arrow directions reversed; that is, one node is connected to ground while the remaining nodes are connected to 1-amp current sources. - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/Fig4_RasterAdvancedInputs.png) - -**Fig. 11.** Example raster input files for **advanced mode**, which requires independent **current source and ground files**. Note that current sources in this example have different "strengths," and ground nodes are connected to ground with differing levels of resistance. This example also includes an optional grid with five short-circuit regions. - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/Fig5_RasterEffectiveConfiguration.png) - -**Fig. 12.** The first two panels show the "effective" configuration resulting from the input files in Fig. 11\. Because current source C and grounds D and E overlap with short-circuit regions, these short-circuit regions effectively become sources or grounds themselves. The rightmost panel shows a schematic of the resulting analysis, with all sources (white points and polygons) and grounds (black points and polygons) activated simultaneously. Note that sources may be negative (drawing current out of the system), and ground nodes can actually contribute current to the system when negative sources are present. - -# 3\. Installing Circuitscape - -## Windows and Mac OS X executables (most users) - -Download and run the appropriate setup package (either 32- or 64-bit, depending on your operating system). This will install Circuitscape and create an "examples" directory in the installation directory with example input files on Windows. Mac users should download this directory separately. - -## ArcGIS Toolbox (Windows only) - -If you have ArcGIS 10.0 or later, you can download and install the Circuitscape for ArcGIS Toolbox from the Circuitscape website. Follow the installation instructions included in the zip package. You will also need to install the Circuitscape executable package (described above) for the toolbox to work. - -## Installing Circuitscape as a Python Package - -For Python users, Circuitscape is available as a regular Python package from the Python packages repository. You will also need to install several packages upon which Circuitscape depends. - -Python can be installed from [http://www.python.org/](http://www.python.org/) and the `pip` installer can be installed from [http://www.pip-installer.org/](http://www.pip-installer.org/). - -Before running Circuitscape, you will also need to install the Numpy, Scipy, PyAMG, wxPython and PythonCard Python packages. - -Once these are installed, run the following command to get Circuitscape: - -`sudo pip install -U circuitscape` - -When you are done, the following commands will be available for using Circuitscape: - -* `python csgui.py` : to use the graphical user interface -* `python csrun.py ` : to use Circuitscape from the console -* `python csverify.py` : to verify the installation. - -## Linux - -Circuitscape can be installed as a Python package on Linux, following the instructions above. - -Optionally, you may download the following two files from the Circuitscape source repository: - -* `setup-unix.sh` -* `pip_requirements.txt` - -And run the command `sh setup-unix.sh` to guide you through the installation process. - -# 4\. Using Circuitscape with the graphical user interface - -To start the user interface using Windows, run Circuitscape as you would any other installed program. In Mac OS X, double-click on Circuitscape.app. The user interface shown in the Introduction section above will appear. You can also call Circuitscape from the Circuitscape for ArcGIS Toolbox, available from the Circuitscape website, or from the command line. - -## Step 1: Choose your input data type - -The first step is to choose whether you will be analyzing network or raster data. - -## Step 2: Choose a modeling mode - -As described above, Circuitscape is run in one of four modes. Pairwise and advanced modes are available for both raster and network data types. The one-to-all and all-to-one modes are available for raster data only. - -## Raster resistance map or network/graph - -The resistance file specifies the ability of each cell in a landscape or link in a network to carry current (See Figs. 5 and 8). File formats are described in the _Input file formats_ section below. - -### Data represent conductances instead of resistances - -Most users code their network or raster data in terms of resistances (with higher values denoting greater resistance to movement), which is common in connectivity modeling. Check this box if you want to specify conductances instead (conductance is the reciprocal of resistance; higher values indicate greater ease of movement). - -Note that zero and infinite values for conductances and resistances represent special cases. Infinite resistances are coded as NODATA values (see file format description in the _Input file formats_ section below) in input resistance grids, or as zero or NODATA in input conductance grids; these are treated as complete barriers, and are disconnected from all other cells. For raster analyses, cells with zero resistance (infinite conductance) can be specified using a separate short-circuit region file as described below. - -## Pairwise, one-to-all, and all-to-one mode options - -### Focal node location and data type - -This file specifies locations of nodes between which effective resistance and current flow are to be calculated (See Figs. 6 and 9). **Each focal node should have a unique positive integer ID.** Files may be text lists specifying coordinates or appropriate raster grid formats. When a grid is used, it must have the same cell size and extent as the resistance grid. The value stored in each grid cell location refers to the focal node ID. Cells that do not contain focal nodes should be coded with NODATA values. When a text list is used, the value field references the focal node ID. Examples are in the examples directory (located where Circuitscape is installed) and can also be found on the Circuitscape downloads page. - -For raster analyses, focal nodes may occur at points (single cells on the resistance grid) or across regions (Fig. 8). For the latter, a single ID would occupymore than one cell in a grid or more than one pair of coordinates in a text list (and falling within more than one cell in the underlying resistance grid). Cells within a single region would then be collapsed into a single node, as they are when short-circuit region files are used (see below). The difference is that a focal region will be "burned in" to the resistance grid only for pairwise calculations that include that focal node. As with short-circuit regions, focal regions need not be made up of contiguous cells. For large grids or large numbers of focal nodes, focal regions may require more computation time. When calculating resistances on large raster grids and not creating voltage or current maps, focal points will run much more quickly. - -### Number of parallel processors to use - -On Mac OS X and Linux systems, Circuitscape can run iterations in parallel for pairwise mode when focal points, not focal regions, are used. Choose how many processors you would like to devote to Circuitscape runs. - -## Advanced mode options - -### Current source file - -This file specifies locations and strengths, in amps, of current sources (Figs. 7 and 11). Either a raster or a text list may be used. Rasters must have the same cell size, projection, and extent as the resistance grid, and cells that do not contain current sources should be coded with NODATA values. Note: current sources may be positive or negative (i.e., they may inject current into the grid or pull current out. Similarly, grounds may either serve as a sink for current or may contribute current if there are negative current sources in the grid). Examples are in the examples directory. - -### Ground point file - -This file specifies locations of ground nodes and resistances or conductances of resistors tying them to ground (Figs. 7 and 11). Either a raster or a text list may be used. Rasters must have the same cell size, projection, and extent as the resistance grid, and cells that do not contain grounds should be coded with NODATA values. Note that if a direct (R = 0) ground connection conflicts with a current source, the ground will be removed unless the 'remove source' option in the Options Window is chosen. Example ground input files are in the examples directory. - -### Data represent conductances instead of resistances to ground - -The default (unchecked) setting is to specify resistances to ground. Checking this box means that your ground point file specifies connections to ground in terms of conductance instead. To tie cells directly to ground, use resistances as the data type and set values in the corresponding ground point file to zero. - -## Output options - -### Base output filename - -Choose a directory path and base file name for output files. Resistances, current maps, voltage maps, and configuration files (which save user interface settings and have a .ini extension) will all use this base name, along with appropriate suffixes and extensions. - -### Create current maps - -When checked, current maps will be generated for every pair of focal nodes in the pairwise mode, or for the current source and ground configuration specified in the advanced mode. Current maps have the same dimension as the original input files, with values at each node (cell) representing the amount of current flowing through the node. In the pairwise mode, a current map file will be created for each focal node pair, and a cumulative (additive) file will be also written. (Note that for a given pair of focal nodes, current maps are identical regardless of which node is the source and which is the ground due to symmetry). For the advanced modeling mode, a single map will be written showing current densities at each cell resulting from the current source and ground configurations in the input files. These files can be displayed in a GIS as in Fig. 13\. Such maps can be used to identify areas which contribute most to connectivity between focal points (McRae et al. 2008). - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/image24.png) - -**Fig. 13.** Current map used to predict important connectivity areas between core habitat patches (green polygons, entered as focal regions) for mountain lions. Warmer colors indicate areas with higher current density. "Pinch points," or areas where connectivity is most tenuous, are shown in yellow. Quantile classification schemes or "histogram equalize" stretches tend to work well for current maps when using ArcGIS. Research Collaborators: Brett Dickson and Rick Hopkins, Live Oak Associates. - -### Create voltage maps - -For the pairwise modeling mode, voltage maps give node voltages that would be observed for each focal node pair if one node were connected to a 1 amp current source and the other to ground. For the advanced modeling mode, voltage maps show voltages at each cell resulting from the current source and ground configurations in the input files. - -## The File menu - -#### File >> Load settings from last run - -Loads settings automatically saved the last time the "Run" button was clicked. - -#### File >> Load settings from file - -Allows user to browse for a configuration file (.ini extension) with previously saved settings. These can include settings automatically saved in the user-specified output directory upon clicking the "Run" button, or those saved manually using the "Save settings" function. - -#### File >> Save settings - -Allows the user to save settings they have entered in the user interface for future retrieval as a configuration file (.ini extension). This option is useful for creating run configurations for use in batch mode. - -#### File >> Verify code - -Allows the user to verify that their installation is working properly. Datasets in the "verify" directory will be used, and effective resistances and current maps will be checked against known correct values. If verification fails, see the log Window for details. - -#### File >> Run in batch mode - -Using the batch mode, you can specify any number of configurations to run by loading configuration (.ini) files saved in a single directory. This can be useful for running large numbers of analyses. The configuration files can be created in the user interface and saved under "Save settings" as described above, and can be modified using standard text editors. - -## The Options window - -![ArcGIS Toolbox](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/OptionsWindow.png) - -**Fig. 14.** The options window gives access to less-frequently-used options. To access this window via the menu bar, click on Options>> More settings & inputs. - -### Calculation Options - -#### Connect raster cells to FOUR neighbors instead of EIGHT - -For raster operations, Circuitscape creates a graph (network) by connecting cells to their four (Fig. 4) or eight immediate neighbors. The default is eight (four cardinal and four diagonal neighbors), but check this box if you want to connect cells to their four cardinal neighbors only. - -#### Use average conductance instead of resistance for connections between cells - -For raster operations, this choice determines whether cells are connected by their average resistance or by their average conductance. Most users will want the default (unchecked). - -The distinction is particularly important when connecting cells with zero or infinite values. When average resistances are used, first-order neighbors connected by resistors with resistance given by: _Rab_ = (_Ra_ + _Rb_) / 2, and second-order (diagonal) neighbors are connected by resistors with resistance given by: _Rab_ = sqrt(2) * (_Ra_ + _Rb_) / 2, where _Ra_ and _Rb_ are the resistances of the neighboring cells. When average conductances are used, first-order neighbors connected by resistors with conductance (the reciprocal of resistance) given by: _Gab_ = (_Ga_ + _Gb_) / 2, and second-order (diagonal) neighbors are connected by resistors with resistance given by: _Gab_ = (_Ga_ + _Gb_) / (2 * sqrt(2)), where _Ga_ and _Gb_ are the conductances of the neighboring cells. (As noted above, resistance and conductance are reciprocals of each other, i.e., _Gab_ = 1 / _Rab_.) - -#### Preemptively release memory when possible - -If you are getting memory errors this option may help to free some memory. It will likely result in slower execution times. - -#### Pairwise mode: Run in low memory mode - -For raster operations, this option will use less memory in the pairwise mode when focal points (not regions) are used, but will also run somewhat slower. - -#### Advanced mode: use unit currents (i=1) for all current sources - -All current sources will be set to 1 Amp, regardless of the value specified in the current source input file. - -#### Advanced mode: use direct connections to ground (R=0) for all ground points - -All ground cells will be tied directly to ground, regardless of the value specified in the input ground file. - -#### Advanced mode: when a source and ground are at the same node: - -Whenever a cell is connected both to a current source and to ground, this choice will determine whether the source is removed, the ground is removed, both are removed, or both are retained. For the latter, if a source is tied directly to ground (i.e., with zero resistance), the ground connection will be removed. - -### Mapping Options - -#### Write maximum of current maps - -In pairwise, one-to-all, and all-to-one modes, current maps are created for every iteration. By default, Circuitscape will also write a cumulative map showing the sum of values at each node or grid cell across all iterations. If this option is checked, an an extra map that shows the maximum current value at each node or cell across iterations. - -#### Write cumulative & max current maps only - -Maps of current flow between each pair of focal nodes (or for each focal node in one-to-all and all-to-one modes) will be calculated, but only one summed map of current from all calculations (and a map of maximum values if that option is checked) will be written to disk. - -#### Compress output grids - -Output ASCII grids are automatically compressed using the gzip file format. This can be useful when many large maps will be written. - -#### Log-transform current maps - -Values in output current maps will reflect a log10 transform of current densities, which can be useful for visualizing them in some GIS packages (e.g., ArcView 3.X). Cells with zero current will be re-coded with NODATA values. - -#### Set focal node currents to zero - -When running raster data in pairwise, all-to-one, and one-to all modes, focal nodes will have zero current in output maps when they are activated. For pairwise mode, cumulative maps will still show currents flowing through focal regions that results from other pairs being activated. This helps to show current flowing through a focal region as it moves between other focal regions in cumulative current maps. This current passing through a focal region can give an idea of the importance of the focal region for connecting other focal region pairs (for an example, see Fig. 5 in Dickson et al. 2013). - -### Optional Input Files - -#### Read raster mask file - -When checked, a dialog will open to select a raster mask file. Cells with negative, zero, or NODATA values in the mask will be dropped from the corresponding resistance map (i.e., treated as complete barriers). Positive integer cells will be retained. File should only contain integers and be in raster format. See example file "mask.asc" in the examples directory. - -#### Load a raster short-circuit region map - -Short-circuit regions act as areas of zero resistance, essentially providing patches through which current is given a "free ride" as it flows across the landscape. Each short-circuit region should have a unique positive integer identifier; cells within each region are merged into a single node with all other cells in the region, including non-adjacent cells (i.e., regions need not be contiguous). Non-short-circuit-region areas should be stored as NODATA values. The file must have the same cell size and extent as the resistance grid. - -#### One-to-all and All-to-One modes: Read source strength file - -When checked, a dialog will open to select a text list of focal node IDs and corresponding source strengths. For any focal node in this list, the amount of current injected into that node when it is a source node will be set to the strength specified in the list. All nodes not in the list will default to 1 Amp. This should be in the same file format as the Text List File Format given below, but with two columns (ID followed by source strength). File should have a .txt extension. See example file "source_strength_list.txt" in the examples directory. - -#### Read file with focal node pairs to include/exclude - -This option allows users to only perform calculations on a subset of focal node pairs. Users can either identify pairs to include in calculations, or pairs to exclude, as specified in the first line of the file. - -This affects all modes except the Advanced Mode. Files should be in tab-delimited text with a .txt extension. See formatting information in the _Input file formats_ section below. - -### The Log Window - -#### Level - -The default level (INFO) sends a moderate amount of information on the program's progress to the terminal window. DEBUG gives more, and the other options give less. - -#### Log completion times - -Writes names of operations and completion times for each to the terminal window. - -#### Send to log file - -Information printed to the screen will also be saved in a log file in the output directory. - -# 5\. Using the Circuitscape for ArcGIS Toolbox (Windows only) - -The ArcGIS toolbox can facilitate raster Circuitscape analyses. It allows you to run Circuitscape from ArcMap or ArcCatalog, using ESRI grids or raster file geodatabases as inputs (no need to export to ASCII). Toolbox options correspond to those in the stand-alone user interface described above. The toolbox also has utilities to convert shapefiles and feature classes to raster focal node files. You must have the Circuitscape executable installed to use the toolbox. - -# 6\. Running Circuitscape from the command line - -On Linux machines, Circuitscape is run from the command line. On other platforms, running from the command line is useful when calling different Circuitscape from scripts (e.g., written in Python or R) or external programs. - -Whether Circuitscape is called from the command line or the graphical user interface, settings (such as input file names) are passed to the main Circuitscape module using a configuration file. The configuration file has a .ini extension, and can be created and saved from the user interface. The file may also be edited directly in a standard text editor. We don't yet have documentation for each of the settings, but if you save some different configurations from the user interface and edit the resulting .ini files, you can quickly get the hang of which options correspond to which settings in the interface. - -To call Circuitscape from the command line in Linux, use the command - - python csrun.py [config file] - -where `[config file]` is the name (and path, if the file is in a different directory) of the configuration (.ini) file. - -On Windows machines, the command-line executable can be called using the command: - - cs_run.exe [config file] - -where `[config file]` is the name (and path, if the file is in a different directory) of the configuration file. You will need to call Circuitscape from the installation directory (e.g., `C:\Program Files\Circuitscape\`), or provide the full path to `cs_run.exe`. - -# 7\. Calling Circuitscape from other programs - -Circuitscape can be invoked from external programs and scripts (e.g., Python and R) to do computations on rasters and networks and return results. It reads user settings from a configuration (.ini) file that can be either created manually or saved from the user interface (under File >> Save settings). - -If the external program can interface with Python packages, then the Circuitscape methods can be called directly when Circuitscape is installed as a Python package. For example: - - from circuitscape import Compute - - cs = Compute('configuration.ini', 'Screen') - result = cs.compute() - -If such direct interfacing with Python packages is not possible, Circuitscape can be invoked as an application with the following command: - - python csrun.py [configuration.ini] - -Alternatively, the cs_run.exe executable can be invoked from external programs and scripts on Windows. Linkage Mapper calls Circuitscape this way from the Pinchpoint and Centrality modules, as does the Circuitscape for ArcGIS toolbox. - -In the cases above, results are written out to files which are then read back by the external program. - -# 8\. Input file formats - -When working with networks, text lists are used for all input files. - -For raster analyses using the ArcGIS toolbox, resistance grids and other inputs can be in a number of raster formats. For raster analyses using the stand-alone Circuitscape interface (Fig. 1) or calling Circuitscape from the command line or from other programs, resistance grids should be in ASCII raster format, and focal node, current source, and ground files can be in either raster or text list format. - -## ESRI Raster formats (when using the Circuitscape for ArcGIS Toolbox) - -When using the Circuitscape for ArcGIS Toolbox, you can use ESRI grids, raster file geodatabases, ASCII rasters, and other raster formats supported by ArcGIS. It's a good idea to have your input files in the same projection. The toolbox includes a utility to convert vector focal node files to raster, and to put all input files in one projection with the same raster extent. - -## ASCII raster format (when using standalone user interface or calling directly). - -When using the stand-alone Circuitscape interface, raster input maps should be stored in Arc/Info ASCII grid format, as exported by standard GIS packages (see examples in examples directory; these may be viewed with standard text editors). For focal nodes, the value stored in each grid location refers to the focal node ID, and a single ID can occupy more than one cell (IDs must be positive integers). For current sources, the grid value specifies the source strength in amps. For grounds, the grid value specifies either the resistance or conductance of the resistor tying each ground node to ground, as specified in the Options window. - -The ASCII raster format is as follows: - -**Header:** - - ncols - nrows - xllcorner - yllcorner - cellsize - NODATA_value - -**Body (grid data):** - -Numeric data only. Columns are delimited with tabs and rows are delimited with new line characters. - -**Examples (these can also be found in the examples directory)** - -Below is a 10 x10 resistance map. Cells with infinite resistance are assigned NODATA values (-9999): - - ncols 10 - nrows 10 - xllcorner 1 - yllcorner 1 - cellsize 1 - NODATA_value -9999 - 130 168 153 -9999 14 12 13 107 140 171 - 104 3 2 -9999 13 158 12 14 13 114 - 124 2 2 12 -9999 -9999 13 161 4 5 - 184 5 4 14 13 14 -9999 13 4 4 - 105 143 103 169 -9999 115 10 -9999 166 14 - 187 1 163 188 121 142 14 175 -9999 10 - 198 11 110 115 149 2 2 164 3 -9999 - 100 11 193 14 12 4 2 1 11 13 - -9999 11 12 11 10 12 167 157 181 157 - -9999 -9999 122 134 12 157 192 184 190 172 - -Below is a 10 x 10 focal region map. Here, groups of cells have been coded as focal regions- so these will be treated as "core area polygons" to be connected in circuit analyses. All cells within each focal region will be collapsed into a single node (even the non-contiguous cell in region #1) when that region is activated in pairwise, one-to-all, or all-to-one analyses. This format is identical to the short-circuit region file format. - - ncols 10 - nrows 10 - xllcorner 1 - yllcorner 1 - cellsize 1 - NODATA_value -9999 - -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 - -9999 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 - -9999 1 1 -9999 -9999 -9999 -9999 -9999 3 3 - -9999 1 1 -9999 -9999 -9999 -9999 -9999 3 3 - -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 - -9999 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 - -9999 -9999 -9999 -9999 2 2 -9999 -9999 -9999 -9999 - -9999 -9999 -9999 -9999 2 2 2 -9999 -9999 -9999 - -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 - -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 - -Note that regions 1 and 2 are well-connected by a low-resistance corridor in the resistance map above. Region 3 is connected to the other two regions only if cells are connected to their eight neighbors. In the four-neighbor case, region 3 would be completely isolated. - -## Text list file format - -For network/graph operations, resistor networks, focal nodes, current sources, and grounds should be stored as text lists (saved with a ".txt" extension). To specify a network of resistors, three columns are used. The first and second columns give the node IDs being connected by a resistor, and the third column gives the resistance value. For example, the simple circuit: - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/SimpleNetworkWithNumbers2.png) - -can be defined by the following text list: - - 0 1 1 - 1 2 1 - 1 3 1 - 2 4 1 - 3 4 1 - -This file can be found in the examples directory (network_graph.txt). **Please note:** typically, there should just be one entry for each pair of connected nodes. If there are two entries for a single pair in the form of (node1, node2, value1) and (node2, node1, value2), these will be considered parallel resistors and their conductances will be summed. For example, if the above text list had an extra entry for node pair (4, 3) like this: - - 0 1 1 - 1 2 1 - 1 3 1 - 2 4 1 - 3 4 1 - 4 3 1 - -then the resistance between nodes 3 and 4 in the resulting graph would be 1/2 ohm. - -For advanced mode, current sources and grounds are also stored as text lists. The above circuit can be expanded to include a current source and grounds with two extra input files. For example, we can add a 1 Amp current source at node 0 with a file that looks like this: - - 0 1 - -To tie node 4 directly to ground (i.e. to connect it to ground with a wire that has a resistance of 0 Ohms) and connect the remaining nodes to ground with resistors, we can use a file that looks like this: - - 0 99 - 1 33 - 2 49.5 - 3 49.5 - 4 0 - -These files are also included in the examples directory. The resulting circuit would look like this (from McRae et al. 2008): - -![](https://raw.github.com/Circuitscape/Circuitscape/master/docs/4.0/images/AdvancedNetwork.png) - -For **raster** operations, you can also store focal nodes, current sources, and grounds as text lists (saved with a ".txt" extension). For each node referenced in a text list, a value and X and Y coordinates are specified as shown below. - - Value1 X1 Y1 - Value2 X2 Y2 - … - -Note: X and Y are geographical coordinates, not row and column numbers. - -Example text list (a partial list of the cell locations in the focal region map above; coordinates are for cell centroids): - - 1 2.5 9.5 - 1 3.5 9.5 - 1 2.5 8.5 - 1 3.5 8.5 - 1 2.5 7.5 - 1 3.5 7.5 - 1 2.5 5.5 - 2 6.5 4.5 - ... - -For focal nodes, the value field references the focal node ID; values must be positive integers, and a single ID can occupy more than one pair of coordinates (and more than one cell in the underlying resistance grid). For current sources, the value field references the source strength in amps. For grounds, the value field references either the resistance or conductance of the resistor tying each ground node to ground, as set in the Options window. - -## Include/exclude file format - -This file will be loaded when the 'Read file with focal node pairs to include/exclude' option is checked, and affects all modes except the advanced mode. There are two file formats that can be used. The first is the simplest, and gives a list of pairs to include in calculations, or pairs to exclude, as specified in the first line of the file. For example, if there are five focal nodes, numbered 1-5, and the following list is entered, only pairs (1,2), (1,3), and (1,5) will be analyzed: - - mode include - 1 2 - 1 3 - 1 5 - -Similarly, if the first line in the above file read: - - mode exclude - -all pairs except (1,2), (1,3), and (1,5) would be analyzed. See example file "list_of_pairs_to_include.txt" in the examples directory. - -The second method uses a matrix identifying which pairs of focal nodes to connect. The file specifies minimum and maximum values in the matrix to consider a pair connected. This method can be useful when used with a distance matrix to only run analyses between points separated by a minimum distance, or by a distance equal to or less than a maximum distance. Note: any focal node not in the matrix will be dropped from analyses. Entries on the diagonal are ignored. For example, in the following matrix, only pairs with entries between 2 and 50 are connected. Pairs (1,2), (2,4), and (3,4) will not be analyzed. -Focal node 5 will be dropped entirely: - - min 2 - max 50 - 0 1 2 3 4 5 - 1 0 100 6.67 7 1 - 2 100 0 11 1 60 - 3 6.67 11 0 -1 100 - 4 7 1 -1 0 0 - 5 1 60 100 0 0 - -Make sure to include a zero in the upper-left corner of the matrix. - -Files should be in tab-delimited text with a .txt extension. See example file “matrix_of_pairs_to_include_and_exclude.txt” in the examples directory. - -# 9\. Output files - -## Current and voltage data - -Current and voltage data for networks will be written in text list formats. - -When using the ArcGIS toolbox, current and voltage maps will be written in the raster format chosen by the user. - -When not using the ArcGIS toolbox, raster voltage and current maps are written using the ASCII raster format described above. - -## Resistance files - -Resistance data are written in both matrix and 3-column formats. - -Here are pairwise resistances written to the output directory for the eight neighbor case (using per-cell resistances and average resistances for cell connection calculations; this can be replicated by loading eight_neighbor_example.ini from the examples directory). The first row and column contain the focal node IDs: - - 0 1 2 3 - 1 0 11.93688471 15.03634473 - 2 11.93688471 0 11.57640568 - 3 15.03634473 11.57640568 0 - -Here are pairwise resistances written to the output directory for the four neighbor case, in which focal node 3 was completely isolated (-1 indicates infinite resistance): - - 0 1 2 3 - 1 0 33.55792693 -1 - 2 33.55792693 0 -1 - 3 -1 -1 0 - -For convenience, resistances are also written to a separate file in a 3-column format, e.g.: - - 1 2 33.55792693 - 1 3 -1 - 2 3 -1 - -# 10\. Computational limitations, speed, and landscape size - -We have tested this code on landscapes with up to 100 million cells. Increasing numbers of connections using diagonal (eight neighbor) connections will decrease the size of landscapes that can be analyzed. Also, increasing landscape size or numbers of focal nodes will increase computation time. We anticipate future improvements will increase the program's speed. Note that due to the matrix algebra involved with solving many pairs of focal nodes, Circuitscape will run much faster when focal points (each focal node falls within only one grid cell), rather than focal regions (at least one focal node occupies multiple grid cells), are used. - -## Important note: memory limitations - -Insufficient RAM is the most common cause of program errors. 32-bit systems will be particularly limited because no more than 2GB of memory can be addressed by any one process, limiting solvable landscapes to approximately 2-6 million cells, depending on the properties of the grid. Larger grids can be solved on 64-bit systems with large amounts of RAM. - -There are several ways to increase the solvable grid size. These include closing all other programs (especially those that require lots of RAM such as ArcGIS), setting impermeable areas of your resistance map to NODATA, using focal points instead of regions in pairwise mode, connecting cells to their four neighbors only, and not creating current maps. Also, the one-to-all and all- to-one modes typically use less memory (and run more quickly) than the pairwise mode. In particular, the all-to-one mode can be an alternative to the pairwise mode when the goal is to produce a cumulative map of important connectivity areas among multiple source/target patches. Still, coarsening your grids (using larger cell sizes) may be necessary; doing so often produces results that are qualitatively similar to those obtained with smaller cell sizes. See McRae et al. 2008 for details of effects of using coarser grids. - -# 11\. Further Reading - -Beier, P., W. Spencer, R. Baldwin, and B.H. McRae. 2011\. Best science practices for developing regional connectivity maps. Conservation Biology 25(5): 879-892 - -Dickson B.G., G.W. Roemer, B.H. McRae, and J.M. Rundall. 2013\. Models of regional habitat quality and connectivity for pumas (_Puma concolor_) in the southwestern United States. PLoS ONE 8(12): e81898\. doi:10.1371/journal.pone.0081898 - -McRae, B.H. 2006\. Isolation by resistance. Evolution 60:1551-1561. - -McRae, B.H. and P. Beier. 2007\. Circuit theory predicts Gene flow in plant and animal populations. Proceedings of the National Academy of Sciences of the USA 104:19885-19890. - -McRae, B.H., B.G. Dickson, T.H. Keitt, and V.B. Shah. 2008\. Using circuit theory to model connectivity in ecology and conservation. Ecology 10: 2712-2724. - -Shah, V.B. 2007\. An Interactive System for Combinatorial Scientific Computing with an Emphasis on Programmer Productivity. PhD thesis, University of California, Santa Barbara. - -Shah,V.B. and B.H. McRae. 2008\. Circuitscape: a tool for landscape ecology. In: G. Varoquaux, T. Vaught, J. Millman (Eds.). Proceedings of the 7th Python in Science Conference (SciPy 2008), pp. 62-66. - -Spear, S.F., N. Balkenhol, M.-J. Fortin, B.H. McRae and K. Scribner. 2010\. Use of resistance surfaces for landscape genetic studies: Considerations of parameterization and analysis. Molecular Ecology 19(17): 3576-3591. - -Zeller K.A., McGarigal K., and Whiteley A.R. 2012\. Estimating landscape resistance to movement: a review. Landscape Ecology 27: 777-797. diff --git a/downloads.md b/downloads.md index 18ed088..b9d8895 100644 --- a/downloads.md +++ b/downloads.md @@ -1,37 +1,33 @@ ---- -layout: page -title: Downloads -permalink: downloads/ ---- ++++ +title = "Downloads" ++++ -[Circuitscape 5](https://github.com/Circuitscape/Circuitscape.jl) is developed in [Julia](https://julialang.org) and is available on GitHub. It is made available under the [open source MIT license](https://github.com/Circuitscape/Circuitscape.jl/blob/master/LICENSE.md). Please follow these instructions on downloading Julia and Circuitscape: +[Circuitscape 5](https://github.com/Circuitscape/Circuitscape.jl) is developed in [Julia](https://julialang.org) and is available on GitHub. It is made available under the [open source MIT license](https://github.com/Circuitscape/Circuitscape.jl/blob/master/LICENSE.md). +Please follow these instructions on downloading Julia and Circuitscape: * [**Circuitscaspe.jl installation**](https://github.com/Circuitscape/Circuitscape.jl/blob/master/README.md#Installation) * The old Circuitscape 4 GUI generated INI files are fully compatible with Circuitscape 5 -## **Help us improve Circuitscape!** +## **Help us improve Circuitscape**! + * Please report bugs and suggest enhancements to [Github issues page for Circuitscape.jl](https://github.com/Circuitscape/Circuitscape.jl/issues). ## Older releases The [Circuitscape.py](https://github.com/Circuitscape/Circuitscape.py/) project is archived on Github. Circuitscape v4.0.5 installers are still available for download: -### **WINDOWS**: +### WINDOWS: * [**64-bit Windows executable**](https://circuitscapebinaries.blob.core.windows.net/binaries/Circuitscape-4.0.5-x64-setup.exe). Most PC users will want this version. See our [FAQ](http://www.circuitscape.org/FAQ) about working with large grids. - -* [**32-bit Windows executable**](https://circuitscapebinaries.blob.core.windows.net/binaries/Circuitscape-4.0.3-Win32-setup.exe). (v4.0.3- update coming soon). For older PCs running 32-bit Windows. - -* [**Circuitscape ArcGIS toolbox**](https://circuitscapebinaries.blob.core.windows.net/binaries/Circuitscape_for_ArcGIS_2013_10_08_rev2.zip). Calls Circuitscape from ArcMap (requires ArcGIS 10.0 or newer, and Circuitscape must be installed). - +* [**32-bit Windows executable**](https://circuitscapebinaries.blob.core.windows.net/binaries/Circuitscape-4.0.3-Win32-setup.exe). (v4.0.3- update coming soon). For older PCs running 32-bit Windows. +* [**Circuitscape ArcGIS toolbox**](https://circuitscapebinaries.blob.core.windows.net/binaries/Circuitscape_for_ArcGIS_2013_10_08_rev2.zip). Calls Circuitscape from ArcMap (requires ArcGIS 10.0 or newer, and Circuitscape must be installed). * [**Gnarly Landscape Utilities**](https://circuitscapebinaries.blob.core.windows.net/binaries/Gnarly_Landscape_Utilities_0_1_9.zip). An ArcGIS toolbox that creates resistance and core areas needed by Circuitscape. +* [**Linkage Mapper**](https://circuitscape.org/linkagemapper/). An ArcGIS toolbox that uses least-cost corridor methods and Circuitscape to support regional connectivity analyses. -* [**Linkage Mapper**](https://circuitscape.org/linkagemapper/). An ArcGIS toolbox that uses least-cost corridor methods and Circuitscape to support regional connectivity analyses. - -### **MAC OS X:** +### MAC OS X: * [Mac executable](https://circuitscapebinaries.blob.core.windows.net/binaries/Circuitscape-4.0.5.dmg). For Macs using OS X 10.9 or later. You’ll want to get the [examples directory](https://github.com/Circuitscape/Circuitscape/tree/master/examples) too. -### **Linux:** +### Linux: * Python source code as a [Python package](https://pypi.python.org/pypi/Circuitscape/). diff --git a/downloads/LM_Lab_V2.zip b/downloads/LM_Lab_V2.zip deleted file mode 100644 index ff40b34..0000000 Binary files a/downloads/LM_Lab_V2.zip and /dev/null differ diff --git a/downloads/LinkageMapper_1_1_0.zip b/downloads/LinkageMapper_1_1_0.zip deleted file mode 100644 index 0ee1bb2..0000000 Binary files a/downloads/LinkageMapper_1_1_0.zip and /dev/null differ diff --git a/gnarly-landscape-utilities.md b/gnarly-landscape-utilities.md deleted file mode 100644 index 1a0fe9c..0000000 --- a/gnarly-landscape-utilities.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: page -title: Gnarly Landscape Utilities -permalink: gnarly-landscape-utilities/ ---- - -Gnarly Landscape Utilities is an ArcGIS toolbox designed to support some of the less-glamorous tasks involved with connectivity modeling. It includes tools for **creating resistance and habitat layers** and **core area mapping.** The core area mapping functionality was formerly packaged as the HCA Toolkit. - -We created the tools to support connectivity analyses by the [Washington Wildlife Habitat Connectivity Working Group](https://waconnected.org/habitat-connectivity-analyses/) as well as work by the Western Governors' Association and the [Nature Conservancy](http://www.nature.org/). They can be used to create resistance, habitat, and core area maps used by Linkage Mapper, Circuitscape, and other connectivity software packages. - -[**Download Gnarly Landscape Utilities** here.](/downloads/) - -Version 0.1.9, released Aug 2, 2016. - -*You can also see our project on [Github](https://github.com/thenatureconservancy/gnarly-landscape-utilities).* - -**If you use these tools, please cite them so others can find them!** - -**Citation for Core Mapper:** - -Shirk, A.J., and B.H. McRae. 2013. Gnarly Landscape Utilities: Core Mapper User Guide. The Nature Conservancy, Fort Collins, CO. Available at: https://www.circuitscape.org/gnarly-landscape-utilities. - -**Citation for Resistance and Habitat Calculator:** - -McRae, B.H., A.J. Shirk, and J.T. Platt. 2013. Gnarly Landscape Utilities: Resistance and Habitat Calculator User Guide. The Nature Conservancy, Fort Collins, CO. Available at: https://www.circuitscape.org/gnarly-landscape-utilities. - -**Authors** - -Andrew Shirk, Climate Impacts Group, University of Washington - -Brad McRae, The Nature Conservancy - -Jim Platt, The Nature Conservancy - -**Acknowledgements** - -These tools were developed for projects supported by the [Great Northern Landscape Conservation Cooperative](https://www.nrmsc.usgs.gov/gnlcc), the [North Pacific Landscape Conservation Cooperative](http://www.fws.gov/pacific/Climatechange/nplcc/), and the [Doris Duke Charitable Foundation](http://www.ddcf.org/Programs/Environment/). - -**Support** - -Please send bug reports to [Brad McRae](mailto:mcrae@circuitscape.org). diff --git a/img/Dutta.PNG b/img/Dutta.PNG deleted file mode 100644 index 2bf60bc..0000000 Binary files a/img/Dutta.PNG and /dev/null differ diff --git a/img/circuitscape.icns b/img/circuitscape.icns deleted file mode 100644 index 6d37545..0000000 Binary files a/img/circuitscape.icns and /dev/null differ diff --git a/img/favicon.ico b/img/favicon.ico deleted file mode 100644 index c72584b..0000000 Binary files a/img/favicon.ico and /dev/null differ diff --git a/img/fire3.png b/img/fire3.png deleted file mode 100644 index f41142b..0000000 Binary files a/img/fire3.png and /dev/null differ diff --git a/img/graydickson.gif b/img/graydickson.gif deleted file mode 100644 index 0043d30..0000000 Binary files a/img/graydickson.gif and /dev/null differ diff --git a/img/lm1.png b/img/lm1.png deleted file mode 100644 index a6e29b0..0000000 Binary files a/img/lm1.png and /dev/null differ diff --git a/img/lm4.png b/img/lm4.png deleted file mode 100644 index 6a11e6e..0000000 Binary files a/img/lm4.png and /dev/null differ diff --git a/img/roadcrossings2.png b/img/roadcrossings2.png deleted file mode 100644 index 3460307..0000000 Binary files a/img/roadcrossings2.png and /dev/null differ diff --git a/img/sa.gif b/img/sa.gif deleted file mode 100644 index db7541c..0000000 Binary files a/img/sa.gif and /dev/null differ diff --git a/img/tanmay.png b/img/tanmay.png deleted file mode 100644 index 32de3a5..0000000 Binary files a/img/tanmay.png and /dev/null differ diff --git a/index.md b/index.md index f00387f..0de7dc5 100644 --- a/index.md +++ b/index.md @@ -1,12 +1,13 @@ ---- -layout: home ---- ++++ +title = "Circuitscape" ++++ - +~~~ +

+

+~~~ - - -This site is home to [Circuitscape](/), [Omniscape](https://docs.circuitscape.org/Omniscape.jl/latest/), [Linkage Mapper](http://www.circuitscape.org/linkagemapper), and [Gnarly Landscape Utilities](http://www.circuitscape.org/gnarly-landscape-utilities). All are free and open source. Circuitscape borrows algorithms from electronic circuit theory to predict connectivity in heterogeneous landscapes. Omniscape offers a "coreless" approach by applying Circuitscape iteratively in a moving window to predict omni-directional connectivity. Linkage Mapper uses least-cost corridor analysis, circuit theory, and barrier analysis to map corridors, detect pinch-points and restoration opportunities within them, and identify important core areas and corridors. Gnarly Landscape Utilities automates the creation of core area maps and resistance layers needed for connectivity modeling. +This site is home to [Circuitscape](/), [Omniscape](https://docs.circuitscape.org/Omniscape.jl/latest/), [Linkage Mapper](http://www.circuitscape.org/linkagemapper), and [Gnarly Landscape Utilities](http://www.circuitscape.org/gnarly-landscape-utilities). All are free and open source. Circuitscape borrows algorithms from electronic circuit theory to predict connectivity in heterogeneous landscapes. Omniscape offers a “coreless” approach by applying Circuitscape iteratively in a moving window to predict omni-directional connectivity. Linkage Mapper uses least-cost corridor analysis, circuit theory, and barrier analysis to map corridors, detect pinch-points and restoration opportunities within them, and identify important core areas and corridors. Gnarly Landscape Utilities automates the creation of core area maps and resistance layers needed for connectivity modeling. See the tabs above for more info, downloads, and other connectivity modeling tools and resources. @@ -14,7 +15,7 @@ See the tabs above for more info, downloads, and other connectivity modeling too **November 2018** - Circuitscape v5 is now available. The new Circuitscape is a complete overhaul with speed improvements. You can use the command line version by following the instructions on the [**GitHub project page**](https://github.com/Circuitscape/Circuitscape.jl). Download links coming soon. -**July 2016**- The Circuitscape user community keeps growing. We've compiled some **example applications** including new fields like crop science, archaeology, fire risk management, and epidemiology. +**July 2016**- The Circuitscape user community keeps growing. We’ve compiled some **example applications** including new fields like crop science, archaeology, fire risk management, and epidemiology. **March 2014**- Circuitscape 4.0 is now up. After a complete overhaul, **Version 4.0** sports major speed and functionality improvements. @@ -22,18 +23,17 @@ See the tabs above for more info, downloads, and other connectivity modeling too **Oct 2013**- Circuitscape can now be called from an **ArcGIS toolbox**. No more converting input grids to ASCII format! Just install the ArcGIS toolbox from our [downloads page](http://www.circuitscape.org/downloads) when you install Circuitscape. + ## More News -[**"One glorious map"**](http://www.climatecentral.org/news/map-animal-migration-climate-change-20646) using Circuitscape to model species responses to climate change almost breaks the internet. More [here](http://blog.nature.org/science/2016/08/19/migration-in-motion-visualizing-species-movements-due-to-climate-change/) and [here](http://www.smithsonianmag.com/smart-news/mesmerizing-animation-shows-where-animals-going-survive-climate-change-180960253/). +[**“One glorious map”**](http://www.climatecentral.org/news/map-animal-migration-climate-change-20646) using Circuitscape to model species responses to climate change almost breaks the internet. More [here](http://blog.nature.org/science/2016/08/19/migration-in-motion-visualizing-species-movements-due-to-climate-change/) and [here](http://www.smithsonianmag.com/smart-news/mesmerizing-animation-shows-where-animals-going-survive-climate-change-180960253/). * [Circuitscape wins Wildlife Society award](http://tlocoh.r-forge.r-project.org/tws-setwg_newsletter_s14.pdf) - -* [Circuitscape on the cover of Methods in Ecology & Evolution](http://www.methodsinecologyandevolution.org/SpringboardWebApp/userfiles/mee/image/Covers/mee-5-7-coverlarge.jpg) - +* [Circuitscape on the cover of Methods in Ecology & Evolution](http://www.methodsinecologyandevolution.org/SpringboardWebApp/userfiles/mee/image/Covers/mee-5-7-coverlarge.jpg) * [Predicting climate-driven movement for 3000 species](http://www.conservationcorridor.org/2013/07/predicting-how-climate-change-will-shift-animal-movement-routes/) - * [Using Circuitscape to predict HIV spread in Africa](http://www.academia.edu/4707367/Spatial_accessibility_and_the_spread_of_HIV-1_subtypes_and_recombinants) + ## Authors **Circuitscape was written by Brad McRae, Viral Shah, Tanmay Mohapatra, and Ranjan Anantharaman.** More details about the authors [**here**](/authors.html). diff --git a/about-the-linkage-mapper-team.md b/linkagemapper/about-the-team.md similarity index 83% rename from about-the-linkage-mapper-team.md rename to linkagemapper/about-the-team.md index 379ba4b..e118426 100644 --- a/about-the-linkage-mapper-team.md +++ b/linkagemapper/about-the-team.md @@ -1,14 +1,15 @@ ---- -layout: page -title: About the LinkageMapper Team -permalink: linkagemapper/about-the-team/ ---- ++++ +title = "About the Team" ++++ -Our “Founding Father” is Brad McRae. He was a Senior Landscape Ecologist with The Nature Conservancy, but was struck down by cancer in 2017. He was an amazing man. His supervisor, Joe Fargione, wrote a wonderful eulogy: “...Everyone who knew Brad was impressed with his intelligence, thoughtfulness, integrity, honesty, and his steadfast commitment to what he cared about: his family, friends and conserving the natural world...” - +Our “Founding Father” is Brad McRae. He was a Senior Landscape Ecologist with The Nature Conservancy, but was struck down by cancer in 2017. He was an amazing man. His supervisor, Joe Fargione, wrote a wonderful eulogy: “…Everyone who knew Brad was impressed with his intelligence, thoughtfulness, integrity, honesty, and his steadfast commitment to what he cared about: his family, friends and conserving the natural world…“ -“...Brad leaves an impressive legacy. He pioneered the use of circuit theory to model connectivity and gene flow across fragmented landscapes, and how to combine this with least-cost corridor theory. The software tools he developed, Circuitscape and Linkage Mapper, are now used in conservation planning around the world. He was passionate about supporting others' efforts to use these software packages to make real changes on the ground…” Rest his soul. +~~~ + +~~~ + +“…Brad leaves an impressive legacy. He pioneered the use of circuit theory to model connectivity and gene flow across fragmented landscapes, and how to combine this with least-cost corridor theory. The software tools he developed, Circuitscape and Linkage Mapper, are now used in conservation planning around the world. He was passionate about supporting others’ efforts to use these software packages to make real changes on the ground…” Rest his soul. Brad was the leader for Linkage Mapper Version 1.x, which includes five tools. He was joined by many gifted programmers and scientists in the endeavor. Darren Kavanagh joined the team early on to improve the code base and be the lead developer for Climate Linkage Mapper. Darren has also been very active and helpful in the release of Version 2.0. Tristan Nunez developed the climate corridor model, which became the basis for Climate Linkage Mapper. Viral Shah helped develop Circuitscape, which is the engine behind Pinchpoint Mapper and Centrality Mapper. Other noted contributors to Linkage Mapper Version 1.x were Brian Cosentino, Jeff Jenness, Andrew Gilmer, Theresa Nogeire, and Jenny McGuire. @@ -20,13 +21,14 @@ Linkage Mapper Version 2.0 was assessed and improved by many great beta-testers The Washington Wildlife Habitat Connectivity Working Group’s (WHCWG) initiated all this with their [2010 statewide connectivity analysis](http://www.waconnected.org/statewide-analysis/), and they continue to develop the project via action research with [several other analyses](http://waconnected.org/habitat-connectivity-analyses/), past and present. Conservation Biology Institute helped develop Version 2.0 through action research in the [Mojave Desert](https://databasin.org/galleries/5552d3a0c7ea48e3a07f225339d9ff7a), [Sacramento Valley](https://databasin.org/galleries/a3869718cda049ab8df821f1f0698196), [Modoc Plateau](https://databasin.org/galleries/833f3aef966240b6b4828362baa58cc5), and [Santa Barbara County](https://databasin.org/maps/9ee809b252f64d8ab4f843354692a724). - +~~~ + +~~~ -Linkage Mapper was bolstered by the direct financial support from from several other institutions. Linkage Pathways was developed with support from the Great Northern Landscape Conservation Cooperative, the Wildlife Conservation Society's Wildlife Action Opportunities Fund, and the Nature Conservancy. The new modules of Version 1.x were supported by the North Pacific Landscape Conservation Cooperative and The Nature Conservancy. +Linkage Mapper was bolstered by the direct financial support from from several other institutions. Linkage Pathways was developed with support from the Great Northern Landscape Conservation Cooperative, the Wildlife Conservation Society’s Wildlife Action Opportunities Fund, and the Nature Conservancy. The new modules of Version 1.x were supported by the North Pacific Landscape Conservation Cooperative and The Nature Conservancy. Linkage Priority Tool was supported by South African National Research Foundation, Nelson Mandela Metropolitan University, Sonoma County Agricultural Preservation and Open Space District, the Islands Trust, the Wilderness Society, and Conservation Biology Institute. -Finally, the involvement and enthusiasm from the Linkage Mapper community has been the fuel for the project. Please continue that forth with additional discussion on [the community group](https://groups.google.com/forum/#!forum/linkage-mapper), and please chime in with answers to questions, even if only a partial answer. You can contribute and/or vote for code development on our [Github site](https://github.com/linkagescape/linkage-mapper), and also post your projects result on our new and [interactive shared maps Gallery](https://databasin.org/galleries/027492e42545494cae53ca1f61b46c17). +Finally, the involvement and enthusiasm from the Linkage Mapper community has been the fuel for the project. Please continue that forth with additional discussion on [the community group](https://groups.google.com/forum/#!forum/linkage-mapper), and please chime in with answers to questions, even if only a partial answer. You can contribute and/or vote for code development on our [Github site](https://github.com/linkagescape/linkage-mapper), and also post your projects result on our new and [interactive shared maps Gallery](https://databasin.org/galleries/027492e42545494cae53ca1f61b46c17). One of Brad’s early decisions was to make Linkage Mapper an open source project. As a result, it is now a project for all us. Continuation of this project is now in dedication to both Brad, and his mission: conservation of the natural world! - diff --git a/linkage-mapper.md b/linkagemapper/index.md similarity index 71% rename from linkage-mapper.md rename to linkagemapper/index.md index 79d595d..5f82639 100644 --- a/linkage-mapper.md +++ b/linkagemapper/index.md @@ -1,45 +1,43 @@ ---- -layout: page -title: Linkage Mapper -permalink: linkagemapper/ ---- - ++++ +title = "linkagemapper" ++++ + +~~~ + +~~~ Linkage Mapper supports regional wildlife habitat connectivity analyses. It consists of six tools that automate mapping and prioritization of wildlife habitat corridors. It is comprised of open source Python scripts, shared in an ArcGIS toolbox. -### Downloads +### Downloads **Latest ArcGIS 10.0 - 10.6 Version**: [Linkage Mapper 2.0.0](https://github.com/linkagescape/linkage-mapper/files/2204107/Linkage_Mapper_2_0_0.zip) -**Latest ArcGIS 9.3 Version**: [Linkage Mapper 1.1.0](downloads/LinkageMapper_1_1_0.zip) +**Latest ArcGIS 9.3 Version**: [Linkage Mapper 1.1.0](/downloads/LinkageMapper_1_1_0.zip) (Note: User guides and tutorials are in zip folders.) -Extras: [Lab Excercise: Linkage Pathways, Pinchpoints, and Barriers ](downloads/LM_Lab_V2.zip) +Extras: [Lab Excercise: Linkage Pathways, Pinchpoints, and Barriers ](/downloads/LM_Lab_V2.zip) ### Tools A brief summary of the tools follow, with additional details [here](http://www.circuitscape.org/linkagemapper/linkage-mapper-tools): -- Linkage Pathways (originally known as “Linkage Mapper”) maps the linkages among “core areas” of habitat on a landscape. In those linkages it shows the relative value of each grid cell in providing connectivity. This allows users to identify which pathways encounter more or fewer features that facilitate or impede movement between core areas. This is pictured above. -- Climate Linkage Mapper gives additional options about which possible linkages are mapped or not, and fine tunes the routes of the linkages to more realistically follow climatic gradients. -- Barrier Mapper implements a new method for detecting important barriers to facilitate restoration planning. -- Pinchpoint Mapper uses [Circuitscape](http://www.circuitscape.org/) to identify pinch-points (a.k.a. bottlenecks or choke points) in corridors produced by Linkage Mapper. -- Centrality Mapper uses [Circuitscape](http://www.circuitscape.org/) to analyze core and corridor centrality in networks produced by Linkage Mapper. This can help prioritize important corridors. -- Linkage Priority estimates and maps the relative priority of each linkage based on the weighted combination of ten considerations, including climate change. - - +* Linkage Pathways (originally known as “Linkage Mapper”) maps the linkages among “core areas” of habitat on a landscape. In those linkages it shows the relative value of each grid cell in providing connectivity. This allows users to identify which pathways encounter more or fewer features that facilitate or impede movement between core areas. This is pictured above. +* Climate Linkage Mapper gives additional options about which possible linkages are mapped or not, and fine tunes the routes of the linkages to more realistically follow climatic gradients. +* Barrier Mapper implements a new method for detecting important barriers to facilitate restoration planning. +* Pinchpoint Mapper uses [Circuitscape](http://www.circuitscape.org/) to identify pinch-points (a.k.a. bottlenecks or choke points) in corridors produced by Linkage Mapper. +* Centrality Mapper uses [Circuitscape](http://www.circuitscape.org/) to analyze core and corridor centrality in networks produced by Linkage Mapper. This can help prioritize important corridors. +* Linkage Priority estimates and maps the relative priority of each linkage based on the weighted combination of ten considerations, including climate change. Please note: whatever tool you use, connectivity modeling involves a great deal of research, data compilation, GIS analyses, and careful interpretation of results. Defining areas to connect, parameterizing resistance models, and other modeling decisions you will need to make are not trivial. Before diving in, we strongly recommend that users first acquaint themselves with the process and challenges of connectivity modeling by consulting published resources. Good places to start include an [overview of habitat and corridor modeling on the Corridor Designer website](http://corridordesign.org/designing_corridors), the step-by-step guidance on connectivity assessments on the [Connecting Landscapes website](http://www.connectinglandscapes.org/), and references listed in the Linkage Mapper user guides. Need to create resistance or core area layers? Check out [Gnarly Landscape Utilities](http://www.circuitscape.org/gnarly-landscape-utilities) for an expert opinion approach to doing this. -Linkage Mapper is an open access project in active development by a [**dynamic team**](http://www.circuitscape.org/linkagemapper/about-the-team). +Linkage Mapper is an open access project in active development by a [**dynamic team**](http://www.circuitscape.org/linkagemapper/about-the-team). -Please join the [Linkage Mapper User Group](https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!forum/linkage-mapper) for support and updates on new releases. You can contribute and comment on development by joining our [**Github Site and Group**](https://github.com/linkagescape/linkage-mapper), and you can post your final maps, or work in progress, at our shared [**Data Basin Gallery**](https://databasin.org/galleries/027492e42545494cae53ca1f61b46c17). +Please join the [Linkage Mapper User Group](https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!forum/linkage-mapper) for support and updates on new releases. You can contribute and comment on development by joining our [**Github Site and Group**](https://github.com/linkagescape/linkage-mapper), and you can post your final maps, or work in progress, at our shared [**Data Basin Gallery**](https://databasin.org/galleries/027492e42545494cae53ca1f61b46c17). Please see the [**Linkage Mapper Tools** ](https://circuitscape.org/linkagemapper/linkage-mapper-tools/) page for further details and maps of each output. ## More information * [Linkage Mapper Tools](/linkagemapper/linkage-mapper-tools/) - * [About the Linkage Mapper Team](/linkagemapper/about-the-team/) diff --git a/linkage-mapper-tools.md b/linkagemapper/linkage-mapper-tools.md similarity index 68% rename from linkage-mapper-tools.md rename to linkagemapper/linkage-mapper-tools.md index d788782..5ad0b8f 100644 --- a/linkage-mapper-tools.md +++ b/linkagemapper/linkage-mapper-tools.md @@ -1,107 +1,102 @@ ---- -layout: page -title: Linkage Mapper Tools -permalink: linkagemapper/linkage-mapper-tools/ ---- ++++ +title = "Linkage Mapper Tools" ++++ ### **Linkage Pathways Tool** -The primary and original tool in the Linkage Mapper toolbox is Linkage Pathways. (Originally, the Linkage Pathways tool was informally called “Linkage Mapper”, and formally called the “Build Network and Map Linkages” tool.) Linkage Pathways uses GIS maps of core habitat areas and resistances to identify and map linkages between core areas. Each cell in a resistance map is attributed with a value reflecting the energetic “cost”, (i.e. difficulty and mortality risk) of moving across that cell. Resistance values are typically determined by cell characteristics, such as land cover or housing density, combined with species-specific landscape resistance models. As animals move away from specific core areas, cost-weighted distance analyses produce maps of total movement resistance accumulated. The Linkage Pathways tool uses ArcGIS and Python scripts to identify adjacent (neighboring) core areas and creates maps of least-cost corridors between them. It then mosaics the individual corridors to create a single composite corridor map. The result shows the relative value of each grid cell in providing connectivity between core areas, allowing users to identify which routes encounter more or fewer features that facilitate or impede movement between core areas. Linkage Pathways also produces vector layers that can be queried for corridor statistics [(McRae & Kavanagh 2011)]. ![img](img/lm1.png)Linkage Pathways output and Habitat Concentration Areas (HCAs) for white-tailed jackrabbit (Lepus townsendii). (Mount hood, Oregon, is in the top left corner) [Link here for the Interactive Map.](https://databasin.org/maps/342bc86a67984c2892e56fdf6a8befd4/active) +The primary and original tool in the Linkage Mapper toolbox is Linkage Pathways. (Originally, the Linkage Pathways tool was informally called “Linkage Mapper”, and formally called the “Build Network and Map Linkages” tool.) Linkage Pathways uses GIS maps of core habitat areas and resistances to identify and map linkages between core areas. Each cell in a resistance map is attributed with a value reflecting the energetic “cost”, (i.e. difficulty and mortality risk) of moving across that cell. Resistance values are typically determined by cell characteristics, such as land cover or housing density, combined with species-specific landscape resistance models. As animals move away from specific core areas, cost-weighted distance analyses produce maps of total movement resistance accumulated. The Linkage Pathways tool uses ArcGIS and Python scripts to identify adjacent (neighboring) core areas and creates maps of least-cost corridors between them. It then mosaics the individual corridors to create a single composite corridor map. The result shows the relative value of each grid cell in providing connectivity between core areas, allowing users to identify which routes encounter more or fewer features that facilitate or impede movement between core areas. Linkage Pathways also produces vector layers that can be queried for corridor statistics [(McRae & Kavanagh 2011)]. -### **Climate Linkage Mapper** - -This tool can be thought of as the “Climate-Traversing Linkage Pathways Tool.” It fine tunes the routes of mapped linkages between core areas such that they minimize the range of micro-climates (e.g. temperatures, or climatic water difference) that are encountered along the linkage. Consider the example of two mountain ridges on the east and west of a hot valley, and joined together at the north end, to make a U-shape. Climate linkage mapper will suggest that the linkage from a core on one ridge to a core on the other is traversing along the ridgelines, connecting at the north, rather than the traditional least cost corridor that ignores climate ranges and goes down into the hot valley and then back up the other side [(Kavanagh et al. 2012)]. This increases the likelihood that the mapped linkage is the one actually used by wildlife, especially by climate sensitive wildlife. Also, the only linkages mapped are those that meet a user-defined climatic difference threshold between the two cores. (This feature is also included now in the Linkage Priority tool, where you also have the option of including linkages connecting similar climates, and just giving them a lower conservation priority value.) See Littlefield et al. (2017) and Nuñez et al. (2013) for more details on the use of the Climate Linkage mapper tool in connectivity modelling. ![img](img/lm2.png)Climate Linkage Mapper output for whitebark pine, in the transboundary region between Washington and British Columbia. Note, Linkage Mapper can model connectivity for plants as well as animals. [Link here to the Interactive Map.](https://nplcc.databasin.org/maps/859e97aa40034b868f0de21de0d519a0/active) - -### **Pinchpoint Mapper** - -Once corridors have been mapped using Linkage Pathways, or Climate Linkage Mapper, Pinchpoint Mapper utilizes circuit theory to run Circuitscape (McRae & Shah 2009) within the resulting corridors. This produces current-maps that identify and map pinch points (i.e., constrictions or bottlenecks) within the linkages (McRae 2012a). More details on circuit theory and on Circuitscape software can be found in McRae et al.(2008) and McRae and Shah (2009). Pinch points represent areas where movement would be funneled and thus may be particularly important to keeping intact. Even a small loss of area in these pinch points would disproportionately compromise connectivity (Castilho et al. 2015). ![img](img/lm3.png)Pinchpoint mapper output and Habitat Concentration Areas (HCAs) for white-tailed jackrabbit (Lepus townsendii). [Link here for the Interactive Map.](https://databasin.org/maps/2147e6fa4419481f803ff916b5cd7b9f/active) - -### **Barrier Mapper** - -Once linkages are created using the Linkage Pathways tool, or Climate Linkage Mapper, Barrier Mapper quantifies the importance of “barriers” that affect the quality and/or location of the corridors (McRae 2012c). The term “barriers” is used in a general way and includes portions of a landscape that are difficult to pass through for wildlife, but are not barriers in the formal sense of the term. In essence, they identify areas for restoration and mitigation. Much more detail is provided in a publication by McRae et al. (2012). ![img](img/barriermapper.png) "Lek Kernals" (i.e. HCAs) for greater sage grouse as well as linkages, linkage barriers, and restoration opportunities [Link here for the Interactive Map,](https://databasin.org/maps/c897306da2d94c558fbe8bc79e93a035/active) ...[and Gallery derived from Jones (2015)](https://databasin.org/galleries/843cdce2d4fc419da0d4587950c20de2) - -### **Centrality Mapper** - -Once corridors have been mapped using Linkage Pathways or Climate Linkage Mapper, Centrality Mapper analyzes the resulting linkage networks, calculating “current flow centrality” across the networks (McRae 2012b). Current flow centrality is a measure of how important a linkage is for keeping the overall network connected. It utilizes Circuitscape to implement this circuit theory approach. According to Dutta et al. (2015), Centrality Mapper treats each core as a “node”, each linkage as a single resistor, and assigns a resistance equal to the cost-weighted distance of the corresponding least-cost corridor. It then iterates through all core area pairs, injecting 1 amp of current into one core area and setting the other to ground. It then adds up current flow for each core and linkage to generate a map of cumulative current flow, indicating the importance of each linkage in maintaining connectivity across the entire network of cores, and can be considered as a measure of linkage and core centrality. ![img](img/lm5.png) - -Centrality of Linkages and Habitat Concentration Areas (HCAs) for white-tailed jackrabbit (Lepus townsendii). [Link here for the Interactive Map.](https://databasin.org/maps/fbf173ac249e4f689d095b2696b3c923/active) - -### **Linkage Priority Tool** (New in v2.0) - -The Linkage Priority Tool was implemented to help quantify the relative conservation priority of each linkage in a landscape. Linkage Priority Tool is based on weighted combinations of many factors (Diagram 1). The lower set of factors in the diagram estimate the relative value of the two cores at either end of a linkage. Core priority is is evaluated on the shape, mean resistance value, size, and expert opinion. Users can also include climate by giving a higher value to cores with higher potential to serve as climate refugia. The Tool calculates relative value for every core, and the average value of the two cores associated with each linkage. This then becomes one of the factors determining linkage priority. Hence, a linkage which connects two really important core areas is a higher conservation priority than one that connects two marginal core areas. The average core area value of the two cores of a linkage is then combined with the other higher level factors that relate directly to linkage priority, including the permeability of each linkage (i.e., the mean resistance values along the least cost path), the proximity of the two cores, the centrality, and expert opinion if available. Users can also include climate signature difference between two cores, giving higher priority to linkages that span a climate gradient, facilitating species range shifts. The tool provides the option of using the difference between the current climate signature of the cooler core, and the future climate signature of the hotter core, to simulate the climate gradient that slow moving species will encounter. (See below figure). A detailed user guide is provided online (Gallo & Greene 2018) and the draft presentation of this material to the International Congress in Conservation Biology is provided as a video (Gallo, 2019). (This presentation has an emphasis on the new climate functionality of version 3.0 Beta) ![img](img/lm6.png)Diagram 1: Conceptual diagram of the Linkage Priority Tool. Optional climate wise features have a dashed line. - -### **Synthesis of Tool Outputs** - -The Linkage Priority Tool has been applied in at least eight regions, and in these cases, combined with several other Linkage Mapper tool outputs to create synthesis products. Three of these regions are reported on in Gallo et al. (2019). They synthesized Linkage Priority output with Linkage Pathways and Pinchpoint Mapper outputs. They did this for focal species, for structural connectivity, and also perfomred a metasyntheis of focal species and structural connectivity syntheses. An example is shown below. ![img](img/lm7.png). A synthesis of Linkage Mapper outputs to provide an estimate of connectivity conservation priorities for American badger (Taxidea taxus), in the Sacramento Valley. Core areas are in grey, with relative core area value mapped (Gallo et al. 2019). [Link here for the Interactive Map.](https://databasin.org/maps/a79bb15434a24871ba70bdf68e5c7249/active) -In this report, climate was considered in three ways in determining priority: (1) quantifying which linkages best facilitated long-term species range shifts, (2) which core areas provided more projected climate stability, and (3) which core areas contained more climate micro-refugia for withstanding climate change. In a report under review, Barrier Mapper output is combined with outputs from Linkage Priority, Pinchpoint Mapper, and Linkage Pathways to map the connectivity restoration priorities of a region. [![American badger on the move](img/lm8.jpg)](img/lm8.jpg)An American badger on the move (photo by James Maughn) - -### **References** - - - -Castilho CS, Hackbart VCS, Pivello VR, dos Santos RF. 2015. Evaluating Landscape Connectivity for Puma concolor and Panthera onca Among Atlantic Forest Protected Areas. Environmental management 55:1377–1389. + +Linkage Pathways output and Habitat Concentration Areas (HCAs) for white-tailed jackrabbit (Lepus townsendii). (Mount hood, Oregon, is in the top left corner) [Link here for the Interactive Map.](https://databasin.org/maps/342bc86a67984c2892e56fdf6a8befd4/active) +### **Climate Linkage Mapper** -Dutta T, Sharma S, McRae BH, Roy PS, DeFries R. 2015. [Connecting the dots: mapping habitat connectivity for tigers in central India.](http://link.springer.com/article/10.1007/s10113-015-0877-z) Regional Environmental Change 16:53–67. Springer Berlin Heidelberg. +This tool can be thought of as the “Climate-Traversing Linkage Pathways Tool.” It fine tunes the routes of mapped linkages between core areas such that they minimize the range of micro-climates (e.g. temperatures, or climatic water difference) that are encountered along the linkage. Consider the example of two mountain ridges on the east and west of a hot valley, and joined together at the north end, to make a U-shape. Climate linkage mapper will suggest that the linkage from a core on one ridge to a core on the other is traversing along the ridgelines, connecting at the north, rather than the traditional least cost corridor that ignores climate ranges and goes down into the hot valley and then back up the other side [(Kavanagh et al. 2012)]. This increases the likelihood that the mapped linkage is the one actually used by wildlife, especially by climate sensitive wildlife. Also, the only linkages mapped are those that meet a user-defined climatic difference threshold between the two cores. (This feature is also included now in the Linkage Priority tool, where you also have the option of including linkages connecting similar climates, and just giving them a lower conservation priority value.) See Littlefield et al. (2017) and Nuñez et al. (2013) for more details on the use of the Climate Linkage mapper tool in connectivity modelling. +![img](/assets/img/lm2.png) -Gallo JA, Greene R. 2018. Connectivity Analysis Software for Estimating Linkage Priority. Conservation Biology Institute, Corvallis, OR. +Climate Linkage Mapper output for whitebark pine, in the transboundary region between Washington and British Columbia. Note, Linkage Mapper can model connectivity for plants as well as animals. [Link here to the Interactive Map.](https://nplcc.databasin.org/maps/859e97aa40034b868f0de21de0d519a0/active) +### **Pinchpoint Mapper** +Once corridors have been mapped using Linkage Pathways, or Climate Linkage Mapper, Pinchpoint Mapper utilizes circuit theory to run Circuitscape (McRae & Shah 2009) within the resulting corridors. This produces current-maps that identify and map pinch points (i.e., constrictions or bottlenecks) within the linkages (McRae 2012a). More details on circuit theory and on Circuitscape software can be found in McRae et al.(2008) and McRae and Shah (2009). Pinch points represent areas where movement would be funneled and thus may be particularly important to keeping intact. Even a small loss of area in these pinch points would disproportionately compromise connectivity (Castilho et al. 2015). -Gallo, J.A. 2019. Video: Software for prioritizing habitat linkages based on climate gradients, climate analogs, or a balanced blend. In Symposium: Meeting global connectivity targets. International Congress of Conservation Biology. Kuala Lampur, Malaysia. July 25. +![img](/assets/img/lm3.png) +Pinchpoint mapper output and Habitat Concentration Areas (HCAs) for white-tailed jackrabbit (Lepus townsendii). [Link here for the Interactive Map.](https://databasin.org/maps/2147e6fa4419481f803ff916b5cd7b9f/active) +### **Barrier Mapper** -Gallo, JA, J. Strittholt, G. Joseph, H. Rustigian-Romsos, R. Degagne, J. Brice, and A. Prisbrey.2019. Mapping Habitat Connectivity Priority Areas that are Climate-wise and Multi-scale,for Three Regions of California. Conservation Biology Institute. March. +Once linkages are created using the Linkage Pathways tool, or Climate Linkage Mapper, Barrier Mapper quantifies the importance of “barriers” that affect the quality and/or location of the corridors (McRae 2012c). The term “barriers” is used in a general way and includes portions of a landscape that are difficult to pass through for wildlife, but are not barriers in the formal sense of the term. In essence, they identify areas for restoration and mitigation. Much more detail is provided in a publication by McRae et al. (2012). +![img](/assets/img/barriermapper.png) +“Lek Kernals” (i.e. HCAs) for greater sage grouse as well as linkages, linkage barriers, and restoration opportunities [Link here for the Interactive Map,](https://databasin.org/maps/c897306da2d94c558fbe8bc79e93a035/active) …[and Gallery derived from Jones (2015)](https://databasin.org/galleries/843cdce2d4fc419da0d4587950c20de2) -Jones, A. 2015. [Mapping Habitat Connectivity for Greater Sage-Grouse in Oregon’s Sage-Grouse -Conservation Partnership (SageCon) Assessment Area.](https://databasin.org/documents/documents/914b7516f6b042fab105117d318eb702/download/) Produced by The Nature Conservancy (Portland OR) in -partial fulfillment of BLM Cooperative Agreement L12AC20615 +### **Centrality Mapper** +Once corridors have been mapped using Linkage Pathways or Climate Linkage Mapper, Centrality Mapper analyzes the resulting linkage networks, calculating “current flow centrality” across the networks (McRae 2012b). Current flow centrality is a measure of how important a linkage is for keeping the overall network connected. It utilizes Circuitscape to implement this circuit theory approach. According to Dutta et al. (2015), Centrality Mapper treats each core as a “node”, each linkage as a single resistor, and assigns a resistance equal to the cost-weighted distance of the corresponding least-cost corridor. It then iterates through all core area pairs, injecting 1 amp of current into one core area and setting the other to ground. It then adds up current flow for each core and linkage to generate a map of cumulative current flow, indicating the importance of each linkage in maintaining connectivity across the entire network of cores, and can be considered as a measure of linkage and core centrality. +![img](/assets/img/lm5.png) -Kavanagh DM, Nuñez TA, McRae BH. 2012. Climate linkage mapper connectivity analysis software. The Nature Conservancy, Seattle WA. Available from . +Centrality of Linkages and Habitat Concentration Areas (HCAs) for white-tailed jackrabbit (Lepus townsendii). [Link here for the Interactive Map.](https://databasin.org/maps/fbf173ac249e4f689d095b2696b3c923/active) +### **Linkage Priority Tool** (New in v2.0) +The Linkage Priority Tool was implemented to help quantify the relative conservation priority of each linkage in a landscape. Linkage Priority Tool is based on weighted combinations of many factors (Diagram 1). The lower set of factors in the diagram estimate the relative value of the two cores at either end of a linkage. Core priority is is evaluated on the shape, mean resistance value, size, and expert opinion. Users can also include climate by giving a higher value to cores with higher potential to serve as climate refugia. The Tool calculates relative value for every core, and the average value of the two cores associated with each linkage. This then becomes one of the factors determining linkage priority. Hence, a linkage which connects two really important core areas is a higher conservation priority than one that connects two marginal core areas. The average core area value of the two cores of a linkage is then combined with the other higher level factors that relate directly to linkage priority, including the permeability of each linkage (i.e., the mean resistance values along the least cost path), the proximity of the two cores, the centrality, and expert opinion if available. Users can also include climate signature difference between two cores, giving higher priority to linkages that span a climate gradient, facilitating species range shifts. The tool provides the option of using the difference between the current climate signature of the cooler core, and the future climate signature of the hotter core, to simulate the climate gradient that slow moving species will encounter. (See below figure). A detailed user guide is provided online (Gallo & Greene 2018) and the draft presentation of this material to the International Congress in Conservation Biology is provided as a video (Gallo, 2019). (This presentation has an emphasis on the new climate functionality of version 3.0 Beta) -Littlefield CE, McRae BH, Michalak JL, Lawler JJ, Carroll C. 2017. [Connecting today’s climates to future climate analogs to facilitate movement of species under climate change.](http://dx.doi.org/10.1111/cobi.12938) Conservation Biology: the Journal of the Society for Conservation Biology 31:1397–1408. +![img](/assets/img/lm6.png) +Diagram 1: Conceptual diagram of the Linkage Priority Tool. Optional climate wise features have a dashed line. +### **Synthesis of Tool Outputs** -McRae BH. 2012a. Pinchpoint Mapper Connectivity Analysis Software. The Nature Conservancy, Seattle, WA. Available from +The Linkage Priority Tool has been applied in at least eight regions, and in these cases, combined with several other Linkage Mapper tool outputs to create synthesis products. Three of these regions are reported on in Gallo et al. (2019). They synthesized Linkage Priority output with Linkage Pathways and Pinchpoint Mapper outputs. They did this for focal species, for structural connectivity, and also perfomred a metasyntheis of focal species and structural connectivity syntheses. An example is shown below. +![img](/assets/img/lm7.png) +A synthesis of Linkage Mapper outputs to provide an estimate of connectivity conservation priorities for American badger (Taxidea taxus), in the Sacramento Valley. Core areas are in grey, with relative core area value mapped (Gallo et al. 2019). [Link here for the Interactive Map.](https://databasin.org/maps/a79bb15434a24871ba70bdf68e5c7249/active) +In this report, climate was considered in three ways in determining priority: (1) quantifying which linkages best facilitated long-term species range shifts, (2) which core areas provided more projected climate stability, and (3) which core areas contained more climate micro-refugia for withstanding climate change. In a report under review, Barrier Mapper output is combined with outputs from Linkage Priority, Pinchpoint Mapper, and Linkage Pathways to map the connectivity restoration priorities of a region. -McRae BH. 2012b. Centrality Mapper Connectivity Analysis Software. The Nature Conservancy, Seattle WA. Available from +![American badger on the move](/assets/img/lm8.jpg) +An American badger on the move (photo by James Maughn). +### **References** -McRae BH. 2012c. Barrier Mapper Connectivity Analysis Software. The Nature Conservancy, Seattle, WA. Available from +Castilho CS, Hackbart VCS, Pivello VR, dos Santos RF. 2015. Evaluating Landscape Connectivity for Puma concolor and Panthera onca Among Atlantic Forest Protected Areas. Environmental management 55:1377–1389. [http://dx.doi.org/10.1007/s00267-015-0463-7](http://dx.doi.org/10.1007/s00267-015-0463-7) +Dutta T, Sharma S, McRae BH, Roy PS, DeFries R. 2015. [Connecting the dots: mapping habitat connectivity for tigers in central India.](http://link.springer.com/article/10.1007/s10113-015-0877-z) Regional Environmental Change 16:53–67. Springer Berlin Heidelberg. +Gallo JA, Greene R. 2018. Connectivity Analysis Software for Estimating Linkage Priority. Conservation Biology Institute, Corvallis, OR. [http://dx.doi.org/10.6084/m9.figshare.5673715](http://dx.doi.org/10.6084/m9.figshare.5673715) -McRae BH, Dickson BG, Keitt TH, Shah VB. 2008. [Using circuit theory to model connectivity in ecology, evolution, and conservation.](https://www.ncbi.nlm.nih.gov/pubmed/18959309) Ecology 89:2712–2724. +Gallo, J.A. 2019. Video: Software for prioritizing habitat linkages based on climate gradients, climate analogs, or a balanced blend. In Symposium: Meeting global connectivity targets. International Congress of Conservation Biology. Kuala Lampur, Malaysia. July 25. [https://doi.org/10.6084/m9.figshare.9161864](https://doi.org/10.6084/m9.figshare.9161864) +Gallo, JA, J. Strittholt, G. Joseph, H. Rustigian-Romsos, R. Degagne, J. Brice, and A. Prisbrey.2019. Mapping Habitat Connectivity Priority Areas that are Climate-wise and Multi-scale,for Three Regions of California. Conservation Biology Institute. March. [https://doi.org/10.6084/m9.figshare.7477532](https://doi.org/10.6084/m9.figshare.7477532) +Jones, A. 2015. Mapping Habitat Connectivity for Greater Sage-Grouse in Oregon’s Sage-Grouse +Conservation Partnership (SageCon) Assessment Area. Produced by The Nature Conservancy (Portland OR) in +partial fulfillment of BLM Cooperative Agreement L12AC20615 -McRae BH, Hall SA, Beier P, Theobald DM. 2012. [Where to restore ecological connectivity? Detecting barriers and quantifying restoration benefits.](http://dx.doi.org/10.1371/journal.pone.0052604) PloS one 7:e52604. journals.plos.org. +Kavanagh DM, Nuñez TA, McRae BH. 2012. Climate linkage mapper connectivity analysis software. The Nature Conservancy, Seattle WA. Available from [http://www.circuitscape.org/linkagemapper](http://www.circuitscape.org/linkagemapper). +Littlefield CE, McRae BH, Michalak JL, Lawler JJ, Carroll C. 2017. [Connecting today’s climates to future climate analogs to facilitate movement of species under climate change.](http://dx.doi.org/10.1111/cobi.12938) Conservation Biology: the Journal of the Society for Conservation Biology 31:1397–1408. +McRae BH. 2012a. Pinchpoint Mapper Connectivity Analysis Software. The Nature Conservancy, Seattle, WA. Available from [http://www.circuitscape.org/linkagemapper](http://www.circuitscape.org/linkagemapper) -McRae BH, Kavanagh DM. 2011. Linkage Mapper Connectivity Analysis Software. The Nature Conservancy, Seattle, WA. Available from +McRae BH. 2012b. Centrality Mapper Connectivity Analysis Software. The Nature Conservancy, Seattle WA. Available from [http://www.circuitscape.org/linkagemapper](http://www.circuitscape.org/linkagemapper) +McRae BH. 2012c. Barrier Mapper Connectivity Analysis Software. The Nature Conservancy, Seattle, WA. Available from [http://www.circuitscape.org/linkagemapper](http://www.circuitscape.org/linkagemapper) +McRae BH, Dickson BG, Keitt TH, Shah VB. 2008. [Using circuit theory to model connectivity in ecology, evolution, and conservation.](https://www.ncbi.nlm.nih.gov/pubmed/18959309) Ecology 89:2712–2724. -McRae B, Shah V. 2009. Circuitscape User Guide. University of California, Santa Barbara. Available from: +McRae BH, Hall SA, Beier P, Theobald DM. 2012. [Where to restore ecological connectivity? Detecting barriers and quantifying restoration benefits.](http://dx.doi.org/10.1371/journal.pone.0052604) PloS one 7:e52604. journals.plos.org. +McRae BH, Kavanagh DM. 2011. Linkage Mapper Connectivity Analysis Software. The Nature Conservancy, Seattle, WA. Available from [http://www.circuitscape.org/linkagemapper.](http://www.circuitscape.org/linkagemapper.) +McRae B, Shah V. 2009. Circuitscape User Guide. University of California, Santa Barbara. Available from: [http://www.circuitscape.org](http://www.circuitscape.org) -Nuñez TA, Lawler JJ, McRae BH, Pierce DJ, Krosby MB, Kavanagh DM, Singleton PH, Tewksbury JJ. 2013. [Connectivity planning to address climate change.](http://dx.doi.org/10.1111/cobi.12014) Conservation Biology: the Journal of the Society for Conservation Biology 27:407–416. Wiley Online Library. +Nuñez TA, Lawler JJ, McRae BH, Pierce DJ, Krosby MB, Kavanagh DM, Singleton PH, Tewksbury JJ. 2013. [Connectivity planning to address climate change.](http://dx.doi.org/10.1111/cobi.12014) Conservation Biology: the Journal of the Society for Conservation Biology 27:407–416. Wiley Online Library. Note: Most, if not all of these are available to Linkage Mapper users as .pdfs, upon request. - -. diff --git a/links.md b/links.md deleted file mode 100644 index bd44df4..0000000 --- a/links.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page -title: Links ---- - -**Check out these great resources for the latest on tools and connectivity conservation strategies:** - -* [Corridor Design website](http://www.corridordesign.org/) - -* [Conservation Corridor blog](http://www.conservationcorridor.org/) - -* [Connecting Landscapes website](http://connectinglandscapes.org/) - diff --git a/more-tools.md b/more-tools.md deleted file mode 100644 index 574d741..0000000 --- a/more-tools.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: page -title: More Tools ---- -* Linkage Mapper automates least-cost corridor modeling among large numbers of core areas. It now uses Circuitscape to identify pinch points within least-cost corridors and to analyze linkage network centrality. - -* Need to create resistance or core area layers? Check out the new Gnarly Landscape Utilities. - -* See the Links page for external websites that track the latest in connectivity modeling. - diff --git a/omniscape.md b/omniscape.md deleted file mode 100644 index 6d795d6..0000000 --- a/omniscape.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: external -title: Omniscape -external_url: https://docs.circuitscape.org/Omniscape.jl/latest/ ---- - -[Omniscape](https://docs.circuitscape.org/Omniscape.jl/latest/) diff --git a/publications.md b/publications.md new file mode 100644 index 0000000..b803310 --- /dev/null +++ b/publications.md @@ -0,0 +1,24 @@ ++++ +title = "Publications" ++++ + +## Publications about Circuitscape + +* Brett G. Dickson, Christine M. Albano, Ranjan Anantharaman, Paul Beier, Joe Fargione, Tabitha A. Graves, Miranda E. Gray, Kimberly R. Hall, Josh J. Lawler, Paul B. Leonard, Caitlin E. Littlefield, Meredith L. McClure, John Novembre, Carrie A. Schloss, Nathan H. Schumaker, Viral B. Shah, and David M. Theobald. [Circuit‐theory applications to connectivity science and conservation. Conservation Biology (2018).](/pubs/Dickson_et_al_ConsBio.pdf), [Supplementary Material](https://onlinelibrary.wiley.com/action/downloadSupplement?doi=10.1111%2Fcobi.13230&file=cobi13230-sup-0001-SuppMat.docx). For a database of papers cited in this review along with a brief description of each of them, [click here](/pubs/CSreview.xlsx) +* McRae, B.H., V.B. Shah, and A. Edelman. 2016. [Circuitscape: Modeling Landscape Connectivity to Promote Conservation and Human Health. The Nature Conservancy, Fort Collins, CO. 14 pp.](/pubs/circuitscape_whitepaper.pdf) +* McRae, B.H., B.G. Dickson, T.H. Keitt, and V.B. Shah. 2008. [Using circuit theory to model connectivity in ecology and conservation. _Ecology_ 10: 2712-2724.](/pubs/McRae_et_al_2008_Ecology.pdf) +* Shah,V.B. and B.H. McRae. 2008. [Circuitscape: a tool for landscape ecology. In: G. Varoquaux, T. Vaught, J. Millman (Eds.). Proceedings of the 7th Python in Science Conference (SciPy 2008), pp. 62-66.](/pubs/Shah_McRae_Circuitscape_Python_Scipy08.pdf) +* McRae, B.H. and P. Beier. 2007. [Circuit theory predicts Gene flow in plant and animal populations. _Proceedings of the National Academy of Sciences of the USA_ 104:19885-19890.](/pubs/McRae_Beier_2007_PNAS.pdf) +* Shah, V.B. 2007. [An Interactive System for Combinatorial Scientific Computing with an Emphasis on Programmer Productivity. PhD thesis, University of California, Santa Barbara.](/pubs/Shah_thesis_2007.pdf) +* McRae, B.H. 2006. [Isolation by resistance. _Evolution_ 60:1551-1561.](/pubs/McRae_2006_IBR_Evolution.pdf) + + +## Publications using Circuitscape + +* [Papers using Circuitscape.](https://scholar.google.com/scholar?cites=9518024834481013047&as_sdt=40000005&sciodt=0,22&hl=en) + +## Mass media + +* [Scientist Employs Circuit Theory to Protect Endangered Species](https://www.wired.com/2007/12/dissection-1210/) in Wired magazine, by Carl Zimmer +* [Circuitous Routes](https://www.conservationmagazine.org/2008/07/circuitous-routes/) in Conservation Magazine, by Eric Wagner +* “Where the wild things are” in [UC Santa Barbara Convergence](https://issuu.com/convergence/docs/convergence-10) magazine, by Anna Davison diff --git a/pubs.md b/pubs.md deleted file mode 100644 index 80d68f0..0000000 --- a/pubs.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: page - -title: Publications ---- - -## Publications about Circuitscape - -- Brett G. Dickson, Christine M. Albano, Ranjan Anantharaman, Paul Beier, Joe Fargione, Tabitha A. Graves, Miranda E. Gray, Kimberly R. Hall, Josh J. Lawler, Paul B. Leonard, Caitlin E. Littlefield, Meredith L. McClure, John Novembre, Carrie A. Schloss, Nathan H. Schumaker, Viral B. Shah, and David M. Theobald. [Circuit‐theory applications to connectivity science and conservation. Conservation Biology (2018).](pubs/Dickson_et_al_ConsBio.pdf), [Supplementary Material](https://onlinelibrary.wiley.com/action/downloadSupplement?doi=10.1111%2Fcobi.13230&file=cobi13230-sup-0001-SuppMat.docx). For a database of papers cited in this review along with a brief description of each of them, [click here](pubs/CSreview.xlsx) -- McRae, B.H., V.B. Shah, and A. Edelman. 2016. [Circuitscape: Modeling Landscape Connectivity to Promote Conservation and Human Health. The Nature Conservancy, Fort Collins, CO. 14 pp.](pubs/circuitscape_whitepaper.pdf) -- McRae, B.H., B.G. Dickson, T.H. Keitt, and V.B. Shah. 2008. [Using circuit theory to model connectivity in ecology and conservation. *Ecology* 10: 2712-2724.](pubs/McRae_et_al_2008_Ecology.pdf) -- Shah,V.B. and B.H. McRae. 2008. [Circuitscape: a tool for landscape ecology. In: G. Varoquaux, T. Vaught, J. Millman (Eds.). Proceedings of the 7th Python in Science Conference (SciPy 2008), pp. 62-66.](pubs/Shah_McRae_Circuitscape_Python_Scipy08.pdf) -- McRae, B.H. and P. Beier. 2007. [Circuit theory predicts Gene flow in plant and animal populations. *Proceedings of the National Academy of Sciences of the USA* 104:19885-19890.](pubs/McRae_Beier_2007_PNAS.pdf) -- Shah, V.B. 2007. [An Interactive System for Combinatorial Scientific Computing with an Emphasis on Programmer Productivity. PhD thesis, University of California, Santa Barbara.](pubs/Shah_thesis_2007.pdf) -- McRae, B.H. 2006. [Isolation by resistance. *Evolution* 60:1551-1561.](pubs/McRae_2006_IBR_Evolution.pdf) - -## Publications using Circuitscape - -- [Papers using Circuitscape.](https://scholar.google.com/scholar?cites=9518024834481013047&as_sdt=40000005&sciodt=0,22&hl=en) - -## Mass media - -- [Scientist Employs Circuit Theory to Protect Endangered Species](https://www.wired.com/2007/12/dissection-1210/) in Wired magazine, by Carl Zimmer -- [Circuitous Routes](https://www.conservationmagazine.org/2008/07/circuitous-routes/) in Conservation Magazine, by Eric Wagner -- "Where the wild things are" in [UC Santa Barbara Convergence](https://issuu.com/convergence/docs/convergence-10) magazine, by Anna Davison diff --git a/pubs/CSreview.xlsx b/pubs/CSreview.xlsx deleted file mode 100644 index 3c17cb3..0000000 Binary files a/pubs/CSreview.xlsx and /dev/null differ diff --git a/pubs/Dickson_et_al_ConsBio.pdf b/pubs/Dickson_et_al_ConsBio.pdf deleted file mode 100644 index 1310104..0000000 Binary files a/pubs/Dickson_et_al_ConsBio.pdf and /dev/null differ diff --git a/pubs/McRae_2006_IBR_Evolution.pdf b/pubs/McRae_2006_IBR_Evolution.pdf deleted file mode 100644 index b36adb5..0000000 Binary files a/pubs/McRae_2006_IBR_Evolution.pdf and /dev/null differ diff --git a/pubs/McRae_Beier_2007_PNAS.pdf b/pubs/McRae_Beier_2007_PNAS.pdf deleted file mode 100644 index c674e48..0000000 Binary files a/pubs/McRae_Beier_2007_PNAS.pdf and /dev/null differ diff --git a/pubs/McRae_et_al_2008_Ecology.pdf b/pubs/McRae_et_al_2008_Ecology.pdf deleted file mode 100644 index 5ff8d19..0000000 Binary files a/pubs/McRae_et_al_2008_Ecology.pdf and /dev/null differ diff --git a/pubs/Shah_McRae_Circuitscape_Python_Scipy08.pdf b/pubs/Shah_McRae_Circuitscape_Python_Scipy08.pdf deleted file mode 100644 index d643365..0000000 Binary files a/pubs/Shah_McRae_Circuitscape_Python_Scipy08.pdf and /dev/null differ diff --git a/pubs/Shah_thesis_2007.pdf b/pubs/Shah_thesis_2007.pdf deleted file mode 100644 index 35bcfda..0000000 Binary files a/pubs/Shah_thesis_2007.pdf and /dev/null differ diff --git a/pubs/circuitscape_whitepaper.pdf b/pubs/circuitscape_whitepaper.pdf deleted file mode 100644 index 3c2de51..0000000 Binary files a/pubs/circuitscape_whitepaper.pdf and /dev/null differ diff --git a/pubs/connecting_tiger_populations_india.pdf b/pubs/connecting_tiger_populations_india.pdf deleted file mode 100644 index 111b4c2..0000000 Binary files a/pubs/connecting_tiger_populations_india.pdf and /dev/null differ