Skip to content

ptfkit.clapp1978

ptfkit.clapp1978

Clapp and Hornberger (1978) representative soil hydraulic parameters by texture.

Reference

Clapp, R. B., & Hornberger, G. M. (1978). Empirical equations for some soil hydraulic properties. Water Resources Research.

Territory

United States

Dataset

Desorption data reported by Holtan et al. (1968) for soils collected at 34 United States localities; 1,446 soils remained from an initial set of more than 1,800 after the exclusions described by the paper.

CLASS DESCRIPTION
Clapp1978Parameters

Results returned by the matching PTF.

UsdaTextureClass

USDA soil textural class used to select a row of Table 2.

FUNCTION DESCRIPTION
calc_ptf_clapp1978

Return representative soil hydraulic parameters for a USDA texture class.

Clapp1978Parameters

Bases: NamedTuple, Generic[T]

Results returned by the matching PTF.

ATTRIBUTE DESCRIPTION
b

Mean exponent of the moisture-characteristic power curve. (1)

TYPE: T

saturation_suction

Representative saturation suction, calculated as the antilog of the mean logarithm of fitted saturation-suction values. (cm)

TYPE: T

wetting_front_suction

Representative Green-Ampt wetting-front suction. (cm)

TYPE: T

saturated_water_content

Mean saturated volumetric water content, taken as total porosity. (1)

TYPE: T

saturated_hydraulic_conductivity

Mean saturated hydraulic conductivity reported by Li et al. (1976). (cm/min)

TYPE: T

sorptivity

Representative sorptivity for the paper's single initial moisture deficit corresponding to 500-cm initial suction. (cm/min^(1/2))

TYPE: T

Source code in ptfkit/clapp1978.py
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
class Clapp1978Parameters(NamedTuple, Generic[T]):
    """Results returned by the matching PTF.

    Attributes:
        b: Mean exponent of the moisture-characteristic power curve. (1)
        saturation_suction: Representative saturation suction, calculated as the antilog of the mean
            logarithm of fitted saturation-suction values. (cm)
        wetting_front_suction: Representative Green-Ampt wetting-front suction. (cm)
        saturated_water_content: Mean saturated volumetric water content, taken as total porosity.
            (1)
        saturated_hydraulic_conductivity: Mean saturated hydraulic conductivity reported by Li et
            al. (1976). (cm/min)
        sorptivity: Representative sorptivity for the paper's single initial moisture deficit
            corresponding to 500-cm initial suction. (cm/min^(1/2))

    """

    b: T
    saturation_suction: T
    wetting_front_suction: T
    saturated_water_content: T
    saturated_hydraulic_conductivity: T
    sorptivity: T

UsdaTextureClass

Bases: Enum

USDA soil textural class used to select a row of Table 2.

ATTRIBUTE DESCRIPTION
SAND

USDA sand soil textural class.

LOAMY_SAND

USDA loamy sand soil textural class.

SANDY_LOAM

USDA sandy loam soil textural class.

SILT_LOAM

USDA silt loam soil textural class.

LOAM

USDA loam soil textural class.

SANDY_CLAY_LOAM

USDA sandy clay loam soil textural class.

SILTY_CLAY_LOAM

USDA silty clay loam soil textural class.

CLAY_LOAM

USDA clay loam soil textural class.

SANDY_CLAY

USDA sandy clay soil textural class.

SILTY_CLAY

USDA silty clay soil textural class.

CLAY

USDA clay soil textural class.

METHOD DESCRIPTION
array

Encode members once as a reusable typed enum array.

Source code in ptfkit/clapp1978.py
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
class UsdaTextureClass(Enum):
    """USDA soil textural class used to select a row of Table 2.

    Attributes:
        SAND: USDA sand soil textural class.
        LOAMY_SAND: USDA loamy sand soil textural class.
        SANDY_LOAM: USDA sandy loam soil textural class.
        SILT_LOAM: USDA silt loam soil textural class.
        LOAM: USDA loam soil textural class.
        SANDY_CLAY_LOAM: USDA sandy clay loam soil textural class.
        SILTY_CLAY_LOAM: USDA silty clay loam soil textural class.
        CLAY_LOAM: USDA clay loam soil textural class.
        SANDY_CLAY: USDA sandy clay soil textural class.
        SILTY_CLAY: USDA silty clay soil textural class.
        CLAY: USDA clay soil textural class.

    """

    SAND = 'sand'
    LOAMY_SAND = 'loamy sand'
    SANDY_LOAM = 'sandy loam'
    SILT_LOAM = 'silt loam'
    LOAM = 'loam'
    SANDY_CLAY_LOAM = 'sandy clay loam'
    SILTY_CLAY_LOAM = 'silty clay loam'
    CLAY_LOAM = 'clay loam'
    SANDY_CLAY = 'sandy clay'
    SILTY_CLAY = 'silty clay'
    CLAY = 'clay'

    @classmethod
    def array(cls, values: Iterable[UsdaTextureClass]) -> EnumArray[UsdaTextureClass]:
        """Encode members once as a reusable typed enum array."""
        return EnumArray._from_members(cls, values)  # noqa: SLF001

array classmethod

array(values)

Encode members once as a reusable typed enum array.

Source code in ptfkit/clapp1978.py
70
71
72
73
@classmethod
def array(cls, values: Iterable[UsdaTextureClass]) -> EnumArray[UsdaTextureClass]:
    """Encode members once as a reusable typed enum array."""
    return EnumArray._from_members(cls, values)  # noqa: SLF001

calc_ptf_clapp1978

calc_ptf_clapp1978(*, soil_texture: UsdaTextureClass) -> Clapp1978Parameters[floating]
calc_ptf_clapp1978(*, soil_texture: EnumArray[UsdaTextureClass], out: Clapp1978Parameters[NDArray[floating]] | None = None) -> Clapp1978Parameters[NDArray[floating]]

Return representative soil hydraulic parameters for a USDA texture class.

PARAMETER DESCRIPTION
soil_texture

USDA soil textural class used to select a row of Table 2.

TYPE: UsdaTextureClass | EnumArray[UsdaTextureClass]

out

Optional output arrays for in-place calculation.

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

RETURNS DESCRIPTION
Clapp1978Parameters

Results grouped by result attributes.

TYPE: Clapp1978Parameters[floating] | Clapp1978Parameters[NDArray[floating]]

Models

\(h(\theta)\): Power-curve moisture characteristic with a parabolic gradual-air-entry section near saturation \(k(h)\): Campbell relative-conductivity power relation

Notes

Prediction target: Representative moisture-characteristic exponent, saturation suction, wetting-front suction, saturated water content, saturated hydraulic conductivity, and sorptivity for a soil textural class. The representative wetting-front suctions use an inflection wetness of 0.92 to model gradual air entry near saturation. The sorptivity values use the average saturated hydraulic conductivities reported by Li et al. (1976) and one initial moisture deficit at 500-cm suction.

Warning

The paper states that these unverified average values should not be used blindly because saturation suction varies substantially within texture classes. Sorptivity values must be treated cautiously because the conductivity averages may not represent the same average soils as the other parameters.

Source code in ptfkit/clapp1978.py
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
def calc_ptf_clapp1978(
    *,
    soil_texture: UsdaTextureClass | EnumArray[UsdaTextureClass],
    out: Clapp1978Parameters[NDArray[floating]] | None = None,
) -> Clapp1978Parameters[floating] | Clapp1978Parameters[NDArray[floating]]:
    r"""Return representative soil hydraulic parameters for a USDA texture class.

    Arguments:
        soil_texture: USDA soil textural class used to select a row of Table 2.
        out: Optional output arrays for in-place calculation.

    Returns:
        Clapp1978Parameters: Results grouped by result attributes.

    Models:
        $h(\theta)$: Power-curve moisture characteristic with a parabolic gradual-air-entry section
            near saturation
        $k(h)$: Campbell relative-conductivity power relation

    Notes:
        Prediction target: Representative moisture-characteristic exponent, saturation suction,
            wetting-front suction, saturated water content, saturated hydraulic conductivity, and
            sorptivity for a soil textural class.
        The representative wetting-front suctions use an inflection wetness of 0.92 to model gradual
            air entry near saturation.
        The sorptivity values use the average saturated hydraulic conductivities reported by Li et
            al. (1976) and one initial moisture deficit at 500-cm suction.

    Warning:
        The paper states that these unverified average values should not be used blindly because
            saturation suction varies substantially within texture classes.
        Sorptivity values must be treated cautiously because the conductivity averages may not
            represent the same average soils as the other parameters.

    """
    values = _call(
        _calc_ptf_clapp1978,
        _encode_calc_ptf_clapp1978_soil_texture(soil_texture),
        out=out,
    )

    return Clapp1978Parameters(*values)