Riverscapes / pyBRAT

pyBRAT - Beaver Restoration Assessment Tool (Python)
http://brat.riverscapes.xyz
GNU General Public License v3.0
10 stars 10 forks source link

Some ideas for changes to Conflict Model #16

Closed joewheaton closed 6 years ago

joewheaton commented 6 years ago

Background I would like to see our management model improved. Currently, we use the following lines of evidence:

We use the above to calculate a probability of conflict based on notion that the closer you are the higher the potential for conflict (simple transform function between distance and probability). We calculate this independently for each of these, but then just go with max probability (or worse of most conservative).

What we'd like I'd like to see us separate out: What are the potential impacts:

What are the tolerances for beaver or mitigation: Could be:

To get started:

Discussion Ideas 👍

joewheaton commented 6 years ago

@bangen and Scott Shahveridan I know have done a lot on this. Sara tie your commit histories to this issue please and provide update.

bangen commented 6 years ago

@joewheaton @wally-mac I made some edits to Scott's slides. They're attached below.

Scott did an awesome job reworking the management model. IMO, it's a huge improvement over the previous version and should be our starting point moving forward.

From the runs for the 5 basins in the Sierra Nevada I found there are some gaps/missing categories for:

A few things to note:

I attached a kmz below for the Truckee

I was going to tag Scott here, but appears he isn't on Git?

BRAT_mgmt_new_categories.pptx

BRAT_ManagementModel_Truckee_051818_version..zip

wally-mac commented 6 years ago

@bangen Scott is now on Gihub @sshahverdian

joewheaton commented 6 years ago

I'm just now digesting some of @sshahverdian and @bangen work on this for first time. Really, really cool.

joewheaton commented 6 years ago

I am realizing that the changes you made are both to the 'conflict' model, but more focused on the 'management model'. This is a good discussion. @bangen lets break this out into remaining specific enhancement tasks. Its really hard to know what changes you made through what commits to address this one (you can go back and edit your commits to add reference to #16 here)...

bangen commented 6 years ago

Just realized I posted this to the incorrect issue. Should have been to issue #17. I'll copy it there.

joewheaton commented 6 years ago

See also #69

wally-mac commented 6 years ago

@joewheaton, I know you have thought a lot more about the potential conflict side of the BRAT model over the past couple of months. Can you please add your comments here or in a new ticket for our staff meeting next week (Week of July 22)? Thanks

joewheaton commented 6 years ago

Okay folks, the video below is my stab at the next step for changes to the conflict model. Please note that this includes many of the concepts we thrashed out above. Some highlights:

Video: https://youtu.be/gpVwMSp59Ys

This is a HIGH PRIORITY as until this is refined, we should not be batching through runs! Lets get going on this.

banderson1618 commented 6 years ago

I've made a branch for implementing these changes, with the name "new_conflict_model". I'd like to ask @bangen (and anyone else who ends up working on this) to work on that branch, so that the rapidly changing and probably buggy code that gets pushed doesn't affect the master branch.

banderson1618 commented 6 years ago

Given the goals of this, would it make sense to implement the new conflict (or whatever we're calling it) as an optional tool that can be run after everything else? You mentioned putting it in the "Intermediates" category, but that's also misleading, because it's not intermediate to anything. Maybe we have a new category, called "Supplemental Outputs" or something like that, which could contain the conflict stuff?

banderson1618 commented 6 years ago

It seems to me that there are some structural questions we should ask about this. What if we generated oPC_Score in the Conversation and Restoration Model (since it uses conflict as an input), and then have the conflict map that @joewheaton produced as an optional step? I'd appreciate thoughts on this, since it's hard to move forward on development without a clear idea of what the end product should look like.

wally-mac commented 6 years ago

@joewheaton, I just watched your video on your new approach to visualizing potential human-beaver conflict and I think it is spot on. Excellent work! @banderson1618, I think you also bring up some excellent follow up questions for Joe. I'd be very interested to hear what Joe thinks of your ideas. Also, I think we need some clearer "marching orders" in order to effectively address this very high priority task. What has been done? What is left to still "iron out? Who should be working on what components ? Let's keep the thoughts on this flowing...

wally-mac commented 6 years ago

@Albonicomt please read through this thread and watch Joe's video and work with @banderson1618 to come up with some solutions. Thanks!

bangen commented 6 years ago

Joe, I like the direction you want to take this. Several tasks are pretty straight-forward, but the more major changes are going to require more in the weeds detail.

Thoughts/Feedback

I agree with @banderson1618 that not all of these layers belong in 'Intermediates'. Distance to crossing/canal/road and land use intensity are intermediates (directly derived from inputs). The other 3 layers (areas of potential undesirable impacts from beaver, proximity of water course to human activities, potential source areas) are all outputs derived from those intermediates should be in the 'Outputs' folder.

Doing away with 'Probability of Conflict' as primary output

Easy enough. I'm more than happy to throw out 'probability' since it's not a 'true' statistical probability (just a transform function).

Areas of Potential Undersirable Impacts from Beaver

Not so straightforward in that we need to fine-tune the logic and thresholds

Potential Source Areas for Beaver to Translocate

Here are the living with beaver categories and the conditional logic in the management model:

Living with Beaver (Low Source)

Living with Beaver (High Source)

Some questions:

Distance from Infrastructure Layers

joewheaton commented 6 years ago

Sorry for late response here @banderson1618: *** IN PROGRESS

It seems to me that there are some structural questions we should ask about this. What if we generated oPC_Score in the Conversation and Restoration Model (since it uses conflict as an input), and then have the conflict map that @joewheaton produced as an optional step? I'd appreciate thoughts on this, since it's hard to move forward on development without a clear idea of what the end product should look like.

Good point. We are talking about adding some additional attribute fields to a table. I don't know what table (or shapefile) makes the most sense to be honest. I'm fine with this whole 'Human Beaver Conflict' folder getting run in an 'optional' thing, and I like it having its own shapefile. All we need is to preserve a reachID so we can do a spatial join to the other original BRAT table. I think we've gotten a little stumbled up by trying to keep everything in one shapefile and its attribute table. So my suggestions here are: Make a new shapefile called AnthroConstraints.shp in the following path:

  1. MyBratProject\Intermediates\AnthroConstraints\AC001\ where AC0001 is an autopopulated index for what realization of this is being run.
  2. Build this shapefile with a new attribute field being defined for every one of the outupts I showed in video above, and don't forget to populate those as you go in documentation (see #129)
  3. Get rid of oPC_Score all together and replace with a oAC for output Anthropogenic Constraints, which will be categorical and the 'primary' output of this AnthroConstraints.shp shapefile. Its categories should be: