| Title: | Computation of Properties Related to Soil Chemical Environment and Nutrient Availability |
|---|---|
| Description: | Facilitates basic and equation-based analyses of some important soil properties related to soil chemical environment and nutrient availability to plants. Freundlich H (1907). <doi:10.1515/zpch-1907-5723>. Datta SP, Bhadoria PBS (1999). <doi:10.1002%2F%28SICI%291522-2624%28199903%29162%3A2%3C183%3A%3AAID-JPLN183%3E3.0.CO%3B2-A>."Boron adsorption and desorption in some acid soils of West Bengal, India". Langmuir I (1918). <doi:10.1021/ja02242a004> "The adsorption of gases on plane surfaces of glass, mica, and platinum". Khasawneh FE (1971). <doi:10.2136/sssaj1971.03615995003500030029x> "Solution ion activity and plant growth". |
| Authors: | Bappa Das [aut, cre] (ORCID: <https://orcid.org/0000-0003-1286-1492>), Debarup Das [aut, ctb] (ORCID: <https://orcid.org/0000-0002-0706-3392>), Mandira Barman [aut, ctb] (ORCID: <https://orcid.org/0000-0001-7074-2286>), Debrup Ghosh [aut, ctb] (ORCID: <https://orcid.org/0000-0002-4060-6336>) |
| Maintainer: | Bappa Das <[email protected]> |
| License: | GPL (>= 3) |
| Version: | 1.0.0 |
| Built: | 2026-06-07 09:06:31 UTC |
| Source: | https://github.com/bappa10085/soilchemistry |
User is advised to prepare the data as suggested in the example to study the release kinetics of an element from soil using different equations, viz. power function, simplified Elovich, parabolic diffusion, zero order, first order, and second order.
df_releasedf_release
Write the following notations on the spreadsheet: Kt for Cumulative amount of element released (mass or mole of element per unit mass of soil, e.g., mg/kg or mmol/kg) after time ‘t’ Time The time intervals used in the kinetics study (user can choose the unit as per convenience)
The rate of release of any nutrient or pollutant element from soil solids to soil solution is very important for availability to plants (Barber 1984), with possible beneficial or harmful effects. The rate of release of any plant nutrient or pollutant element in soil can be assessed by release kinetics studies. In these studies, soils are equilibrated with a given solution for different time intervals, and the amount of the element in question is measured in the solution after each time interval. The cumulative amounts of the element released after different time intervals are plotted as the dependent variable against the time intervals as the independent variable. For every equation, a coefficient of determination (R-squared) and a standard error of estimate will be obtained. In addition, all equations except the second order, two constants, namely ‘a’ and ‘b’ will be obtained; whereas, the maximum desorbable amount of the element and the half the time required to release the maximum amount are obtained from the second order equation.
User is advised to prepare the data as suggested in the example to fit adsorption or desorption data pertaining to a particular nutrient, e.g., phosphorus (as phosphate), sulphur (as sulphate), micronutrient cations or anions, silicon (as silicate), etc. in soil to the functions namely, Freundlich_A, Freundlich_D, Langmuir, and SP. However, to use these functions, researchers should carry out the adsorption-desorption study in the method described as follows: W g (e.g., 2 g) of processed soil samples are taken in a series of 50 mL centrifuge tubes (polypropylene) each containing V mL (e.g., 20 mL) 0.1 M sodium chloride solution with different levels (e.g., 10, 20, 40, 60, … mg/L) of the nutrient under consideration (e.g., P). The tubes are shaken continuously for a defined period (e.g., 24 h) using a mechanical shaker. Immediately after that, each of them is centrifuged (e.g., at 10000 rpm) for sufficient time (e.g., 10-12 min), and a certain volume (e.g., 15 mL) of clear aliquot is pipetted out and filtered through a Whatman No. 42 filter paper. Then the nutrient content (e.g., P) in the filtrate is estimated by standard procedures. The difference between the quantities of the nutrient in the bathing solution before (initial concentration) and after equilibration (equilibrium or final concentration) is taken as the amount of the nutrient adsorbed by the soil from bathing solution. For desorption study, once supernatant is removed after completion of the adsorption step, a certain volume (e.g., 15 mL) of 0.1 M sodium chloride solution is added in the same sample to reach a final volume (Vfinal). For convenience in calculation, Vfinal should be equal to V (as taken initially). Generally, soil sample with the highest level of added nutrient from the adsorption study is used in desorption experiment. With the help of mechanical shaker, the soil is re-suspended and equilibrated for 12 h. After shaking, the tubes are centrifuged (e.g., at 10000 rpm) for sufficient time (e.g., 10–12 min), and the same volume (as in the previous step, e.g., 15 mL) of clear supernatant solution is pipetted out for determination of the concentration of the nutrient. This process can be repeated multiple times depending on the objective and convenience of the researcher. The difference between equilibrium concentration at a particular desorption step and equilibrium concentration previous to that desorption step, multiplied by solution:soil ratio (e.g., 20:2) is considered as desorbed amount of the nutrient. The adsorbed amount remaining after each desorption step can be computed by subtracting the desorbed amount at a particular step from the amount of adsorbed nutrient present before that desorption step.
df_sordesdf_sordes
Write the following notations on the spreadsheet: Initial_conc for Initial concentration (mg/L) of the added element, e.g., phosphorus Equilibrium_conc for Final or equilibrium concentration (mg/L) after adsorption of the same element Cf_Des for Final or equilibrium concentration (mg/L) after desorption of the same element
The linear form of Freundlich adsorption isotherm can be fitted to adsorption data to find out the empirical constants of Freundlich equation (Freundlich, 1926).
Freundlich_A(W = W, V = V, Ci = Ci, Cf = Cf,...)Freundlich_A(W = W, V = V, Ci = Ci, Cf = Cf,...)
W |
Mass of soil sample (g) |
V |
Volume of extractant solution (mL) |
Ci |
Initial concentration (mg/L) of the added element, e.g., phosphorus |
Cf |
Final or equilibrium concentration (mg/L) after adsorption of the same element |
... |
Any other argument that can be passed to base plot |
Freundlich equation/isotherm is used to study the adsorption behavior of any element in soils (Freundlich, 1926). It is of the general form: x/m= ac^(1/n), where ‘x’ is the amount of the adsorbate (e.g., P, Ni, etc.) adsorbed on ‘m’ amount of the adsorbent (e.g., soil), and ‘c’ is the equilibrium concentration of the adsorbate. This adsorption model helps to understand the relationship between quantity of any element adsorbed per unit soil weight and their concentration in soil solution. Freundlich equation does not predict or include maximum adsorption capacity of soil, so better suited to dilute solutions (of the element under consideration) in contact with the adsorbent. The ‘a’ and ‘1/n’ are two empirical-constants, sensitive to the given adsorbent-adsorbate system and temperature. Freundlich ‘a’ indicates the binding affinity of any element in soil. The ‘1/n’ is the exponent of the equilibrium concentration term in the Freundlich equation, and is always < 1 indicating that the energy of adsorption decreases logarithmically as the fraction of adsorbent-surface covered by the adsorbate increases with increasing equilibrium concentration.
a - empirical constant (unitless)
1/n - empirical constant (unitless)
Freundlich, H., 1926. Colloid and Capillary Chemistry. London: Methuen.
with(data = df_sordes, Freundlich_A(W = 2, V = 20, Ci = Initial_conc, Cf = Equilibrium_conc))with(data = df_sordes, Freundlich_A(W = 2, V = 20, Ci = Initial_conc, Cf = Equilibrium_conc))
This function fits Freundlich adsorption isotherm to data pertaining to desorption of an adsorbed nutrient, e.g., phosphorus (as phosphate), sulphur (as sulphate), micronutrient cations or anions, silicon (as silicate), etc. in soil.
Freundlich_D(W = W, V = V, Ci = Ci, Cf = Cf, Cf_Des = Cf_Des, Vres= Vres, Vfinal = Vfinal, onebyn_ads = onebyn_ads, ...)Freundlich_D(W = W, V = V, Ci = Ci, Cf = Cf, Cf_Des = Cf_Des, Vres= Vres, Vfinal = Vfinal, onebyn_ads = onebyn_ads, ...)
W |
Mass of soil sample (g) |
V |
Volume of extractant solution (mL) |
Ci |
Initial concentration (mg/L) of the added element, e.g., phosphorus |
Cf |
Final or equilibrium concentration (mg/L) after adsorption of the same element |
Cf_Des |
Final or equilibrium concentration (mg/L) after each desorption step of the same element |
Vres |
Volume of carried over solution from previous adsorption or desorption step (mL) |
Vfinal |
Final volume of the solution for each desorption step (mL) |
onebyn_ads |
Values of ‘1/n’ obtained from Freundlich_A |
... |
Any other argument that can be passed to base plot |
a - empirical constant (unitless)
1/n - empirical constant (unitless)
Barman, M., Datta, S.P., Rattan, R.K., Meena, M.C., 2013. Sorption and desorption of nickel in soils in relation to its availability to plants. Agrochimica LVII (3), 235–249.
with(data = df_sordes, Freundlich_D(W = 2, V = 20, Ci = Initial_conc, Cf = Equilibrium_conc, Cf_Des = Cf_Des, Vres= 5, Vfinal = 20, onebyn_ads = 0.2056263))with(data = df_sordes, Freundlich_D(W = 2, V = 20, Ci = Initial_conc, Cf = Equilibrium_conc, Cf_Des = Cf_Des, Vres= 5, Vfinal = 20, onebyn_ads = 0.2056263))
The linear form of Langmuir adsorption isotherm can be fitted to adsorption data to find out adsorption maxima, affinity coefficient, and maximum buffering capacity (Langmuir, 1918).
Langmuir(W = W, V = V, Ci = Ci, Cf = Cf,...)Langmuir(W = W, V = V, Ci = Ci, Cf = Cf,...)
W |
Mass of soil sample (g) |
V |
Volume of extractant solution (mL) |
Ci |
Initial concentration (mg/L) of the added element, e.g., phosphorus |
Cf |
Final or equilibrium concentration (mg/L) after adsorption of the same element |
... |
Any other argument that can be passed to base plot |
b - Maximum monolayer adsorption or adsorption maxima (mg/kg)
k - Constant related to binding energy or the affinity coefficient for the nutrient, e.g., P (L/mg)
MBC - Maximum buffering capacity of soil for the nutrient under consideration (L/kg)
Havlin, J.L., Tisdale, S.L., Nelson, W.L., Beaton, J.D., 2016. Phosphorus. In: Soil fertility and fertilizers. Pearson Education India, pp.160–198.
Holford, I.C.R., Mattingly, G.E.G., 1976. Phosphate adsorption and plant availability of phosphate. Plant and Soil 44, 377–389. https://doi.org/10.1007/BF00015889
Langmuir, I., 1918. The adsorption of gases on plane surfaces of glass, mica, and platinum. Journal of American Chemical Society 40, 1361–1403. https://doi.org/10.1021/ja02242a004
Shirvani, M., Shariatmadari, H., Kalbasi, M., 2005. Phosphorus buffering capacity indices as related to soil properties and plant uptake. Journal of Plant Nutrition, 28, 537–550. https://doi.org/10.1081/PLN-200049235
with(data = df_sordes, Langmuir(W = 2, V = 20, Ci = Initial_conc, Cf = Equilibrium_conc))with(data = df_sordes, Langmuir(W = 2, V = 20, Ci = Initial_conc, Cf = Equilibrium_conc))
The function fits the cumulative amount of an element released from soil with a given extractant over a certain time period to the simplified Elovich equation. It generates the coefficient of determination (R-squared) and standard error of estimate to show the goodness of fit. The parameters of simplified Elovich equation, i.e., ‘a’ and ‘b’ can be obtained from this function.
rk_Elovich(Kt = Kt, Time = Time,...)rk_Elovich(Kt = Kt, Time = Time,...)
Kt |
Cumulative amount of element released (mass or mole of element per unit mass of soil, e.g., mg/kg or mmol/kg) after time ‘t’ |
Time |
The time intervals used in the kinetics study (user can choose the unit as per convenience) |
... |
Any other argument that can be passed to base plot |
The simplified Elovich equation, expressed as Kt= a + b × ln(t) (Havlin et al. 1985), where ‘Kt’ is the cumulative amount of the element released over time ‘t’, and ‘a’ and ‘b’ are constants. The constant ‘b’ can be considered as the overall release rate coefficient.
R2: Coefficient of determination (more the value, better the fit)
SEE: Standard error of estimate (less the value, better the fit)
a: Equation constant
b: Equation constant (overall release rate coefficient)
Havlin, J.L., Westfall, D.G., Olsen, S.R., 1985. Mathematical models for potassium release kinetics in calcareous soil. Soil Science Society of America Journal 49, 371–376. https://doi.org/10.2136/sssaj1985.03615995004900020020x
with(data = df_release, rk_Elovich(Kt = Kt, Time = Time))with(data = df_release, rk_Elovich(Kt = Kt, Time = Time))
The function fits the cumulative amount of an element released from soil with a given extractant over a certain time period to the first-order equation. It generates the coefficient of determination (R-squared) and standard error of estimate to show the goodness of fit. The parameters of first-order equation, i.e., ‘a’ and ‘b’ can be obtained from this function.
rk_first(Kt = Kt, Time = Time,...)rk_first(Kt = Kt, Time = Time,...)
Kt |
Cumulative amount of element released (mass or mole of element per unit mass of soil, e.g., mg/kg or mmol/kg) after time ‘t’ |
Time |
The time intervals used in the kinetics study (user can choose the unit as per convenience) |
... |
Any other argument that can be passed to base plot |
The first-order equation is expressed as ln(Km – Kt ) = a – b × t (Martin and Sparks 1983), where ‘Km’ is the total amount of the element released over the entire study period, ‘Kt’ is the cumulative amount of the element released over time ‘t’, and ‘a’ and ‘b’ are constants. The constant ‘b’ can be considered as the overall release rate coefficient. The first-order equation assumes that the amount of the element present in the desorbable form on soil solids or exchange sites determines its release rate.
R2: Coefficient of determination (more the value, better the fit)
SEE: Standard error of estimate (less the value, better the fit)
a: Equation constant
b: Equation constant (overall release rate coefficient)
Martin, H.W., Sparks, D.L., 1983. Kinetics of nonexchangeable potassium release from two coastal plain soils. Soil Science Society of America Journal 47, 883–887. https://doi.org/10.2136/sssaj1983.03615995004700050008x
with(data = df_release, rk_first(Kt = Kt, Time = Time, ylab = "ln(Kmax - Kt)", xlab = "Time"))with(data = df_release, rk_first(Kt = Kt, Time = Time, ylab = "ln(Kmax - Kt)", xlab = "Time"))
The function fits the cumulative amount of an element released from soil with a given extractant over a certain time period to the parabolic diffusion equation. It generates the coefficient of determination (R-squared) and standard error of estimate to show the goodness of fit. The parameters of parabolic diffusion equation, i.e., ‘a’ and ‘b’ can be obtained from this function.
rk_pd(Kt = Kt, Time = Time,...)rk_pd(Kt = Kt, Time = Time,...)
Kt |
Cumulative amount of element released (mass or mole of element per unit mass of soil, e.g., mg/kg or mmol/kg) after time ‘t’ |
Time |
The time intervals used in the kinetics study (user can choose the unit as per convenience) |
... |
Any other argument that can be passed to base plot |
The parabolic diffusion equation is expressed as Kt = a + b × √t (Havlin et al. 1985), where ‘Kt’ is the cumulative amount of the element released over time ‘t’, and ‘a’ and ‘b’ are constants. The constants ‘a’ and ‘b’ can be considered as the initial release rate constant and the overall release rate constant, respectively. Though empirical in nature, a good fit to parabolic equation indicates that diffusion is the rate-limiting step in the desorption process.
R2: Coefficient of determination (more the value, better the fit)
SEE: Standard error of estimate (less the value, better the fit)
a: Equation constant
b: Equation constant (overall release rate coefficient)
Havlin, J.L., Westfall, D.G., Olsen, S.R., 1985. Mathematical models for potassium release kinetics in calcareous soil. Soil Science Society of America Journal 49, 371–376. https://doi.org/10.2136/sssaj1985.03615995004900020020x
with(data = df_release, rk_pd(Kt = Kt, Time = Time))with(data = df_release, rk_pd(Kt = Kt, Time = Time))
The function fits the cumulative amount of an element released from soil with a given extractant over a certain time period to the power function equation. It generates the coefficient of determination (R-squared) and standard error of estimate to show the goodness of fit. The parameters of power function equation, i.e., ‘a’ and ‘b’ can be obtained from this function.
rk_power(Kt = Kt, Time = Time,...)rk_power(Kt = Kt, Time = Time,...)
Kt |
Cumulative amount of element released (mass or mole of element per unit mass of soil, e.g., mg/kg or mmol/kg) after time ‘t’ |
Time |
The time intervals used in the kinetics study (user can choose the unit as per convenience) |
... |
Any other argument that can be passed to base plot |
The power function equation is expressed as Kt = a×t^b (Havlin et al. 1985), where ‘Kt’ is the cumulative amount of the element released over time ‘t’, and ‘a’ and ‘b’ are constants. The constant ‘b’ can be considered as the overall release rate coefficient. Though power function does not suggest any particular release mechanism, its parameters can be successfully used to show the effect of any particular treatment on nutrient or pollutant release behaviour in a given soil, or comparing different soils for their ability to release a particular nutrient or pollutant under a given condition.
R2: Coefficient of determination (more the value, better the fit)
SEE: Standard error of estimate (less the value, better the fit)
a: Equation constant
b: Equation constant (overall release rate coefficient)
Havlin, J.L., Westfall, D.G., Olsen, S.R., 1985. Mathematical models for potassium release kinetics in calcareous soil. Soil Science Society of America Journal 49, 371–376. https://doi.org/10.2136/sssaj1985.03615995004900020020x
with(data = df_release, rk_power(Kt = Kt, Time = Time))with(data = df_release, rk_power(Kt = Kt, Time = Time))
The function fits the cumulative amount of an element released from soil with a given extractant over a certain time period to the second-order equation. It generates the coefficient of determination (R-squared) and standard error of estimate to show the goodness of fit. The parameters of second-order equation, i.e., ‘Kmax’ and ‘t1/2’ can be obtained from this function.
rk_second(Kt = Kt, Time = Time,...)rk_second(Kt = Kt, Time = Time,...)
Kt |
Cumulative amount of element released (mass or mole of element per unit mass of soil, e.g., mg/kg or mmol/kg) after time ‘t’ |
Time |
The time intervals used in the kinetics study (user can choose the unit as per convenience) |
... |
Any other argument that can be passed to base plot |
The second-order equation is expressed as t ÷ Kt = (t ÷ Kmax) + (t1/2 ÷ Kmax) (Grimme 1980; Lü et al. 2007), where ‘Kmax’ is the maximum desorbable amount of the element, ‘Kt’ is the cumulative amount of the element released over time ‘t’, and ‘t1/2’ is the half the time required to release the maximum amount.
R2: Coefficient of determination (more the value, better the fit)
SEE: Standard error of estimate (less the value, better the fit)
a: Equation constant
b: Equation constant (overall release rate coefficient)
Grimme, H. 1980. The effect of field strength on quantity of K desorbed from soils by electro-ultrafiltration. Zeitschrift für Pflanzenernährung und Bodenkunde 143, 98–106. https://doi.org/10.1002/jpln.19801430113
Lü, X., Xu, J., Ma, W., Lu, Y., 2007. Comparison of seven kinetic equations for k release and application of kinetic parameters. Pedosphere 17, 124–129. https://doi.org/10.1016/S1002-0160(07)60017-4
with(data = df_release, rk_second(Kt = Kt, Time = Time, ylab = "t/Kt"))with(data = df_release, rk_second(Kt = Kt, Time = Time, ylab = "t/Kt"))
The function fits the cumulative amount of an element released from soil with a given extractant over a certain time period to the zero-order equation. It generates the coefficient of determination (R-squared) and standard error of estimate to show the goodness of fit. The parameters of zero-order equation, i.e., ‘a’ and ‘b’ can be obtained from this function.
rk_zero(Kt = Kt, Time = Time,...)rk_zero(Kt = Kt, Time = Time,...)
Kt |
Cumulative amount of element released (mass or mole of element per unit mass of soil, e.g., mg/kg or mmol/kg) after time ‘t’ |
Time |
The time intervals used in the kinetics study (user can choose the unit as per convenience) |
... |
Any other argument that can be passed to base plot |
The zero-order equation is expressed as (Km – Kt ) = a – b × t (Martin and Sparks 1983), where ‘Km’ is the total amount of the element released over the entire study period, ‘Kt’ is the cumulative amount of the element released over time ‘t’, and ‘a’ and ‘b’ are constants. The constant ‘b’ can be considered as the overall release rate coefficient.
R2: Coefficient of determination (more the value, better the fit)
SEE: Standard error of estimate (less the value, better the fit)
a: Equation constant
b: Equation constant (overall release rate coefficient)
Martin, H.W., Sparks, D.L., 1983. Kinetics of nonexchangeable potassium release from two coastal plain soils. Soil Science Society of America Journal 47, 883–887. https://doi.org/10.2136/sssaj1983.03615995004700050008x
with(data = df_release, rk_zero(Kt = Kt, Time = Time, ylab = "Kmax - Kt"))with(data = df_release, rk_zero(Kt = Kt, Time = Time, ylab = "Kmax - Kt"))
This function generates the supply parameter (SP) of phosphorus in soil as described by Khasawneh and Copeland (1973).
SP(W = W, V = V, Ci = Ci, Cf = Cf,...)SP(W = W, V = V, Ci = Ci, Cf = Cf,...)
W |
Mass of soil sample (g) |
V |
Volume of extractant solution (mL) |
Ci |
Initial concentration (mg/L) of the added element, e.g., phosphorus |
Cf |
Final or equilibrium concentration (mg/L) after adsorption of the same element |
... |
Any other argument that can be passed to base plot |
SP - Supply parameter (mg^0.5)/(kg L)^0.25
Khasawneh, F.E., 1971. Solution ion activity and plant growth. Soil Science Society of America Proceedings 35, 426–436.
Khasawneh, F.E., Copeland, J.P., 1973. Cotton root growth and uptake of nutrients: relation of phosphorus uptake to quantity, intensity, and buffering capacity. Soil Science Society of America Proceedings 37, 250–254.
with(data = df_sordes, SP(W = 2, V = 20, Ci = Initial_conc, Cf = Equilibrium_conc, col = rgb(red = 1, green = 0, blue = 0, alpha = 0.5), pch = 16, cex = 1))with(data = df_sordes, SP(W = 2, V = 20, Ci = Initial_conc, Cf = Equilibrium_conc, col = rgb(red = 1, green = 0, blue = 0, alpha = 0.5), pch = 16, cex = 1))