Skip to content

Author Interview: Soil Physics with Python

The new book Soil Physics with Python: Transport in the Soil-Plant-Atmosphere System written by Dr. Marco Bitteli, Dr. Gaylon S. Campbell, and Dr. Fausto Tomei presents concepts and problems in soil physics as well as solutions using original computer programs.

Picture of the cover of the book "Soil Physics with Python" by Marco Bittelli, Gaylon S. Campbell, and Fausto Tomei

Soil Physics with Python

In contrast to the majority of the literature on soil physics, this text focuses on solving, not deriving, differential equations for transport. Numerical methods convert differential equations into algebraic equations, which can be solved using conventional methods of linear algebra.  Here, Dr. Campbell interviews about this update to his classic book Soil Physics with BASIC.

Why did you write the first book, Soil Physics with BASIC?

Soil physics classes were always frustrating for me because you would spend time writing fancy equations on the chalkboard, and in the end, you couldn’t do anything with them.  You couldn’t solve any of the problems because, even though they involved difficult mathematics, the math was still so simplified that it didn’t apply to anything that went on in nature.

When I taught my first graduate soil physics class, I determined that we were going to be able to do something by the time we finished.  Luckily, in the mid-1970s, personal computers were being developed, and I realized this was the answer to my problem.  Numerical methods could solve any problem with any geometry in it.  It wasn’t limited to problems that fit the assumptions needed to derive a complex differential equation.  I could write computer programs that simplified the mathematics for the students and teach them how to solve those problems using numerical methods.  By the end of the semester, my students would have a set of tools that they could use to solve problems in the real world.  

Did this book come from class notes or some other source?  

I wrote two textbooks and they both came the same way.  When I first started teaching, I had a textbook that was inadequate, so I began writing notes of my own and handing them out to the students.   After two years, I turned these notes into An Introduction to Environmental Biophysics.  Soil Physics with BASIC came about by the same process, but I enlisted the help of my daughter, Julia, to type it up. It was in the early days of word processing so entering equations was quite difficult.  It all went well for her until chapter eight, which was a nightmare of greek symbols. After she finished slogging for days through the material, we somehow lost the chapter.  She retyped it, and we lost it again, making her type it three times!  We didn’t have spreadsheets then either, so the figures were all hand-drawn by my daughter, Karine.

Red soil in the desert with trees and brush around

Marco [Bitteli] has added two and three-dimensional flow problems, so you can model whole landscapes and water behavior in an entire terrain.

What does Soil Physics with Python add to the conversation?

First, it updates the programming language.  BASIC was a language invented at Dartmouth and intended to be a simple teaching language.  It was never supposed to be a scientific computer language.  Python (13:26.) is a newer language, and there are many open source programs for it, making it a better language to use for science.

Secondly, the old book had one-dimensional flow problems in it for the most part, but Marco [Bitteli] has added two and three-dimensional flow problems, so you can model whole landscapes and water behavior in an entire terrain.

In addition, Dr. Bitteli describes the process and analysis of soil treated as fractals as well as soil image analysis.  There are a lot of extensions and updates that weren’t in the original book.  

Will it be accessible across all disciplines?

To some extent, different disciplines speak different languages.  A soil physicist talks about water potential, and a geotechnical engineer talks about soil suction. Thus, there may be some translation of discipline-specific terms, but it’s intended to be a book that people in the plant sciences can use along with people in the soil sciences.

Dr. Marco Bitteli earned his PhD at Washington State University and was Dr. Campbell’s former student.  This book is a product of their continued collaboration. Dr. BBitteli is now a professor at University of Bologna, the oldest university in operation in the world.  Soil Physics with Python  is available at

Download the “Researcher’s complete guide to water potential”—>

Download the “Researcher’s complete guide to soil moisture”—>

Get more information on applied environmental research in our

No comments yet

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share to...