Which GNAT Architecture is best? #229
-
There are two ways to structure the GNAT tool. Our goal is to balance building something reusable for attribute calculation (e.g. "I have a line network and I want to attribute it with just gradient") and the tool we really need for reach typing the Mississippi (i.e. that requires 10-20 attributes). Option 1 - Standalone ScriptsThe term GNAT refers to a loose collection of standalone tools that each calculates one or two attributes. For example we might have a single script that calculates gradient. And another that counts confluences/diffluences. What's important here is that these are standalone scripts that perform a single function. Each one can be run at the command line. Advantages
DisadvantagesWe have three options for where to write the output of each attribute script and they all have downsides:
Option 2 - GNAT "Tool"GNAT is a single tool that performs a waterfall of operations. It takes a polyline network, sausage network and then a slew of contextual layers required to support the necessary attribute calculations. The "one tool" could calculate polyline attributes first, then any intermediate attributes (e.g. exploding the confluences into intermediate points layer) then summarize both the polyline attributes and intermediates onto the sausage network. Advantages
Disadvantages
FYI @joewheaton @lauren-herbine @MattReimer @KellyMWhitehead |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Well... I'm a fan of Option 1, whereby we write each one to its "own" riverscape project of its "own" type. Lets not overblow the "spend all of our time managing all these". The reason to give ourselves options here is not because we're going to exercise them in the Mississippi. We will test each thing manually in a handful of basins → make an informed unilateral decision on what we want → run everywhere for 2000+ basins with consistent set of parameterization. With the project references now implemented and possible with the new metadata fixes, I see no reason to go to option 2. |
Beta Was this translation helpful? Give feedback.
Well... I'm a fan of Option 1, whereby we write each one to its "own" riverscape project of its "own" type. Lets not overblow the "spend all of our time managing all these". The reason to give ourselves options here is not because we're going to exercise them in the Mississippi. We will test each thing manually in a handful of basins → make an informed unilateral decision on what we want → run everywhere for 2000+ basins with consistent set of parameterization.
The reason to give ourselves the option of having these all broken out is the long-term utility (agility) of individual smaller projects to many, many, many people. What we will produce for own purposes will be something... it will…