Skip to content

Soil ID Algorithm: certain shallow soils are always classified as 0% match  #375

Description

@DerekCaelin

Leptosols, "lithosol", "rendzinas", "rankers" always receive a combined score of 0%, regardless of location or properties score.

Steps To Reproduce

  1. Create temporary site at "8.48144, 36.35144"
  2. Observe soils list order, location score, see Lithic Leptosols at rank 2
  1. Create full site, enter rock fragment of 15-35% in first depth
  2. Observe soils list order, combined score, location score, properties score
  3. See issue

Expected behavior

Combined score should be a combo of location and properties score, and list position should be based on that. Soil ID algorithm should only exclude shallow soils based on depth if depths are confirmed too deep.

Actual behavior

Lithic Leptosols listed at 0%, while data score and properties score are greater.

Additional context

This happens because the algorithm is trying to promote or hide soils based on certain rules (see techmatters/terraso-product#1747). In this case, the algorithm attempts to exclude candidates that are too shallow by excluding soils where bedrock="None". At this time the client doesn't submit the depth of bedrock (feature not yet implemented: techmatters/terraso-product#183). The backend considers no bedrock feedback as "bedrock = None" and excludes potentially viable soils.

Possible solutions:

  • remove the bedrock logic. We never ask user to declare there is no bedrock, they either record if they encounter it and name the depths they're digging. We do want to continue to discount soils based off depth requirement, but we should improve how we communicate it.

Metadata

Metadata

Assignees

Type

Projects

  • Status
    Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions