Index
subsurfaceio.soil_classification
Soil classification API.
Classify a specimen under USCS, AASHTO, or USDA:
from subsurfaceio.soil_classification import SoilClassification
SoilClassification(model=uscs_inputs).calculate()
Classes:
| Name | Description |
|---|---|
SoilClassification |
Soil classification (USCS, AASHTO, USDA). |
SoilClassificationAASHTO |
AASHTO soil classification inputs. |
SoilClassificationResultsAASHTO |
AASHTO soil classification results. |
SoilClassificationResultsUSCS |
USCS soil classification results. |
SoilClassificationResultsUSDA |
USDA soil classification results. |
SoilClassificationResultsUSDAMoreno2018 |
USDA Moreno soil classification results. |
SoilClassificationUSCS |
USCS soil classification inputs. |
SoilClassificationUSCSGroup |
Batch USCS soil classification. |
SoilClassificationUSDA |
USDA soil classification inputs. |
SoilClassificationUSDAMoreno2018 |
USDA Moreno soil classification inputs. |
Attributes:
| Name | Type | Description |
|---|---|---|
DiscriminatedSoilClassificationMethodModel |
TypeAlias
|
Method model discriminated on |
RESULTS |
|
|
SoilClassificationMethodModel |
TypeAlias
|
Undiscriminated union of soil classification method models. |
DiscriminatedSoilClassificationMethodModel
module-attribute
DiscriminatedSoilClassificationMethodModel: TypeAlias = (
Annotated[
SoilClassificationMethodModel,
Field(
discriminator="system",
description="Soil classification system",
),
]
)
Method model discriminated on system.
RESULTS
module-attribute
RESULTS = {
"USCS": SoilClassificationResultsUSCS,
"AASHTO": SoilClassificationResultsAASHTO,
"USDA": SoilClassificationResultsUSDA,
"USDAMoreno2018": SoilClassificationResultsUSDAMoreno2018,
}
SoilClassificationMethodModel
module-attribute
SoilClassificationMethodModel: TypeAlias = (
SoilClassificationUSCS
| SoilClassificationAASHTO
| SoilClassificationUSDA
| SoilClassificationUSDAMoreno2018
)
Undiscriminated union of soil classification method models.
SoilClassification
pydantic-model
Bases: Model
Soil classification (USCS, AASHTO, USDA).
References
- das2002soil
- astm2017d2487
- moreno2018clay
- astm2015d3282
- benham2009clarification
Fields:
-
model(DiscriminatedSoilClassificationMethodModel) -
results(SoilClassificationResultsUSCS | SoilClassificationResultsAASHTO | SoilClassificationResultsUSDA | SoilClassificationResultsUSDAMoreno2018 | None)
results
pydantic-field
results: (
SoilClassificationResultsUSCS
| SoilClassificationResultsAASHTO
| SoilClassificationResultsUSDA
| SoilClassificationResultsUSDAMoreno2018
| None
) = None
Calculation results
calculate
Run the calculation and store results.
Returns:
| Type | Description |
|---|---|
Self
|
|
get_reference_figure
Overlay this specimen on the published classification chart.
Returns:
| Type | Description |
|---|---|
Figure
|
Plotted reference figure for the active classification system. |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
If the method model has no catalog chart. |
SoilClassificationAASHTO
pydantic-model
Bases: BaseModel
AASHTO soil classification inputs.
Fields:
-
system(Literal['AASHTO']) -
language(Language) -
fines_content(float) -
percent_passing_no10(NullableFloat) -
percent_passing_no40(NullableFloat) -
non_plastic(bool) -
liquid_limit(NullableFloat) -
plasticity_index(NullableFloat)
function_sequence
class-attribute
SoilClassificationResultsAASHTO
pydantic-model
Bases: BaseModel
AASHTO soil classification results.
Fields:
-
system(Literal['AASHTO']) -
aashto_symbol(str | None) -
aashto_group_index(int | None) -
aashto_description(str | None)
SoilClassificationResultsUSCS
pydantic-model
Bases: BaseModel
USCS soil classification results.
Fields:
-
system(Literal['USCS']) -
uscs_symbol(str | None) -
uscs_description(str | None)
SoilClassificationResultsUSDA
pydantic-model
Bases: BaseModel
USDA soil classification results.
Fields:
-
system(Literal['USDA']) -
usda_symbol(str | None) -
usda_description(str | None)
SoilClassificationResultsUSDAMoreno2018
pydantic-model
Bases: BaseModel
USDA Moreno soil classification results.
Fields:
-
system(Literal['USDAMoreno2018']) -
usda_symbol(str | None) -
usda_description(str | None)
SoilClassificationUSCS
pydantic-model
Bases: BaseModel
USCS soil classification inputs.
Fields:
-
system(Literal['USCS']) -
language(Language) -
has_organic_fines(bool) -
moreno_alonso_plasticity_modification(bool) -
fines_content(float) -
percent_sand(float) -
percent_gravel(float) -
non_plastic(bool) -
liquid_limit(NullableFloat) -
plasticity_index(NullableFloat) -
uniformity_coefficient(NullableFloat) -
curvature_coefficient(NullableFloat)
function_sequence
class-attribute
moreno_alonso_plasticity_modification
pydantic-field
SoilClassificationUSCSGroup
pydantic-model
Bases: Model
Batch USCS soil classification.
References
- das2002soil
- astm2017d2487
- moreno2018clay
- astm2015d3282
- benham2009clarification
Fields:
-
items(list[SoilClassificationUSCS]) -
results(list[SoilClassificationResultsUSCS] | None)
SoilClassificationUSDA
pydantic-model
Bases: BaseModel
USDA soil classification inputs.
Fields:
-
system(Literal['USDA']) -
language(Language) -
percent_sand(float) -
percent_clay(float)
function_sequence
class-attribute
SoilClassificationUSDAMoreno2018
pydantic-model
Bases: BaseModel
USDA Moreno soil classification inputs.
Fields:
-
system(Literal['USDAMoreno2018']) -
language(Language) -
percent_sand(float) -
non_plastic(bool) -
liquid_limit(NullableFloat) -
plasticity_index(NullableFloat)