The whole flow
Five steps, left to right. Adding a filter means adding JSON files; the engine itself doesn't change.
Why this filter has its own dataset
Our daily data only knows the day's hottest moment, which comes after the flowers have closed. So the filter reads a separate file holding only the temperature in the flowering hours.
Follow one district through the filter
Pick a district, a rice duration and a variety's heat class. These are saved results from the real engine.
What the filter does across India
Show flagged districts
What the result can be
Every district gets exactly one result for each filter. A missing value is never treated as a pass.
| Result | Meaning | In this filter |
|---|---|---|
| Flagged | A warning; the district stays in the list | Too hot in the flowering hours in enough seasons |
| Passed | Measured and no problem found | Under the limit often enough |
| Not applicable | Couldn't be measured, and says why | |
| Excluded | Marked unsuitable | Not used by this filter |
| Penalised | Score multiplied by a factor | Not used by this filter |
What the evidence card adds
The rule decides. The card explains why, how far to trust it, and what to ask. Removing the card leaves the result the same; a test checks this.
Why it could be wrong
Where the numbers come from
The files behind this filter
The real JSON, under tools/rules/crops/rice/.