CW Environment alpha72 · Prüfprotokoll · 10.09.2026
================================================

Grundlage
Vollständiges Modulpaket alpha71 mit Jahresarchiv und Full-Sync.
Glättungsdateien aus dem parallel entstandenen alpha70-Stand zusammengeführt.
Bestehende Moduldateien wurden anhand ihrer SHA-256-Prüfsummen abgeglichen.

Offline-NetCDF-Integration: 14 Tests erfolgreich
- 92 Quellvariablen gegen die offiziellen API-Formulare abgeglichen.
- Alle 15 Profile mit echten, lokal erzeugten NetCDF-Testdateien aufbereitet.
- Variablennamen, Einheiten und aktuelles CAMS-Format netcdf_zip geprüft.
- Monatssumme Niederschlag, Februar im Schaltjahr, Kelvin/Celsius geprüft.
- Jahresmittel nach Kalendertagen gewichtet; Niederschlag korrekt summiert.
- Unvollständige Summen nicht als vollständige Jahressummen ausgegeben.
- CAMS-Stundenmittel, tatsächliche Stichprobenzahlen, zeitliche Minima/Maxima.
- Monatsprodukte erzeugen keine falschen zeitlichen Extremwerte.
- Vertauschte Dimensionsreihenfolge, Koordinatenrichtung, Packing/Scale getestet.
- Abweichender Zeitraum, fehlende Stunde, falsche Einheit, falsches Raster und
  falsches Abrufgebiet werden zurückgewiesen.
- Geteilte NetCDF-ZIP-Dateien werden unter generierten Dateinamen gelesen.
- Windvektor und ausdrücklich geschätzte relative Feuchte geprüft.
- Quell-Prüfsummen bleiben bei Ableitungen unverändert.
- Fehlende neuere CAMS-Stoffe werden anhand der Constraints erkannt.
- Queue über Prozessneustarts fortgesetzt: genau ein Submit und ein Download.
- Fehlende Kartendatei lokal neu aufgebaut, ohne neuen Submit.
- Verlorene Submit-Antwort erzeugt keinen automatischen Doppelauftrag.
- Abgelaufene Downloadadresse wird für dieselbe Job-ID erneuert.

Wiederholbar nach Installation der Python-Abhängigkeiten:
python3 modules/environment/tools/tests/test_topics.py

PHP
- Syntax aller geänderten/neuen PHP-Dateien unter PHP 8.3 geprüft.
- PHP-8.3-Laufzeitvertrag über PHP.wasm erfolgreich ausgeführt:
  tatsächliche 76 Themenjahre trotz veraltetem 75-Jahre-Manifest;
  fehlendes Niederschlagsjahr fordert Build statt Download;
  CDS-/ADS-Zugänge bleiben getrennt;
  CSRF-Fehlprüfung wird zurückgewiesen;
  15 Profile rendern ohne gespeicherte Token im HTML;
  Modul-Asset-URLs werden korrekt versioniert.
- PHP -> Python Prozessstart und Vorprüfung erfolgreich:
  netCDF4 1.7.4, NumPy 2.5.3 in der Testumgebung.

JavaScript
- Syntax der betroffenen JavaScript-Dateien geprüft.
- Backend-Interaktion mit gerendertem PHP-HTML und jsdom geprüft:
  Vorschau/Start übermitteln alle ausgewählten Profile;
  Fortschritt, Pause und Fortsetzen funktionieren;
  alte Timer werden entfernt, Abschluss gibt die neue Auswahl frei.
- Glättungsdateien entsprechen dem zuvor geprüften alpha70-Stand;
  der Raster-Helper wird vor dem Kartencontroller eingebunden.

Grenzen dieser Prüfung
- Keine Verwendung des Benutzerkontos für neue CDS-/ADS-Aufträge.
- Keine Live-Abnahme von alpha72 auf teitges.de.
- Die Test-NetCDFs enthalten synthetische Werte mit bekannten Ergebnissen;
  sie sind nicht als Forschungsdaten Teil der Anwendung.
- Echte NetCDF-Varianten mit bislang unbekannten Variablennamen/Einheiten werden
  mit einer Fehlermeldung angehalten und nicht anhand von Zahlenwerten erraten.
- Die 76/75-Ursache auf dem Server ist ohne dessen Datenbestand nicht festgestellt;
  beide relevanten Fälle (alter Index / fehlende Ableitung) sind abgedeckt.
- Windows-Dateisperren sind implementiert, aber hier nicht auf Windows ausgeführt.
- Visuelle Browserabnahme und öffentliche Kartenkonfigurator-/PDF-Erweiterung
  waren nicht Gegenstand dieses Downloader-Updates.
