 Hello, and welcome to Meet the Experts. I'm Tim Barnes, a science education specialist here at the National Center for Atmospheric Research, NCAR, and I'd like to welcome you or welcome you back to our monthly look behind the scenes at NCAR at some of the work our staff do, and today we will be finding out about coding Earth's climate with Max Grover. But before we do so, just a couple of housekeeping bits and pieces, please feel free to enter into the chat, say hello. Hello, it's where you're coming in from. I know we have a color springs already here and looks like Napa, California, so welcome. And if you do have any technical issues along the way, just enter into the chat if you can, and we will help you out there. We also do have live captioning enabled, so if you need that, you can turn that on right down at the bottom of your screen, and lastly in the chat, too, if you have any experience with coding and know a language, enter that in the chat. We'd love to hear what your experience is. And with no further ado, I'm going to turn this over to our guest, Max Grover, and Max. What exactly did get you interested in this connection between coding and weather and climate? Yeah, thanks, Tim. That's a good question. So for me, getting started in coding and my interest in weather started from a very young age. So I grew up one of those big weather nerds, so Storm Stories is one of my favorite shows, especially growing up. I always head on the weather channel and was always keeping an eye on kind of what was going on with the weather. And then I also went to quite a few children's museums and became interested in my favorite exhibit, this is from Rockford, Illinois, around where I'm from. And you could see that tornado exhibit in the back there. And so going to these different exhibits and watching all these Storm Stories and all this stuff about whether it really may be interested in pursuing a career in meteorology and computers. And around fifth or sixth grade was sort of when I decided. So I remember my high school science teacher, we did interactive labs or we'd go out and measure the temperature. We had what's called a sling psychometer that would measure atmospheric moisture. We'd be out there spinning that. And that really made me interested in pursuing this. So I started looking at ways to continue my education past high school and came across Balprey's University, which is a school in northwest Indiana where I was involved with the meteorology program. And one of the neat things about there was they had a television station where I could work as a meteorologist. So this is a picture of me doing the weather for VUTV, which is our campus television station. And you got a chance to get in front of the green screen and help tell the stories about the weather and kind of inform people what was going on. But then I realized that I was more interested in the coding side. I took some coding classes and in college and really became interested in the intersection between weather and climate, kind of that science side, as well as the coding side. And so I continued my education, went on to graduate school, and eventually ended up at the National Center for Atmospheric Research, where I now work as a software engineer up here at the Mesa Lab. That's our beautiful laboratory. And I work in the Climate Lab on various coding and climate applications. So within our lab, we do a lot of modeling, which is basically simulations of our Earth. And this is what's called an Earth system model. So this model, this computer simulation, takes into account the sun, clouds, oceans, the land, rivers, glaciers, basically everything that's going on on Earth, they're able to put within this model, and then they simulate our Earth's climate. So these models can run thousands of years of our climate, which is pretty neat. And it takes quite a bit of computing power to accomplish those tasks. And we do this all with computers. So like I mentioned, we do simulations and you'll see this is just like a typical office and not necessarily in the field doing anything. But we use these computers quite a bit to be able to run the simulations and analyze the data. So these models produce a lot of data and that's where I come in is helping develop tools to be able to help scientists look at data. So on the right here is an example of one of the visualizations that I've helped create. And this is some weather station data. So we have an anemometer, which is a tool that measures the wind. And then we have our thermometer, then a hygrometer, which measure the temperature and the dew point. And so what this visualization is showing is that this is a couple years ago, but it gets really windy up here at the Mesa Lab kind of like today. And you can see those wind speeds are really strong, about 80 miles an hour, which is a very strong wind. And that's indicated on the top, that kind of top plot. And then down below is a plot of temperature and dew point, with temperature being how warm or cold it is, and dew point being how much moisture. So basically how wet it feels. So that's one of the visualizations that I've helped put together and show scientists how to take their data from these files on the computers and generate these nice graphics where they can zoom in. So this other graphic, so this is a visualization of model data over the coast of Australia. So here we're looking at a tropical cyclone where we can move up and down through our atmosphere. You can see that little slider. And we can take a look at this this tropical storm and dig into the data. And it's really neat, because this allows scientists to be able to dig into some of these data. So getting it from some file on a computer to actually actionable information where they're able to investigate and find out what's going on within our weather and our climate. So being a software engineer and partial data scientist here at NCAR involves a lot of coding. So that's what we used to be able to convert these files on a computer to actual graphics. So this is an example of some code written in Python, which is one of many programming languages. And programming languages can be thought of kind of like a foreign language, you know, like Spanish or German or French. And basically you learn these coding languages that will give you pieces that you could put together to put together some of these workflows. So in this example, I'm calculating an annual average. And this sort of walks through how to do that all within Python, which then after generating this sample blocker code, we can hand this over to scientists and they can use it within their analysis to be able to gather information about how well our climate models are doing. So kind of that handing off that's another part of my job and a part that I really enjoy is actually teaching people how to code. So one of the projects that we work with is called Project Pythia, which is a resource to teach people how to code and specifically for the geosciences, which includes climate and weather and that whole sort of realm. So we put together these examples and esoterials to teach people all the way from installing this programming language called Python, all the way through developing these different blocks of code that get them from reading in some file, all the way to generating various plots and actually having idea of what's going on within their analysis. So that's pretty fun to be able to teach people how to code. So speaking of coding, we're going to pop up a question here. So here's a sample piece of code. Again, this is the coding language of Python. And what do you think this piece of code will do? I saw in the chat that there's at least some people that have seen some coding before. It's exciting to see. So take a look at this and go ahead and respond within the Zoom chat. What you think this block of code will do? I'll give you all a minute or so or a couple of minutes to think about this. And again, once you're ready, go ahead and put your answer within the chat. I think we do have a response already. Whoo. You're quick. Alrighty. So I see one answer. All right. See a couple answers now or a few answers, I should say. Yeah. So I see that we have a few answers. Go ahead and jump right in. So, yeah, thank you to everyone for putting in those answers. So I see that so I'll just walk through kind of the solution here. So I see a couple of people put in here. So it might print out each of the numbers above and add two. And that is correct. So what this is doing? So we have what's called a variable. They're the first line called temperature, where we assign it some numbers. So you can imagine this being, for example, the temperature outside. So we have 32, 30, 36, 40, and 50. And then it goes into what's called a loop. And what this will do is for each of those numbers within that list, it will go through, add two to that number, assign it to that new variable called new temp, and then it'll print it out. So this is this idea of some list of numbers and going through and looping through different numbers within that list is something that's used quite a bit within etiology and climate. And especially within these models, while it's not necessarily always Python, another example of a coding language called FORTRAN, which has been around all the way since the early 70s, we use these these programs to not only simulate the climate, but analyze the data that comes out of these these climate models. So again, thank you to everyone for putting your answers in there. And I'll give some resources at the end to if you're interested in learning more about coding and going through some of these different examples. So as I mentioned before, one of the things that we work with is this earth system model, which again models our whole sort of earth system, everything from the clouds you could see in that picture all the way to the land, the oceans, all these different parts of the earth. And so when we're modeling that, we basically break off into different groups, and they all develop these different components is what we call them. So you can imagine having a model for the atmosphere, a model for the ice, there's sea ice or land ice, the land, as well as the ocean. So all of these separate groups and these separate codes that model these different things, all come together into a columnar system model, which you could think of like a robot, kind of like Optimus Prime there on the right. So all these different components, so for example, arm, legs, head and so on, they all work together to be able to model our earth. So this is a pretty amazing process and pretty incredible group of people here and really the code itself is pretty amazing. It's millions of lines of code that are put together to be able to simulate what's going on on earth. So you can imagine with all that code and sort of all this data that it takes a pretty powerful machine to be able to accomplish this, which is why here at the National Center for Atmospheric Research use what's called the super computer, which is basically a really big computer, to be able to carry out these simulations and provide a place for scientists to analyze the data. So our super computer is called Cheyenne, which is shown in this picture, and so located in Wyoming. And you can see that super computing center there. So this is the big computer that a lot of us are accessing and running our models on. So we'll start off with a question here. So can you imagine this computer is pretty big and how many regular computers, so for example laptops or desktops, how many of these computers do you think it would take to equal the computing power of Cheyenne, which is our super computer? 50, 5000, 50,000, or 500,000. And this you can submit your answers via the Zoom chat. So you'll see that there should be a poll window that opened up. So if you can go ahead and submit your answer there, again indicating how many typical computers it would take to equal the computing power that we have here. And Max, while we're waiting for everyone to complete our poll, we did have a question in the chat about how long does it take to code all of the millions of pieces of code in an Earth system model? Yeah, that's a good question. So typically it depends on how long you want to run the simulation for. So we have what's called test cases, where we can run sort of just a single year of simulation, which accessing typically around, I don't know, 30 cores on that machine, which is a small subset, we could typically run that over the course of an hour or two. And actually there's resources on the CGD, the Climate and Global Dynamics Lab website that tell you how many hours it takes for the model to simulate a year of the climate. So there's lots of metrics, but if you were only to run a single year, it would take maybe the test case at least runs in about an hour or two. All right, and I see we have some of the results in. And yeah, you all nailed it. So great job. So the answer is 500,000. So as I said before, this is a super powerful computer, and we're very fortunate to have this much computing power here at the National Center for Atmospheric Research. To be able to carry out these simulations. And a lot of the times these simulations are carried out all across the world at other computing centers too. So again, it's great to be able to have these sort of computing resources. And when you're working with as big of a model as we are, it's important to be able to have access to all of this. So I just wanted to close with some links to some resources to getting started with Python, and just general coding. So the first there is Code Academy. So this can be helpful to sort of get introduction to the Python programming language. Project Pythia is another really great resource. And like I mentioned before, this is it's meant more for the the geosciences. So if you're interested in looking at weather and climate data and learning about how to get started with that, that can be a really great resource. And then the last the last piece is what's called MetPy Mondays. So MetPy is a piece of the Python programming space that works with meteorology data. And they have some really great tutorials on YouTube that you can sit and watch and learn everything from installing it on your computer all the way through generating different visualizations and different analysis. So at this point, we'll go ahead and open it up for questions. But thanks again for for listening and we'll go ahead and answer some questions here. Well, Max, I think we had a question. Well, I know we have a question about how many people does it take to code a year long simulation? And maybe you can explain what that what that whole process is of even getting to the simulation? Yeah. So you have a lot of people that are are behind the scenes and and helping put together these different codes. So there's a if you wanted to just run it yourself, you can. There's a tutorial on teaching you how to run a simulation. But the underlying code can take years and years to develop. So for example, we have the Community Earth System model version two is the current latest version of the Community Earth System model developed here at NCAR. And there's been several several other iterations of it over the years. And they've been developing climate models taking back to even the 1960s and 1970s. So yeah, it takes a it takes a while to be able to develop some of those code bases. But the good thing is once you have those code that code in place, typically it only takes one person to go ahead and run the simulation. They might have to ask for help. We have different ways to support people figure out how to how to run the simulation. But yeah, so you can run it with one person. But the underlying code itself often takes years, if not decades to develop. I think that answer may have to Yeah, I was gonna say too. So like I mentioned before, a lot of the code is actually in Fortran, which has been around since the early 70s. And some of that code is still developed in the 70s and even early 80s has continued to be used and carried on through the years. It's pretty amazing. Well, Max, I was gonna say, I think your answer may have surprised a lot of our viewers that it's possible for one person to implement or put in action all of these lines of codes. And that's a key piece of, well, maybe doing your job well so that it can be used extensively around the world, especially with incredibly powerful computers. And I would like to share, I don't know if you've seen this next question, but I think this is, it's very important that you address this this next question, because I think it's more of a meteorology question than a climate question, but they as KM asked, how do these simulations help you to determine what storms are coming and how big they will be? That is a great question. So basically, what are the, a lot of these models do? More so the weather models, as opposed to some of the climate models. But you can see here, so basically, they take in current information. So they take in observations kind of like I was showing before, temperature and dew point. And you can see radar images here. So they take in those current observations. And then they use all these lines of code to be able to project what will happen in the future. So there's all this, these mathematical equations that people write and people are developed to forecast and basically predict what's going to happen at the next time. So those sorts of models are used all throughout the field. And especially what we call higher resolution, which basically means more zoomed in that are able to look at these storms. Those are more of the models, those weather models are the ones that are able to give us information about where a specific storm will go. In the climate side, we look at those are more what's called course or lower resolution. So there might be only one grid point is what we call so we grid the whole earth. So there may only be one grid point for like an entire state. So we don't necessarily have that higher resolution to tell you where a storm is going to be in say like 2050. But we can use some of that information about the environment to be able to sort of imply or sort of look at what we think would happen at that higher resolution. Thank you so much. And we're coming close to time. Did you have another? Yeah, I hope that was kind of on the lines there. I know I didn't completely answer your question. Perfect. And before we do end, I think it might be critical to like find out, are there any internships available NCAR for people interested in coding? Yeah, so there's quite a few internship opportunities. That's how I got started. I was a summer intern at Unidata, which is one of the sections of UCAR. And there's lots of great opportunities to have a chance to develop your coding skills. And that's where I developed a lot of my coding skills was through that internship. So I'd encourage you to check out the internship website, which I drop here in the chat. But they have a lot of great opportunities here at NCAR UCAR. And people are doing so many cool things with computers here. That's a great place to learn. And have you always been interested in computers, Max? Yeah, even from a young age. I was always on the computer, always helping people with computers. And I remember in preschool, in fact, way, way longer, you know. I, in mind, my award was actually Mr. Computer, because I'd helped our teacher troubleshoot our computer that was in the back of the classroom. So always been interested in computers and needs to be able to combine my passion for both meteorology slash climatology and computers in such a great way. All right, Mr. Computer. So I just have to ask, if you had a superpower that helped you do your job, what would that superpower be? Yeah. So I'd say it's sort of split in two. So one being my Hawaiian shirts. And just keeping that frame of mind. This is one of them. I think I have over 45 of those. And then the other being just my passion for teaching people how to code and interacting with some of the users that use a lot of the code that I helped develop together inside of our client models. And what would you say is probably the most challenging part of your job? The most challenging part typically is actually figuring out what's going wrong with the piece of code. So it's in programming, it's called debugging. We call them bugs. And things aren't going the right way. So it takes quite a bit of time to figure out what's going wrong within your code, finding ways to troubleshoot and figure out possible solutions to it, and then getting it up and running. But once you have it up and running, it's super fun. And that's, I guess, one of the highlights is when you finally get past some of those bugs in your code and get to these really nice visualizations. It's pretty neat. All right. Bugs in your code. So, Max, are there any final pieces of advice that you'd like to provide for our visitors today? Yeah, I guess. So for me at least, I knew what I wanted to do and was super passionate about weather and computers. And if you're passionate about something, go for it. It's pretty cool to be working at this passion that I've had since like 5th or 6th grade. So if there's something that really interests you out there, really dig in and go after it. Well, thanks again for joining us. We are at time and need to close out this session of Meet the Experts. So thank you again to Max for joining us. And thank you all for logging on today to hear about coding the Earth's climate. And please join us again next month on March 3rd for Meet the Experts. And we will have a special session called The Sky, a collaborative program with the Denver Museum of Nature and Science. And we'll be going behind the scenes at the NCAR Research Aviation Facility. And again, that's on March 3rd. So thank you all for joining us. And I see the thank yous in the chat. We will see you next time.