CircuitScape

Description

From the CircuitScape homepage: 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.

Version

  • 4.0.5

Authorized Users

  • CIRCE account holders
  • SC account holders

Platforms

  • CIRCE cluster
  • SC cluster

Modules

CircuitScape requires the following module file to run:

  • apps/python/2.7.5
  • See Modules for more information.

Running CircuitScape on CIRCE/SC

The CircuitScape user guide is essential to understanding the application and making the most of it. The guide and this page should help you to get started with your simulations. Please refer to the Documentation section for a link to the guide.

  • Note on CIRCE: Make sure to run your jobs from your $WORK directory!
  • Note: Scripts are provided as examples only. Your SLURM executables, tools, and options may vary from the example below. For help on submitting jobs to the queue, see our SLURM User’s Guide.

Running CircuitScape on CIRCE/SC - Batch Submission

The Circuitscape 4.0.5 package available on the cluster as a module for Python 2.7.5. To use it, you will need to load the module for Python 2.7.5 first, in order to set up your environment properly. Once the module is loaded, you can run Circuitscape from the command line using csrun.py and your Circuitscape configuration file:

[user@itn0 ~]$ module load apps/python/2.7.5 

[user@login0 ~]$ csrun.py name_of_file.ini 

To run jobs on that will need several cpus or run analysis for more than a few minutes, you will need to send them to one of the compute nodes on the cluster. To do so, you can use the following submit script as an example.

  • The script below (for testing, name it “cs-test.sh”) can be copied into your job directory (the folder with your input files) and modified so that you can submit batch processes to the queue. This example uses the generic "file.ini" as an input file, but you will need to update with the actual name for yours.
#!/bin/bash
#
#SBATCH --nodes=1 
#SBATCH --ntasks-per-node=6
#SBATCH --mem-per-cpu=1024
#SBATCH --job-name=circuitscape-test
#SBATCH --output=output.%j.cs-test
#SBATCH --time=02:00:00

#### SLURM 6 processor, 1 node CircuitScape test to run for 2 hours with a maximum of 6 GB of memory for the job.

module add apps/python/2.7.5

export OMP_NUM_THREADS=${SLURM_NTASKS} 

csrun.py file.ini

 
Next, you can change to your job’s directory, and run the sbatch command to submit the job:

[user@itn0 ~]$ cd my/jobdir
[user@itn0 jobdir]$ sbatch ./cs-test.sh
  • You can view the status of your job with the “squeue -u <username>” command

Documentation

Home Page, User Guides, and Manuals

More Job Information

See the following for more detailed job submission information:

Reporting Bugs

Report bugs with CircuitScape to the IT Help Desk: rc-help@usf.edu