Open violetteta8 opened 6 years ago
@USGSminc maybe this is something you could play with to learn a bit more about how the ratings are working in the program? While not ideal, there could be a time when a multi-breakpoint rating is needed. (ie. three ratings, two transition points). What I would envision would be to create a third set of velocity rating variables (We currently have UpVel and LowVel). We could make MidVel or something similar. We also need to create a second transition point, so maybe make the variable Trans into Trans1 and then create the second "Trans2". Remember, we need the ability to change to and from ratings (breakpoints to linear, etc.) without recompiling. Food for thought: there was an issue that once the user set Trans to something other than NAN it could not be turned back to a linear. Trans needed to be a String variable to allow the user to type NAN back into the field to turn off the breakpoint. Another option could be a user selectable boolean (UseBreakPoint = True/False or UseMultiBreak = True/False, for example).
Sorry this was long. There's no urgency to this, so don't feel pressured, just thought it would be another opportunity for you to understand some of what's going on.
Don't forget to create a new branch for this so nothing gets written into the master without further review. Let me know if you need further clarification. Thanks!
Are there sites that would benefit from this over a non-linear equation? Or are we trying to stick with linear as much as possible?
Wow, that was a fast response... We have used non-linear in the past. And it is sometimes ok to do so. We like linear because generally, we can have more confidence in extrapolation at the extremes. We already have the ability to do polynomial ratings built in. I think we should keep that, but add this as an option. (We may actually explore this at Freeport, for instance).
Understood. I will work on it when I can. I actually wrote that while you were writing yours and the timing just worked out. My plan for how to do it pretty much matches what you said. The problem with the string "nan" is good to know. I feel like having a selectable feature might be the best idea for this. I will play around and see what works and what is the easiest to use.
Sounds good. FYI: you'll probably notice we created a Const BadDataIndicator = NAN. This is to get around the Campbell version of the integer "NAN (-2 million something). I can't remember if I had to incorporate that into the Trans stuff or not.
One thought for use: techs should make it a habit that if they need to switch from breakpoint to linear or something else, that the Trans and unneeded rating values should be set back to NAN and 0 (or NAN if we want to build that in). That way there is no confusion as to which values are being used.
Thanks for looking at this. Let me know if you have questions/comments/concerns.
Update program to include ability to have 2 transition points for a 3-part break-point rating. (Lower, Middle, Upper).