We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Czech Drought Monitoring system – a journey from manual work to global drought monitoring and machine learning, powered by Python

00:00

Formal Metadata

Title
Czech Drought Monitoring system – a journey from manual work to global drought monitoring and machine learning, powered by Python
Title of Series
Number of Parts
112
Author
License
CC Attribution - NonCommercial - ShareAlike 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
This talk aims to encourage beginner developers not to underestimate the skills and benefits they can bring to various non-IT environments. I joined a team focused on drought research at the Czech Academy of Science in 2016 with a fresh degree in Geoinformatics and minimal experience with coding. Thanks to this very little initial knowledge, we were able to build a robust system providing drought monitoring and forecast for Czechia and also the whole of central Europe. We were able to fight through text files, user inputs, and geodata of all sorts and say goodbye to manual processing thanks to Python and its geospatial and data processing libraries. On the technical side, the presentation should introduce some of the handy geospatial and data processing tools to get your hands on any task, from producing colorful maps to analyzing time trends in satellite imagery. It should also be a guide on identifying needs and building the most necessary data manipulation processes from scratch. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/
29
Software developerCodeInheritance (object-oriented programming)DatabaseUniverse (mathematics)Graphic designDifferent (Kate Ryan album)Software developerNeuroinformatikDatabaseObservational studyFlow separationBitTrailExecution unitData miningMereologyInformationMultiplication signString (computer science)AreaPoint (geometry)State of matterProcess (computing)Group actionCASE <Informatik>Presentation of a groupMappingDecision theoryPhysicalismType theoryPhysical systemLine (geometry)CodeDialectSoftwareComputer programmingCodeInheritance (object-oriented programming)Right angleComputer animation
HypothesisMereologyCodeNP-hardCAN busProcess (computing)HypothesisDirection (geometry)RoutingMultiplication signMereologyBitCodeWeb 2.0Cartesian coordinate systemDigital photographyTexture mappingPlanningLevel (video gaming)Software developerFocus (optics)Real numberFigurate numberMathematicsView (database)Goodness of fitPoint (geometry)Interactive televisionWeb portalPower (physics)Uniformer RaumJoystickObservational studyDifferent (Kate Ryan album)Scripting languageArmThermodynamisches SystemControl flowRow (database)DistanceECosTerm (mathematics)Core dumpFormal languageCodeRepetitionComputer animation
PredictionThermodynamisches SystemMoistureData modelSineCodeWage labourElectronic mailing listStructural loadPrice indexTask (computing)FreewareWebsiteHecke operatorLatent heatLink (knot theory)GeostatisticsModemMappingAerodynamicsTabu searchProcess (computing)CalculationCodeWage labourTraffic reportingMultiplication signSoftware developerData storage deviceWebsiteProjective planeFreewareProcess (computing)Computer configurationCodeProduct (business)MappingPhysical systemDirectory serviceLaptopPolar coordinate systemEndliche ModelltheoriePoint (geometry)SatelliteWater vaporScripting languageRandomizationRevision controlOcean currentState of matterMetreState observerTranslation (relic)Different (Kate Ryan album)MereologyEstimatorGroup actionPredictabilityTexture mappingTask (computing)Subject indexingVideo gameCalculationCivil engineeringSoftwareFocus (optics)BitMeasurementFlow separationInternet service providerCharge carrierCausalityElectronic mailing listDigital photographyData managementDigital electronicsOperator (mathematics)Computer animation
Process modelingSource codeThermische ZustandsgleichungSoftwareMessage passingSoftware developerBitCodeWebsiteView (database)Multiplication signDivisorAlgebraic closureEndliche ModelltheorieControl flowDisk read-and-write headComputer animation
Software developerEndliche ModelltheorieForcing (mathematics)BitScaling (geometry)Self-organizationCycle (graph theory)Process (computing)Social classDirection (geometry)Multiplication signPower (physics)Computer animation
YouTubeStreaming mediaMoment (mathematics)Direction (geometry)Roundness (object)File viewerTask (computing)View (database)Video gameSheaf (mathematics)Endliche ModelltheorieLecture/Conference
XML
Transcript: English(auto-generated)
So, my name is Monika, once again, very happy to be here, and today I would like to talk not just about the Czech drug monitoring system, even though that's something we do in our work, and that's something that's powered by Python, I would like to say,
but also and mostly about my journey, how I even came to the coding in Python, and how it was for me, and hopefully it would motivate those of you who might be the beginners or maybe a little bit lost in the tech world to navigate through all of that and find possibly your path to not necessarily becoming a developer, but becoming something else which you can
use Python or coding for. So let's dive right in. What is this talk going to be about? So as I mentioned, you don't have to become a developer to code for a living and actually have fun. This is what my case was, and you don't have to be scared if you don't really enjoy all
the technical details, you still can do amazing stuff, because you can sneak up to some other industry or research and really connect the coding with something you love or you find yourself passionate about, and you don't really have to be a tech guru to do this
and to be really helpful to some scientific team or industry team that just needs somebody to help with the coding, and maybe you have some good practices to bring from the developing world and you can still do pretty amazing stuff which I am about to show you as we do in the Czech Republic, and you don't ever have to be scared to show off what
you have learned so far, even if you don't feel like it so much, because it was also my case. So unfortunately there is some things that are not in this talk, so this talk is definitely not about some super advanced Python state-of-the-art coding. I'm very sorry for that, if there are some tech gurus in the area, please run away,
because you would probably be terrified with what you are about to see. We are also not about newest technologies. To terrify you even more, some of our code still runs in Python 2.7, nobody is running away, okay, great to see that.
And it's not about Kubernetes, whatever it is that, but please somebody tell me what is that, because I really need to know, everybody are talking about it, I have no idea, I'm just laughing and nodding, and please find me at lunch because I need some information about this stuff. Thank you. Now, to the talk.
Nobody has left still, so a little bit about me to start the journey. As mentioned, my name is Monika, I feel myself to be a mediocre Pythonista and I decided to use this title a few years ago when I realised I don't have to Google how to slice a string. I just did it, and it was right. I just got the part of the string that I needed for the first try.
So I thought, you know, I'm not a unor anymore, I'm a mediocre kind of Pythonista now. I'm also not very smart. I mean, I got into Dublin without any troubles, and not the major ones, but you know, I'm not this kind of a very brilliant brain who is still filled with thoughts, overthrowing
with ideas. I'm just sitting there watching, learning something new now and then, but not so very brilliant. Keep this in mind during the presentation, please. I'm also, as already mentioned, want to be a PhD because I decided I would do my PhD
in climatology in my 30s for several years of saying that I would never do my PhD, so that also says something about me. I am a GIS analyst, GIS stands for geographic information systems, if you are not familiar with that, and I'm also a very uni-researcher.
To sound at least a little bit fun, I'm also a winter sport enthusiast, so you can usually find me somewhere cold, or at least somewhere far from the sea level. Now if you, when you get to know me a little bit better, I can start with my journey to coding. Also known as how I learned to code even if I didn't want to, I also tried to illustrate
this path with a piece of art of mine, the crooked line that I did myself yesterday in the evening, so just saying, not only the coder and the researcher, but also maybe a graphic designer, we will see, we will see. So my path to coding started actually at the university.
I did my studies at Maastricht University in Brno, which is the literate thing in the Czech Republic, it's not Prague, it's Brno, please, just mentioning it, because it's a big difference, and I did both of my bachelors and masters in cartography and geoinformatics, and don't make me wrong, I loved my studies, it was amazing, I learned
a lot, there was an amazing group of people, it was like seven of us in the program, so it was pretty small and cozy, but there is a little bit of confusion with the informatics part of the name of the program. So most of the time, we felt like this is a monk on the image, we learned a lot,
we learned a lot about the physical geography, that means how the atmosphere works, what types of soils we have and why is that, how did it come together. We also learned a lot about the history, about old maps, how and why were they made, and who made them, how the geographical names went to the world, and stuff like that.
We also did a huge amount of regional geography, and that's why I know that Pidurutavagawa is the highest peak of Sri Lanka, and I will never forget it, for some reason, but we also did some GIS, that means clicking in the software that specializes in somehow
analyzing the geospatial data, and they also enlightened us by the fact that the databases exist. Some databases, I don't know what it is, they are somewhere, you can have data in them. And that's about the informatics that we got into. So really, we felt quite a bit like the monk on the picture, with this quill, trying
to map the world, even everything is already mapped, being coached by some other guy who is pointing somewhere totally different. More or less we felt like this is not really what the job market expects from us after we graduate in geoinformatics, because from what we got, this was maybe the picture
that job market had about the geoinformatics, and we didn't quite look like that at all, so we got nervous, and that's why, when the bachelor's thesis came, I decided I will go a different direction. For some reason, they let us do non-research thesis, and they let us do applied thesis,
so you could actually make something, you didn't have to discover stuff. And what they also let us do, for some reason, was choose our own topic, so guess what I did? I went for that. I did an applied thesis with my own topic, and for some reason I was surrounded by photographers
at this time. All my friends were doing something about photography, so they gave me this idea to do the web map application that photographers could use, to share the spots to take pictures in, everything. There was an interactive map, there was logging, there was like doing stuff with
the map actually, making it interactive, putting points of interest into the map. I remember that monk from the picture, in the last slide, oh, he suffered a lot with this little quill, so it somehow went through. For some reason, it was 2013, so I chose PHP because it was how we wrote in that time,
and I felt like it was coming together somehow. I was not happy about it, I quite a lot hated the idea of coding, and there was some crying and stuff like that, but I somehow put it together, and you won't know what came
next. Yes, this bad guy. I was suffering a lot, a lot, and I hated it even more when I have to do this part in JavaScript, which was basically everything from the map interactiveness to logging, you know that you are developers mostly, so it was terrible, but somehow I made it
through, and I gave the thesis in, and I also got into my masters because on the other hand I really loved the studies, I loved to learn, so I went to my master thesis, and you know what, my advisor somehow remembered what I did for my bachelor's thesis and
suggested that it would be a great idea to help another guy with another web map application, and I went for it again. This time it was something that already existed, but what was needed for me from the old little monk was to do the advanced geospatial stuff and figure it out. There was this huge portal for hikers to plan their routes, plan their trips, so I
had to think about how to even do a route planner, how to do the elevation gain maps, and stuff like that, so nothing too great. I was totally in the dark, thanks to my friends and a lot of good advice I somehow managed
through. The other thing was that the portal already existed and it was written in something, and it was Ruby, and I was suffering again for some reason, and at this point I wasn't even sure that coding is something that I would like to do, because I had this PHP behind me, and I didn't like that. Then the JavaScript part, I hated it totally, and then this guy also didn't speak to me
that much. But again, somehow, things got sorted out, I went through, and since I was at my masters, I got the time to get the part-time job which I got. I got the part-time job as an IT specialist.
That monk was an IT specialist now. I actually applied for a GIS job in the company that figured out how to do flood management plans for little cities, municipalities, and I applied for a clicking in GIS and doing those plans, actually putting them together and communicating with the majors.
But my upper level heard about my great success with those map portals and coding and stuff, and offered me to join the IT team, and I said yes, because I don't know, I mean, now I'm happy about that, but at this time, I don't know what I was thinking.
But I went for it. I finally learned a little bit of Python, because the company was based on Python coding, and things started to make sense a little bit. I discovered Python. I liked it much more than what I have seen before, for some reason, I don't know, maybe it was just a better collective, whatever.
I had more time to do that. It doesn't really matter at the end. Things started to turn out a little bit better, because I realised that Python and GIS technologies are actually very good friends, and that I could do a lot of stuff that I did manually in GIS in Python.
The question is why didn't they tell us at uni, why they didn't have a Python curse there? We don't know until this day, but whatever, we found our ways, all of us are doing just fine, nobody is a monk, so yes, also, a very great thing to me, thanks to the fact that I was in the IT department, I landed in the coding social bubble, so now I was surrounded
not by the photographers, which was also great, but not so helpful, but by people who do code, and they actually enjoyed it at some level. So I joined PyOADs, at first as a trainee, and as the time went, I also became a coach,
but that's another story. So, you know, I started to get around a little bit better, I finally wrote some decent code, and I also gained some view on how it should look like. What are the good practices? I'm not saying that it was something amazing, but, you know, it started to look like a code, not like a mess in some kind of language, but I also realised I still don't like the
hard-core technical stuff, the things that guys were talking about by the coffee machine, all those little bits and pieces, I wasn't interested in that still, so I thought it might be a problem, but I figured out it might also be or not, because by the time
I actually went for my first real job interview, it was just when I ended the uni, and I got into the great place, the scientific world, which I also didn't know by the time, but now I see it, and I became a part of the scientific team, because lucky for me,
I was successful at the interview, again, don't know why, but I was, and I finally realised what can I actually code and enjoy it. So, I landed at Czech Globe, that's the long name of the institution that you have already heard, a little bit about that, because it's my home for six years now, and I still
really dig it, it's the research institution under the Czech Academy of Science, we are quite big, there is 350 people, most of the people are scientists, the focus of the institution, oh, okay, is the global change impact on ecosystems, it's pretty wide, we have lots of teams,
and my team is focusing on the climate change impacts on agro-ecosystems, that means we are focused on agriculture, how does the climate change impact the yields, the pest outbreaks, et cetera, et cetera, on the picture you can see one of our experiments, when we are torturing the plants with different CO2 levels, which each one of these
greenhouses has a little bit different CO2 level, and we are searching what is happening to the plants that are living inside of the greenhouse, so most of our work is just a torture, some plant, basically, but yeah, that's what we do for science. So, the flagship of what we do in our team is the Czech Globe monitoring system,
you can find it online at the website that is right here, the English translation is not very good, we are currently developing a whole new website, but it will take a year maybe, so bear with us, it kick-started in 2014, in 2015 we had a pretty severe drought in the Czech
Republic, and we needed some tool to monitor it, because the impacts were huge, the yields were dropping, there was no wheat at all, et cetera, I joined in the half of 2016, so quite at the beginning of the system, we are monitoring soil drought, that means we are all interested in how much water is in the soil to be used by the plants. The portal was made for the farmers,
basically, because it's a group that's the first who is hit by the drought, and also for the general public, we monitor in Czechia, Slovak Republic, and also Central Europe, and it's a live product, we have daily fresh data. We have three main data or parts that we build the system upon, one is our soil moisture model,
which takes the ground measurements, and at the end of the model, it gives out the estimation of soil moisture in the 500 by 500 meters pixel, we also use satellite data, of course, of observation from many providers, and last but not least, we have our farmers,
who are reporting us the current state of drought and the impacts on the crops. So, as you can see, it's quite a data-heavy system, we have all of this model data, earth observation data, which tend to be quite hefty, we have the reports, the pictures,
the predictions, it's a lot, and I realized that besides me, and I just joined this, there is the one GIS analyst who was clicking everything in the GIS software, so to be honest, I thought I was a great fit, I had some experience with automation and coding
from my previous career, or how do you want to call it, and I also felt like I can really help even if I don't know a lot, because the other GIS analyst had no time to do stuff and automate, because she was buried in the research and the papers, because you have to realize that the
system is developed by scientists, which is pretty much something a little bit different than the commercial developing software, you don't have the product itself in your focus, you are focused on the research, and you get to a system like this just when the research papers are published and grants are, you know, granted, and it's basically a free time project for you,
you have no software development habits, you have no version control, the scripts are running at the random notebooks and PCs somewhere at another city on the GIS lab, and you don't care how the code looks like, which was new for me, because, you know, I just was on the top of
making things pretty and functional at this time, but this is what I realized, and I also realized it's my time to shine and also learn heavily, because I could actually start a code to make something better. And I decided I will focus on getting rid of all the manual labor that
we had, that I saw there, and that's because I had what I called a newcomer luxury time, you know, nobody takes care about you, you are new, they just point you to the coffee machine and nobody expects anything from you for the, I don't know, first three or four months, you can just sit there and look if you are not very into it, and I decided I will use the time
to watch and learn, but also to find out the things that I really don't want to do when I had my place in the team, and get rid of those. And I identified three of them. First was daily data downloads. Somebody was downloading data daily by hand, going on
some website and getting the data and putting them in some directories. That was terrifying. Not as terrifying as daily production of map layouts when you did the map in the GI software, also by hand, by clicking and putting things together, also terrible, but the most terrifying
is that somebody processed data weekly in Excel by hand, by copying things and doing the basic calculations, so at this point I was pretty terrified too, because I don't want to do these things when I get into the team, because these were the first things that I would have to do. People would like to get rid of it, right? So, about the daily downloads. My task was
to add the daily soy water index data to our website. That's not really that important, what the data was, but I figured out that if I automatically download these data, I can do it with whatever data we are actually using and get rid of those manual downloads. Just FYI,
if you would like to get your hands on some spatial data, there is a Copernicus data store which is ESA-covered project and you can get free EU and global satellite data at this website, so just note for you if it's something that interests you. So, I went through the daily
downloads. How do I download the data? There was a lot of questions. Don't make me wrong, even if I was motivated, I still didn't know a lot. How even get into the data formats? How do I manage projections in Python? Basic geostatistics? Nothing learned at the uni yet. How to get maps from the data? Also had no idea about that. How do you get maps to our website?
Also no idea. But you know what I found? This one. All the answers at the one website, and you know what I found else? Somebody has already done this. I'm not the first who is approaching these problems. Surprise, surprise. So that was great. I took this one down. Another
one was the production of map layouts. Weekly, daily, map, prediction layouts, terrible to do by hand because you have to produce all those little maps and then put it into one map and then put it somewhere. So, again, I went for it, had my questions, a lot of my questions.
Again, I found out that somebody already did that, and in my career, I didn't find anything that somebody didn't already do, so that's a great thing, and I realised I love it. The job was just opening the doors for me, and there was a lot of options which way I would
like to go. It was not boring, and I enjoyed coding for the first time, and I didn't know what was about to come because there was the Excel sheet data. Just to give you a picture, about 1,500 pharmacy reports weekly processed by hand, copying from one Excel to another,
semi-manual calculations, one weekday dedicated to this, and one colleague on the edge of losing her mind because she was doing it for two years now. Terrible. I decided I don't want to do this when I'm done, so what do we do in the Python community when we see
this bad boy? Yes! We go pandas, and I have to say that this specific task was something that I got caught on. I fell in love with data science, not when I was doing this, but, as the time went, and I found my calling in some way, and that's just because I went away
from the developing world and went somewhere else, so maybe that's my message here. So, what are we up to now? We have implemented some software development tools, actually. I went through and learned about Git, or teach the guys at our team about Git,
so now we have that. We also have some code reviews if we want them, and, mainly, we are still focused on science. We have lots of Python-powered science. We are predicting eos using artificial networks. We are getting together with firefighters to find
out what happens with the wildfires if they are happening near the drinking water reservoir, which is a super important thing to have a look at. We are also predicting the pests outbreak, to give the heads-up to farmers, and a lot more. You can find everything on our website
if you're interested. So we went back to science, but now the science is powered by Python. I would like to take a little bit of credit for that, because, as I learned a lot, I also had the opportunity to teach others, which is great. So, this one is something that
I'm particularly proud about, because we went global, and you can find our global model of drought at this website, which is window.com, which is an amazing tech company from the Czech Republic. The portal is just amazing. Check it out. We joined forces, and I think it's really great. To wrap it up, what to take away, if you're a beginner, do not, under any
circumstances, underestimate your skills. If you're feeling like you don't know a lot, you know, and you can take it and make something better with at least a little bit of skill. If you are scared of the developing world, don't worry, it will go away, or you can go to another world, in another direction, and you don't have to do all those
hard-core tech stuff, as I did, and don't stop exploring. If you don't like one technology, go to another, or you can do, you know, something completely different. It's up to you, because you know much more than you think. That's about it. I would like to thank you
for your attention, thank the organisers for a great job that they are doing, and having us here in Dublin, and also one personal note, I would like to thank all my friends who, in the years, tried to explain to me how the cycle within the cycle works, because I was stuck on this for half a year, and, thanks to all those explanations, I finally got through.
Thank you very much. I'm here open for questions. Thank you very much for your talk, and for the experience. It was very inspiring at least for those people who are working at companies that could do the same approach to the manual task that they're doing. Are there any questions in the room? We still
have the opportunity for the remote viewers of this to ask questions as well, but at the moment I don't see any of the remote questions coming in. What we did is we also have
a special room in the Liffey section, that's the Liffey boardroom, to where Monica will be now for a few more minutes, so if anybody from the audience here would like to ask a direct question, or if anybody watching the YouTube stream would want to ask a question directly for the next minutes, then that would be the place where you would find
Monica. So, thanks again for sharing all your experiences in introducing Python into your life, and let's have another round of applause for Monica.