模型小白,因为研究需要,进行swat的编译,首次接触,记录一下过程。
参考文章:【SWAT】 最简便的SWAT源码编译方法(gfortran)-优快云博客
1.使用msy2下载gfortran
这里我出错下载失败,未找到对应包
百度一下,用这个下载成功
pacman -S mingw-w64-x86_64-gcc-fortran
2.打开mingw64进入swat新建的makefile文件的文件夹中并进行编译
Ⅰ.由于不清楚msy2的机制,尝试了网上搜索的直接进入文件夹中的方法失败,最后发现一个一个进入可行,具体如下图

Ⅱ.发现make失败,找不到输入文件,又买了一个编译swat的视频,一点进去发现.f文件在src这个文件夹里,我就试试继续进入这里,将makefile文件也移动在这里,修正错误,最后编译成功。
错误主要是error1,我也不太懂,自己百度了一下,但是没明白,后来就按照博主的第二个错误,将main.f里的第一句给删掉了,直接编译成功。
3.进行测试
出现错误,找不到 libgfortran-5.dll和libgcc_s_seh-1.dll
QT软件打包发布,踩坑记录_libgcc s seh-1.dll-优快云博客解决在这,找不到相应的dll文件拷贝进去就行
查找后,发现在mingw64的bin目录里,就算将前面两个dll复制过来依旧无法运行,所以在mingw64中运行,最后发现是没添加这个环境变量,添加上再重启一下电脑就好了
成功运行但出现新错误,Fortran runtime error: End of file,file.cio文件没有,这个是swat中包括模型选项、气候输入、数据库和输出控制相关的信息,这个也许需要自己定制。
然后找到之前通过arcswat跑出的文件,按照博客说在txtinout,我将这个复制过来,把新生成的swat复制进去,最后成功测试!可以进行下一步修改swat代码了。
3408

被折叠的 条评论
为什么被折叠?



