Python version of The Rothamsted carbon model (RothC) 26.3.
Documentation: Rothamsted RothC Model
Source Code: https://github.com/mishagrol/pyRothC
pyRothc is a Python version of The Rothamsted carbon model (RothC) 26.3.
RothC is a model for the turnover of organic carbon in non-waterlogged topsoil that allows for the effects of soil type, temperature, soil moisture and plant cover on the turnover process.
Inspired by SoilR version SoilR RothC
Open pyRothC.ipynb
in Google Colab!
Python 3.7+
SciPy
NumPy
Pandas
$ pip install pyRothC
Below is an example of how the RothC
class should be used. It needs
matplotlib library to be installed in
order to draw the graphs.
import numpy as np
import matplotlib.pyplot as plt
from pyRothC.RothC import RothC
Temp=np.array([-0.4, 0.3, 4.2, 8.3, 13.0, 15.9,18.0,
17.5, 13.4, 8.7, 3.9, 0.6])
Precip=np.array([49, 39, 44, 41, 61, 58,
71, 58, 51,48, 50, 58])
Evp=np.array([12, 18, 35, 58, 82, 90,
97, 84, 54, 31,14, 10])
soil_thick=25 #Soil thickness (organic layer topsoil), in cm
SOC=69.7 #Soil organic carbon in Mg/ha
clay=48 #Percent clay
input_carbon=2.7 #Annual C inputs to soil in Mg/ha/yr
IOM=0.049*SOC**(1.139) # Falloon et al. (1998)
rothC = RothC(temperature=Temp,
precip=Precip,
evaporation=Evp,
clay = 48,
input_carbon=input_carbon,
pE=1.0,
C0=np.array([0, 0, 0, 0, IOM]))
df = rothC.compute()
df.index = rothC.t
fig, ax = plt.subplots(1,1,figsize=(6,4))
df.plot(ax=ax)
ax.set_ylabel('C stocks (Mg/ha)')
ax.set_ylabel('Years')
plt.show()
If you need to run the test suite, first install the package in "editable" mode with the test
optional dependencies:
git clone git@github.com:mishagrol/pyRothC.git
cd pyRothC
pip install -e ".[test]"
Now you can run the tests by simply running this command:
pytest tests
Credits: Theoretical Ecosystem Ecology group of the Max Planck Institute for Biogeochemistry
Matplotlib
python3 -m build
python3 -m twine upload dist/pyrothc-<VERSION>*
This project is licensed under the terms of the CC0 1.0 Universal license.