# manjulasrirama/irrigation-water-requirement-prediction-ml architecture

> Architecture diagram of the GitHub repository manjulasrirama/irrigation-water-requirement-prediction-ml, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/manjulasrirama/irrigation-water-requirement-prediction-ml
- Repository: https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml

## Overview

This is a Streamlit application for predicting irrigation requirement levels. A user enters soil, weather, crop, and irrigation details; the app combines those inputs into a row, sends it to a saved model, and displays the predicted level and, when supported, class probabilities. The CSV supplies both dropdown choices and numeric defaults. The repository also contains a small script that loads the model and prints a status message. The README is empty, and the notebook’s role cannot be established from the available source, so neither is represented as a training workflow.

Main entry points: [`app.py`](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/app.py) (Streamlit app), [`models/irrigation_model.pkl`](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/models/irrigation_model.pkl) (Saved model), [`prediction.py`](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/prediction.py) (Model load check), [`dataset/irrigation_prediction.csv`](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/dataset/irrigation_prediction.csv) (Irrigation data)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["User interface"]
  node_app["Streamlit app<br/>[app.py]"]
  node_inputs["Prediction inputs<br/>[app.py]"]
  node_results["Level and probabilities<br/>[app.py]"]
end

subgraph group_inference["Prediction"]
  node_model_check["Model load check<br/>[prediction.py]"]
end

subgraph group_assets["Model and data"]
  node_model["Saved model"]
  node_dataset[("Irrigation data")]
end

node_user(("User"))

node_user -->|"enters details"| node_app
node_app -->|"reads defaults and options"| node_dataset
node_app -->|"collects details"| node_inputs
node_app -->|"loads model"| node_model
node_app -->|"predicts and scores"| node_model
node_model -->|"returns predictions"| node_app
node_app -->|"displays results"| node_results
node_model_check -->|"loads model"| node_model

click node_app "https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/app.py"
click node_inputs "https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/app.py"
click node_results "https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/app.py"
click node_model "https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/models/irrigation_model.pkl"
click node_dataset "https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/dataset/irrigation_prediction.csv"
click node_model_check "https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/prediction.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_inputs,node_results,node_user toneBlue
class node_model_check toneAmber
class node_model,node_dataset toneMint
```

## Components

### User interface

- [Streamlit app](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/app.py): `app.py`
- [Prediction inputs](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/app.py): `app.py`
- [Level and probabilities](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/app.py): `app.py`

### Prediction

- [Model load check](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/prediction.py): `prediction.py`

### Model and data

- [Saved model](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/models/irrigation_model.pkl): `models/irrigation_model.pkl`
- [Irrigation data](https://github.com/manjulasrirama/irrigation-water-requirement-prediction-ml/blob/main/dataset/irrigation_prediction.csv): `dataset/irrigation_prediction.csv`

### Other components

- **User**

## Connections

- User → Streamlit app: enters details
- Streamlit app → Irrigation data: reads defaults and options
- Streamlit app → Prediction inputs: collects details
- Streamlit app → Saved model: loads model
- Streamlit app → Saved model: predicts and scores
- Saved model → Streamlit app: returns predictions
- Streamlit app → Level and probabilities: displays results
- Model load check → Saved model: loads model
