# saloniemi/asp-360-group-56 architecture

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

- Interactive diagram: https://gitdiagram.com/saloniemi/asp-360-group-56
- Repository: https://github.com/saloniemi/asp-360-group-56

## Overview

This repository is a hurricane-track prediction project: storm records are cleaned and segmented, sequences are normalized for model training, and a saved Keras model can be used to predict and map a storm track. The sampled code supports the data-preparation, training, and mapping flow; the README is only a placeholder, and the notebooks were not inspected, so their specific behavior is not represented.

Main entry points: [`model/mapping.py`](https://github.com/saloniemi/asp-360-group-56/blob/main/model/mapping.py) (Track Prediction Map), [`data_processing/read_data.py`](https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/read_data.py) (Clean and Segment), [`data_processing/segmented_data_2s.csv`](https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/segmented_data_2s.csv) (Segmented Sequences), [`model/format_data.py`](https://github.com/saloniemi/asp-360-group-56/blob/main/model/format_data.py) (Normalize and Split)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Storm Data"]
  node_raw[("Storm Records<br/>[storms.csv]")]
  node_prepare["Clean and Segment<br/>[read_data.py]"]
  node_cleaned[("Stripped Records")]
  node_segments[("Segmented Sequences")]
end

subgraph group_model["Prediction Model"]
  node_format["Normalize and Split<br/>[format_data.py]"]
  node_train["Model Training<br/>[model_keras.py]"]
  node_artifact["Saved Keras Model"]
end

subgraph group_results["Track Results"]
  node_map["Track Prediction Map<br/>[mapping.py]"]
  node_mapoutput["Rendered Map"]
end

node_researcher(("Researcher"))

node_raw -->|"reads"| node_prepare
node_prepare -->|"writes"| node_cleaned
node_prepare -->|"writes"| node_segments
node_segments -->|"loads"| node_format
node_train -->|"uses"| node_format
node_train -->|"saves"| node_artifact
node_researcher -.->|"runs"| node_map
node_map -->|"reads"| node_segments
node_map -->|"uses"| node_format
node_map -->|"loads"| node_artifact
node_map -->|"saves"| node_mapoutput

click node_raw "https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/storms.csv"
click node_prepare "https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/read_data.py"
click node_cleaned "https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/stripped_storms.csv"
click node_segments "https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/segmented_data_2s.csv"
click node_format "https://github.com/saloniemi/asp-360-group-56/blob/main/model/format_data.py"
click node_train "https://github.com/saloniemi/asp-360-group-56/blob/main/model/model_keras.py"
click node_artifact "https://github.com/saloniemi/asp-360-group-56/blob/main/model/output/Model%20Trials/Model_0_(16-50).keras"
click node_map "https://github.com/saloniemi/asp-360-group-56/blob/main/model/mapping.py"
click node_mapoutput "https://github.com/saloniemi/asp-360-group-56/tree/main/model/output/Model%20Trials"

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_raw,node_prepare,node_cleaned,node_segments toneBlue
class node_format,node_train,node_artifact toneAmber
class node_map,node_mapoutput toneMint
class node_researcher toneIndigo
```

## Components

### Storm Data

- [Storm Records](https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/storms.csv): `data_processing/storms.csv`
- [Clean and Segment](https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/read_data.py): `data_processing/read_data.py`
- [Stripped Records](https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/stripped_storms.csv): `data_processing/stripped_storms.csv`
- [Segmented Sequences](https://github.com/saloniemi/asp-360-group-56/blob/main/data_processing/segmented_data_2s.csv): `data_processing/segmented_data_2s.csv`

### Prediction Model

- [Normalize and Split](https://github.com/saloniemi/asp-360-group-56/blob/main/model/format_data.py): `model/format_data.py`
- [Model Training](https://github.com/saloniemi/asp-360-group-56/blob/main/model/model_keras.py): `model/model_keras.py`
- [Saved Keras Model](https://github.com/saloniemi/asp-360-group-56/blob/main/model/output/Model%20Trials/Model_0_(16-50).keras): `model/output/Model Trials/Model_0_(16-50).keras`

### Track Results

- [Track Prediction Map](https://github.com/saloniemi/asp-360-group-56/blob/main/model/mapping.py): `model/mapping.py`
- [Rendered Map](https://github.com/saloniemi/asp-360-group-56/tree/main/model/output/Model%20Trials): `model/output/Model Trials`

### Other components

- **Researcher**

## Connections

- Storm Records → Clean and Segment: reads (evidence: `data_processing/read_data.py`)
- Clean and Segment → Stripped Records: writes (evidence: `data_processing/read_data.py`)
- Clean and Segment → Segmented Sequences: writes (evidence: `data_processing/read_data.py`)
- Segmented Sequences → Normalize and Split: loads (evidence: `model/format_data.py`)
- Model Training → Normalize and Split: uses (evidence: `model/model_keras.py`)
- Model Training → Saved Keras Model: saves (evidence: `model/model_keras.py`)
- Researcher → Track Prediction Map: runs
- Track Prediction Map → Segmented Sequences: reads (evidence: `model/mapping.py`)
- Track Prediction Map → Normalize and Split: uses (evidence: `model/mapping.py`)
- Track Prediction Map → Saved Keras Model: loads (evidence: `model/mapping.py`)
- Track Prediction Map → Rendered Map: saves (evidence: `model/mapping.py`)
