# manh20060961815271-arch/matrix-neural architecture

> Architecture diagram of the GitHub repository manh20060961815271-arch/matrix-neural, 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/manh20060961815271-arch/matrix-neural
- Repository: https://github.com/manh20060961815271-arch/matrix-neural

## Overview

This repository implements a cyclone-track forecasting workflow: it loads IBTrACS storm tracks, prepares relative-coordinate windows, trains a neural network to predict a point four steps ahead, then evaluates and plots predictions in absolute coordinates. The README provides no detail beyond the project name; the workflow and links below are based on the sampled source, so unsampled output-writing details are omitted.

Main entry points: [`Training.py`](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Training.py) (Train and scale), [`Testing.py`](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Testing.py) (Inference), [`MNN_Main.py`](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py) (Storm data split), [`Data_Processing.py`](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Data_Processing.py) (Window and target builder)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Track preparation"]
  node_tracks["IBTrACS tracks<br/>[ibtracs-tbd.csv]"]
  node_load["Load and normalize<br/>[MNN_Main.py]"]
  node_split["Storm data split<br/>[MNN_Main.py]"]
  node_windows["Window and target builder<br/>[Data_Processing.py]"]
end

subgraph group_model["Model training"]
  node_train["Train and scale<br/>[Training.py]"]
  node_layer["Neural network layer<br/>[Add_Layer.py]"]
  node_checkpoint[("Model checkpoint")]
end

subgraph group_evaluation["Forecast evaluation"]
  node_test["Inference<br/>[Testing.py]"]
  node_restore["Absolute coordinates<br/>[MNN_Main.py]"]
  node_metrics["Error analysis<br/>[MNN_Main.py]"]
  node_plots["Forecast plots<br/>[MNN_Main.py]"]
end

node_user(("Workflow runner"))

node_user -->|"runs workflow"| node_load
node_tracks -->|"reads tracks"| node_load
node_load -->|"normalizes tracks"| node_split
node_split -->|"training and validation data"| node_train
node_split -->|"test data"| node_test
node_train -->|"builds windows"| node_windows
node_test -->|"builds windows"| node_windows
node_train -->|"constructs layers"| node_layer
node_test -->|"constructs layers"| node_layer
node_train -->|"saves best model"| node_checkpoint
node_train -->|"returns scalers"| node_split
node_test -->|"restores model"| node_checkpoint
node_test -->|"returns predictions"| node_restore
node_restore -->|"computes errors"| node_metrics
node_restore -->|"prepares trajectories"| node_plots

click node_tracks "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/ibtracs-tbd.csv"
click node_load "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py"
click node_split "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py"
click node_windows "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Data_Processing.py"
click node_train "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Training.py"
click node_layer "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Add_Layer.py"
click node_test "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Testing.py"
click node_restore "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py"
click node_metrics "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py"
click node_plots "https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.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_tracks,node_load,node_split,node_windows toneBlue
class node_train,node_layer,node_checkpoint toneAmber
class node_test,node_restore,node_metrics,node_plots toneMint
class node_user toneIndigo
```

## Components

### Track preparation

- [IBTrACS tracks](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/ibtracs-tbd.csv): `ibtracs-tbd.csv`
- [Load and normalize](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py): `MNN_Main.py`
- [Storm data split](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py): `MNN_Main.py`
- [Window and target builder](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Data_Processing.py): `Data_Processing.py`

### Model training

- [Train and scale](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Training.py): `Training.py`
- [Neural network layer](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Add_Layer.py): `Add_Layer.py`
- **Model checkpoint**

### Forecast evaluation

- [Inference](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/Testing.py): `Testing.py`
- [Absolute coordinates](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py): `MNN_Main.py`
- [Error analysis](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py): `MNN_Main.py`
- [Forecast plots](https://github.com/manh20060961815271-arch/matrix-neural/blob/main/MNN_Main.py): `MNN_Main.py`

### Other components

- **Workflow runner**

## Connections

- Workflow runner → Load and normalize: runs workflow
- IBTrACS tracks → Load and normalize: reads tracks
- Load and normalize → Storm data split: normalizes tracks
- Storm data split → Train and scale: training and validation data
- Storm data split → Inference: test data
- Train and scale → Window and target builder: builds windows
- Inference → Window and target builder: builds windows
- Train and scale → Neural network layer: constructs layers
- Inference → Neural network layer: constructs layers
- Train and scale → Model checkpoint: saves best model
- Train and scale → Storm data split: returns scalers
- Inference → Model checkpoint: restores model
- Inference → Absolute coordinates: returns predictions
- Absolute coordinates → Error analysis: computes errors
- Absolute coordinates → Forecast plots: prepares trajectories
