日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SWAT模型学习(三)

發布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SWAT模型学习(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

3 SWAT模型測試

3.1 介紹

由于長江流域面積巨大,土壤類型眾多,測試、修改的成本太高,所以我們選擇一個較小的區域進行試驗。

試驗區域為河西走廊的石羊河流域,我們選擇了一個30km×20km的小區域,該區域包含了石羊河支流大西河的出口,作為水系劃分的出口(http://slt.gansu.gov.cn/syhglj/)。

3.2 流域水系劃分

操作詳情見https://www.bilibili.com/video/BV1H7411n7Vs

打開Arcmap,新建SWAT工程,進入Automatic Watershed Delineation界面,導入BJ54空間坐標系的DEM,子流域面積閾值選擇2E-7Ha,自動填洼后生成河道。確定出口后生成了10個子流域,將顯示為紅色框的Basin要素導出為shp文件。

3.3 土壤數據庫建立

操作詳情見https://www.bilibili.com/video/BV1H7411n7Vs

打開Arcmap,進入3.2新建的SWAT工程,利用3.2導出的shp文件裁剪HWSD,提取出流域內的土壤分布類型,經統計共6種。

打開SWAT工程數據庫,SWAT2012.mdb,將6種土壤依次錄入,為方便查詢,土壤名稱直接用土壤ID表示,例如上圖左欄中的11291、11352等。注意,11387只有一層。記錄完畢,保存。

3.4 land use文件

我們選擇GLASS_GLC數據庫,由清華大學土地覆蓋監測網站提供(http://data.ess.tsinghua.edu.cn/),全球范圍的土地利用情況如下所示:

注意:

這時我們需要把語言換成英語,否則后續載入landuse柵格文件時會報錯(http://muchong.com/html/201406/7534220.html),更換語言方法參考(https://jingyan.baidu.com/article/ab0b5630b670dbc15afa7d02.html)。

利用3.2導出的shp文件裁剪GLASS_GLC,獲取研究區域內的土地利用信息,只有一種,數值為90,查閱分類表后確定該區域的土地利用類型為荒地:

GLASS_GLC數據庫包含分類文件labelInstruction.docx,內容為:

Label?
0No data
10Cropland 農田,耕地
20Forest?森林
30Grassland?草原
40Shrubland?灌木
70Tundra?凍土帶
90Barren land?荒地
100Snow/ice?雪/冰

3.5 HRU分析

打開SWAT工程,HRU Analysis - Land Use/Soils/Slope Definition

3.5.1 Land Use Data控件

在Land Use Grid下導入已經定義投影的landuse數據,Choose Grid Field選擇VALUE,點擊OK,下方會出現對應表格。

雙擊LandUseSwat空格,可以手動選擇土地類型,選擇crop,選擇BARR,點擊Reclassify。

3.5.2 Soil Data控件

同樣的,依次填入,點擊Reclassify:

3.5.3 Slope控件

選擇坡度,為了方便我們直接選擇Single Slope,也就是不用分層,點擊Reclassify:

?

3.5.4 重載

以上三步完成后,勾選下方兩個選項框,點擊Overlay按鈕,進行疊加,將土地利用、土壤類型、坡度等水文特性疊加到每個HRU上,然后SWAT才能基于HRU進行產流、入滲、水質監測的計算工作。

點擊確定,大功告成!

3.5.5 篩選

點擊HRU Analysis - HRU Definition,進入篩選設置。SWAT為了簡化計算,提供了篩選功能,我們可以設置閾值,將小于該閾值的水文特性類型刪除,這里我們選擇10%,點擊Create?HRU。

3.6 氣象數據庫

打開Write Input Tables - Weather Stations,選擇氣象數據庫。這里有很多備用選項,可以導入其他數據庫,也可以自己輸入。我們選擇CFSR_World(https://www.bilibili.com/video/BV1H7411n7Vs下提供了鏈接),需要將下載到的CFSR_World.mdb手動復制到項目下的SWAT2012.mdb數據庫中,如下圖所示:

點擊Weather Generator Data按鈕,在下拉框選擇WGEN_CFSR_World(如果不進行上一步復制操作,這里將不顯示WGEN_CFSR_World),點擊OK,等待約1分鐘完成,點擊“確定”,然后點擊Cancel退出。

3.7?生成輸入參數表格

打開Write Input Tables - Write SWAT Input Tables,彈出清單表格, 點擊Select ALL,點擊Create Tables。

等待約1分鐘完成,點擊“確定”,然后點擊Cancel退出。

3.7 運行SWAT

做完上述工作,我們已經完成了SWAT運行的全部準備工作,打開SWAT Simulation - Run SWAT,進入最后的時間跨度和分辨率、SWAT編譯器等設置(我偷偷換了個PC,嘿嘿):

選擇時間跨度2000/1/1 - 2015/12/31,時間分辨率1個月,點擊Setup SWAT Run,完成預備工作,點擊Run SWAT,開始計算。

但是出現了這一幕:

問題描述:Fortran編譯過程出錯,讀數據時讀到文件末尾。我們打開出現問題的文件000120004.sol,發現它竟然是空的,而000120001.sol -?000120003.sol都沒有問題。

查閱SWAT使用手冊(https://wenku.baidu.com/view/5f1d74eb0975f46527d3e195.html),.sol文件是土壤輸入文件,可能是soil部分出了問題。參考(https://blog.csdn.net/Chris_Ning/article/details/98242315?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159841213819724839203572%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159841213819724839203572&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v3-1-98242315.pc_ecpm_v3_pc_rank_v3&utm_term=SWAT%E8%BF%90%E8%A1%8C%E5%A4%B1%E8%B4%A5&spm=1018.2118.3001.4187),檢查土壤數據庫usersoil,果然發現第四行的11387號土壤的描述有誤,本來只有1層,但第二層卻有了相關記錄,且與第一行的11291號土壤一致,可能是導入時出現錯誤。將第二層數據全部改為0,保存。

再次測試,還是出現同樣的問題:

考慮是否是參數范圍的問題,對照SWAT2012.mdb的solrng.dbf數據庫(如下圖所示),對數據庫進行檢查:

檢查完畢,并沒有問題。

看一下.sol文件的命名規律,根據各個.sol文件的內容,我們推測:前5位000xx為subbasin編號,后四位00xx為每個subbasin中的HRU編號,這樣一來就是第12個子流域的第4個HRU出現問題,沒有寫入土壤信息。

打開Edit SWAT Input - Subbasins Data,選中11561號土壤,點擊OK

出現如下界面,證明該土壤類型已被正確導入:

返回文件夾,打開000120004.sol,發現已經寫入文本了:

重新測試,剛才的問題解決了,但是又出現了新問題(我人傻了):

只能從配置文件入手了。打開file.cio文件(位于工程目錄/Scenarios/Default/TxtInOut/下),發現降雨和溫度數據均為空,說明WGEN_CFSR_World數據庫在該區域沒有站點,導致計算失敗。

此時我們需要手動添加該區域的氣象數據。打開下載到的中國地面氣候資料日值數據集V3.0(原地址http://data.cma.cn/data/cdcdetail/dataCode/SURF_CLI_CHN_MUL_DAY_V3.0.html,但是下載很不方便,好在本站有資源,可以花C幣下載之,時間跨度2010-2019年),查看站點分布,利用matlab inpolygon函數,發現共有3個站點位于石羊河流域,但是方塊里(紅色區域)一個都沒有:

有種前功盡棄的絕望感。。。

本次測試到此為止,雖然沒有成功,但熟悉了SWAT的流程,掌握了許多實用的ArcGIS技巧,比如關于數據庫的建立、坐標系統的轉化、異常事件查詢與解決等,都為下一次的成功積累經驗。

讓我們期待SWAT模型學習(四)吧!

?

?

總結

以上是生活随笔為你收集整理的SWAT模型学习(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。