MIKE 1D aus anderen Programmen heraus aufrufen

⯇ Zurück zu Simulation mit MIKE 1D über die Kommandozeile starten

Einleitung

Auf der vorigen Seite wird gezeigt wie man den Simulationslauf mit MIKE 1D von der Befehlszeile aus startet, mit verschiedenen zusätzlichen Parametern.

Dieser Aufruf lässt sich auch in andere Programme verpacken.

MIKE 1D mit einer Batchdatei aufrufen

Möchte man MIKE-1D mit einer Batchdatei aufrufen, muss man START mit dem Parameter /WAIT verwenden, um zu verhindern, dass der nächstfolgende Job zu früh begonnen wird:

REM JOB A START /WAIT c:\"Program Files (x86)"\DHI17\bin\x64\DHI.Mike1D.Application.exe s04Basis.m1dx START /WAIT c:\"Program Files (x86)"\DHI17\bin\x64\DHI.Mike1D.Application.exe s05Basis.m1dx PAUSE

Die s04Basis.m1dx und die s05Basis.m1dx müssen lauffähig vorliegen, das heißt mit der passenden *.xns11 und den erforderlichen Randbedingungen.

Lesen Sie mehr zu START.

MIKE 1D mit Python aufrufen

import subprocess # Pfad zur "DHI.Mike1D.Application.exe" mike1d = 'c:\"Program Files (x86)"\DHI\2017\bin\x64\DHI.Mike1D.Application.exe' # # erster Aufruf returned_value = subprocess.call(mike1d + ' s04Basis.m1dx', shell=True) print returned_value # # zweiter Aufruf returned_value = subprocess.call(mike1d + ' s05Basis.m1dx', shell=True) print returned_value

Die s04Basis.m1dx und die s05Basis.m1dx müssen lauffähig vorliegen, das heißt mit der passenden *.xns11 und den erforderlichen Randbedingungen.

returned_value übernimmt den Wert, den subprocess.call() von Windows zurückerhält. 0 bedeutet, dass kein Fehler aufgetreten ist, 1 bedeutet, dass ein Fehler aufgetreten ist, beispielsweise weil die angegebene *.m1dx gar nicht existiert. So lässt sich der Ablauf überwachen. Einen Fehler in der eigentlichen Simulation sieht man so nicht, das erkennt man erst anhand der produzierten Dateien.

Weiterführende Links

An A-Z Index of the Windows CMD command line

Batch-Programmierung: Batch-Befehle

Python System Command – os.system(), subprocess.call()

Running windows shell commands with python