This study presents concepts and problems in soil physics,
and provides solutions using original computer programs.
It provides a close examination of physical environments of soil,
including an analysis of the movement of heat, water and gases.
The authors employ the programming language Python, which is now widely used for numerical
problem solving in the sciences. In contrast to the majority of the literature on soil physics,
this text focuses on solving, not deriving, differential equations for transport.
Using numerical procedures to solve differential equations allows the solution of quite
difficult problems with fairly simple mathematical tools. Numerical methods convert
differential into algebraic equations, which can be solved using conventional methods
of linear algebra. Each chapter introduces a soil physics concept, and proceeds to
develop computer programs to solve the equations and illustrate the points made
in the discussion. Problems at the end of each chapter help the reader practise
using the concepts introduced. The text is suitable for advanced undergraduates,
graduates and researchers of soil physics, water resources management and
hydrology. It employs an open source philosophy
where computer code is presented, explained and discussed, and provides the reader
with a full understanding of the solutions. Once mastered, the code can be adapted
and expanded for the user's own models, fostering further developments.
The Python tools provide a simple syntax, Object Oriented Programming techniques,
powerful mathematical and numerical tools, and a user friendly environment.
Readership: Teachers, professors and students at universities, as well as researchers in private and public sectors.
2015. "The combination of theory and computer code make this a unique text and reference book for
experienced scientists and students alike." -
Markus Flury, Professor of Soil Physics
and Vadose Zone Hydrology, Washington State University, USA.
2015. "Soil Physics with Python puts a wealth of knowledge about the quantitative functioning of a key environmental system, soils, into the reader's hand. This knowledge is readily operational through the provided code for the widely used open source language Python. The solutions cover a range of important processes, including the transfer of water, solutes, heat, and gases within soils as well as the soil-atmosphere coupling. Maybe most importantly, they entice the reader to expand and adapt the provided solutions and thereby capacitate him or her to implement and independently explore concepts of the still challenging soil physical processes." - Kurt Roth, Professor, Institute of Environmental Physics, University of Heidelberg, Germany.
2016. "...Overall, I believe that the authors have rendered an extremely valuable service to the soil physics community with the publication of this nicely written and appealingly presented text, which I wholeheartedly recommend to soil physics students of all ages. I will definitely not hesitate to use it as a textbook in my own courses. If this great book were adopted widely, it would help train a new generation of soil physicists armed with a very solid understanding of what it really means to use computers to describe soil physical processes, and who would not be at the mercy of commercial software developers to satisfy their computational needs. At this stage, soil physics desperately needs such skilled people to move forward." Philippe Baveye, Professor, AgroParisTech, Paris, France.
Review of Soil Physics with Python: Transport in the Soil–Plant–Atmosphere. doi:10.2136/vzj2015.12.0162br. Vadose Zone Journal. doi:10.2136/vzj2015.12.0162br.
Download Python programsThe programs described in the book are downloadable here. We included some additional programs that are not described in the book. A PDF file with the description of the code is included. We also included a few links and downloadble packages needed to run the programs. In the third column (Updates), updated versions of the programs are downloadable. For consistency with the printed book, the original code presented in the book are retained and updates are presented separately. In the zip file, a readme.txt file provides a brief description of the changes included in the new version. Depending on the hardware, operating system, computer's processor (32-bit and 64-bit) and software version, different version of the Python modules may be needed to run the programs. The programs and modules downloadable here are for Python 2.7.6, for 32-bit processors. Many Python packages for Windows (including Cython) can be found at the website http://www.lfd.uci.edu/~gohlke/pythonlibs/
|Additional programs||Zipped file with PDF|
|Software and packages||MS Windows||Macintosh|
|Python 2.7.6||Python 2.7.6 for Windows||Python 2.7.6 for Mac|
|Visual Python||Visual Python for Windows||Visual Python for Mac|
|Matplotlib||Matplotlib for Windows||Matplotlib for Mac|
|Python Imaging Library||PIL for Windows||PIL for Mac|
|Six (for Matplotlib)||Six for Windows|
|Pyparsing||Pyparsing for Windows|
|Dateutil||Dateutil for Windows|