как связать код Python с моделью водораздела SWAT - PullRequest
2 голосов
/ 12 марта 2012

Я делаю снимок в темноте, чтобы кто-то мог направить меня с этим.Я только начал работать над этим, и информацию не так легко найти.У меня есть код Python, который имитирует изменения в землепользовании и может выводить растровые изображения arcgis.Модель водораздела SWAT использует эти изображения для расчета параметров землепользования, генерирующих величины стока.У меня есть исходный код для SWAT, он написан на фортране.Я в основном спрашиваю, как общаться с SWAT, используя мой код на PythonSWAT использует текстовые файлы для компиляции модели водораздела.Мне нужно перехватывать запись SWAT-файлов TXT-файлов с моими имитированными растрами землепользования ... снова и снова для каждого ежегодного изменения землепользования.Я не знаю, с чего начать, поэтому любые советы по процессу будут с благодарностью.Спасибо!

Ответы [ 2 ]

2 голосов
/ 12 марта 2012

Вы смотрели на F2PY ?Если у SWAT уже есть или вы могли бы написать способ получения данных до того, как они будут записаны в файл, вы можете создать довольно простой интерфейс.(Я делал такие вещи несколько лет назад для какого-то унаследованного кода и был очень доволен результатом. Это значительно облегчило работу с программой и данными.)

1 голос
/ 12 марта 2012

SWAT, вероятно, написан для неинтерактивного запуска (в «пакетном» режиме).Если он генерирует много-много файлов за один вызов, ваша программа может их прочитать и обработать.Если его нужно вызывать много раз для генерации ваших результатов, вы можете вызвать SWAT из вашей программы на Python.Выясните, как нужны параметры командной строки (или управляющий файл) для SWAT, а затем посмотрите на модуль python subprocess.

...