Skip to content

ptfkit.saxton2006

ptfkit.saxton2006

Saxton and Rawls (2006), soil water characteristics from texture and organic matter.

Reference

Saxton, K. E., & Rawls, W. J. (2006). Soil water characteristic estimates by texture and organic matter for hydrologic solutions. Soil Science Society of America Journal, 70(5), 1569-1578. DOI: 10.2136/ssaj2005.0117

Territory

United States

Dataset

1,722 mineral-soil A-horizon samples retained from the USDA/NRCS National Soil Characterization database after exclusions from 2,149 samples.

CLASS DESCRIPTION
Saxton2006DensityResult

Results returned by the matching PTF.

Saxton2006GravelResult

Results returned by the matching PTF.

Saxton2006PTFResult

Results returned by the matching PTF.

Saxton2006SalinityResult

Results returned by the matching PTF.

FUNCTION DESCRIPTION
calc_conductivity_saxton2006

Estimate unsaturated hydraulic conductivity from water content.

calc_density_adjustment_saxton2006

Adjust Saxton and Rawls water characteristics for soil density.

calc_gravel_adjustment_saxton2006

Adjust matric-soil properties for gravel content.

calc_osmotic_potential_saxton2006

Estimate saturated and moisture-adjusted osmotic potential.

calc_ptf_saxton2006

Estimate soil water characteristics from sand, clay, and organic matter.

calc_tension_dry_saxton2006

Estimate matric tension in the 1500 to 33 kPa segment.

calc_tension_wet_saxton2006

Estimate matric tension in the 33 kPa to air-entry segment.

Saxton2006DensityResult

Bases: NamedTuple, Generic[T]

Results returned by the matching PTF.

ATTRIBUTE DESCRIPTION
adjusted_density

Density after applying the density factor. (g/cm^3)

TYPE: T

adjusted_theta_s

Saturated water content after the density adjustment. (m^3/m^3)

TYPE: T

adjusted_theta_33

Water content at 33 kPa after the density adjustment. (m^3/m^3)

TYPE: T

adjusted_theta_s_minus_33

Density-adjusted difference between saturation and 33 kPa. (m^3/m^3)

TYPE: T

Source code in ptfkit/saxton2006.py
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class Saxton2006DensityResult(NamedTuple, Generic[T]):
    """Results returned by the matching PTF.

    Attributes:
        adjusted_density: Density after applying the density factor. (g/cm^3)
        adjusted_theta_s: Saturated water content after the density adjustment. (m^3/m^3)
        adjusted_theta_33: Water content at 33 kPa after the density adjustment. (m^3/m^3)
        adjusted_theta_s_minus_33: Density-adjusted difference between saturation and 33 kPa.
            (m^3/m^3)

    """

    adjusted_density: T
    adjusted_theta_s: T
    adjusted_theta_33: T
    adjusted_theta_s_minus_33: T

Saxton2006GravelResult

Bases: NamedTuple, Generic[T]

Results returned by the matching PTF.

ATTRIBUTE DESCRIPTION
gravel_volume_fraction

Gravel volume fraction of the bulk soil. (m^3/m^3)

TYPE: T

bulk_density

Dry bulk density of matric soil plus gravel. (g/cm^3)

TYPE: T

bulk_plant_available_water

Plant-available water on a bulk-soil volume basis. (m^3/m^3)

TYPE: T

bulk_saturated_conductivity

Saturated conductivity after the gravel reduction. (mm/h)

TYPE: T

Source code in ptfkit/saxton2006.py
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
class Saxton2006GravelResult(NamedTuple, Generic[T]):
    """Results returned by the matching PTF.

    Attributes:
        gravel_volume_fraction: Gravel volume fraction of the bulk soil. (m^3/m^3)
        bulk_density: Dry bulk density of matric soil plus gravel. (g/cm^3)
        bulk_plant_available_water: Plant-available water on a bulk-soil volume basis. (m^3/m^3)
        bulk_saturated_conductivity: Saturated conductivity after the gravel reduction. (mm/h)

    """

    gravel_volume_fraction: T
    bulk_density: T
    bulk_plant_available_water: T
    bulk_saturated_conductivity: T

Saxton2006PTFResult

Bases: NamedTuple, Generic[T]

Results returned by the matching PTF.

ATTRIBUTE DESCRIPTION
theta_1500

Volumetric water content at 1500 kPa matric tension. (m^3/m^3)

TYPE: T

theta_33

Volumetric water content at 33 kPa matric tension. (m^3/m^3)

TYPE: T

theta_s

Saturated volumetric water content at normal density. (m^3/m^3)

TYPE: T

plant_available_water

Difference between the 33 and 1500 kPa water contents. (m^3/m^3)

TYPE: T

air_entry_tension

Air-entry or bubbling-pressure tension. (kPa)

TYPE: T

retention_a

Coefficient A of the dry-range moisture-tension curve. (kPa)

TYPE: T

retention_b

Exponent B of the dry-range moisture-tension curve. (dimensionless)

TYPE: T

conductivity_lambda

Inverse of retention exponent B. (dimensionless)

TYPE: T

saturated_conductivity

Saturated hydraulic conductivity of the matric soil. (mm/h)

TYPE: T

normal_density

Normal dry bulk density assuming particle density 2.65 g/cm^3. (g/cm^3)

TYPE: T

Source code in ptfkit/saxton2006.py
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
class Saxton2006PTFResult(NamedTuple, Generic[T]):
    """Results returned by the matching PTF.

    Attributes:
        theta_1500: Volumetric water content at 1500 kPa matric tension. (m^3/m^3)
        theta_33: Volumetric water content at 33 kPa matric tension. (m^3/m^3)
        theta_s: Saturated volumetric water content at normal density. (m^3/m^3)
        plant_available_water: Difference between the 33 and 1500 kPa water contents. (m^3/m^3)
        air_entry_tension: Air-entry or bubbling-pressure tension. (kPa)
        retention_a: Coefficient A of the dry-range moisture-tension curve. (kPa)
        retention_b: Exponent B of the dry-range moisture-tension curve. (dimensionless)
        conductivity_lambda: Inverse of retention exponent B. (dimensionless)
        saturated_conductivity: Saturated hydraulic conductivity of the matric soil. (mm/h)
        normal_density: Normal dry bulk density assuming particle density 2.65 g/cm^3. (g/cm^3)

    """

    theta_1500: T
    theta_33: T
    theta_s: T
    plant_available_water: T
    air_entry_tension: T
    retention_a: T
    retention_b: T
    conductivity_lambda: T
    saturated_conductivity: T
    normal_density: T

Saxton2006SalinityResult

Bases: NamedTuple, Generic[T]

Results returned by the matching PTF.

ATTRIBUTE DESCRIPTION
saturated_osmotic_potential

Osmotic potential at saturation. (kPa)

TYPE: T

osmotic_potential

Osmotic potential at the supplied water content. (kPa)

TYPE: T

Source code in ptfkit/saxton2006.py
110
111
112
113
114
115
116
117
118
119
120
class Saxton2006SalinityResult(NamedTuple, Generic[T]):
    """Results returned by the matching PTF.

    Attributes:
        saturated_osmotic_potential: Osmotic potential at saturation. (kPa)
        osmotic_potential: Osmotic potential at the supplied water content. (kPa)

    """

    saturated_osmotic_potential: T
    osmotic_potential: T

calc_conductivity_saxton2006

calc_conductivity_saxton2006(*, theta: float, theta_s: float, saturated_conductivity: float, conductivity_lambda: float) -> floating
calc_conductivity_saxton2006(*, theta: ArrayLike, theta_s: ArrayLike, saturated_conductivity: ArrayLike, conductivity_lambda: ArrayLike, out: NDArray[floating] | None = None) -> NDArray[floating]

Estimate unsaturated hydraulic conductivity from water content.

PARAMETER DESCRIPTION
theta

Volumetric water content. (m^3/m^3)

TYPE: float | ArrayLike

theta_s

Saturated volumetric water content. (m^3/m^3)

TYPE: float | ArrayLike

saturated_conductivity

Saturated hydraulic conductivity of the matric soil. (mm/h)

TYPE: float | ArrayLike

conductivity_lambda

Inverse of retention exponent B. (dimensionless)

TYPE: float | ArrayLike

out

Optional output arrays for in-place calculation.

TYPE: NDArray[floating] | None DEFAULT: None

RETURNS DESCRIPTION
conductivity

Unsaturated hydraulic conductivity at the supplied water content. (mm/h)

TYPE: floating | NDArray[floating]

Models

\(k(h)\): Campbell unsaturated conductivity model

Notes

Prediction target: Unsaturated hydraulic conductivity of the matric soil.

Warning

The equation does not include residual water content.

Source code in ptfkit/saxton2006.py
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
def calc_conductivity_saxton2006(
    *,
    theta: float | ArrayLike,
    theta_s: float | ArrayLike,
    saturated_conductivity: float | ArrayLike,
    conductivity_lambda: float | ArrayLike,
    out: NDArray[floating] | None = None,
) -> floating | NDArray[floating]:
    """Estimate unsaturated hydraulic conductivity from water content.

    Arguments:
        theta: Volumetric water content. (m^3/m^3)
        theta_s: Saturated volumetric water content. (m^3/m^3)
        saturated_conductivity: Saturated hydraulic conductivity of the matric soil. (mm/h)
        conductivity_lambda: Inverse of retention exponent B. (dimensionless)
        out: Optional output arrays for in-place calculation.

    Returns:
        conductivity: Unsaturated hydraulic conductivity at the supplied water content. (mm/h)

    Models:
        $k(h)$: Campbell unsaturated conductivity model

    Notes:
        Prediction target: Unsaturated hydraulic conductivity of the matric soil.

    Warning:
        The equation does not include residual water content.

    """
    return _call(
        _calc_ptf_saxton2006_conductivity,
        theta,
        theta_s,
        saturated_conductivity,
        conductivity_lambda,
        out=out,
    )

calc_density_adjustment_saxton2006

calc_density_adjustment_saxton2006(*, normal_density: float, theta_s: float, theta_33: float, density_factor: float) -> Saxton2006DensityResult[floating]
calc_density_adjustment_saxton2006(*, normal_density: ArrayLike, theta_s: ArrayLike, theta_33: ArrayLike, density_factor: ArrayLike, out: Saxton2006DensityResult[NDArray[floating]] | None = None) -> Saxton2006DensityResult[NDArray[floating]]

Adjust Saxton and Rawls water characteristics for soil density.

PARAMETER DESCRIPTION
normal_density

Normal dry bulk density estimated by the base model. (g/cm^3)

TYPE: float | ArrayLike

theta_s

Saturated water content at normal density. (m^3/m^3)

TYPE: float | ArrayLike

theta_33

Water content at 33 kPa and normal density. (m^3/m^3)

TYPE: float | ArrayLike

density_factor

Multiplicative adjustment to normal density. (dimensionless)

TYPE: float | ArrayLike

out

Optional output arrays for in-place calculation.

TYPE: Saxton2006DensityResult[NDArray[floating]] | None DEFAULT: None

RETURNS DESCRIPTION
Saxton2006DensityResult

Results grouped by result attributes.

TYPE: Saxton2006DensityResult[floating] | Saxton2006DensityResult[NDArray[floating]]

Models

\(h(\theta)\): Density adjustment to the point estimates

Notes

Prediction target: Density-adjusted saturation and 33 kPa water contents. The source limits the saturation-minus-33 kPa difference to at least 0.005 m^3/m^3.

Warning

The source recommends density factors only from 0.9 to 1.3.

Source code in ptfkit/saxton2006.py
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
def calc_density_adjustment_saxton2006(
    *,
    normal_density: float | ArrayLike,
    theta_s: float | ArrayLike,
    theta_33: float | ArrayLike,
    density_factor: float | ArrayLike,
    out: Saxton2006DensityResult[NDArray[floating]] | None = None,
) -> Saxton2006DensityResult[floating] | Saxton2006DensityResult[NDArray[floating]]:
    r"""Adjust Saxton and Rawls water characteristics for soil density.

    Arguments:
        normal_density: Normal dry bulk density estimated by the base model. (g/cm^3)
        theta_s: Saturated water content at normal density. (m^3/m^3)
        theta_33: Water content at 33 kPa and normal density. (m^3/m^3)
        density_factor: Multiplicative adjustment to normal density. (dimensionless)
        out: Optional output arrays for in-place calculation.

    Returns:
        Saxton2006DensityResult: Results grouped by result attributes.

    Models:
        $h(\theta)$: Density adjustment to the point estimates

    Notes:
        Prediction target: Density-adjusted saturation and 33 kPa water contents.
        The source limits the saturation-minus-33 kPa difference to at least 0.005 m^3/m^3.

    Warning:
        The source recommends density factors only from 0.9 to 1.3.

    """
    values = _call(
        _calc_ptf_saxton2006_density,
        normal_density,
        theta_s,
        theta_33,
        density_factor,
        out=out,
    )

    return Saxton2006DensityResult(*values)

calc_gravel_adjustment_saxton2006

calc_gravel_adjustment_saxton2006(*, gravel_weight_fraction: float, matric_density: float, plant_available_water: float, saturated_conductivity: float) -> Saxton2006GravelResult[floating]
calc_gravel_adjustment_saxton2006(*, gravel_weight_fraction: ArrayLike, matric_density: ArrayLike, plant_available_water: ArrayLike, saturated_conductivity: ArrayLike, out: Saxton2006GravelResult[NDArray[floating]] | None = None) -> Saxton2006GravelResult[NDArray[floating]]

Adjust matric-soil properties for gravel content.

PARAMETER DESCRIPTION
gravel_weight_fraction

Gravel mass fraction of the bulk soil. (g/g)

TYPE: float | ArrayLike

matric_density

Dry bulk density of the fine-earth matric soil. (g/cm^3)

TYPE: float | ArrayLike

plant_available_water

Plant-available water of the matric soil. (m^3/m^3)

TYPE: float | ArrayLike

saturated_conductivity

Saturated hydraulic conductivity of the matric soil. (mm/h)

TYPE: float | ArrayLike

out

Optional output arrays for in-place calculation.

TYPE: Saxton2006GravelResult[NDArray[floating]] | None DEFAULT: None

RETURNS DESCRIPTION
Saxton2006GravelResult

Results grouped by result attributes.

TYPE: Saxton2006GravelResult[floating] | Saxton2006GravelResult[NDArray[floating]]

Models

\(h(\theta)\): Gravel reduction of plant-available water \(k(h)\): Peck-Watson conductivity reduction

Notes

Prediction target: Gravel volume, bulk density, available water, and saturated conductivity. Gravel comprises particles larger than 2 mm. Gravel density is fixed at 2.65 g/cm^3 in the source equations.

Warning

The conductivity correction does not represent extra macropores sometimes found in gravelly soils.

Source code in ptfkit/saxton2006.py
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
def calc_gravel_adjustment_saxton2006(
    *,
    gravel_weight_fraction: float | ArrayLike,
    matric_density: float | ArrayLike,
    plant_available_water: float | ArrayLike,
    saturated_conductivity: float | ArrayLike,
    out: Saxton2006GravelResult[NDArray[floating]] | None = None,
) -> Saxton2006GravelResult[floating] | Saxton2006GravelResult[NDArray[floating]]:
    r"""Adjust matric-soil properties for gravel content.

    Arguments:
        gravel_weight_fraction: Gravel mass fraction of the bulk soil. (g/g)
        matric_density: Dry bulk density of the fine-earth matric soil. (g/cm^3)
        plant_available_water: Plant-available water of the matric soil. (m^3/m^3)
        saturated_conductivity: Saturated hydraulic conductivity of the matric soil. (mm/h)
        out: Optional output arrays for in-place calculation.

    Returns:
        Saxton2006GravelResult: Results grouped by result attributes.

    Models:
        $h(\theta)$: Gravel reduction of plant-available water
        $k(h)$: Peck-Watson conductivity reduction

    Notes:
        Prediction target: Gravel volume, bulk density, available water, and saturated conductivity.
        Gravel comprises particles larger than 2 mm.
        Gravel density is fixed at 2.65 g/cm^3 in the source equations.

    Warning:
        The conductivity correction does not represent extra macropores sometimes found in gravelly
            soils.

    """
    values = _call(
        _calc_ptf_saxton2006_gravel,
        gravel_weight_fraction,
        matric_density,
        plant_available_water,
        saturated_conductivity,
        out=out,
    )

    return Saxton2006GravelResult(*values)

calc_osmotic_potential_saxton2006

calc_osmotic_potential_saxton2006(*, electrical_conductivity: float, theta: float, theta_s: float) -> Saxton2006SalinityResult[floating]
calc_osmotic_potential_saxton2006(*, electrical_conductivity: ArrayLike, theta: ArrayLike, theta_s: ArrayLike, out: Saxton2006SalinityResult[NDArray[floating]] | None = None) -> Saxton2006SalinityResult[NDArray[floating]]

Estimate saturated and moisture-adjusted osmotic potential.

PARAMETER DESCRIPTION
electrical_conductivity

Electrical conductivity of a saturated soil extract. (dS/m)

TYPE: float | ArrayLike

theta

Current volumetric water content. (m^3/m^3)

TYPE: float | ArrayLike

theta_s

Saturated volumetric water content. (m^3/m^3)

TYPE: float | ArrayLike

out

Optional output arrays for in-place calculation.

TYPE: Saxton2006SalinityResult[NDArray[floating]] | None DEFAULT: None

RETURNS DESCRIPTION
Saxton2006SalinityResult

Results grouped by result attributes.

TYPE: Saxton2006SalinityResult[floating] | Saxton2006SalinityResult[NDArray[floating]]

Models

\(h(\theta)\): Matric-plus-osmotic tension adjustment

Notes

Prediction target: Osmotic potential from saturated-extract electrical conductivity. The moisture adjustment assumes dissolved salt quantity remains near constant as water content falls.

Warning

Precipitation, bonding, ionic nutrition, and toxicity can modify actual salinity effects.

Source code in ptfkit/saxton2006.py
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
def calc_osmotic_potential_saxton2006(
    *,
    electrical_conductivity: float | ArrayLike,
    theta: float | ArrayLike,
    theta_s: float | ArrayLike,
    out: Saxton2006SalinityResult[NDArray[floating]] | None = None,
) -> Saxton2006SalinityResult[floating] | Saxton2006SalinityResult[NDArray[floating]]:
    r"""Estimate saturated and moisture-adjusted osmotic potential.

    Arguments:
        electrical_conductivity: Electrical conductivity of a saturated soil extract. (dS/m)
        theta: Current volumetric water content. (m^3/m^3)
        theta_s: Saturated volumetric water content. (m^3/m^3)
        out: Optional output arrays for in-place calculation.

    Returns:
        Saxton2006SalinityResult: Results grouped by result attributes.

    Models:
        $h(\theta)$: Matric-plus-osmotic tension adjustment

    Notes:
        Prediction target: Osmotic potential from saturated-extract electrical conductivity.
        The moisture adjustment assumes dissolved salt quantity remains near constant as water
            content falls.

    Warning:
        Precipitation, bonding, ionic nutrition, and toxicity can modify actual salinity effects.

    """
    values = _call(
        _calc_ptf_saxton2006_salinity,
        electrical_conductivity,
        theta,
        theta_s,
        out=out,
    )

    return Saxton2006SalinityResult(*values)

calc_ptf_saxton2006

calc_ptf_saxton2006(*, sand: float, clay: float, organic_matter: float) -> Saxton2006PTFResult[floating]
calc_ptf_saxton2006(*, sand: ArrayLike, clay: ArrayLike, organic_matter: ArrayLike, out: Saxton2006PTFResult[NDArray[floating]] | None = None) -> Saxton2006PTFResult[NDArray[floating]]

Estimate soil water characteristics from sand, clay, and organic matter.

PARAMETER DESCRIPTION
sand

Sand mass fraction of the fine-earth soil. (g/g)

TYPE: float | ArrayLike

clay

Clay mass fraction of the fine-earth soil. (g/g)

TYPE: float | ArrayLike

organic_matter

Organic matter content on a mass percentage basis. (% mass)

TYPE: float | ArrayLike

out

Optional output arrays for in-place calculation.

TYPE: Saxton2006PTFResult[NDArray[floating]] | None DEFAULT: None

RETURNS DESCRIPTION
Saxton2006PTFResult

Results grouped by result attributes.

TYPE: Saxton2006PTFResult[floating] | Saxton2006PTFResult[NDArray[floating]]

Models

\(h(\theta)\): Campbell power function with a linear wet-range segment \(k(h)\): Campbell unsaturated conductivity model

Notes

Prediction target: Water contents at 1500, 33, and 0 kPa, plant-available water, air-entry tension, retention coefficients, normal density, and saturated hydraulic conductivity. Sand and clay are decimal mass fractions, while organic matter is a percentage. The 1500 and 33 kPa values are also termed wilting point and field capacity.

Warning

Do not apply the regression above 8% organic matter or 60% clay. Sand and clay fractions must describe one soil and therefore must sum to at most 1. These statistical-average estimates should be calibrated to local measurements when available.

Source code in ptfkit/saxton2006.py
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
def calc_ptf_saxton2006(
    *,
    sand: float | ArrayLike,
    clay: float | ArrayLike,
    organic_matter: float | ArrayLike,
    out: Saxton2006PTFResult[NDArray[floating]] | None = None,
) -> Saxton2006PTFResult[floating] | Saxton2006PTFResult[NDArray[floating]]:
    r"""Estimate soil water characteristics from sand, clay, and organic matter.

    Arguments:
        sand: Sand mass fraction of the fine-earth soil. (g/g)
        clay: Clay mass fraction of the fine-earth soil. (g/g)
        organic_matter: Organic matter content on a mass percentage basis. (% mass)
        out: Optional output arrays for in-place calculation.

    Returns:
        Saxton2006PTFResult: Results grouped by result attributes.

    Models:
        $h(\theta)$: Campbell power function with a linear wet-range segment
        $k(h)$: Campbell unsaturated conductivity model

    Notes:
        Prediction target: Water contents at 1500, 33, and 0 kPa, plant-available water, air-entry
            tension, retention coefficients, normal density, and saturated hydraulic conductivity.
        Sand and clay are decimal mass fractions, while organic matter is a percentage.
        The 1500 and 33 kPa values are also termed wilting point and field capacity.

    Warning:
        Do not apply the regression above 8% organic matter or 60% clay.
        Sand and clay fractions must describe one soil and therefore must sum to at most 1.
        These statistical-average estimates should be calibrated to local measurements when
            available.

    """
    values = _call(
        _calc_ptf_saxton2006,
        sand,
        clay,
        organic_matter,
        out=out,
    )

    return Saxton2006PTFResult(*values)

calc_tension_dry_saxton2006

calc_tension_dry_saxton2006(*, theta: float, theta_1500: float, theta_33: float) -> floating
calc_tension_dry_saxton2006(*, theta: ArrayLike, theta_1500: ArrayLike, theta_33: ArrayLike, out: NDArray[floating] | None = None) -> NDArray[floating]

Estimate matric tension in the 1500 to 33 kPa segment.

PARAMETER DESCRIPTION
theta

Volumetric water content. (m^3/m^3)

TYPE: float | ArrayLike

theta_1500

Volumetric water content at 1500 kPa. (m^3/m^3)

TYPE: float | ArrayLike

theta_33

Volumetric water content at 33 kPa. (m^3/m^3)

TYPE: float | ArrayLike

out

Optional output arrays for in-place calculation.

TYPE: NDArray[floating] | None DEFAULT: None

RETURNS DESCRIPTION
tension

Matric tension at the supplied water content. (kPa)

TYPE: floating | NDArray[floating]

Models

\(h(\theta)\): Campbell power function

Notes

Prediction target: Matric tension for water content between theta_1500 and theta_33.

Warning

Use only for the 1500 to 33 kPa segment defined by the source.

Source code in ptfkit/saxton2006.py
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
def calc_tension_dry_saxton2006(
    *,
    theta: float | ArrayLike,
    theta_1500: float | ArrayLike,
    theta_33: float | ArrayLike,
    out: NDArray[floating] | None = None,
) -> floating | NDArray[floating]:
    r"""Estimate matric tension in the 1500 to 33 kPa segment.

    Arguments:
        theta: Volumetric water content. (m^3/m^3)
        theta_1500: Volumetric water content at 1500 kPa. (m^3/m^3)
        theta_33: Volumetric water content at 33 kPa. (m^3/m^3)
        out: Optional output arrays for in-place calculation.

    Returns:
        tension: Matric tension at the supplied water content. (kPa)

    Models:
        $h(\theta)$: Campbell power function

    Notes:
        Prediction target: Matric tension for water content between theta_1500 and theta_33.

    Warning:
        Use only for the 1500 to 33 kPa segment defined by the source.

    """
    return _call(
        _calc_ptf_saxton2006_tension_dry,
        theta,
        theta_1500,
        theta_33,
        out=out,
    )

calc_tension_wet_saxton2006

calc_tension_wet_saxton2006(*, theta: float, theta_33: float, theta_s: float, air_entry_tension: float) -> floating
calc_tension_wet_saxton2006(*, theta: ArrayLike, theta_33: ArrayLike, theta_s: ArrayLike, air_entry_tension: ArrayLike, out: NDArray[floating] | None = None) -> NDArray[floating]

Estimate matric tension in the 33 kPa to air-entry segment.

PARAMETER DESCRIPTION
theta

Volumetric water content. (m^3/m^3)

TYPE: float | ArrayLike

theta_33

Volumetric water content at 33 kPa. (m^3/m^3)

TYPE: float | ArrayLike

theta_s

Saturated volumetric water content. (m^3/m^3)

TYPE: float | ArrayLike

air_entry_tension

Air-entry tension estimated by the base model. (kPa)

TYPE: float | ArrayLike

out

Optional output arrays for in-place calculation.

TYPE: NDArray[floating] | None DEFAULT: None

RETURNS DESCRIPTION
tension

Matric tension at the supplied water content. (kPa)

TYPE: floating | NDArray[floating]

Models

\(h(\theta)\): Linear wet-range segment

Notes

Prediction target: Matric tension for water content between theta_33 and theta_s. At tensions below air entry, Equation 13 fixes water content at theta_s.

Warning

Use only for the 33 kPa to air-entry segment defined by the source.

Source code in ptfkit/saxton2006.py
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
def calc_tension_wet_saxton2006(
    *,
    theta: float | ArrayLike,
    theta_33: float | ArrayLike,
    theta_s: float | ArrayLike,
    air_entry_tension: float | ArrayLike,
    out: NDArray[floating] | None = None,
) -> floating | NDArray[floating]:
    r"""Estimate matric tension in the 33 kPa to air-entry segment.

    Arguments:
        theta: Volumetric water content. (m^3/m^3)
        theta_33: Volumetric water content at 33 kPa. (m^3/m^3)
        theta_s: Saturated volumetric water content. (m^3/m^3)
        air_entry_tension: Air-entry tension estimated by the base model. (kPa)
        out: Optional output arrays for in-place calculation.

    Returns:
        tension: Matric tension at the supplied water content. (kPa)

    Models:
        $h(\theta)$: Linear wet-range segment

    Notes:
        Prediction target: Matric tension for water content between theta_33 and theta_s.
        At tensions below air entry, Equation 13 fixes water content at theta_s.

    Warning:
        Use only for the 33 kPa to air-entry segment defined by the source.

    """
    return _call(
        _calc_ptf_saxton2006_tension_wet,
        theta,
        theta_33,
        theta_s,
        air_entry_tension,
        out=out,
    )