Skip to content

[Manure][Cross-validation] Add cross-validation rules for daily manure supply inputs #3286

Description

@matthew7838

Is your feature request related to a problem? Please describe.
#2896 (PR #3217) added the daily_manure_supply input, which supplies manure streams directly to
the Manure Module when the Animal Module isn't simulated. Because there are no animals to derive
these values from, users hand-build the file, and nothing currently stops them from entering values that
are well-formed but biologically nonsensical.

DailyManureSupplier validates at startup for duplicate stream names, parlor streams restricted to
LAC_COW, and total solids not exceeding total manure mass. The metadata schema covers types,
minimums, and enum patterns. Neither catches internally inconsistent composition.

Describe the solution you'd like
Cross-validation rules against daily_manure_supply_properties. Candidates, for SME review:

  • first_processor must name a housing-type processor (handler, OpenLot, or BeddedPack) in the
    manure_processor_connection input. Currently this only surfaces at runtime on day one, as a generic manure-module error.
  • degradable_volatile_solids + non_degradable_volatile_solids + bedding_non_degradable_volatile_solids + ash should not exceed total_solids.
  • ammoniacal_nitrogen should not exceed nitrogen.
  • urine_mass should not exceed total_manure_mass; urine_nitrogen should not exceed nitrogen.

Describe alternatives you've considered
None

Additional context
Split out from #3217 so SME review of the rules doesn't hold up that PR.

Target Deadline
None.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions