# hydroframe/parflow_cuahsi_vu architecture

> Architecture diagram of the GitHub repository hydroframe/parflow_cuahsi_vu, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/hydroframe/parflow_cuahsi_vu
- Repository: https://github.com/hydroframe/parflow_cuahsi_vu

## Overview

This repository is hands-on material for a four-week ParFlow course. The documented learner workflow is to open the course in Codespaces, work through activity notebooks, and keep personal copies in `my_work`. The tree identifies box-domain analysis/setup and gridding activities, plus a plotting utility. Notebook contents were not sampled, so their internal steps and connections to data files or plotting functions are not inferred.

Main entry points: [`Activity1_BoxModel/box_domain_analysis.ipynb`](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity1_BoxModel/box_domain_analysis.ipynb) (Box analysis), [`Activity1_BoxModel/box_domain_from_PFIDB.ipynb`](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity1_BoxModel/box_domain_from_PFIDB.ipynb) (Box PFIDB setup), [`Activity1_BoxModel/box_domain_setup_full.ipynb`](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity1_BoxModel/box_domain_setup_full.ipynb) (Box setup), [`Activity2_Gridding/box_domain_Gridding.ipynb`](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity2_Gridding/box_domain_Gridding.ipynb) (Domain gridding)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_activities["Course activities"]
  node_box_analysis["Box analysis"]
  node_box_pfidb["Box PFIDB setup"]
  node_box_setup["Box setup"]
  node_gridding["Domain gridding"]
  node_grid_input["Box domain input<br/>[box.pfidb]"]
end

subgraph group_support["Learner workspace and tools"]
  node_workspace["Personal workspace"]
  node_plots["ParFlow plotting<br/>[plots.py]"]
end

node_learner(("Learner"))

node_learner -->|"works through"| node_box_analysis
node_learner -->|"works through"| node_box_pfidb
node_learner -->|"works through"| node_box_setup
node_learner -->|"works through"| node_gridding
node_learner -->|"saves work"| node_workspace

click node_box_analysis "https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity1_BoxModel/box_domain_analysis.ipynb"
click node_box_pfidb "https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity1_BoxModel/box_domain_from_PFIDB.ipynb"
click node_box_setup "https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity1_BoxModel/box_domain_setup_full.ipynb"
click node_gridding "https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity2_Gridding/box_domain_Gridding.ipynb"
click node_grid_input "https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity2_Gridding/box.pfidb"
click node_workspace "https://github.com/hydroframe/parflow_cuahsi_vu/tree/main/my_work"
click node_plots "https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/utils/plots.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_box_analysis,node_box_pfidb,node_box_setup,node_gridding,node_grid_input toneBlue
class node_workspace,node_plots toneAmber
class node_learner toneIndigo
```

## Components

### Course activities

- [Box analysis](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity1_BoxModel/box_domain_analysis.ipynb): `Activity1_BoxModel/box_domain_analysis.ipynb`
- [Box PFIDB setup](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity1_BoxModel/box_domain_from_PFIDB.ipynb): `Activity1_BoxModel/box_domain_from_PFIDB.ipynb`
- [Box setup](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity1_BoxModel/box_domain_setup_full.ipynb): `Activity1_BoxModel/box_domain_setup_full.ipynb`
- [Domain gridding](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity2_Gridding/box_domain_Gridding.ipynb): `Activity2_Gridding/box_domain_Gridding.ipynb`
- [Box domain input](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/Activity2_Gridding/box.pfidb): `Activity2_Gridding/box.pfidb`

### Learner workspace and tools

- [Personal workspace](https://github.com/hydroframe/parflow_cuahsi_vu/tree/main/my_work): `my_work`
- [ParFlow plotting](https://github.com/hydroframe/parflow_cuahsi_vu/blob/main/utils/plots.py): `utils/plots.py`

### Other components

- **Learner**

## Connections

- Learner → Box analysis: works through (evidence: `README.md`)
- Learner → Box PFIDB setup: works through (evidence: `README.md`)
- Learner → Box setup: works through (evidence: `README.md`)
- Learner → Domain gridding: works through (evidence: `README.md`)
- Learner → Personal workspace: saves work (evidence: `README.md`)
