- Marco Bittelli, Gaylon S. Campbell & Fausto Tomei, 2015, paperback 2020: Soil Physics with Python: Transport in the Soil-Plant-Atmosphere System. Oxford University Press, 449 pp. ISBN 978-0-19-885479-1 (pbk.)
手もとにあるのは、2020年に出た A5 と B5 の中間の判形のペーパーバック。2022年に、洋書の通信販売のサイトでみつけて注文した。
著者に Gaylon Campbell がはいっていてこの題名だから、日本語版が『パソコンで学ぶ 土の物理学』[読書メモ] として出ている本の例文のプログラム言語を BASIC から Python にかえたものだろうと思った。たしかにそうなのだが、それだけではなかった。
本書の章を『パソコンで学ぶ土の物理学』の章と対比するとつぎのようになる。本書であたらしくくわわった章に「@」印をつけておく。
1. Introduction # 第1章 土の物理学とコンピュータ
2. Basic Physical Properties of Soil # 第2章 土の理工学性
3. Soil Gas Phase and Gas Diffusion # 第3章 土中のガス拡散
4. Soil Temperature and Heat Flow # 第4章 土中温度と熱の流れ
5. Soil Liquid Phase and Soil-Water Interactions # 第5章 土中水のポテンシャル
6. Steady-State Water Flow and Hydrallic Conductivity # 第6章 透水係数と水分移動
7. Variation in Soil Properties # 第7章 土の理工学性の変動
8. Transient Water Flow # 第8章 水の浸潤と再分布
@9. Triangulated Irregular Network
@10. Water Flow in Three Dimensions
11. Evaporation # 第9章 水の蒸発
@12. Modelling Coupled transport
13. Solute Transport in Soils # 第10章 土中の溶質移動
14. Transpiration and Plant-Water Relations # 第11章 蒸散 — 植物と物理的環境との相関システム
15. Atmospheric Boundary Conditions # 第12章 大気環境と境界条件
BASICの本は鉛直1次元の問題に徹していたが、本書では、Chapter 9 で係数が水平方向に不均一であるばあいをあつかい、Chapter 10 では3次元の水の流れをあつかっている。そのあたりのプログラム例は、空間分布の作図もふくんでいて、数ページにわたってつづくものになっている。Chapter 4 の熱伝導にも2次元の問題がくわわっている。計算機の発達のおかげで、複雑な計算ができるようになったのはいいことでもあるが、初級の教科書なのに記述が長くなって読むのにてまがかかかるというこまったことでもある。
また、BASICの本からひきつがれている題材についても、プログラム例には、Python で数値計算する人ならばたいていつかう Numpy や matplotlib のほか、Scipy, Tkinter, Visual Python というパッケージをつかうところがある。Python言語の初歩の説明はあるが、各パッケージの説明はほとんどない。なお、Python 2.7 を基本としているが、Python 3 とのちがいを「__future__」というパッケージをつかう形で解決しようとしている。Python 3 の環境で初歩の学生につかってもらうためには、教員が動作確認をしておく必要がありそうだ。わたしはそれをするよりも、BASICの本の例文を Python に書きなおすことにしたほうがよいかと考えている。
折りかえしのあとに目次をつける。
===== 目次 =====
Preface
– Acknowledgements
Contents
1. Introduction
2. Basic Physical Properties of Soil
– 2.1 Geometry of the Soil Matrix
– – 2.1.1 Basic Geometry
– 2.2 Soil Structure
– 2.3 Fractal Geometry
– 2.4 Geometry of the Pore Space
– – 2.4.1 Bundle of Capillaries
– – 2.4.2 Pore Size Distribution
– 2.5 Specific Surface Area
– 2.6 Averaging
– 2.7 Bulk Density, Water Content and Porosity
– 2.8 Relationships between Variables
– 2.9 Typical Values of Physical Properties
– 2.10 Volumes and Volumetric Fractions for a Soil Prism
– 2.11 Soil Solid Phase
– 2.12 Soil Texture
– – 2.12.1 Textural Classification
– – 2.12.2 Particle Size Distribution
– – 2.12.3 Particle Size Distribution Functions
– – – Gaussian distribution
– – – Fractal distribution
– 2.13 Sedimentation Law
– 2.14 Exercises
3. Soil Gas Phase and Gas Diffusion
– 3.1 Transport Equations
– 3.2 The Diffusivity of Gases in Soil
– 3.3 Computing Gas Concentrations
– 3.4 Simulating One-Dimensional Steady-State Oxygen Diffusion in a Soil Profile
– – 3.4.1 Boundary Conditions
– – 3.4.2 Matrix Formulation
– 3.5 Numerical Implementation
– 3.6 Exercises
4. Soil Temperature and Heat Flow
– 4.1 Differential Equations for Heat Conduction
– 4.2 Soil Temperature Data
– 4.3 Numerical Solution of the Heat Flow Equation
– – 4.3.1 Finite Difference Method
– – 4.3.2 Boundary Conditions
– – 4.3.3 Cell-Centred Finite Volume
– 4.4 Soil Thermal Properties
– – 4.4.1 Heat Capacity
– – 4.4.2 Thermal Conductivity
– 4.5 Numerical Implementation
– 4.6 Exercises
5. Soil Liquid Phase and Soil-Water Interactions
– 5.1 Properties of Water
– – 5.1.1 Thermal Properties
– – 5.1.2 Surface Tension
– – 5.1.3 Contact Angle
– – 5.1.4 Electromagnetic Properties
– – 5.1.5 Measuring Soil Water Content with Time-Domain Reflectometry
– – 5.1.6 Travel Time Analysis and Soil Water Content Measurement
– 5.2 Soil Water Potential
– – 5.2.1 Gravitational Potential
– – 5.2.2 Matric Potential
– – 5.2.3 Osmotic Potential
– – 5.2.4 Hydrostatic Potential
– – 5.2.5 Overburden Potential
– 5.3 Water Potential – Water Content Relations
– – 5.3.1 Soil Water Retention Curve
– – – Soil water retention hysteresis
– – 5.3.2 Soil Water Retention Curve Functions
– – – Campbell model
– – – van Genuchten model
– – – Ippisch – van Genuchten model
– – – Modified evaluation of the residual water content
– – – Campbell – Ippisch – van Genuchten model
– – – Fitting water retention curve models to experimental data
– – – Numerical implementation
– – – Estimated parameters for different textural classes
– – 5.3.3 Capacity
– – 5.3.4 Hydrostatic Equilibrium of Soil Water in a Gravitational Field
– 5.4 Liquid- and Vapour-Phase Equilibrium
– 5.5 Exercises
6. Steady-State Water Flow and Hydraulic Conductivity
– 6.1 Forces on Water in Porous Media
– 6.2 Water Flow in Saturated Soils
– 6.3 Saturated Hydraulic Conductivity
– – 6.3.1 Calculating Saturated Conductivity from Soil Texture Data
– 6.4 Unsaturated Hydraulic Conductivity
– – – Campbell model
– – – Mualem – van Genuchten model
– – – Ippisch – Mualem – van Genuchten model
– 6.5 Exercises
7. Variation in Soil Properties
– 7.1 Frequency Distributions
– 7.2 Probability Density Functions
– 7.3 Transformations
– 7.4 Spatial Correlation
– 7.5 Approaches to Stochastic Modelling
– – 7.5.1 Scaling Methods
– 7.6 Numerical Implementation
– – 7.6.1 Statistical Fields of Hydraulic Properties
– 7.7 Exercises
8. Transient Water Flow
– 8.1 Mass Conservation Equations
– 8.2 Water Flow
– 8.3 Infiltration
– – – Philip’s model
– – 8.3.1 Green-Ampt Model
– – 8.3.2 Infiltration into Layered Soils
– 8.4 Numerical Simulation of Infiltration
– – 8.4.1 Linear Methods
– – 8.4.2 Boundary Conditions
– – 8.4.3 Cell-Centred Finite Volume Method
– – 8.4.4 Hydraulic Conductivity
– – 8.4.5 Integral Transform Methods
– – 8.4.6 Newton-Raphson Method
– 8.5 Numerical Implementation
– – 8.5.1 Main
– – 8.5.2 Soil Functions
– – 8.5.3 Solvers
– – 8.5.4 Results
– – – Uniform profile
– – – Layered profile
– 8.6 Exercises
9. Triangulated Irregular Network
– 9.1 Digital Terrain Model
– – 9.1.1 Data Structure
– 9.2 Triangulated Irregular Network
– 9.3 Numerical Implementation
– 9.4 Main
– 9.5 Triangulation
– 9.6 GIS Functions
– 9.7 Boundary
– 9.8 Geometrical Properties of Triangles
– 9.9 Delaunay Triangulation
– 9.10 Refinement
– 9.11 Utilities
– 9.12 Visualization
– 9.13 Exercise
10. Water Flow in Three Dimensions
– 10.1 Governing Equations
– 10.2 Numerical Formulation
– 10.3 Coupling Surface and Subsurface Flow
– 10.4 Numerical Implementation
– – 10.4.1 Public
– – 10.4.2 Data structures
– – 10.4.3 TIN
– – 10.4.4 Soil
– – 10.4.5 Water processes
– – 10.4.6 Boundary Conditions
– – 10.4.7 Solver
– – 10.4.8 Balance
– – 10.4.9 Criteria3D
– – 10.4.10 Main
– 10.5 Simulation
– 10.6 Visualization and Results
– – 10.6.1 Troy Catchment
– – 10.6.2 Fontanafredda Catchment
– 10.7 Exercises
11. Evaporation
– 11.1 General Concepts
– 11.2 Simultaneous Transport of Liquid and Vapour in Isothermal Soil
– 11.3 Modelling Evaporation
– 11.4 Numerical Implementation
– – 11.4.1 Main
– – 11.4.2 Soil
– – 11.4.3 Solvers
– 11.5 Exercises
12. Modelling Coupled transport
– 12.1 Transport equations
– – 12.1.1 Liquid Water Transport
– – 12.1.2 Heat Transport
– – 12.1.3 Vapour Transport
– – 12.1.4 Effect of Water Vapour Flow on the Heat Flow Equations
– – 12.1.5 Comparison of Thermally Induced Liquid and Vapour Flow
– 12.2 Partial Differential Equations
– 12.3 Surface Boundary Conditions
– 12.4 Numerical Implementation
– – 12.4.1 Main
– – 12.4.2 Boundary
– – 12.4.3 Public
– – 12.4.4 Soil
– – 12.4.5 Coupling
– – 12.4.6 Long-Wave Radiation
– 12.5 Exercises
13. Solute Transport in Soils
– 13.1 Mass Flow
– 13.2 Diffusion
– 13.3 Hydrodynamic Dispersion
– 13.4 Advection-Dispersion Equation
– 13.5 Solute-Soil Interaction
– 13.6 Sources and Sinks of Solutes
– 13.7 Analytical Solutions
– – 13.7.1 Flux and Resident Concentrations
– – 13.7.2 Implementation
– 13.8 Numerical Solution
– 13.9 Numerical Implementation
– 13.10 Exercises
14. Transpiration and Plant-Water Relations
– 14.1 Soil Water Content and Soil Water Potential under a Vegetated Surface
– 14.2 General Features of Water Flow in the SPAC
– 14.3 Resistances to Water Flow within the Plant
– 14.4 Effect of Environment on Plant Resistance
– 14.5 Detailed Consideration of Soil and Root Resistances
– 14.6 Numerical Implementation
– 14.7 Exercises
15. Atmospheric Boundary Conditions
– 15.1 Radiation Balance at the Exchange Surface
– – 15.1.1 Potential Solar Radiation
– – 15.1.2 Global Solar Radiation
– – 15.1.3 Thermal Radiation from the Surface
– 15.2 Boundary-Layer Conductance for Heat and Water Vapour
– 15.3 Evapotranspiration and the Penman-Monteith Equation
– 15.4 Partitioning of Evapotranspiration
– 15.5 Excecise
Appendix A: Basic Concepts and Examples of Python Programming
– A.1 Basic Python
– – A.1.1 Programs and Modules Needed for thie Book
– – A.1.2 Python Documentation
– – A.1.3 Running Programs in Python
– – A.1.4 Plotting and Visualization
– – A.1.5 Exensions for other languages
– A.2 Basic Concepts of Computer Programming
– – A.2.1 Flow Diagrams
– – A.2.2 Algorithm
– A.3 Data Representation: Variables
– – A.3.1 Numeric Types
– – A.3.2 Boolean
– A.4 Comments Rules and Indentation
– A.5 Arithmetic Expression
– A.6 Functions
– – A.6.1 Open, Read and Analyse Experimental Data
– – – Compute hourly average of air temperature
– – – Compute average temperature and cumulative precipitation
– – A.6.2 Call by Reference and by Value
– A.7 Flow Control
– – A.7.1 Loops: While and For
– – A.7.2 If-Else
– A.8 File Input and Output
– A.9 Arrays
– – A.9.1 Arrays in numpy
– A.10 Reading Date Time
– A.11 Object-Oriented Programming in Python
– A.12 Output and Visualization
– A.13 Exercises
Appendix B. Computational Tools
– B.1 Numerical Differentiation
– B.2 Numerical Integration
– – B.2.1 Extended Methods
– – – Extended trapezoidal
– – – Simpson
– B.3 Linear Algebra
– – B.3.1 Matrix Multiplication
– – B.3.2 Inverse of a Matrix
– – B.3.3 Gaussian Elimination
– – B.3.4 Thomas Algorithm
– B.4 Exercises
List of Symbols
List of Python Variables
List of Python Projects
References
Index