# manh20060961815271-arch/ma-tr-n-d-b-o architecture

> Architecture diagram of the GitHub repository manh20060961815271-arch/ma-tr-n-d-b-o, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-01). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/manh20060961815271-arch/ma-tr-n-d-b-o
- Repository: https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o

## Overview

This repository is a cyclone-track forecasting experiment: it reads IBTrACS storm records, trains a neural model to predict future coordinate displacement, evaluates predictions, and produces error summaries and track maps. The main script orchestrates the workflow; training and testing share window preparation and the custom layer implementation. The shown code supports a local checkpoint store. Other saved arrays in the tree are not connected to the shown workflow. Evidence is limited to the README and sampled source excerpts.

Main entry points: [`MNN_Main.py`](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/MNN_Main.py) (Workflow orchestration), [`Training.py`](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Training.py) (Model training), [`Testing.py`](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Testing.py) (Forecast testing), [`Data_Processing.py`](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Data_Processing.py) (Window preparation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Forecast workflow"]
  node_main["Workflow orchestration<br/>[MNN_Main.py]"]
  node_ingestion["Storm ingestion<br/>[MNN_Main.py]"]
  node_training["Model training<br/>[Training.py]"]
  node_testing["Forecast testing<br/>[Testing.py]"]
  node_evaluation["Error evaluation<br/>[MNN_Main.py]"]
  node_maps["Track map output<br/>[MNN_Main.py]"]
end

subgraph group_model["Model runtime"]
  node_preparation["Window preparation<br/>[Data_Processing.py]"]
  node_layer["M-neuron layer<br/>[Add_Layer.py]"]
end

subgraph group_data["Data and artifacts"]
  node_stormfile["IBTrACS input<br/>[ibtracs-tbd.csv]"]
  node_checkpoint[("Model checkpoint")]
  node_savedarrays["Saved prediction arrays<br/>[Y_pred_trueMNN.npy]"]
end

node_user(("Research user"))

node_user -->|"runs"| node_main
node_main -->|"loads storms"| node_ingestion
node_stormfile -->|"provides records"| node_ingestion
node_main -->|"trains model"| node_training
node_training -->|"prepares windows"| node_preparation
node_training -->|"builds layers"| node_layer
node_training -->|"saves best model"| node_checkpoint
node_main -->|"tests forecast"| node_testing
node_testing -->|"prepares windows"| node_preparation
node_testing -->|"builds layers"| node_layer
node_testing -->|"restores model"| node_checkpoint
node_main -->|"computes errors"| node_evaluation
node_main -->|"plots tracks"| node_maps

click node_main "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/MNN_Main.py"
click node_ingestion "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/MNN_Main.py"
click node_training "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Training.py"
click node_testing "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Testing.py"
click node_evaluation "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/MNN_Main.py"
click node_maps "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/MNN_Main.py"
click node_preparation "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Data_Processing.py"
click node_layer "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Add_Layer.py"
click node_stormfile "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/ibtracs-tbd.csv"
click node_savedarrays "https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Y_pred_trueMNN.npy"

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_main,node_ingestion,node_training,node_testing,node_evaluation,node_maps,node_user toneBlue
class node_preparation,node_layer toneAmber
class node_stormfile,node_checkpoint,node_savedarrays toneMint
```

## Components

### Forecast workflow

- [Workflow orchestration](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/MNN_Main.py): `MNN_Main.py`
- [Storm ingestion](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/MNN_Main.py): `MNN_Main.py`
- [Model training](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Training.py): `Training.py`
- [Forecast testing](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Testing.py): `Testing.py`
- [Error evaluation](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/MNN_Main.py): `MNN_Main.py`
- [Track map output](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/MNN_Main.py): `MNN_Main.py`

### Model runtime

- [Window preparation](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Data_Processing.py): `Data_Processing.py`
- [M-neuron layer](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Add_Layer.py): `Add_Layer.py`

### Data and artifacts

- [IBTrACS input](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/ibtracs-tbd.csv): `ibtracs-tbd.csv`
- **Model checkpoint**
- [Saved prediction arrays](https://github.com/manh20060961815271-arch/ma-tr-n-d-b-o/blob/main/Y_pred_trueMNN.npy): `Y_pred_trueMNN.npy`

### Other components

- **Research user**

## Connections

- Research user → Workflow orchestration: runs
- Workflow orchestration → Storm ingestion: loads storms (evidence: `MNN_Main.py`)
- IBTrACS input → Storm ingestion: provides records (evidence: `MNN_Main.py`)
- Workflow orchestration → Model training: trains model (evidence: `MNN_Main.py`)
- Model training → Window preparation: prepares windows (evidence: `Training.py`)
- Model training → M-neuron layer: builds layers (evidence: `Training.py`)
- Model training → Model checkpoint: saves best model (evidence: `Training.py`)
- Workflow orchestration → Forecast testing: tests forecast (evidence: `MNN_Main.py`)
- Forecast testing → Window preparation: prepares windows (evidence: `Testing.py`)
- Forecast testing → M-neuron layer: builds layers (evidence: `Testing.py`)
- Forecast testing → Model checkpoint: restores model (evidence: `Testing.py`)
- Workflow orchestration → Error evaluation: computes errors (evidence: `MNN_Main.py`)
- Workflow orchestration → Track map output: plots tracks (evidence: `MNN_Main.py`)
