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.
Is your feature request related to a problem? Please describe.
#2896 (PR #3217) added the
daily_manure_supplyinput, which supplies manure streams directly tothe 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.
DailyManureSuppliervalidates at startup for duplicate stream names, parlor streams restricted toLAC_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_processormust name a housing-type processor (handler,OpenLot, orBeddedPack) in themanure_processor_connectioninput. 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 + ashshould not exceedtotal_solids.ammoniacal_nitrogenshould not exceednitrogen.urine_massshould not exceedtotal_manure_mass;urine_nitrogenshould not exceednitrogen.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.