 speaker is Cee Lee. Cee Lee is at the University of Illinois and is gonna give her presentation on PyRiverbed, a Python framework to generate synthetic riverbed topography for constant with meandering rivers. Hello everyone, I assume anybody can show tell me you can hear me okay? Yes. Okay. My name is Julie or just come easy. I am a graduate student working with Professor Marcelo Garcia at UIC and today I'm going to give you a brief introduction on the Python code PyRiverbed, which is a synthetic riverbed topography generator for constant with meandering rivers. And I will start from the motivations. So meandering is one of the most unique processes in earth's surface dynamics. If you open Google Earth or any kind of similar tools, it will be very quite easy to find meandering rivers like this by their iconic shape. And most likely you also see the beautiful southern bar pattern just as the left figure shows you. The figure on the right exactly reveals what's very interesting. So the research question is, can a model use river centerline coordinates and give back the riverbed topography in equilibrium? Why do we need such a model? As you may know, many channels of centerline based meandering migration models were proposed in the past 50 years and most often derived the near bank shear stress or the near bank velocity from the steady state shallow water equations in the intrinsic coordinate system. And they always adopted the linear transverse slope assumption. But no one is specially designed for generating good quality bed topography. And the second motivation is for myself, why, what triggered the development of this model in the beginning? The answer is to create bottom boundaries for telemarketing models because my main research direction is using CFD models to study meandering rivers. And we always don't have the full basimetry data for river reaches we need to study. And in some cases, we have very limited data and a good estimate of the bottom boundary can be crucial in this situation because the bottom boundary is one of the six phases of a control volume if we consider meandering as a dynamic system. And then let's look at some details about the model. Firstly, it has a graphical interface. There are two modes to select. The first one is generating kino shita curve and the second one is loading your own centerline coordinates. So if the first mode is selected, user needs to enter kino shita parameters here, which include the number of bands, of course, and the arc wavelength, the maximum angular amplitude, the skewness coefficient, and the flatness coefficient. And if the second mode is selected, a level of smoothing can be specified according to this on the quality of the user provided centerline coordinates. And the channel with the water depth, the channel slope and the discretization resolution in both stream wires and the transverse directions should be specified. So in the next, there are two things need to be given. The transverse slope corrector and the curvature face lack strength. These two things are the new things proposed by this study and I will discuss them later in this talk. And finally, the meander migration submodel is embedded. And if it is turned on, users need to enter meander migration parameters just like other meander migration models. And the workflow of this pyrobat is very clear. And please note how the time advancing is coupled in the model. If the meander migration submodel is turned off, the whole workflow is going to be executed only once. And the figure on the right shows you the console output. Now let's take a look at the inputs and outputs of this model. So in both mode one and mode two, users need to enter channel parameters in the interface. And in mode one, there is no extra input file required. And in mode two and ASCII file containing the centerline coordinates must be provided. And the outputs of the model include a result figure showing the synthetic riverbed in the Cartesian XY coordinate and in the S and N, which is the intrinsic coordinate. And the next is the XYZ format point called of the synthetic bed. And the next is three output files, the river bankline file, the finite element mesh file and the boundary condition file are prepared for CFD modeling. And if the meander migration sub model is turned on, all kinds of files I just mentioned are going to be created for each snapshot during channel migration. And the final GIF animation file will be created to visualize the migration trajectory. Here is an example of all the output files. The first one is the point called and second one is the finite element mesh. And the third one is the boundary condition file. If you are a tally map user, you may have noticed the blue boundary and the green boundary already sat there. And the blue boundary always is always a flow discharge boundary in the upstream side. And the green boundary is always water surface animation boundary in the downstream side of a channel. And the last one is a bankline file. And here is an example of the meander migration sub model. This is a Taylor band in Sabine River, where is also the boundary of Louisiana and Texas. In about 2005, a neck cutoff occurred. You can compare in the to the Google Earth images before and after the neck cutoff shows us the model predicts reasonable back topography. This is a model outputs. And here's one thing I need to mention. The false colors are used to imitate the colors in Google Earth images. Because the output point cloud of the synthetic bed is always a wavy surface. And we can always set threshold depth and set the color below the certain depth to dark green and set the color above the certain depth to the color of sand to visualize the sandbar. And what if we run the meander migration sub model using a straight channel in the beginning, but giving a random perturbation to the near bank shear stress, sorry, near bank shear excess velocity at the first node, which means the perturbation is from the upstream side. And lower figure is river centerline migration trajectory. And this has been studied by quite a few studies. And the upper figure is the bed topography evolution trajectory by applying the same idea of false colors, we can visualize the sandbars during the migration. And here, if we run the same setup for multiple times, again, the third and the first and third rows are the centerline migration trajectories. And the second and the fourth rows are the sediment bar evolution trajectory. So after seeing a lot of results of PyRailBad, let's go back to take a look at the theoretical basis. And in 1988, Stuart proposed an analytical solution of bed topography in equilibrium form. And its foundation is linear the linear band theory and the experiment data feeding. And the method device here in the first equation, the method device any perception profile along the channel to a half linear half and an exponential half. So this group of equations tells us the bed admission could be a function of three parameters, whether depth, the channel base and channel curvature. And if this group of equations is applied directly for a symmetric meander band, like this one, the band will be symmetric to the geometry because the symmetry comes from the usage of local curvature. And the figure on this figure shows you an example when this group of equations are applied directly. So the question comes, can we simply replace the local curvature with some kind of cumulative curvature? And after a series of derivations of a linear stability analysis, using the shallow water equations as a starting point, and we can get the equation 2.40, this equation in the end and a number of studies already did some research on this equation. And we can evaluate the red hand side term by term. And the first term depends on the UB0 and C0, UB is the perturbation velocity at the first node, and the C is curvature at the first node. C the curvature and 0 is the first node. So these are the initial conditions. The example on the previous page just showed you the UB0, when UB0 is a temporal bearing node 0, what will happen? And the second term, this term, the A3 term, implies the near bank access velocity is negative proportional to the local curvature, because chi here is the sinuosity to the power of minus one-third. The sinuosity is a number between one to two or three. But then chi is larger than zero, at least to A3 is minus below zero. The third term, the convolution integral, is equivalent to imposing a phase lag to the local curvature. And A4, the last parameter wraps score factor A, friction coefficient Cf0, half ways to depth ratio beta, and the zero's order from number f0 and the sinuosity to the power of minus one-third into it. And here in Baxi equation, the score factor A has a relationship with beta, which is aspect ratio divided by two. And then we can reduce the number of depending parameters of A4 from five to four. Then but this relationship of A is found too high when the beta is high. So which brings the motivation to put a corrector in front of the formula to reduce or adjust the determine the magnitude of the transverse slope. The final formula is in the next page. So here now we work on replacing convolution integral of the local curvature C. We can write the convolution integral as a fancy f here. And we can write another corresponding upstream word, weighted moving average of the local curvature C as the fancy G. And the macro effect of G is same as the f. It's just imposing a phase lag to the local curvature. Note that the moving average also a type of convolution in math. Now you may ask a question from f to G, what if the amplitude and the phase shift changed? Here is a solution provided in this model. And in the interface, there are two more model inputs to control the amplitude and the phase amount, phase shift amount. And they should work like a calibration parameters. Then the final formula of transverse slope is showing this equation, the 2.45. So I can summarize what I have done in this graph. The black line is local curvature. And the red dash line is lagged curvature. It can be the convolution integral or the moving average. So in this study we chose moving average because it's easy to control the phase. And here the implementation. We all know Python is a lot slower than C or fortune in sense of computing, but we have none but to make the Python code fast. And for the interface, I chose the standard Python interface, which requires no extra installations for the users. And the code is hosted on GitHub. And why the final thing is why it makes a finite element mesh and boundary condition file. So the major motivation of making the finite element mesh and boundary condition file right after the production of the synthetic bed is to offer a convenient follow up step to perform safety models. So here I'm showing you a workflow for me and the river modeling could be. So the riff map and Paris, which are two softwares or packages already published, and they can we can extract the river centerline coordinates from satellite images that the land set imagers and the period with the centerline coordinates and give you the topography and you can use the topography in the following safety model. Here, I'm sorry for my interruption, but could you wrap up in the interest of time? Yeah, I'm not going to read everything here in the interest. Yeah, I'll stop here. Thanks. Thank you for your presentation. She before we move on to going to have maybe one short question. And if there's no question, I can I have one question. And she because I I found the meandering river is really fascinating. And maybe you touched upon this and I missed it. But I can imagine that the different grain sizes in the riverbed can have a big impact on the riverbed topography. Can you maybe touch upon how your model is dealing with that? Or if your model can deal with that? Because this is an analytical solution. So it's assuming. So based on the channel base depth and the slope, that's just only three parameters. So it's assuming the channel foaming. Because there's no discharge there. And there's no information of sediment there. And it's so it's assuming it's the same bad river. And the channel at the discharge is the channel foaming flow. So it's not recommended to use this model for your experiment, the flu studies, because the discharge can you can vary discharge and you can change the transfer slope by your own. So it's not controlled by the channel foaming discharge. So that's my answer. So it is it cannot capture the effect of different grain sizes, but you can play with the calibration parameters and you can play with a little bit to capture the real transfer slope. Wonderful. Thank you.