Circuitscape

From UFRC
Jump to navigation Jump to search

Description

CircuitScape website  

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.

Circuitscape has now been rewritten in Julia for better performance and scalability. Julia is a modern open-source language for scientific computing.

This work is based on the original Circuitscape project by Brad McRae, Viral B. Shah and Tanmay Mohapatra.

Environment Modules

Load the 'julia' environment module.

Additional Information

$ echo "insecure" >> ~/.curlrc

$ module load julia

$ julia

julia> using Pkg

julia> Pkg.add("Circuitscape")

At this point Circuitscape is installed. You can run it interactively in a Development and Testing session or in a scheduled job. Here's an example job script.

#!/bin/bash
#SBATCH --job-name=cs5
#SBATCH --mail-type=END,FAIL
#SBATCH --mail-user=jbaecher@ufl.edu
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
#SBATCH --mem=4gb
#SBATCH --time=01:00:00
#SBATCH --output=cs5_%j.log
pwd; hostname; date

module load julia

export JULIA_NUM_THREADS=4

julia run.jl

date

where a julia script to execute an analysis defined in an ini file could similar to the following

using Circuitscape

compute("examples/four_neighbor_example.ini")

Note that multiple workers can also be used depending on your analysis by using julia's process parallelization:

E.g.

julia -p 8 run.jl