 So, hello. Welcome to the CSDMS webinar. I'm your host, Mark. I'm a research software engineer at CSDMS. The title of today's webinar is a little different than what Steve put on here, but that's okay. We were talking about that. So the title of the webinar is the USGS National Hydrologic Model, Continental Scale Modeling for Decision Making, Research and Education. The webinar will be presented by Steve Markstrom and Rich McDonald. Steve has been a hydrologist with the US Geological Survey in Lakewood, Colorado for over 25 years. His specialty is in the development and application of hydrologic computer codes for surface and groundwater modeling studies. He's currently working on approaches that allow these models to be run in near real time. Rich is also a hydrologist, modeler and application developer with the US Geological Survey also in Lakewood. His interests include applications of surface water, riverine flow and sediment transport, eco hydrology and new coupled applications using the CSDMS modeling framework. So after the presentation, we'll open the floor for discussion. Everyone can unmute their mics and ask questions. Also feel free during the presentation to use the chat window to ask questions and I'll try to collect those and feed them to Steve and Rich at the end as well. So a side note, I've actually been working with Rich and Steve for over a year on a project that got initial funding from the USGS. It was on the recommendation of the USGS Community for Data Integration. And some of our results will be presented today. And on a personal note, that collaboration has been awesome. I really enjoyed working with that. So thanks guys for coming today. All right, so with that I am delighted to present Steve Markstrom and Rich McDonald. So take it away guys. Thanks Mark for that great introduction. So let's get it. Rich and I, Rich McDonald and I are, we're going to do a tag team here. So I'm going to start off and kind of give a little bit of context for what you're going to see later which is really a live demonstration of what our collaboration with the CSDMS team has been all about. So just be a little patient and may not sound like what you thought you were signing up for, but bear with me and we'll definitely get there. So, as you can see from the title of this part of the talk about something we're calling the National Hydrologic Model. Go ahead to the next slide, Rich. As a little bit of background, the USGS has more or less offices like in every state. That's not exactly true, but that's the way to think about it and people, scientists in our offices are experts in their part of the country and what happened was all of these watersheds that you see here. were models were set up in those areas by the local USGS experts and then we is kind of, you know, national, you know, the national developers of the model. We decided what we wanted to do was basically run the CMIP climate change, the weather sets, you know, 100 year weather sets through the models that the watershed models that we already had set up and we thought that would be a great idea. And it worked. And we had a study. It was more than 10 years ago, but we set up a study of this. You can see all the different areas and the watersheds we set up. Go ahead, click Rich. And here you see the idea of what we're doing. Go ahead, click again. There was a problem with this, however, is that all of these models set up in different ways, right? They were parameterized differently. They were using different data sets, different configurations of the model and different calculation studies were used when setting these up. Because they weren't set up with the idea that we were going to do an integrated study with them. And part of, you know, I would say our study was 50% evaluating the CMIP climate change scenarios and 50% evaluating the model or set up these models, right? So I'm going to click on the next slide. So the idea was maybe for this kind of study in the future, we would set up a national hydrologic model, basically treat the whole lower 48 as a giant watershed, okay? And model it all in the same way. So these three circles over here, physical models, geospatial fabric, input data, those are kind of the components that we worked on to make this up. Go ahead, click Rich. All right, so the first thing I'll talk about is the geospatial fabric, basically how we define space for this national model. Click again. Okay, so some of you may know what the NHD plus catchments are. We defined the left and right banks, contributing areas, like the watershed contributing areas to each of each stream segment as our definition of space. And that's kind of what you see here. There's more than way more than 100,000 HR use or spaces in our, essentially, like I said, our watershed model of the lower 48. Go ahead, click Rich. And what we did was we only took, okay, so somehow we have to characterize these, these spaces or these HR use to get them to work in our model. So we only took like land cover and vegetation and, you know, DMS that had the full extent of conus and then we characterized our model with these conus wide data sets. Next slide. We do have the ability to run the model with evolving landscapes to match the evolving climate or weather data. This is an example, but this makes it a lot more complex but that is possible. Next slide. Okay, go ahead and click the next thing I'm going to talk about are the actual models that we're running here. The daily models, go ahead click Rich. Okay, so underlying the, the NHM or what we're talking about here the actual simulation model something called the precipitation runoff modeling system. And you see a little schematic there of how PRMS views the hydrologic cycle basically the driving the drivers the weather drivers precipitation temperature solar radiation those things kind of come in at the top you see a layer called plant canopy moves down towards the land surface. The characterization that was done with those, you know, the land surface and vegetation coverages existed at that layer between the atmosphere and the soil zone. But the point here is to really get this box over on the right is to generate stream flow. That's kind of our, our final output variable in the chain and that's kind of what everybody's looking at but all these other states are simulated as well. Next slide please Rich. Alright, another aspect. You're okay. Okay, another aspect of this we won't show animation here. If you look at the box, the conceptual diagram on the left. Basically this part it's implemented as a module and PRMS is simulating both the water budget and the heat budget on 150,000 or more, more than 150,000 stream segments on a daily time step and that's the animation that you're seeing on on the right and you see it varies by region by see you know the stream temperature varies by season by region by you see storms moving across the landscape that's a lot of the flashing. So, to kind of parallel along with mean daily stream flow were simulating mean daily temperature and this operational model we talked about does that as well. Okay, next slide please. Another, okay this is kind of unrelated to what we've seen before but another kind of important part of this is like you're running a model for the entire conus. That's a pretty big model and it takes a long time to run and a lot of and not very many people are actually interested in running all of conus at the same time what they're interested in is the area, you know where they're the expert or the or where they're being paid to do a modeling study. So we've implemented some software, it's called bandit and this box over here on the left what you see are all the HR use of conus, but clip down right this is the conus map but clip down. And then in here, you see, and a smaller watershed that might correspond to like one of the watersheds that we were looking at on my. You know, second slide, like, modern watershed modeling studies right this could be an area that you want to do a watershed modeling study so we have software that you identified the area that you want to model and in this case it's identified by a stream gauge, a location of a stream gauge at the outlet, and the HR use and the stream segments and all of the input and all the output is subset it from the big model from the conus model and the idea here is that this small model runs exactly the same way these HR use run exactly the same way as they do when they're running inside the big model, but it's not the big model right it's a small it's a small model that people can use for their individual study and here you can see somebody's refine some smaller HR use inside of it anyway, I think if you're going to do this modeling at this kind of scale you have to provide something like this kind of pull out next slide please. Okay, and we're, I've used the word operational national hydrologic model in this talk and the question is, so what does that mean when I say operational so one thing is this particular version of model has to run on. Desktop on laptops on max on Linux windows, we have a cray high performance system the USGS and this same model has to run exactly the same way and all these platforms. So what we've done is implemented it in Docker. And if, and if you have a machine that runs with that will run Docker, you can go to Docker hub and download exactly what I'm talking about here and get it to run on your machine to look please rich. Okay, another thing that makes this operational is we have deployed this chain or pipeline of Docker containers on the Amazon cloud. It runs every night on the Amazon cloud, and that is a big part of what makes this operational is that this model runs automatically every night. We are using the so called s3 or simple storage service. When our model runs in the cloud, it dumps all of its files, maybe not all files but a significant set of the files to s3 so we as humans, I guess can pick up the output. That's another important thing is to be able to get what the cloud is doing click again rich. And the final thing is that, and I kind of alluded to this we connect version of the model to make it operational connects to a web data service called grid met. It's a relatively high resolution weather server that provides temperature precipitation humidity relative humidity solar radiation all that kind of stuff in a near real time setting and the data is available on a daily basis from basically 179 through yesterday. So we've set it up so our model is driven with this weather near real time weather service. Okay. These four things are what we call operational next slide please. And I'm done basically and rich is going to show a this this is actual output from our conus national hydrologic model this is like a two year run daily time steps. You see some of the drivers, animated in the upper left or that most left hand column and then different storages that the model is simulating you see those running at different speeds and then fluxes in the third column from the left and then finally stream flow and stream temperature are shown in the lower right hand corner as this model is running again on a daily time step through time. And that's the end of the back the background of what you're going to see rich talking about next which is really our collaboration with CSDMS. Thanks Steve. So, before we get into that I also want to mention that that version of the NHM that Steve was just talking about is available on our GitHub site, and you can go and download that and run it on your own machine so it's really it's a set of containers that go out and test to see that the grid met data service has been updated today for yesterday's climate. And then it does a 60 day pull of that climate data, because that climate data is considered provisional over the last previous 60 days. And then it runs PRMS with some pre and post processing of the data formatting around the PRMS run. And finally reruns PRMS to increment the hot start file by one day and extract the results, and you can set that up in a cron job yourself and have it run every day and generate output at a conus level. And that output that Steve was talking about is used currently for a conceptual map of water availability that served every day from the model output. Okay, so we're going to talk about our, our collaboration with the CSDMS community to, to test the capabilities of the BMI and pi MT as a tool for coupling USGS models together or USGS models to other models basically to test that coupling capability. So integrated modeling is an important component of the US geological surveys science strategy, and it's also been identified as a priority challenge for the USGS by the National Academies of Sciences. And one of the outcomes of the integrated modeling prediction. And one of the reasons why the collaboration of the USGS five year plan was to develop and deliver a modeling and prediction collaborative environment or a sandbox that can be used to couple hydrology and other environmental simulation models with data and analysis, and that's the context in which we began our collaboration with CSDMS to, to look at sort of proof of concept of wrapping some code in in a BMI and testing the coupling capabilities. More recently, the USGS is initiating an initiative called earth map, where earth map kind of lies in the common, common area of data and information integration integrated predictive science and actionable intelligence. And this idea of a sandbox from a computational modeling perspective I think lies within that same shared common space. So I'm sure a lot of people here today are familiar with this CSDMS model framework or the BMI and pi and pi MT, but I'm just going to review it a little bit from my own perspective. So component models encapsulate a set of related functions into a reusable form. And if you look at almost all model coupling frameworks, they all initiate from this idea of component models. In object oriented programming a class bundles data and provides methods that operate on the data within a single unit or component so you can think of your model and, in this case, PRMS we're going to turn it into a component, a modeling component. And components communicate with each other via an interface. And that's where CSDMS BMI comes in the basic model interface, it provides a uniform software interface that allows model components to communicate with each other. And sort of the basic functions of that software interface are things like initialize run for time step finalize. If you're a modeler you know those are just sort of your common basic run functions. And then there are a set of uniform setter and getter functions that allow you to set or retrieve information from that model component and pass it to another model component. And then there's some time functions and there's much more to it but that's that's the basic gist. And what's really cool about what CSDMS is done is, is you can have a model that's written in a variety of languages C, C++, Fortran or Python. And if you apply the BMI or you componentize those models and apply the BMI to it. They have a really nice way of then wrapping that code in Python, and providing a bunch of tools that allow you to facilitate coupling of one model to another. But think about it you're, you're, no matter what the underlying programming languages of your model, you can then start coupling those models together in a common language which is Python, and, and then using all the available packages that are used for data wrangling and presentation to that model coupled, coupled model. And that's kind of what we think a sandbox would do. And just as a small aside, the other thing is, I think data or data streams or data services can also be wrapped in a BMI and applied within that model coupling framework so we're we're going to also talk about a data service component. So our experimentation result revolved around PRMS. And what we did is, we broke PRMS into four principal components, a surface based based on on sort of the four principal reservoirs in PRMS the surface zone, soil zone, and groundwater zone and stream flow zone. So we decoupled the main PRMS code into these four components and we created a BMI and a model component for each of those. And, and as I was alluding to we also did that for the grid met data service. So I'm going to go through a quick demonstration, and I'm not going to go in depth into the code itself. But I think it's just just look at the model runtime interaction from a sandbox perspective. Pay attention to using data services. I'll just reiterate that PRMS is a, it's underlined code basis Fortran, and we're running it in Python. And that maybe that's more common these days but it's still really cool. And I think you'll see, you know if you're a modeler, and you're not used to this kind of thing. It's super fun. And all the code that I'm going to be showing today is available in this GitHub repo, and you can run it yourself on CSDMS is Jupiter hub, which is what I'm going to do right now. Okay, so now I'm in the CSDMS Jupiter hub, and we're looking at the repo here and I just want to note that I'm not going to go through it but, but there's two notebooks in here the first notebook is actually it's just a simple validation notebook. So what it shows is PRMS, BMI's recoupled back together to form a single model, and it's run and compared the output of that coupled model is compared to the straight output from PRMS. And there are no differences in the output, they're absolutely the same which, of course we'd all expect, but it's still like just to do that and know, yeah the output still the same after. Breaking PRMS wrapping it and putting it back together, it all works, it's great. What I'm going to show you is sort of a demonstration of what PRMS can do with the BMI. So we're going to look at a small watershed in North Dakota. This is this example I'm showing here is an example of an extraction from the Kona scale model with Bandit. The watershed we're looking at has 14 hydrologic response units or HRUs and seven stream segments following the main creek here pipe stem, following the main drainage pipe stem creek in this watershed. And this is part of the Prairie Pothole region in North Dakota. So here we go. So we're just going to initiate the model and you can see from PMT we're importing our surface soil groundwater and stream flow component BMI component. I've got just some bookkeeping stuff to do here I'm going to import some shapefiles that we can use to plot the results of the model output. And I'm going to just set the path to the run directory and the PRMS input files for each of these components. And I'm going to initialize the model. Remember, initialize is one of the BMI components. This is just simply we're reading in the model input file and configuring model getting it ready to run. And then I've got one other function here that's just simply reading those shapefiles into two pandas geopandas data frames, a data frame for the HRU data and a data frame for the stream segments. And also just to do some plotting of climate. I'm just importing the climate file that's used by PRMS for this model run. And here we're just plotting T max and T min and precip on the spatial footprint of that watershed to sort of demonstrate that you know to have something to look at what I did was I plotted the cumulative precipitation over time starting from a year at 365 days through 485 days. And what I'm going to do is I'm going to show the output we're going to run the model and look at the output around this precipitation event here at approximately one year and 90 days. And then we'll look at the output and we're going to then we're going to do two more things where instead of using the sort of pre formatted model input data input that's that is read from pre formatted files. We're going to use our grid met data service to drive the model. And then we're going to just do an impulse function on the on the watershed we're going to drive one HRU with a bunch of precipitation and look at the response. Here's just some other basic functionality of the BMI we're just looking we're grabbing the PRMS is now time and we're also just looking at the model start time and time and current time. These are BMI functions. Okay, so here's the coupling and I'm not going to go into great detail about this but essentially what I'm doing is I'm just setting up some arrays of the of the exchange variables between each of these four BMI components. So example surface to soil bars these are the variables that need to get transferred from the surface zone to the soil zone or surface to groundwater and what I did is I just created a set of functions to do those exchanges between the four individual BMI components. And again here you can see an example of the BMI functions where from soil I'm setting the value from surface of those bars so it's just here's the set value and get value so I'm exchanging information from the surface BMI to the soil BMI and I simply wrap those all up into one update coupled function that will use in the model as we step through in time. So I'm going to run the model for one year plus 90 days to get up to that time step where we notice there was a big precipitation event and we can look at the model output from that event. I'm also I'm going to just while that's running I'm going to step through a couple of these other functions because they take a little time to run and and I can talk about some of the output in a minute here as those as the model finishes running and we start plotting some output data. So you can see, I'm just stepping through in time and updating the coupled model for 455 days. And then I'm going to run that model for an additional seven days, and I've just, I've created just some helper functions here to plot the output as a function of time. And that's what we have here so from top to bottom, we're just increasing by a day and time, and from left to right we're just looking at some principle output from PRMS itself so we've got the T max temperature, the precipitation, the total soil moisture within each of the HRUs, the surface runoff, and subsurface from the soil zone and groundwater zone contributions to the stream channel the stream channel through that watershed. So, you know, you can see as we get a large precipitation event here. Soil moisture increases, and you can see some surface runoff, not too much subsurface flow or groundwater reservoir flow to the stream segment but you can also see that ultimately that flow gets to the stream segment and and moves as a slug downstream with time. So, then I also I just ran it for an additional 19 days which gets us to another precipitation event. At this time, I'm going to run it with this grid met data service. We haven't completely wrapped this in a BMI yet but that's something we're working on, we're almost finished with it but this function does essentially the same thing. Right now it's it's going out and it's fetching grid met data from the grid met thread server and formatting that data so that we can use it to drive precipitation and the min and max temperature of the model in real time. This should take just another minute or so. Sorry about the pause here. Yeah, so now it's it's actually running through its loop and and we're assigning temperature and precipitation pulled from grid met thread server to the model at runtime. So here we're just showing that same set of model output, but this time, rather than driven from from model formatted input files, it's just driven at runtime by going out to a data service grabbing the data, and then map, you know, and I think one thing is that PR masses has this unique fabric defined by, you know, shapes. derived from the shape of the watershed. The grid met data is actually gridded data so the other thing that that function does is it maps it from gridded data using a weighted area function to each of the HR use. And you know, maybe in this case it's not the most efficient use of it, but one of the other things that we're interested in doing is driving this model with seasonal to sub seasonal forecasted data. And in that case, it really makes sense, because at every day you're essentially going out and getting getting new model data to drive the model, and in that kind of application this I think this data service idea makes a lot of sense. Okay, then, and for our last sort of forcing here, rather than forcing it with the data we're just going to override everything. And, and we're just going to apply a precipitation event of three inches per day to a single watershed, and then look at the response from that impulse to the system. And this is something you might want to do when you're setting up a new model and you're trying to understand how the model response to specific events, oftentimes what you like to do is run the model and kick it in the butt some way and and see how it responds. So that's what we're doing here so now we've applied a large precipitation event to just a single HR you and we can look at the response of that time. And you can see the soil moisture goes up. The surface runoff goes up, but only lasts for a day, and both the subsurface reservoir and the groundwater reservoir continue to continue to lend flow to the stream segment itself and you can see that the stream segment gets a big pulse of flow, and that pole starts migrating downstream through the segment. So another way you can look at that is simply by taking the output from PRMS itself as net CDF files, and then plot the data as a function of time for for for one or more of the HR you so that's that's what we're doing here we're just simply looking at the value of those variables as a function of time for a single HR you within that event. And then finish PRMS up by finalizing, and that just closes everything out. And, and then we're done. So that's, that's the end of my demonstration. Steve, I'm going to pass it back to you. Okay, so I asked to, or asked, I would, my job now is to put a little summary on all this and after seeing this particular demo, I mean I think it kind of self, but as a, as an old time, you know, old time hydrologist and hydrologic modeler. I mean to see, like how all of these technologies kind of come together and really fundamentally change the way we would then then this kind of hydrologic modeling could go forward right like using the Jupiter notebook to record the workflow and integrating the graphics right in with the model and stepping forward. Being able to step forward in time and see the response in space and time of what the model is doing for some selection of variables you know as rich showed this to me and instead of having like a spinning hourglass right you have the output of the model plotting and creating for a bunch of different variables right just using this kind of like all the course the BMI is to be able to give this kind of access to the individual parts of the model. This is something as you know I'm not a can not really a computer scientist not a computer scientist, but seeing this application within this context of technology. I wouldn't have thought anything like this would be possible. You know, a couple years ago, five years ago, 10 years ago, I wouldn't have thought anything like this would have been possible at all. I think this really has the potential to change the way hydrologic modeling is done, because, you know, run physically based models. Finally, to kind of take it back to the context of physical, you know, physical modeling and what we do at the USGS you know, we're trying to solve real world problems, right. We're applying these models and doing modeling studies with them and you, if you think about how different components from different types of models, say, you know, other physically based models, groundwater models, water quality models, you know, whatever. These kinds of models could be coupled together the way rich showed to solve much broader kinds of problems than what we're solving right now with kind of how the models are broken down and I hope I hope everybody saw that or at least if you're interested in this kind of stuff I hope you got that from this demo because yeah I mean we want to show BMI is working and we're working tightly with CSDMS people but you know why are we doing this and the real reason is because we have an interest in broadening our modeling capability to solve a broader set of real world problems and I think this is a real approach to doing that, you know, I mean this is like the first step but this demo that Rich showed, in my mind it really shows a lot, really really shows a lot and I mean I'm not just trying to to toot our own horn here but this demo is using all these technologies kind of coming together and maybe that's what we'll leave with. I guess turn it back over to Mark and Rich and I are happy to answer any questions that people may have about what they saw today. Thank you very much Steve, thank you Steve and Rich and everyone let's thank our presenters, I'm gonna use my little reaction. Thank you guys for a great presentation and Rich that demo is so smooth. All right, so everyone if you'd like please feel free to unmute your mics if you'd like ask questions. I'd like to give a couple moments just for people to. Just for a moment or two to let people ask questions how about that. Mark I just want to say I couldn't have done it without you. Oh dude. Thank you very much Rich. You know awkward silences. So if you'd like also feel free to ask questions in the chat. Actually I think there are a couple. I have one. I think for Rich from Mary Hill. In your in your demo, the large array of maps with the stream flow time series on the right. What's the time series, what's the time of the maps. Yes, it's a daily time step so each each row represents a day, day and time. Thank you. If I'm not mistaken Rich the actual timestamps are specified, like just at the top of the. Yeah, we're seeing the time step, the timestamps there. So those timestamps up there correspond with each row of the. Visualization. And that came from a misunderstanding on my part that Greg corrected that which is, I thought. The figure on the right looked like a hydrograph to me. Oh yeah. I was thinking at the time. And then I was saying to think, well, how do you know where on time you are. Yeah, that's, that's just a spatial footprint of the stream segment in this watershed. Yeah. Is it the same scale as what's on the left? It looks like it's a little bigger. Good question. Mary, I'm not sure it doesn't look like it's the same scale looks like the plot has fit the stream segment itself rather than the the watershed. Yeah. Yeah, so I just got confused. Yeah. Awesome. I love this. You've done so much with this. I'm just thrilled. Thank you, Mary. Got another question from the chat. This is from Raj beer. He says great work. Questions is NHM competing. It was a competing model with Noah's national water model, or is it complimentary in some way. Okay. This is definitely. This is definitely complimentary. I think the focus in the out the focus and the purpose of the output is different. Right. What Noah is trying to do is really, I think, when they talk about operational, what they're talking about is running operational weather forecasts through their operational model to really do. I'll call it short term flood forecasting, whether you think like a week out or three days out is short term or not. But their model runs on an hourly time step the weather forecast are coming in an hourly time step. And they're really much more I think probably focused like on rainfall intensity and what that does to create flooding situations. The model definitely has a USGS flavor to it. You know, you think of the historical context of stream flow or stream flow gauges, you know, they go back. Some of our stream gauges go back 10 years 50 years more than 100 years. Okay, we like to run our models over those kinds of over that kind of period to. We're more of a trying to understand the processes that the hydrological processes that are at work and translating those weather into, you know, different components of flow, you know, that we're seeing here so so a lot of ways the models are doing the same thing whether making stream flow in a lot of ways it's a completely different kind of focus so I would say they're very much complimentary. I've got a question from Chang Liu Chang if you want to unmute your mic to ask you can. Hello. First I want to thank you for a very excellent talk presentations. So, from Pacific Northwestern National Laboratory. Over years I have used the PMS motor flow and GS flow, I probably have some emails to some of you earlier. So, yeah, thank you for all of the support and excellent work. And just, just follow up some comments have earlier. So, a lot of times that we are dealing with like extremely fan like floods on a national scale. I mean, for example, when you have some some extremely fan you have to consider the whole large overall basins water shall like Mississippi or Columbia. So, large scale and some of the question cannot be answered without with just with a simple small water shall models. I think that's well. The national hydro hydro model stand out to answer some large scale challenges. For example, the flooding maybe in the California, some on in the middle west. So, I, one of my questions, how, how far we from provide it. Lastly, I think there was a, there was a flooding in Michigan as well. Some small town was flooded. So how far we trying to apply this novel is high high tech national hydro model to to forecast for processing a better position, prepare for this type of extreme events. Okay, that's, that's a really good question. And, and anytime you're doing modeling on such a large scale, you know, by large scale mean, you know, lower 48 states that's a large scale model. As far as we're concerned, I mean I know people run on the globe. And, you know, so it's always going to be relative and I think the question. You really have to think about the questions that you're trying to answer as far as if the model is appropriate or not. I think that related to the last question we're not running on a sub daily time step we're not running on a sub hourly time step with this particular model. So, if you're looking at, you know, like thunderstorm type floods. This is probably not the system that you want to be looking at. If you're looking at. Okay, the snowpack, you know, in the Rocky Mountains or the snowpack in the Sierra Nevada is starting to melt. And the temp, you know, there's a big snowpack and the temperature went way up and or the, you know, the daily temperatures gone way up and and you're worried about, you know, like two weeks of high flows. And, you know, that that's another type of flood right, like our, like, how much storage do we have in reservoirs, how much, you know, those kinds of seasonal type floods, have we saved enough flood storage in our reservoirs you know those kind of questions. This model is probably more to those kinds of questions so you know, depending on what you call a flood and depending on like how fast the system is going to respond in that particular kind of flooding, you know, you may want to use this type of modeling or you may want to use something that has a much finer punch like the national water model or you know the warf hydro version of the weather services running so there's a lot of different questions that get answered and I think that you really want to use a system or model that's tailored to the specific questions that you're asking and I think that's why there's so many different models is because, you know, hydrology models is because people are asking different questions and that's, you know, and this we have, we're trying to fulfill an itch with what we're showing here and other people, you know, other agencies certainly have other responsibilities and other, you know, grad students are interested in different kinds of responses so I would answer your question that way it may not be a real satisfying answer but I think, you know, decide where your application fits and then get them all to fit that I think is would be my answer. Thank you for that explanation. Yeah, I think that's less for different type of scenarios, especially when we are talking about scales, both in the spatial scale but also in temporal scale and some of the process. So, for example, the one you mentioned like Russian forecasting like wolf hydros those may be a better position like to focus on some intense within 24 hours those kind of things may be a better position but for some some decadal or some annual seasonality maybe maybe this national hydro model might have better because we have a balance about performance and also the computational cost as well. Thank you very much. Yeah, this month, you know, not to this model that you're seeing here runs very very quickly, much more quickly than, say the national hydrologic model so we're able to generate ensembles, you know, like running for 100 years out running for 100 years back. This model is very runs very quickly and doesn't have you know the cost of that is we don't have all the detail detail in space detail and time detail and hydrologic process. This model does not have all those details but it runs much much faster. So that's another trail. Yeah. We have a few more questions from the chat I can address a couple of them quickly. So this presentation and the question and answer period afterward are being recorded. And we will send out an email when the recordings available. Also, it'll be available on the CSD mess website. The notebooks that rich use in his demo are all publicly available. I'll copy the Earl in the chat. And so you can see that one more I can handle quickly is the BMI so this is a question from Caitlin BMI if BMI needs support for paralyzed codes. That's a good question so the current answer is no although we actually are looking at that. Maybe I can, that's like I can say that it's very possible and we're looking at that. There are a few more other questions that I like to pass to rich and Steve. One is for vegetation cover and land use. Is it changing with time for a larger time horizon and for the steps in the model. I don't know if I quite transcribe that correctly there. But I guess is the vegetation cover changing with time as well in the model. Okay in the version of the operational model. The answer is no, we're not using dynamic land cover because what we're trying to use is there's this kind of combination we have to do of like the latest stable land cover kind of crossed with our best model calibration right so we have to we have to recalibrate our model to the vegetation we're using and in that in the operational sense what we're trying to do is the most important run of the model is the run that ran last night with the whether they ran last night so we're trying to use the most current land cover we can with the most current model calibration we can to generate yesterday's hydrologic response. Okay, in terms of the national operational model that's what we're doing. Now as I said we have made model runs with evolving land cover. And basically in that case what we do is we derive a set of input files that each correspond to updated versions of the vegetation and then we run the model and step forward until we hit that new land cover and then run the model till we hit that one. But so we can run that way but what we're showing right now is not being run that way. Hopefully that answers your question. Right, another question and we'll do just a couple more I want to try to keep us before 11 so you can keep it to an hour. One question from hurry. Do you plan to add mod flow to this framework, as well as water management. Yeah, so the mod flow group has been working with deltaris and they have a version of BMI wrapped around mod flow. I think that should be available very soon. And that's there and and there are other hydraulic models deltaris, their Delft 3D FM model also has a BMI. Those may not be available right now to run within pi MT, but they are able to run in Python together, and and there's lots of potential there for coupling. Maybe time for one more question here so this is from Sarah how or at what level of detail are stream channel characteristics like slope and hydraulic geometry represented in the model. She's thinking about using applique or think about applications for sediment transport. Okay, that. And that gets back to kind of this scale and resolution issue that we've talked about before so the, the model that we're showing right here is doing hydrologic mountain hydrologic routing. So we are running a time steps that do not necessarily support. You know momentum components. And again, you know the difference between hydraulic and hydrologic is we're looking at mean daily stream flow. So some of the properties like that are based on velocity, we're not able to do we don't really have cross sections, well we don't have cross sections. We're not running on a sub daily time step. So things. Think about like masking and routing and like, characterizing stream channels with roughness, using slope, using length, using like the mean daily storage type routing. And that's kind of maybe the level that we're at right now and again maybe that distinguishes what we're doing here from, you know the water model, which I'm not exactly sure what kind of routing they're doing in the water model but it may be more hydraulic. Of course, if you're doing sediment transport, maybe I don't know if Rich wants to jump in here but you really need cross sections. I mean you don't, but like the pros that do pros that do hydraulic routing are going to tell you any cross sections and I'm, you know, I mean there are things you can estimate but it is really more of a hydrologic type routing within this configuration that we're showing today and that that's why it runs fast right. That's why we can make 100 year runs in, you know, a few hours or an hour or something because we're not doing that kind of level. Okay. I don't know if you want to say anything rich. Yeah, I did. I, you know, the one way it might potentially be used is if the system you're looking at is suitable to model on a mean daily time step or mean daily flow. One thing that PRMS can do to add to hydraulic model is to provide engaged tributary fluxes.