Thousands of satellites orbit the Earth and observe conditions in the atmosphere, oceans and the earth’s surface. Large amounts of information are collected all the time, but the raw data must be manipulated before it becomes useful for scientific analysis. Python is a programming language that can be used to process satellite data sets for earth science research. Earth Observation Using Python: A Practical Programming Guide is a new book recently published in the AGU Special Publications series. It presents an introduction to basic Python programming that can be used to create functional and efficient visualizations from Earth observation satellite datasets. We asked the author what his vision for the book was and how people can best use it.
What is Python and what makes it a useful tool for geoscientists?
Python is a free and easy to learn programming language that has grown in popularity. Compared to Fortran, the first programming language I learned, Python is particularly useful for earth science research because it has add-ons that make it easier to read, analyze, and visualize satellite observations.
There are other programming languages, but in the spirit of “open science” I appreciate that Python is open-source and maintained by a community of coders and not by a single commercial entity. This means that the code can be freely shared among scientists without an expensive commercial license. Additionally, since Python is maintained by the community, it is a “living language” that evolves in tandem with new search trends and new data sources.
What motivated you to write a Python programming guide?
Since Python is a general purpose language, there is already a lot of interesting content about Python programming on the web. However, there were fewer resources focused on using Python for Earth observation satellite datasets. Even as a seasoned programmer, it was difficult for me to relate general online code examples to domain specific issues in my research.
I am a firm believer in open science and skill sharing, so I started teaching Python workshops to provide Earth scientists with a structured way to learn the Python language that was also relevant to their research. I later wrote this book to provide more detail than I can teach in the workshop and to share the content with a wider audience. I also wanted to use the book to present interesting examples of real-world satellite observations using my experience as a researcher for the JPSS and GOES satellite programs.
How do you convince someone new to Python of the merits of learning a new programming language?
We are living in the “golden age” of satellite data and there are also many powerful programming languages that a scientist can use to analyze data. However, some of these languages are not suitable for earth sciences or require a prohibitively expensive software license. Python is both powerful and free, making these (public!) Satellite datasets more accessible to scientists around the world.
If you’re new to science programming, Python is a great language to invest your time in. If you are already familiar with another language, you will find that Python is relatively easy to learn and has a great set of packages that can ease your workflow. , providing another programming tool that you can use in your work.
Who might this guide be useful for?
This book is written for senior scientists who want to learn more about Python for their research using relevant examples. When I was learning Python, I started with an in-person boot camp, then tried an online course, then studied a textbook. In the end, what really helped me consolidate my knowledge were practical and real examples using satellite data. I therefore recommend this text to those who prefer to work on simple examples that can be translated and applied to the reader’s area of interest.
How do you suggest readers use this guide?
I have based the content of this book on the live classroom workshops I have taught over the past three years. While these workshops are now captured in book form, I would like this guide to be an active learning experience.
The book is structured so that readers can progress at their own pace and from anywhere in the world. I recommend working on one section each day. Once you’ve learned a new skill, I recommend sharing your knowledge with a colleague or uploading your example to an online code repository, such as GitHub.
What knowledge and skills do you hope readers will develop by using your book?
I hope readers will work through the coding examples to improve their general knowledge of Python coding and, more importantly, explore and model the data and share what they discover. Just as writers read the work of other authors, I encourage Earth scientists to study examples of working code in addition to writing their own.
At the end of the book, I hope readers transfer their new skills to their own area of research and then share their code online with other scientists so that others can learn from them as well! In a world of free and abundant data, we can all help learn basic skills and new scientific problem-solving paradigms using the tools Python offers.
Earth Observation Using Python: A Practical Programming Guide, 2021, ISBN: 978-1-119-60688-8, list price $ 169.95 (print) AGU members receive 35% off all books at Wiley.com. Log in to your AGU member profile to access the discount code.]
Rebekah B. Esmaili ([email protected]; 0000-0002-3575-8597), Science and Technology Corp, USA
Editor’s Note: It is AGU Publications’ policy to invite authors or editors of newly published books to write an abstract for Eos Vox from the editors.