Hi,
I am very happy to announce the release of Circuitscape 5.0.0, the next iteration of Circuitscape, which is written to be modern, fast and scalable. This project is open source and hosted on GitHub here:
https://github.com/Circuitscape/Circuitscape.jl
It runs up to 4x faster on our benchmark tests (all raster pairwise mode), and includes new features:
- Parallel runs on Windows! No more slow Circuitscape simulations in serial on Windows anymore. Take advantage of your entire system's compute power, no matter which platform (Windows, Mac or Linux)!
- New solver mode (cholmod) based on cholesky factorisation. For certain problem sizes runs up to 8x faster than the previous Circuitscape version. Use it by changing "solver = cholmod" in your INI file.
- Single precision support for even more speed (experimental feature). Single precision sacrifices precision for performance. If you're interested in sacrificing some accuracy for performance, you can try this mode! Use it by adding "precision = single" to your INI file.
Installation:
Install Circuitscape in two easy steps:
1. To install the new Circuitscape, you need to install the Julia language on your system. Go to
this link, and download the executable specific to your system:
a. If you're on Windows, double click on the installer and follow the instructions. Double click on the shortcut to launch the Julia prompt.
b. If you're on a Mac, download the .dmg file and copy the application to your /Applications/ folder. Double click on the .app to launch the julia prompt.
c. If you're on Linux, download the tar ball, and untar it. The julia binary is at UNTAR_FOLDER/bin/julia. Run it to launch the julia prompt.
2. Once you launch the Julia prompt, type `Pkg.add("Circuitscape")` and hit enter. This adds the Circuitscape package to your Julia environment.
That's it! Circuitscape is now installed on your system.
Usage:
At the julia prompt, you must load the Circuitscape package into your workspace by:
julia> using Circuitscape
Once you do this, you can use it by typing:
`compute("path/to/ini/file")` and hitting enter
The new Circuitscape is designed to work with all your old INI files, so feel free to use them!
Bug Reporting and Contributing:
Circuitscape is an open source project so contributions in terms of bug reports and code submissions are most welcome!
Bug reports can be submitted by opening a GitHub issue. Go to
this link, and click on "New Issue" and proceed to lay out the problem. I'll do my best to fix it as soon as I can! You should also feel free to open Issues for feature requests and new ideas as well!
Future Work:
I am currently hard at work putting together a UI with an installer together that would make the new Circuitscape even easier to use. I will announce here whenever that happens too.
Disclaimer: This project is still at an alpha stage, and there still may be bugs I may have missed. I can promise it will only get better with time, and bug reports and new tests are more than welcome.
Acknowledgements: Special thanks to the late Dr. Brad McRae, the original author of Circuitscape, for his initial help and whose legacy I hope to keep alive through my work, Dr. Viral Shah, Brad's collaborator on the project, and Dr. Kimberly Hall of the Nature Conservancy.
I'd love feedback on the project. Please feel free to post on this Google Group or on the GitHub issues.
I hope this software helps you and your work.
Thank you,
Ranjan Anantharaman