Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    linhunt
    @linhunt
    image.png
    Hey Vincent, have you ever seen this error (the above) image, I had just successfully run omniscape and was trying to load a different file and I got this error message
    16 replies
    joncjones
    @joncjones
    Hello all - just thinking of computer hardware requirements, especially when dealing with large datasets (100m cells+). This has been touched on in various threads and Vincent has already suggested one possible route, Microsoft Azure. Another option is of course a standalone machine that 'has what it takes'... But what would this machine look like ? Would it need to be optimised for no. of processor cores (+threads), RAM or just clock speed ? Or all of the above ! My previous Omniscape use has been on dual Xeon Gold machines @ 2GHz with 192GB RAM. My jobs take days to run on this, even if I increase block size or reduce resolution. My goal is to run our model at 20m resolution (1.4bn cells). We have been looking at something like this spec to keep costs down - will this do it or do we 'need a bigger boat' ? [AMD Ryzen Threadripper Series 3975WX @3.5GHz (32 cores/64 threads) with 1TB RAM]. Thanks !
    5 replies
    Lauren
    @mckla
    Does anyone have any tips for understanding the cumulative current values in output cumulative current raster as well as the equations used to generate them? I understand that Omniscape helps us visualize corridors of movement based on resistance, but now I am trying to understand the actual numbers (cumulative current) and how they are directly related to the pixel values associated with source weight and resistance. I understand (to some degree) the theory behind this work which helps me understand/interpret the products of Omniscape, but I want to understand the background algorithms that create that output! Sorry if this is incomprehensible and any help is appreciated!
    4 replies
    Lauren
    @mckla
    Is anyone interested in forming an Omniscape working group? I would love to hear about what other folks are working on over zoom and we could help each other trouble shoot!
    26 replies
    Lauren
    @mckla
    My team is running many omniscape runs on different species and were hoping to combine the outputs to find overlapping corridors. Do folks think it makes sense to rescale all the omni outputs to 1-100 values and then sum them together? Or are there any other feasible methods for combining omniscape outputs (specifically cumulative current)?
    4 replies
    Lauren
    @mckla
    Potentially quick question! When you run omniscape, are the resistance values associated with target/ground pixels included in the calculation?
    3 replies
    Amanda T.
    @amatem
    Hi all, this is a tidal wave of Circuitscape questions (sorry and thanks!). I am working with land managers in my region to leverage Circuitscape/Omniscape to help inform their management decisions for wildlife. In Circuitscape what are the differences between the pairwise mode and the one-to-all mode in terms of the cumulative current outputs? (the difference in appearance and current values, but also differences in terms of project application primarily). From my understanding, pairwise activates a pair of nodes at independent times whereas one-to-all activates a single source at a time but to all other grounds simultaneously and does this iteratively with all focal nodes. Would the cumulative outputs of these options be very different from one another? Is there a better way to articulate to new users why they would choose to use one option over the other? Also if we wanted to present the most "neutral" cumulative connectivity output to a land manager who does not know whether certain minimum patch locations represent sources or grounds (i.e. cannot assign nodes based on wildlife demographics, restoration areas, or based on habitat quality), would pairwise be the appropriate option to present in this scenario? Would you say the Circuitscape pairwise or the one-to-all options act similarly to Omniscape's default sourcing options (minus the moving window)?
    6 replies
    Amanda T.
    @amatem
    Regarding Circuitscape INI file convention. Does the [Version] line in the INI file need to be specified, i.e. as the latest 5.x.x? If I've updated and used the latest Circuitscape.jl package will Julia recognize the latest version and supersede any version number specified in the INI (I currently left my versions as 4.0.5 following an example INI I found on the web and it seemed to run fine using the CHOLMOD solver, but just making sure)? Thanks (I'm new to this)
    3 replies
    Amanda T.
    @amatem
    Regarding Circuitscape INI file and parallelization: Last one for today I promise... (thank you everyone). I read that Circuitscape.jl natively runs parallelization, but are there recommendations for what to set for #cores/threads, and for the INI file max_parallel when parallelize= TRUE? I'm wondering what max_parallel means exactly.
    6 replies
    linhunt
    @linhunt
    Hi, I just installed Julia and Omniscape on a new "super computer" and when I rent to run the script from the example I got this error about the read_raster command. ERROR:UndefVarError: read_raster not defined....not sure what to do
    15 replies
    Brian Cohen
    @bcohen27
    image.png
    Hi, I just installed Julia (1.6.1) and am walking through the example code and received the above error.
    image.png
    When I attempt to run Omniscape in Julia, I receive the above error. Curiously I am able to use Omniscape via a Python script using the same inputs without error, so I think the .tifs I am using as inputs are valid.
    Brian Cohen
    @bcohen27
    image.png
    My config file in case that helps with the debugging.
    3 replies
    Vincent Landau
    @vlandau

    Updates to Omniscape.jl -- v0.5.0 released today!

    Hi all, @ranjanan has recently made a lot of progress on Circuitcape, including support for the faster (but more memory-intensive) CHOLMOD solver for advanced mode in Circuitscape, which is the mode used by Omniscape. I've subsequently issued a new minor release of Omniscape that allows you to take advantage of the CHOLMOD solver when using Omniscape. You can now tell Omniscape to use the CHOLMOD solver by adding solver = cholmod to your INI file.

    CHOLMOD does use quite a bit more memory than the default CG+AMG solver, but it can cut compute time by up to 50% or more. Because each individual solve in Omniscape is a small moving window, you typically won't encounter memory issues when using the CHOLMOD solver until your moving window radius is in the thousands of pixels. If that is the case, you may hit OutOfMemoryerrors, in which case you should fall back to the default CG+AMG solver.

    To update Omniscape, run using Pkg; Pkg.update("Omniscape") in your Julia terminal. As always, post a message here or create an issue on GitHub if you run into any problems!

    -- Vincent

    Brian Cohen
    @bcohen27
    image.png
    Worked! Thanks Vincent.
    1 reply
    ekbuch
    @ekbuch
    Hey Vincent - this is awesome about the CHOLDMOD! For me, in Julia v1.5.2 when I use Pkg.update("Omniscape") and then check the Pkg.status it still says Omniscape v0.4.4. Could be a simple fix if it works with Julia v1.6 but I am currently having issues installing Omniscape in Julia 1.6 (admin privileges/work computer stuff is likely the issue).
    4 replies
    ekbuch
    @ekbuch
    image.png
    linhunt
    @linhunt
    image.png
    Amanda T.
    @amatem
    Julia-related error: Not sure if this is specific to the CHOLMOD solver, the version of Circuitscape or Julia in general but I received the following error after running ~ 5000 pair solves using pairwise mode. I previously haven't had issues generating results with this many solves in the past, so I'm curious what went wrong here. Thanks! (image below)
    image.png
    3 replies
    Amanda T.
    @amatem
    Capture2.PNG
    Lauren
    @mckla
    Does anyone know how much ram per thread we need for Omni? Our IT folks say they have 128 gigs each!
    8 replies
    Guillaume Larocque
    @glaroc
    Hi, I seem to be semi-randomly getting errors like this in Omniscape. Do you know if there is anything I can do to prevent those ? Screenshot from 2021-07-08 15-03-07.png
    11 replies
    Lauren
    @mckla

    Regarding the current version of Omni - Is the total current leaving a source affected by movement difficulty or does it just flow along the best route possible, even if that route crossed strong barriers? (question adopted from McRae Et Al 2016 page 30).

    The alternative being that "Flow from sources [is] scaled with cost distance or effective resistance, so that current [is] diminished between sources and targets separated by strong barriers (30).

    6 replies
    Lauren
    @mckla

    One more! In the Omni docs the algorithm is said to "set [the target pixel] to ground, and the source pixels are set as current sources. The total amount of current injected is equal to the source strength of the target pixel, and is divvied up among the source pixels in proportion to their source strengths".

    I am hoping to understand this concept of divvying up current a little more!
    If a target pixel has a source strength of 1 and has two source pixels in it's moving window with source strengths of 1 and .75, how much current will those sources receive?

    2 replies
    linhunt
    @linhunt

    I am using version 1.5.4 because this is the version that is working on my other computers. I can successfully run Pkg.add("Omniscape") but get the below error when I give it the command using Omniscape

    image.png

    1 reply
    linhunt
    @linhunt
    Is anyone else getting an error message that says "The following unsupported arguments were provided and will be ignored"?
    9 replies
    ekbuch
    @ekbuch
    Hi all - is there any existing discussion or papers that dive more into the rationale behind quantile classifying (vs standard deviation, other transformations or classifications) for cumulative current density outputs? Or is anyone interested in discussing this more in depth in a group call? For context, I am looking at describing the distribution of certain features relative to the cumulative and normalized current densities, and working through what makes most sense - using the quantile classifications or some other approach.
    10 replies
    mtriska12
    @mtriska12
    Hi – I’ve been using Omniscape to identify potential intra-seasonal movement across my study area; however, we are also interested in inter-seasonal movement to identify potential migration routes. To complete this I need to specify different source and target pixels. Does anyone have any advice/experience in doing this? I searched previous conversations but did not find anything directly related to my question (apologies if I missed it).
    I appreciate any advice, feedback, or examples!
    2 replies
    Vincent Landau
    @vlandau

    Hello all. I wanted to announce a new Omniscape version, 0.5.2, that comes with improved error handling to enable us to more rapidly reproduce and debug errors that come up (e.g. issues Circuitscape/Omniscape.jl#99 and Circuitscape/Omniscape.jl#102). If you could update Omniscape to 0.5.2 once it is released (should be within an hour), that would be incredibly helpful for us, and it will also mean issues you run into can be resolved more quickly.

    To update Omniscape, in a fresh Julia session:

    using Pkg; Pkg.update("Omniscape")

    Then confirm you have version 0.5.2 with:

    Pkg.status("Omniscape")

    If you're not seeing 0.5.2 as the version, you may need to first remove your old installation of Omniscape and then reinstall it:

    Pkg.rm("Omniscape"); Pkg.add("Omniscape")
    Vincent Landau
    @vlandau
    Another announcement -- for those of you who've been experience any issue like Circuitscape/Omniscape.jl#99, there was just a new patch release for Circuitscape that fixes it. I have updated Omniscape's version requirement for Circuitscape, and issued a new patch release that enforces it, Omniscape 0.5.3. Please update to this latest version of Omniscape whenever convenient. Thanks!
    joncjones
    @joncjones
    Hello Vincent - hope all is well. Just a quick question - does Omniscape support multiprocessing (running on multiple nodes) ? I am still having this issue with larger runs and the HPCluster have agreed I can run across multiple nodes if Omniscape will let me...
    1 reply
    Lauren
    @mckla
    Seems like folks may be interested in another group meet up! Reply here if you are interested and we can get something on the books
    2 replies
    Lauren
    @mckla
    image.png
    When using focal areas instead of focal nodes in Circuitscape, do you just put a path to your area raster in the INI file under "point file = "?
    30 replies
    Steve Han
    @ammonite
    webwxgetmsgimg.png
    4 replies
    I just update to Omniscape v0.5.6
    Lauren
    @mckla
    This message was deleted
    1 reply
    ekbuch
    @ekbuch
    Hi all - if anyone is planning to attend the IALE-NA conference next year (or teetering on deciding whether to submit an abstract) I am facilitating an open symposium on connectivity. If you're interested and have research/methods/concept talk about connectivity (broadly defined), I encourage you to submit your abstract! It would be great to see some of your work. My goal is to pull together a diverse set of talks to get us all in the same room and cross-pollinate ideas and methods. More details available at https://www.ialena.org/symposia.html. Abstracts due next Friday (Dec 17). Feel free to contact me at ebuchholtz@usgs.gov if you have any questions.
    2 replies
    ChelseaVictoriaS
    @ChelseaVictoriaS
    Hi all! I'm new to Julia and Omiscape, I just want to check to see if I can do what I am hoping I can with Omniscape. I want to run a connectivity model from a known location of a species outwards into the landscape but not connecting to a known destination, just want to simulate the current and see where it leads! I'm hoping I can do this in Omniscape by using a source_file and setting the known location area cells as 1 and all others 0 would that work? Would be grateful for any help and advice you can give a novice! Thank you - Chelsea
    5 replies
    MillerJeju
    @MillerJeju
    Hi all - I am currently running Omniscape. By the way, I'm not sure about the difference between Circuitscape and Omniscape. When I red at the article or other papers, the principle of operation is similar, but is it a big difference whether there is a habitat core or not? Also I want to check the corridor after the connectivity analysis, but is there any other method other than the McRae et al 2016 (Diffuse, Impeded, Intensified, Channeled) classification method after running Omniscape? Is it possible to combine linkage mapper? Thank you - Jihwan
    2 replies
    Josh Daskin
    @JoshDaskin_twitter
    Hi all,
    I was glad to find this site. I am building a series of statewide connectivity models in Omniscape. I have it running in julia with help of the very clear tutorial. Now, I am looking for some help interpreting outputs to fine-tune resistance layer inputs.
    In the cumulative current layer, the roads all have highly channelized flow. This surprises me, given that they are parameterized with much higher resistance than most surrounding lands. Why doesn't flow "avoid" these barriers?
    I do think I need to adjust the resistance so that low-traffic-volume roads are not as strong a barrier, but would like to understand why the channelizing instead of avoiding. Thanks!
    6 replies
    image.png
    Josh Daskin
    @JoshDaskin_twitter
    image.png
    WantingWa
    @WantingWa

    Hi all! I'm new to Julia and Omniscape, and I have some questions about the installation of Omniscape. I had Julia v1.5.4, and I installed Omniscape according to the tutorial (i.e., using Pkg; Pkg.add(["Omniscape", "Rasters", "Plots"])). However, when I ran the Examples of the tutorial, I got an error message. I guessed it was because of its version (Omniscape v0.1.4), so I tried to update the version of Omniscape to v0.5.0. But it seemed that I had failed. I would like to know the reason for receiving this error message? And how can I upgrade the version? Would be grateful for any help and advice you can give a novice!

    Julia> land_cover, wkt, transform = Omniscape.read_raster("nlcd_2016_frederick_md.tif", Float64)
    ERROR: UndefVarError: read_raster not defined
    Stacktrace:
    [1] getproperty(::Module, ::Symbol) at .\Base.jl:26
    [2] top-level scope at REPL[38]:1

    julia> Pkg.add(name="Omniscape")
    Resolving package versions...
    Updating C:\Users\Evelyna\.julia\environments\v1.5\Project.toml
    [a38d70fc] + Omniscape v0.1.4
    Updating C:\Users\Evelyna\.julia\environments\v1.5\Manifest.toml
    [a38d70fc] + Omniscape v0.1.4

    julia> Pkg.update("Omniscape")
    Updating registry at C:\Users\Evelyna\.julia\registries\General
    No Changes to C:\Users\Evelyna\.julia\environments\v1.5\Project.toml
    No Changes to C:\Users\Evelyna\.julia\environments\v1.5\Manifest.toml

    julia> Pkg.status("Omniscape")
    Status C:\Users\Evelyna\.julia\environments\v1.5\Project.toml
    [a38d70fc] Omniscape v0.1.4

    julia> Pkg.rm("Omniscape"); Pkg.add(name = "Omniscape", version = "0.5.0")
    Updating C:\Users\Evelyna\.julia\environments\v1.5\Project.toml
    [a38d70fc] - Omniscape v0.1.4
    Updating C:\Users\Evelyna\.julia\environments\v1.5\Manifest.toml
    [a38d70fc] - Omniscape v0.1.4
    Resolving package versions...
    ERROR: Unsatisfiable requirements detected for package ArchGDAL [c9ce4bd3]:
    ArchGDAL [c9ce4bd3] log:
    ├─possible versions are: [0.1.0, 0.2.0-0.2.2, 0.3.0-0.3.3, 0.4.0-0.4.1, 0.5.0-0.5.3, 0.6.0, 0.7.0-0.7.4, 0.8.0, 0.8.2-0.8.5, 0.9.0] or uninstalled
    ├─restricted by compatibility requirements with Rasters [a3a2b9e3] to versions: [0.7.0-0.7.4, 0.8.0, 0.8.2-0.8.5]
    │ └─Rasters [a3a2b9e3] log:
    │ ├─possible versions are: [0.1.0-0.1.1, 0.2.0-0.2.2] or uninstalled
    │ └─restricted to versions * by an explicit requirement, leaving only versions [0.1.0-0.1.1, 0.2.0-0.2.2]
    ├─restricted by julia compatibility requirements to versions: [0.1.0, 0.2.0-0.2.2, 0.3.0-0.3.3, 0.4.0-0.4.1, 0.5.0-0.5.3, 0.6.0, 0.7.0-0.7.4] or uninstalled, leaving only versions: 0.7.0-0.7.4
    └─restricted by compatibility requirements with Omniscape [a38d70fc] to versions: [0.4.0-0.4.1, 0.5.0-0.5.3, 0.6.0] — no versions left
    └─Omniscape [a38d70fc] log:
    ├─possible versions are: [0.1.0-0.1.4, 0.2.0-0.2.2, 0.3.0, 0.4.0-0.4.4, 0.5.0-0.5.8] or uninstalled
    └─restricted to versions 0.5.0 by an explicit requirement, leaving only versions 0.5.0
    Stacktrace:
    [1] propagate_constraints!(::Pkg.Resolve.Graph, ::Set{Int64}; log_events::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Resolve\graphtype.jl:1005
    [2] propagate_constraints! at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Resolve\graphtype.jl:946 [inlined] (repeats 2 times)
    [3] simplify_graph!(::Pkg.Resolve.Graph, ::Set{Int64}; clean_graph::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Resolve\graphtype.jl:1460
    [4] simplify_graph! at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Resolve\graphtype.jl:1460 [inlined] (repeats 2 times)
    [5] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Operations.jl:375
    [6] targeted_resolve at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Operations.jl:1114 [inlined]
    [7] tiered_resolve(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Ope

    2 replies