Reading Time: 6 minutes

Reproduzierbarkeit in der Chemie- und Materialsimulation ist nicht nur eine Frage des Speicherns eines Skripts, dem Hochladen eines Datensatzes oder der Aufbewahrung eines Ordners mit Eingabedateien. Ein Workflow ist reproduzierbar, wenn ein anderer Forscher verstehen kann, wie aus einer wissenschaftlichen Frage ein Modell wurde, wie dieses Modell zu einem ausführbaren Lauf wurde, wie der Lauf die Ergebnisse produziert und wie diese Ergebnisse zu einem gemeldeten Ergebnis wurden.

Diese Kette ist leicht zu brechen. Eine geänderte Abhängigkeit, eine undokumentierte Solver-Einstellung, eine umbenannte Ausgabedatei oder eine aus einer manuell bearbeiteten Tabelle generierte Figur kann eine ansonsten wertvolle Simulation später erschweren. Das Problem ist nicht immer schlechte Wissenschaft. Oft fehlt es dem Kontext.

Für Computer-Chemie- und Materialforschungsteams muss die Dokumentation mehr als die endgültige Antwort behalten. Es muss den Argumentations-, Konfigurations-, Ausführungs- und Interpretationspfad beibehalten, die die Antwort ermöglicht haben.

Was ein reproduzierbarer Simulationsworkflow tatsächlich bedeutet

Ein reproduzierbarer Simulationsworkflow ist der dokumentierte Weg von der wissenschaftlichen Absicht bis zum interpretierbaren Ergebnis. Es enthält das Modell, die Eingaben, den Softwarestatus, die Ausführungsumgebung, die generierten Daten, die Nachbearbeitungsschritte und die Argumentation, die zum Verbinden von Ausgängen mit einem Anspruch verwendet wird.

In einem Chemie- oder Materialkontext kann dies molekulare Strukturen, Phasenfeldmodelle, Reaktionsannahmen, interatomare Potentiale, Randbedingungen, Netzauswahl, Konvergenzkriterien, thermodynamische Parameter oder numerische Solver-Einstellungen umfassen. In der Praxis variieren die genauen Elemente je nach Methode. Das Prinzip nicht.

Ein reproduzierbarer Workflow sollte es einem zukünftigen Leser ermöglichen, vier Fragen zu beantworten:

  • Was versuchte die Simulation zu testen oder zu demonstrieren?
  • Welche Annahmen und Parameter haben das Ergebnis geprägt?
  • Welcher genaue Rechenzustand erzeugte die Ausgabe?
  • Wie wurden die Ergebnisse in die gemeldete Interpretation umgewandelt?

Ohne diese Antworten mag ein Ergebnis immer noch interessant sein, aber es ist schwieriger zu vertrauen, zu vergleichen, zu erweitern oder zu debuggen.

Die Claim-to-Run-Dokumentationskette

Der nützlichste Weg, um Simulationsarbeiten zu dokumentieren, besteht darin, mit dem Anspruch zu beginnen, der der Workflow unterstützt, und rückwärts zu dem ausgeführten Lauf zurückzuverfolgen. Dadurch wird ein häufiger Dokumentationsfehler vermieden: technische Fragmente erhalten, ohne zu zeigen, wie sie sich verbinden.

Die Claim-to-run-Kette hat fünf Schichten.

1. Die Anspruchsschicht

Diese Ebene zeichnet die Schlussfolgerung, Abbildung, Trend, Vergleich oder Eigenschaft auf, die der Workflow unterstützen soll. Es sollte angeben, was das Simulationsergebnis verwendet, um zu argumentieren, und nicht nur, welche Datei generiert wurde.

Ein Workflow könnte beispielsweise einen Anspruch auf Diffusionsverhalten, Phasenstabilität, Defektbildungsenergie, Lösungsmitteleffekte, Morphologieentwicklung oder die relative Leistung zweier Modellkonfigurationen unterstützen. Die Dokumentation sollte diesen Zweck sichtbar machen.

2. Die Modellschicht

Diese Schicht erklärt die wissenschaftliche und mathematische Darstellung hinter dem Lauf. Es enthält Annahmen, Gleichungen, Approximationen, Modellgrenzen, ausgewählte Parameter und bekannte Vereinfachungen.

Das Ziel ist nicht, ein Lehrbuch in jeden Projektordner zu schreiben. Das Ziel ist es, genügend Kontext zu lassen, damit ein anderes Teammitglied sehen kann, warum dieses Modell ausgewählt wurde und wo seine Grenzen beginnen.

3. Die Ausführungsschicht

Diese Ebene erfasst den Rechenzustand des Laufs: Softwareversionen, Commits, Abhängigkeiten, Umgebungsdateien, Jobkonfiguration, Hardwarekontext, zufällige Seeds und Laufzeitprotokolle.

Ausführungsdetails werden oft als administrative Lärm behandelt, bis sich etwas ändert. Dann werden sie der einzige Weg, um zu erklären, warum sich eine Wiederholung vom Original unterscheidet.

4. Die Datenschicht

Diese Ebene bewahrt Rohausgaben, abgeleitete Ausgaben, Metadaten, Namenskonventionen, Einheiten, Transformationen und Dateibeziehungen. Es sollte klar sein, welche Dateien direkte Simulationsprodukte sind und welche durch Analyse oder Filterung erstellt wurden.

5. Die Interpretationsschicht

Diese Schicht verbindet die Ausgänge mit der endgültigen wissenschaftlichen Interpretation. Es enthält Analyseskripte, Plot-Code, ausgeschlossene Läufe, fehlgeschlagene Läufe, manuelle Entscheidungen, Ausgabenhinweise und Schritte zur Abbildungsgenerierung.

Hier verlieren viele Workflows die Reproduzierbarkeit. Die Simulation kann erneut ausgegeben werden, aber die angegebene Zahl oder Schlussfolgerung ist möglicherweise nicht nachverfolgbar.

Was ist vor dem Lauf zu dokumentieren?

Die Vorlaufdokumentation sollte erklären, warum die Simulation existiert und welche Bedingungen ein aussagekräftiges Ergebnis definieren. Dies ist besonders wichtig, wenn ein Workflow nach einem Papierentwurf, einer Codeänderung, einem Peer-Review-Kommentar oder einer Teamübergabe überarbeitet wird.

Zumindest sollten die Teams die Forschungsfrage, das Chemie- oder Materialsystem, den Modellierungsansatz, die getroffenen Annahmen und die Kriterien dokumentieren, mit denen beurteilt wird, ob der Lauf erfolgreich war.

Für die Chemie- und Materialforschung bedeutet dies oft:

  • Systemzusammensetzung, Struktur, Geometrie oder Phasenbeschreibung;
  • Modellannahmen und bekannte Vereinfachungen;
  • Anfangs- und Randbedingungen;
  • Einheiten und Parameterquellen;
  • Solver-, Diskretisierungs-, Mesh- oder Konvergenzeinstellungen;
  • Akzeptanzkriterien für ein stabiles oder nutzbares Ergebnis;
  • erwartete Ergebnisse und wie sie interpretiert werden.

Diese Informationen müssen nicht lang sein. Eine prägnante Readme, strukturierte Runnote oder Projektvorlage kann ausreichen, wenn sie die ansonsten leicht zu vergessenden Entscheidungen erfasst.

Was während der Ausführung erfasst werden

Die Laufzeitdokumentation ist der Teil der Reproduzierbarkeit, der sich oft als Routine anfühlt, bis sie fehlt. Eine Simulation kann eine gültig aussehende Ausgabe erzeugen, während Warnungen, Abhängigkeitsänderungen, Scheduler-Unterbrechungen, geänderte Eingabepfade oder stilles Fallback-Verhalten ausblenden.

Der Ausführungsdatensatz sollte den genauen Softwarezustand enthalten, der für den Lauf verwendet wird. Das bedeutet Versionsnummern, Repository-Commits, Abhängigkeitsdateien, Konfigurationsdateien, Befehlszeilenargumente und Umgebungsdetails. Bei HPC oder gemeinsam genutzten Systemen können Scheduler-Einstellungen und Ressourcenzuweisung ebenfalls von Bedeutung sein.

Wenn unerwartete Ergebnisse angezeigt werden, werden diese Datensätze Teil des Diagnoseprozesses. Teams, die Reproduzierbarkeit als praktische Debugging-Hilfe behandeln, sind in der Regel besser positioniert, um festzustellen, ob eine Änderung aus dem Modell, den Daten, der Software oder der Ausführungsumgebung stammt.

Protokolle sollten nicht zu schnell entsorgt werden. Warnungen, Konvergenzmeldungen, Solver-Diagnose, Laufzeitfehler und Neustartverhalten können erklären, warum ein Ergebnis vertrauenswürdig, wiederholt oder ausgeschlossen werden sollte.

Was ist nach dem Lauf zu bewahren?

Die Dokumentation nach dem Lauf sollte den Ausgabepfad sichtbar machen. Ein reproduzierbarer Workflow endet nicht, wenn die Simulation beendet ist. Es endet, wenn das Team zeigen kann, wie aus Rohdaten abgeleitete Daten, Abbildungen, Tabellen oder Ansprüche wurden.

Bewahren Sie die Rohausgaben getrennt von den verarbeiteten Ausgaben auf. Halten Sie Analyseskripts nahe an den Daten, die sie transformieren. Daten aufzeichnen, Filter, Glättungsauswahl, Schwellenwerte und ausgeschlossene Fälle. Wenn eine Figur in einem Bericht oder Manuskript angezeigt wird, sollte der Workflow anzeigen, welcher Lauf, welches Skript und das Dataset es erzeugt haben.

Fehlgeschlagene Läufe verdienen auch einen Rekord. Eine fehlgeschlagene Simulation kann erklären, warum sich Parameter geändert haben, warum ein Modell eingeengt wurde oder warum ein Ergebnis später erneut ausgeführt wurde. Wenn Anomalien oder Wiederholungen die Interpretation beeinflussen, hilft es, die Verbindung zwischen der Ausgabe und der darauf folgenden Teamentscheidung zu erhalten, einschließlich Anschluss von Simulationsergebnissen zur Themengeschichte dahinter .

Nützlicher Test: Wenn eine Figur aus dokumentierten Eingaben, Skripten und Ausgaben nicht regeneriert werden kann, wird der Workflow auch dann nicht vollständig dokumentiert, wenn das endgültige Bild gespeichert wird.

eine praktische Dokumentationskarte

Workflow-Stufe Was zu dokumentieren Warum es wichtig ist Minimum akzeptable Aufzeichnung
Wissenschaftlicher Rahmen Frage, Anspruch, System, erwartete Ausgabe Zeigt an, warum die Simulation ausgeführt wurde Kurze Projektnotiz oder Readme-Abschnitt
Modell-Setup Annahmen, Gleichungen, Parameter, Randbedingungen macht die wissenschaftliche Basis inspikant Modellhinweis mit Einheiten und Parameterquellen
Die Ausführung Softwareversion, Commit, Abhängigkeiten, Umgebung, Befehl, Protokolle Ermöglicht Wiederholungen und Debuggen Umgebungsdatei, Befehl ausführen, gespeicherte Protokolle
Ausgaben RAW-Dateien, abgeleitete Dateien, Metadaten, Namenskonventionen Verhindert Verwechslungen zwischen Original- und verarbeiteten Daten Ausgabemanifest mit Dateibeschreibungen
Analyse Skripte, Filter, Transformationen, Plotschritte Verbindet Daten mit Zahlen und Schlussfolgerungen Analyseskript plus Abbildungskarte
Ausnahmen Fehlgeschlagene Läufe, Ausschlüsse, Warnungen, manuelle Korrekturen erklärt Abweichungen und verhindert falsche Sicherheit Ausgabe-Hinweis oder Abweichungsprotokoll

Workflow-Manager, Notebooks, Skripte und HPC-Jobs benötigen unterschiedliche Datensätze

Nicht jedes Forschungsteam benötigt das gleiche Dokumentationssystem. Ein kleines exploratives Notebook, ein Skript-Parameter-Sweep, ein Container-Workflow und eine mehrstufige HPC-Pipeline weisen unterschiedliche Reproduzierbarkeitsrisiken auf.

Bei Notebooks ist das Hauptrisiko versteckter Zustand. Zellen können ungeordnet ausgeführt werden, Zwischenvariablen können im Speicher bleiben, und die Zahlen können von manuellen Schritten abhängen. Die Dokumentation sollte die Ausführungsreihenfolge, Eingabedaten, Paketversionen und das endgültige Skript oder den endgültigen Status des Notebooks für die gemeldeten Ergebnisse verdeutlichen.

Bei Ad-hoc-Skripten besteht das Risiko aus verstreutem Kontext. Ein Befehl kann von lokalen Pfaden, undokumentierten Standardeinstellungen oder Dateien außerhalb der Versionskontrolle abhängen. Teams sollten Befehlsbeispiele, Konfigurationsdateien, erwartete Verzeichnisstruktur und Ausgabeorte erfassen.

Für Workflow-Manager besteht das Risiko darin, dass Automatisierung gleich Verständnis ist. Automatisierte Provenienz ist wertvoll, aber menschenlesbare Dokumentationen sind immer noch erforderlich, um zu erklären, warum ein Workflow auf eine bestimmte Weise konfiguriert wurde.

Bei HPC-Läufen besteht das Risiko der Umweltdrift. Warteschlangeneinstellungen, Module, Knotentypen, Parallelisierungsoptionen, temporäre Speicherung und Neustartverhalten können beeinflussen, ob ein Lauf auf einem anderen System wirklich reproduzierbar ist.

Häufige Schwachstellen, die die Reproduzierbarkeit brechen

Die meisten Reproduzierbarkeitsfehler sind nicht dramatisch. Es sind kleine Lücken, die sich im Laufe der Zeit zusammenschließen.

  • Fehlende Einheiten: Ein Parameterwert wird gespeichert, seine Einheit jedoch nicht.
  • Unklarer Parameterursprung: In einer Konfigurationsdatei wird kein Wert angezeigt, ohne zu erklären, ob er aus Literatur, Kalibrierung oder Bequemlichkeit stammt.
  • Änderte Abhängigkeiten: Ein Skript wird weiterhin ausgeführt, aber ein Bibliotheksupdate ändert das Verhalten.
  • Manuelle Dateibearbeitungen: Es wird ein korrigierter Datensatz verwendet, aber die Korrektur wird nicht dokumentiert.
  • Freigaben: Ein Plot ist erhalten, aber die Daten und das Skript, das sie erstellt haben, sind unklar.
  • Invisible Failed Runs: Es bleiben nur erfolgreiche Ausgaben erhalten, die den Pfad ausblenden, der zu endgültigen Parameterauswahlen geführt hat.
  • Solver-Einstellungen ohne Dokumente: Ein Ergebnis hängt von Toleranzen, Netzauflösungen oder Konvergenzkriterien ab, die nicht aufgezeichnet werden.

Diese Schwachstellen sind wichtig, weil sie spätere Interpretationen zerbrechlich machen. Ein zukünftiger Forscher kann den Workflow erneut ausführen und eine andere Antwort erhalten, ohne zu wissen, ob der Unterschied wissenschaftlich, numerisch, umweltbedingt oder prozedural ist.

Mindestdokumentation für Forschungsteams

Ein Team benötigt keine perfekte Infrastruktur, bevor es reproduzierbar dokumentiert werden kann. Ein minimaler tragfähiger Rekord reicht oft aus, um die schlimmsten Kontextverluste zu verhindern.

Für viele Chemie- und Materialsimulationsprojekte ist die folgende Struktur ein realistischer Ausgangspunkt:

  • eine Readme, die die wissenschaftliche Frage und das Arbeitsablauflayout erklärt;
  • eine Modellnotiz, die Annahmen, Parameter, Einheiten und Akzeptanzkriterien auflistet;
  • eine Umgebungsdatei oder ein Abhängigkeitsdatensatz;
  • ein Verzeichnis von versionierten Eingabedateien;
  • ein gespeicherter Laufbefehl oder eine Workflow-Konfiguration;
  • Laufzeitprotokolle und Warnungen;
  • ein Ausgabemanifest, das rohe und verarbeitete Dateien unterscheidet;
  • Analyseskripte zur Generierung von Tabellen und Abbildungen;
  • eine Abbildungskarte, die gemeldete Visuals mit Daten und Skripten verbindet;
  • Ein kurzes Abweichungsprotokoll für fehlgeschlagene Läufe, Ausschlüsse und Wiederholungen.

Es geht nicht darum, Papierkram um seiner selbst willen zu erstellen. Es geht darum, den Workflow in dem Moment verständlich zu machen, in dem der Speicher nicht mehr zuverlässig ist.

Reproduzierbarkeit ist Teamgedächtnis

Simulations-Workflows überleben oft die Person, die sie zuerst gebaut hat. Ein Absolvent-Forscher geht, eine Abhängigkeit ändert sich, ein Gutachter bittet um Klärung, ein Mitarbeiter stellt eine Figur in Frage oder ein Team beschließt, ein altes Modell auf ein neues chemisches System auszudehnen.

In diesen Momenten wird die Dokumentation zum Teamgedächtnis. Es erklärt nicht nur, was ausgeführt wurde, sondern auch warum es so ausgeführt wurde, was sich auf dem Weg geändert hat und wie das Endergebnis interpretiert werden sollte.

Die stärksten reproduzierbaren Workflows archivieren nicht einfach Rechenartefakte. Sie bewahren die Beziehung zwischen dem wissenschaftlichen Anspruch, dem Modell, dem ausführbaren Zustand, den Daten und der Interpretation. Diese Beziehung ermöglicht es Chemie- und Materialforschungsteams, einem Ergebnis zu vertrauen, nachdem der ursprüngliche Kontext verblasst ist.