What's new in HEC-RAS 6.0 Part 6: Land cover layers and depth-varying roughness hack

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
well we are excited to be doing our first video using a non-beta version of hec-ras 6.0 which was just released this last weekend this version has a lot of new features that we've been waiting for for a long time i'll be highlighting a few really cool ones in future videos but in this one i wanted to first hit one that's still a limitation that hasn't quite been included yet in this case we're talking about depth varying roughness i'll show you a little bypass or a workaround i guess we can just call it what it is uh it's a hack if you've got a model that you set up like this one here this is a rain on grid model once you've run the preprocessor i'll turn on the geometry here so you can see the grids and let's zoom in a little better so you can see uh some of the definition in the computational cells against the terrain now once you've done this you've got a couple of options um you know once you've got the preprocessor in seeing the properties of each of these cells so i can uh right-click on this one and show you the property tables uh for this particular cell or for any given cell edge so if we want to look at these let me go back to a couple of these properties here i'll show you these just in the charts that i've right-clicked on and and then printed out here uh this is the profile along this face right here um uh with the um with this buns or berm coming up and down uh all these things vary with elevation so you see that elevation on the left elevation on the left elevation on the left and then across here you've got different parameters of course the area increases with elevation the conveyance the wetted perimeter and then it looks very promising when you look here and try to get the property tables of the manning's roughness hey look it says it varies with elevation as well um but as in previous versions it's just a straight line now there is some software out there that you can use for 2d modeling where each cell or each edge can be treated with a depth varying roughness and in this case we have elevation but this could be depth over here and you might have a diagonal line or you might have some thresholds where it's constants up above or below those thresholds well why would you want to do that why is that important um we've got a whole webinar covering roughness and another one covering rain on grid modeling um and i'd like to i guess put those together in this case and have a look at the adoption of roughness coefficients where we're trying to accommodate sheep flow areas in rain on grid models like you see here especially focusing on these areas where it's very shallow so i'll put some links to those webinars down in the description below but in the meantime if you just google sheet flow here's the first image that comes up and you can see sheet flow i guess in a very shallow area here but what if we grid this and you know assume that this is your computational grid have a look at the edges around here and um think about what's happening in a hydraulic model when we turn this into a computational grid around the outside with some lidar that we'll assume captures uh this the undulations in the terrain here what's actually happening inside the model well if you picture hec-ras cutting cross-sections around each of these edges and then try to move flow from cell to cell using the energy gradient between the cells and whatever roughness coefficient you've assigned if your depths are say on the order of a meter or more deep well then sure your typical roughness values might work but what about cases where your flow is one centimeter deep or what if the depth is somewhere near the default display threshold in razz mapper which is i think one millimeter well and then picture what happens if you put vegetation on this or if you make this steeper um if this sprouted into a field or the paddock of where it's all filled with grass of course the ground and then any vegetation on it would look a lot rougher to the shallow flows like this than it would to deeper flows now if you have a look at some of the full momentum vodcast that uh chris and ben have put together we had one where i showed a way of varying the roughness uh with depth um and we talked about rain on grid modeling a little bit i showed here just some of the toys that i've uh that i use in teaching some of these uh things back when we used to have face-to-face classes and then later in that episode um as we were talking about this i showed a way of taking vector files and uh turning them into depth varying roughness layers um it's you know it's again a bit of a hack but with that method that was included in that video you'd have to export separate files for every single depth classification now what's exciting about the new version of hecariz is that we can do as many classifications as we'd like all at once using the raster calculator so let's go back to a razz mapper here and i'll show you what i'm talking about so let me zoom back out to where we were and we'll have a look at some of the layers that we can now export and some of the parameters that we can put into the raster calculator so i'll turn off the geometry and i'll turn off particle tracing and let's go to the max depth so we're just looking at a kind of a static image of the maximum depth that ever got hit in this flood so what we're going to do first is take this results layer which i've already run here and go and make a new calculated layer and so we've got another tutorial where we step through some of the details of the raster calculator and again one of the exciting things about this is that you can share these scripts back and forth so i'll show you where i've posted one of these scripts that i'm just going to copy and paste into this one now at this point there's only one script in here and then i've linked to another one that i've done for flood hazard classifications but this again can just be copied and pasted into your code calculation here so let me start though by going to the i'm going to keep this as user defined we will add a layer into this one i'll take the layer that i'm working on this is the results file that i'm working on right now i don't want the water surface elevation i want the depth okay i want this varying width depth and so i'm going to classify the depth here based on the fixed profile at the max and i'll call this d so once i add this variable to it i'll close it and we get some uh information about uh how it's computed here and we can see now that the depth is the layer that we get to operate on when we call out d in this code so now going back to the script that i have online here essentially all i'm doing is just separating uh the depth into different values in my case this is in si units so two meters deep i'm going to call it a code of one uh one meter deep so that's between one and two it's gonna be a code of two etc so if i come down here all the way down to the end if statement and i just copy this whole cell or this this whole set of terms here and paste it in i can now check the code it says it's compiled successfully this is a little bit different than it was before with this new button here but if you uh go on and have a look at the rest of the code you can see some of the things that were added for you automatically so with that i'm going to go ahead and put it in my calculated layers folder which is what it's looking for i'm going to call this depth varying n so d var n with an underscore there so i'll create that layer and now you can see the layer right here but if i want to actually see what this looks like i'll go ahead and turn this on and let me turn the terrain off so you can actually see it a little more clearly turn off my satellite imagery essentially it's it doesn't have a legend that makes much sense yet but you can see here that i've got different codes for each depth now as i understand that this is just a vrt file right now it doesn't actually have a raster grid until we export this one as a raster and so when i do that it's going to ask me um what uh what layer i would like to use as a template and this will then match the resolution and the extents of the template that you use so i'm going to just use one that i've set up already as a template here it's just one of my previous results layers that i've pulled in as a terrain so that i can get it to match so i'm going to enter that name for the raster call it d var end same as i've got for my for the layer up there so now it's going to go ahead and export that i'm sorry that went on another window so you can see here it was created now if i try to add this layer in that i've just made here it's under calculated layers and if i grab this one right here which is the one i've just made it does tell you the template file and uh which files this was based on when you made this layer but i'm going to get an error when i try to pull it in that says we only support integer values for this um you know if you're looking at the uh national land cover database um and lcd codes um that that's just an integer code that tells it what classification it has it can't be 1.5 or 1.8 it has to be 1 2 you know 21 22 whatever that is so we're going to need to have our raster in that format now there's a couple different ways we can do that i'll show you one uh one way in qgis and i think on that same website where i've got the scripts posted i'll show you i'll list a couple of other ways that might be a little simpler i'm a long time qgis fan and so i'll just show you how to do this using this one uh real quick so all i've done here is to just open up qgis and start a new project what i'll do here is just drag in this raster file that we've got and again it looks like these are integers but they are actually floating point decimals we need to convert them into integers so make sure that if you do this that you launch it with grass and that you've got that grass loaded on the plugins if that's the case then when you just go to your processing toolbar again just by using that button there you can just type in r dot map and you'll get to this one right here this script which will then take as a raster whatever you want to do to it you can operate on this one in our case we're just going to change it into an integer using that code right there and i'll need to assign it a name here instead of a temporary file we'll save it to a new file name i'll put it right back under our calculated layers as d var n integer so i'll just make sure i realize which one that is and now when i run it um it might give me a couple of uh unsupported warnings here but um in the end have a look at this i've got an integer layer right there that i can then work with so now that i've got this defined as an integer we should be able to go in here into our map layers and this time do it without that error that we saw last time so if i go here to create a new browse layer let's choose land cover layer and now when we go to add this one i'll go back to calculated layers and grab the one that we just created and it's going to come up with this classification system here now one thing you'll notice if you do this in qgis is that the no data values which you see here in yellow are going to get the 255 value like it's a color palette one thing i wanted to show as well though typically no data values would be negative 9999 as you may have seen in some previous tutorials i'll add one here which i think i did in global mapper you can see this one here then gets the negative 999 as the uh the name field so what i'll do here is just go to surfacewater.biz scripts scroll down past the code there and grab these values from the land cover data table and i'll just take those and paste them in here under the classification and to get these in the same order as the scripts in that on that website um just click on the name field to sort them so when i paste those in you might have to do these one at a time if you can't get it across the whole range but you'll see here what these categories are going to be just to match some of my previous output i'm going to change this to a raster gridded cell size of 5 meters by 5 meters and i do want to define this one so that we can give it a name here and refer back to it later and just to make it consistent with what i've done before here i'm going to call it depth varying n and we'll make that the uh land cover layer so when i hit create and again this works very much like the uh when you import terrains um it's going to go ahead and make me a depth varying and layer that i can then associate with my geometry as soon as i've linked it up to n values now at this point um these are not n values these are uh integer values that have coded it and that's uh that's deliberate what let's zoom in here on one of these areas and we'll have a look here at uh what's going on in essence we've got now these codes uh that basically you can see the two there and that tells us what the depth is but it's not telling us what the associated end value is so first we've got to right click on this and edit the land cover data table because again you might use this for something else other than roughness and you can change them here universally without affecting the underlying source data now on that same website surfacewater.scripts i've written in some dummy values here that you may or may not want to use i'll just take these and put them in to the same place here for each of these categories and at this point i'll just put in a hundred for each of these values under percent impervious we can have a look at that uh in another video so with that all i have to do is hit ok and now see how it changed already you can see as i'm hovering around here the end value is now part of part of this code now there's one last step left on let me zoom back out again and let's have a look at where we are i'll turn on a layer uh this one i think we had a five meter grid on it i've got one where i did it all the way down to one meter uh just to to show how detailed you can get on this um so on the one meter land cover again i'll pull this up here this is one i did previously but it's got the same effect it's just a bit higher resolution so as i hover around here you can see as my depth increases right here i've got a lower end value like a channel n value of 0.04 um here we've got 0.05 0.06 and then as we get out into the floodplain um we're uh a bit higher and you know maybe that makes sense but what happens out in this area here where we've got no data at all and i did have an override on some of the no data values but really what comes into your hydraulic calcs is the default value that's on your 2d perimeter so if i right click on geometries and go to manage geometry associations um we need to make sure then that the appropriate mannings and layer has been associated with the geometry that we're looking at so i'm going to this geometry called nhack and i can use the one that we just did d var n i'm just going to go with the one meter land cover here in this case and once that's associated then i can go back into my geometry and have a look here at the 2d flow area and whatever my perimeter is if i open this attribute table i've got you know if you've overridden the deeper areas i want everything where rain falls out in here where at the moment i've got maybe no data but in the future i might run some rainfall over this and get something out here i've got this one at a pretty high roughness value of 0.2 and you might even go higher than that it sounds astronomically huge but sometimes in rain on grid models you do need values that high to to mimic what's really going on in the shallow flow areas now just to show that it's going to be an increase i think i'll actually go in here and edit this one and change it to be something a little bit higher i think some of my other depths were coded to be 0.2 so i'll just change this to 0.3 just for now to distinguish that um so when i've got that in there one of the last things you can then do to check we'll stop editing that and apply it everywhere is to go down here under your geometry and turn on manning's n and let's see what we've got here so this is our final result and this is always what you ought to check in the end before running a model um i've got a whole bunch of classification layers here i'm showing me what these different categories are and showing high end values being red and low end values being light blue so as i kind of zoom out on that let me just turn off the geometry here so it's a little more clear as i hover around here you can see again channel values coming out and in some of these areas i think we'll step through all of the categories on our way from the deeper flows um out here into the over banks where we get up into the no data values which will end up being very rough because that's what's going on out there is uh sheet flow and the sheet flow is going to have roughness elements that are very significant uh relative to the depth of flow now remember the depths that we used here uh initially to classify this thing were based on uh the initial roughness which was uniform uh so if you really wanted to get this right you might run through the process another time or two just to get convergence of the results and you also need to keep in mind how this changes over time so i might just cut a cross section and you can see what's going on here and think about whether this makes sense so with my profile line here i'll just cut one going from left to right looking downstream and i'll call this check section and we'll just have a look at this and see what the water surface elevation looks like over time so i'll turn on the maximum flow depth here and as a water surface elevation and let's just have a look at this and we'll plot this on a time series so here it is if i come in from zero as the storm starts arriving and i've got some of the sheet flow again think about how this happens over time okay you might have a different roughness value here at this time step uh than you would up at this time step so you know maybe we ought to uh you know have true roughness uh depth varying roughness uh over the entire hydrograph so um this is more helpful the method that i've shown you right now uh is more helpful if you're interested in a flow rate that stays relatively constant over time it's almost like a steady flow if it is flashy and there's lots of storage areas that might be influenced by overflows that are really sensitive to the roughness as that flow arrives you might still be missing the mark you know if this didn't flow over here because this was smooth or this was rough or whatever it was um you know that's where um you know models that can do this uh at every time step uh might be better suited for uh for that sort of an application and i also wanted to highlight that in some cases um we end up tweaking the roughness coefficients to try to better reflect the timing of hydrographs or even the the peak flow rates or the volumes inside of a hydrograph so if i plot a flow hydrograph along that same section that we're looking at i've run this with different roughness values but yeah you've got to be a bit careful about what's really going on if you had real world measurements out here or you had a rainfall runoff model and you're trying to match that you know in some cases you're slowing down the flow and getting less flow in the system but then that flow is higher because of the higher roughness so that's where this depth varying roughness can come in handy but be careful what's really going on if what was making it flow down you know in this area uh you know maybe maybe what's influencing that is the um you know some interflows or something like that um if you are trying to manipulate overland flow to try to behave like interflow um it's really hard to match all three things that once you know the timing of the peak uh the peak flow rate and the volume under that curve all in the same model run that's pretty tough to do um so we've got to still acknowledge the limitations of the model so i hope you've enjoyed that and that you're having fun playing around with the new features here we're going to be re-running all of our training courses uh for hec-ras using 6.0 um i'll include some of the links to those courses that cover the essentials chris and ben have a more comprehensive course that comes along periodically as well so stay tuned for that if you are interested in more details on scripting we've got python courses and qgis courses specifically for water modelers if you are interested in those i'll include those links as well so yeah stay tuned for more thanks for subscribing and we will see you next time
Info
Channel: The RAS Solution
Views: 11,104
Rating: undefined out of 5
Keywords:
Id: IMqELx5NizY
Channel Id: undefined
Length: 20min 57sec (1257 seconds)
Published: Tue Jun 01 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.