====== MIKE 1D aus anderen Programmen heraus aufrufen ====== ⯇ Zurück zu [[mikeplus:anleitungen:simulation_mike1d_befehlszeile|MIKE+ Simulation über die Befehlszeile 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)"\DHI\2017\bin\x64\DHI.Mike1D.Application.exe s04Basis.m1dx START /WAIT c:\"Program Files (x86)"\DHI\2017\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 [[https://ss64.com/nt/start.html|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 ===== * [[https://ss64.com/nt/|An A-Z Index of the Windows CMD command line]] * [[https://de.wikibooks.org/wiki/Batch-Programmierung:_Batch-Befehle|Batch-Programmierung: Batch-Befehle]] * [[https://www.journaldev.com/16140/python-system-command-os-subprocess-call|Python System Command – os.system(), subprocess.call()]] * [[https://stackoverflow.com/questions/14894993/running-windows-shell-commands-with-python|Running windows shell commands with python]]