# rosyan67/aleph architecture

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

- Interactive diagram: https://gitdiagram.com/rosyan67/aleph
- Repository: https://github.com/rosyan67/aleph
- Video tour (about a minute): https://gitdiagram.com/rosyan67/aleph/video

## Overview

ALEPH ist eine globale Multi-Domain-Datenplattform; der erkennbare erste Baustein ist Earth Pulse für die Erkennung außergewöhnlicher Entwicklungen. Der Hauptpfad führt von externen Satelliten- und Wirtschaftsdaten über Layer und persistierte Würfel oder Tabellen zur Anomalieanalyse. Das README nennt außerdem die Verknüpfung über Theorien sowie Evidenz und Unsicherheit. Diese Fähigkeiten sind im Baum durch Layer- und Theorie-Konfigurationen vertreten, aber ihre Laufzeitverdrahtung ist in den vorliegenden Auszügen nicht belegt.

Main entry points: [`aleph/layers/vnp46a3.py`](https://github.com/rosyan67/aleph/blob/main/aleph/layers/vnp46a3.py) (VNP46A3 Nachtlicht), [`aleph/detect/anomalie.py`](https://github.com/rosyan67/aleph/blob/main/aleph/detect/anomalie.py) (Anomalieerkennung), [`aleph/core/io.py`](https://github.com/rosyan67/aleph/blob/main/aleph/core/io.py) (Speicherzugriff), [`aleph/layers/weltbank.py`](https://github.com/rosyan67/aleph/blob/main/aleph/layers/weltbank.py) (Weltbankindikatoren)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_sources["Datenquellen und Layer"]
  node_vnp["VNP46A3 Nachtlicht<br/>[vnp46a3.py]"]
  node_gpm["GPM IMERG Klima<br/>[gpm_imerg.py]"]
  node_weltbank["Weltbankindikatoren<br/>[weltbank.py]"]
  node_modis_docs["MOD13C2 Quelle<br/>[mod13c2.md]"]
  node_acled_docs["ACLED Quelle<br/>[acled.md]"]
end

subgraph group_storage["Laden und Speicherung"]
  node_auth["Earthdata-Login<br/>[auth.py]"]
  node_io["Speicherzugriff<br/>[io.py]"]
  node_cube[("Persistierte Würfel")]
  node_table[("Wirtschaftstabelle")]
end

subgraph group_analysis["Analyse und Erkenntnisse"]
  node_cube_reader["Fertige Monate lesen<br/>[wuerfel.py]"]
  node_anomaly["Anomalieerkennung<br/>[anomalie.py]"]
  node_stats["Statistische Verfahren<br/>[statistik.py]"]
  node_synthetic["Synthetische Würfel<br/>[synthetisch.py]"]
  node_theories["Theorienregister"]
  node_findings["Befunde und Unsicherheit"]
end

subgraph group_operations["Laufbetrieb"]
  node_runner["Monatslauf<br/>[vnp46a3_lauf.py]"]
  node_status["Laufstatus<br/>[vnp46a3_status.py]"]
end

node_nasa(("NASA Earthdata"))
node_worldbank_api(("Weltbank API"))
node_analyst(("Analyst"))

node_runner -->|"ruft Laden auf"| node_vnp
node_vnp -->|"lädt Kacheln"| node_nasa
node_vnp -->|"authentifiziert"| node_auth
node_vnp -->|"liest und schreibt"| node_io
node_runner -->|"prüft Speicher"| node_io
node_vnp -->|"schreibt Monatsdaten"| node_cube
node_weltbank -->|"ruft Daten ab"| node_worldbank_api
node_weltbank -->|"nutzt Speicherpfade"| node_io
node_weltbank -->|"schreibt Tabelle"| node_table
node_gpm -.->|"bezieht Satellitendaten"| node_nasa
node_gpm -.->|"nutzt Speicherpfade"| node_io
node_cube_reader -->|"liest fertige Monate"| node_cube
node_anomaly -->|"liest Zeiträume"| node_cube_reader
node_anomaly -->|"berechnet Signifikanz"| node_stats
node_anomaly -->|"liefert Bewertungen"| node_findings
node_synthetic -.->|"erzeugt Testeingaben"| node_anomaly
node_analyst -->|"startet Lauf"| node_runner
node_analyst -->|"fragt Status ab"| node_status
node_analyst -->|"prüft Befunde"| node_findings
node_theories -.->|"ordnet fachlich ein"| node_findings

click node_vnp "https://github.com/rosyan67/aleph/blob/main/aleph/layers/vnp46a3.py"
click node_gpm "https://github.com/rosyan67/aleph/blob/main/aleph/layers/gpm_imerg.py"
click node_weltbank "https://github.com/rosyan67/aleph/blob/main/aleph/layers/weltbank.py"
click node_modis_docs "https://github.com/rosyan67/aleph/blob/main/docs/sources/mod13c2.md"
click node_acled_docs "https://github.com/rosyan67/aleph/blob/main/docs/sources/acled.md"
click node_auth "https://github.com/rosyan67/aleph/blob/main/aleph/core/auth.py"
click node_io "https://github.com/rosyan67/aleph/blob/main/aleph/core/io.py"
click node_runner "https://github.com/rosyan67/aleph/blob/main/aleph/layers/vnp46a3_lauf.py"
click node_status "https://github.com/rosyan67/aleph/blob/main/aleph/layers/vnp46a3_status.py"
click node_cube_reader "https://github.com/rosyan67/aleph/blob/main/aleph/detect/wuerfel.py"
click node_anomaly "https://github.com/rosyan67/aleph/blob/main/aleph/detect/anomalie.py"
click node_stats "https://github.com/rosyan67/aleph/blob/main/aleph/detect/statistik.py"
click node_synthetic "https://github.com/rosyan67/aleph/blob/main/aleph/detect/synthetisch.py"
click node_theories "https://github.com/rosyan67/aleph/tree/main/theories"

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_vnp,node_gpm,node_weltbank,node_modis_docs,node_acled_docs toneBlue
class node_auth,node_io,node_cube,node_table toneAmber
class node_cube_reader,node_anomaly,node_stats,node_synthetic,node_theories,node_findings,node_worldbank_api toneMint
class node_runner,node_status toneRose
class node_nasa,node_analyst toneIndigo
```

## Components

### Datenquellen und Layer

- [VNP46A3 Nachtlicht](https://github.com/rosyan67/aleph/blob/main/aleph/layers/vnp46a3.py): `aleph/layers/vnp46a3.py`
- [GPM IMERG Klima](https://github.com/rosyan67/aleph/blob/main/aleph/layers/gpm_imerg.py): `aleph/layers/gpm_imerg.py`
- [Weltbankindikatoren](https://github.com/rosyan67/aleph/blob/main/aleph/layers/weltbank.py): `aleph/layers/weltbank.py`
- [MOD13C2 Quelle](https://github.com/rosyan67/aleph/blob/main/docs/sources/mod13c2.md): `docs/sources/mod13c2.md`
- [ACLED Quelle](https://github.com/rosyan67/aleph/blob/main/docs/sources/acled.md): `docs/sources/acled.md`

### Laden und Speicherung

- [Earthdata-Login](https://github.com/rosyan67/aleph/blob/main/aleph/core/auth.py): `aleph/core/auth.py`
- [Speicherzugriff](https://github.com/rosyan67/aleph/blob/main/aleph/core/io.py): `aleph/core/io.py`
- **Persistierte Würfel**
- **Wirtschaftstabelle**

### Analyse und Erkenntnisse

- [Fertige Monate lesen](https://github.com/rosyan67/aleph/blob/main/aleph/detect/wuerfel.py): `aleph/detect/wuerfel.py`
- [Anomalieerkennung](https://github.com/rosyan67/aleph/blob/main/aleph/detect/anomalie.py): `aleph/detect/anomalie.py`
- [Statistische Verfahren](https://github.com/rosyan67/aleph/blob/main/aleph/detect/statistik.py): `aleph/detect/statistik.py`
- [Synthetische Würfel](https://github.com/rosyan67/aleph/blob/main/aleph/detect/synthetisch.py): `aleph/detect/synthetisch.py`
- [Theorienregister](https://github.com/rosyan67/aleph/tree/main/theories): `theories`
- **Befunde und Unsicherheit**

### Laufbetrieb

- [Monatslauf](https://github.com/rosyan67/aleph/blob/main/aleph/layers/vnp46a3_lauf.py): `aleph/layers/vnp46a3_lauf.py`
- [Laufstatus](https://github.com/rosyan67/aleph/blob/main/aleph/layers/vnp46a3_status.py): `aleph/layers/vnp46a3_status.py`

### Other components

- **NASA Earthdata**
- **Weltbank API**
- **Analyst**

## Connections

- Monatslauf → VNP46A3 Nachtlicht: ruft Laden auf
- VNP46A3 Nachtlicht → NASA Earthdata: lädt Kacheln
- VNP46A3 Nachtlicht → Earthdata-Login: authentifiziert
- VNP46A3 Nachtlicht → Speicherzugriff: liest und schreibt
- Monatslauf → Speicherzugriff: prüft Speicher
- VNP46A3 Nachtlicht → Persistierte Würfel: schreibt Monatsdaten
- Weltbankindikatoren → Weltbank API: ruft Daten ab
- Weltbankindikatoren → Speicherzugriff: nutzt Speicherpfade
- Weltbankindikatoren → Wirtschaftstabelle: schreibt Tabelle
- GPM IMERG Klima → NASA Earthdata: bezieht Satellitendaten
- GPM IMERG Klima → Speicherzugriff: nutzt Speicherpfade
- Fertige Monate lesen → Persistierte Würfel: liest fertige Monate
- Anomalieerkennung → Fertige Monate lesen: liest Zeiträume
- Anomalieerkennung → Statistische Verfahren: berechnet Signifikanz
- Anomalieerkennung → Befunde und Unsicherheit: liefert Bewertungen
- Synthetische Würfel → Anomalieerkennung: erzeugt Testeingaben
- Analyst → Monatslauf: startet Lauf
- Analyst → Laufstatus: fragt Status ab
- Analyst → Befunde und Unsicherheit: prüft Befunde
- Theorienregister → Befunde und Unsicherheit: ordnet fachlich ein
