跳到主要內容

發表文章

Tipping Bucket Model (3): Parameters

延續上一講的雙域視角(巨孔隙/微孔隙),這一講的參數會分成兩組來看:定義「桶子形狀」的靜態參數(LL、DUL、SAT、bulk density),跟決定「桶子怎麼漏水」的動態參數(SWCON、𝐾𝑠𝑎𝑡)。 3.1 靜態參數:桶子的三條水位線 (1) LL(Lower Limit,凋萎點下限) 這是植物完全無法吸取的水分下限,操作型定義通常對應到 −1.5 MPa(15 bar)的基質勢。在微孔隙/巨孔隙框架下,LL 描述的完全是微孔隙域——這個含水量下,水被吸附在極細孔隙的表面,基質勢極負,只存在於微孔隙的毛細跟吸附作用力範圍內,巨孔隙在這個含水量早就空了。 DSSAT 通常用 LL(而不是永久凋萎點 wilting point)這個名稱,是因為它其實是「特定作物根系可達到的下限」,理論上依作物種類、根系穿透力略有差異,但實務上常直接借用土壤的物理凋萎點。 (2) DUL(Drained Upper Limit,排水上限) 這是整套 bucket 理論裡最關鍵的一條線——它同時也是上一講講的「巨孔隙排水」的觸發點:𝑆𝑊> 𝐷𝑈𝐿 SW>DUL 才會啟動𝐷𝑅𝐴𝐼𝑁𝐿 方程。 物理意義上,DUL 是「重力排水已經(近似)結束、只剩微孔隙毛細力撐著水」的那個含水量,通常對應基質勢在 −10 到 −33 kPa 之間(視質地而定,砂土接近 −10 kPa,黏土接近 −33 kPa)。用雙域語言講:DUL 就是巨孔隙域清空、微孔隙域仍飽滿的那條分界線。這也是為什麼 DUL 不是一個絕對的物理常數,而是跟排水時間、量測方式高度相關的操作型定義——現場量測通常是「飽和後排水1–2天」的含水量,這個「1–2天」本身就是承認巨孔隙排水需要一點時間,但排水速率遠快於微孔隙。 (3) SAT(Saturation,飽和含水量) 這是巨孔隙+微孔隙全部孔隙都灌滿水時的含水量,約等於總孔隙度 𝜙 。注意上一講 Emerman 論文提到的關鍵假設——「巨孔隙域跟微孔隙域必須有相同的飽和含水量才能讓雙域模型的擬合站得住腳」。這句話反過來提醒你:SAT 這個看似簡單的參數,其實隱含了「兩個域共享同一個總孔隙空間」的假設,在真實土壤中不一定成立(比如強烈結構化的黏土,巨孔隙可能只佔總孔隙度很小一部分)。 (4) Bulk...

STICS 使用筆記

工作區 (workspace) STICS模式模擬大部分所需要的資料都會在工作區當中,但是植物參數則是在plant的資料夾當中。STICS的資料使用xml編輯,只需要用notepad就可以打開閱讀。 建立新工作區 打開JavaStics.exe,選擇File → New workspace 建立新的工作區,就可以看到玉米的範例maize。 總共包含了11個檔案 氣象日資料檔的附檔名為年份 (.1996)氣象站的資料為_sta.xml,初始狀態檔為_ini.xml、田間管理為_tec.xml、如果有實測資料則可建立.obs檔、所有的土壤資料都在sols.xml、模擬的資料再usms.xml、輸出資料的設定檔在var.mod當中 模擬檔案都在usms.xml當中、土壤資料都在sol.xml當中,每個working space只會有一個usms.xml 和sol.xml。 建立氣象檔 STICS模式內部有建立氣象資料的工具,可以讀取CSV檔之後直接生成模式所需要的氣象檔。 選擇 Model input → Local parameter → Climate → Formatting a climate file,即可打開氣象資料產生的工具檔 經過測試,可輸入的檔案為CSV氣象資料,但是STICS只能選擇分號或者空白分隔,無法讀取逗號分隔的檔案,目前選擇的方法是先產出CSV檔,再進入將逗號取代為分號,或許可以使用python 或R語言直接匯出符合使用的csv檔。 輸入的檔案為逐日氣象資料,我們可以將所有年度的氣象檔放在同一個CSV底下,STICS模式會自動產出每一個年度一個檔案,因此建議可以在STICS模式的資料夾當中另外產出一個專門存放氣象CSV的資料夾,再透過小工具產出程式可以讀取的氣象檔。 我們在這裡使用的範例如下 再依序的將每一行對應的內容填入視窗中,氣象資料的第一列是表頭,因此我們就設定number of headlines 為1。 依序填完後就可以按generate,程式就會自己產出氣象檔 批次化模擬 JavaSticsCmd.exe --run iceberg JavaSticsCmd.exe --run iceberg L1-M572_17J L2-M780_17J 

模式參數調整

模式誤差來源 作物模式的誤差主要來源包含模式架構、輸入資料與模式參數。(1) 模式架構:模式的本質是真實世界的簡化,若要減少誤差,則需用實驗建立分析相對應機制的數學方程式,增加模式的的解釋變數(explanatory variables);(2) 輸入資料:來自於輸入資料採樣或量測的誤差,可以從提升取樣的代表性或量測準確性來減少這一個誤差;(3) 參數誤差:包含使用錯誤的量測資料進行校正所造成的誤差,以及校正的過程所造成的誤差,僅能從現有的資料進行校正,這個校正的過程是能夠提升模式準確度的最後一個方法。 調參(calibration,又稱率定) 在作物模式當中扮演著決定的角色,但是調參的過程並未有統一的方法,2018年在歐洲農業期刊所發表的「改進作物模式調參的過程 - 目前的狀態與未來的方向為何?( Towards improved calibration of crop models – Where are we now and where should we go?)」。由德國、澳洲與法國的研究人員共同發表,他們發送網路問卷給模式研究人員,包括AgMIP (Agricultural Model Intercomparison and Improvement Project)、MACSUR (Modeling European Agriculture with Climate Change for Food Security)、ISMC (International Soil Modeling Consortium),以及重要的作物模式APSIM、DSSAT、STICS、DAISY的人員,以了解作物模式研究人員進行調參的方式與習慣。總共收到318份問卷,但大部分的問卷僅有少部分題目回答,難以作為有效問卷,作者群定義4個核心題目,如果這4個核心題目皆有回答時就視為有效問卷,經過整理後共取得211份有效問卷進行分析。上述的4個核心問題為 Q16 針對多少個參數進行校正、Q20 調參的過程過使用幾個階段、Q23 調參的策略、Q34 調參過程最主要的困難點。 率定的參數數量 66%參加者調參的數量在10個參數以內,40%調參數量在5個參數以內,中位數是6。大多數的參與者依據模式開發者的建議,調整模式的遺傳或品種參數,但是有45%的參與者,依據自己的經驗進行調整,可能依據敏...

MAIZSIM 輸入檔

工作表名稱 說明 備註 1.Description ID這個欄位串起不同模擬項次資料,包含土壤、氣象、玉米品種、施肥、玉米條件初始值、有機質、時間、品種、氣象 2. Biology 土壤中有機物質成分的組成描述。 3. Climate 氣象檔案的檔頭,其參數是氣象站所量測到的氣象資料。 4. Fertilization 依照ID填入施肥日期以及施肥量。 5. GridRation 土壤資訊(種植深度)。 6. GridX 土壤分層深度。 7. Init 初始條件,包含種植地點、種植密度、種植以及採收時間以及是否有自動灌溉模式等資訊。 8. Irrig 紀錄灌溉時間。 9. Soil 依照土壤調查報告,填入個土壤系分層特性。 10. Solute 採預設值。 11. Time 起始種植以及採收時間,其記錄氣象資料為每天或是每時。 12. Variety 不同作物的特性設定。 13. Weather 紀錄天候資料為每日或是每小時。     欄位名稱 說明 填寫範例 ID 為每個模擬項次命名,串接起相對應的土壤、氣候、位置、有機質等檔案 Wufeng_99_BoMi_CK SoilFile 土壤資訊,為同一地區,檔案可以共用。 Wufen.soi Weather File name 氣候資訊,同一栽種期間共用檔案 Wufeng99...

STICS - Evaluation

 STICS 程式也可以和R語言結合,用來進行模擬結果的分析,在官方網站就可下載套件,下載後開啟R語言,指定本機端位置就可以進行安裝,我把套件下載於G槽底下STICS的檔案夾,安裝方式如下

DSSAT - 實驗檔

DSSAT的實驗記錄檔在相對應的資料夾當中,分為兩種檔案,結尾為A(例如FLSC8101.MZA)和結尾為T(例如FLSC8101.MZT),結尾為A的檔案收穫時期的資料,結尾為T為時序資料 以下為 FLSC8101.MZA 的範例 *EXP. DATA (A): FLSC8101MZ N X IRRIG., S.C. (CERES MAIZE BK) ! File last edited on day 08/29/2003 at 9:33:41 AM ! ! Grain yield (HWAM) expressed as dry weight @TRNO HWAM HWUM H#AM H#UM LAIX CWAM BWAH ADAT MDAT GN%M CNAM SNAM GNAM 1 9760 0.276 2968. 418. 4.2 23800 10954 156 210 1.62 248.0 90.0 158.0 2 -99 -99 -99 -99 -99 -99 -99 -99 -99 -99 -99 -99 -99 以下為 FLSC8101.MZT 的範例 *EXP. DATA (A): FLSC8101MZ N X IRRIG., S.C. (CERES MAIZE BK) ! File created by WDB on 10/17/03 using data from FLSC8101.MZA ! @TRNO DATE GWAD GWGD G#AD LAID CWAD GN%D CNAD SNAD GNAD 1 81157 -99 -99 -99 4.2 -99 -99 -99 -99 -99 1 81205 9760 276. 2968. -99 23800 1.62 248.0 90.0 158.0 2 81205 -99 -99 -99 -99 -99 -99 -99 -99 -99 GWAD Grain w...

CLASSIM程式

CLASSIM (Crop Land And Soil SIMulation) 程式是作物生長模式的圖形化使用者介面 (GUI),由美國農業部農業研究署(USDA/ARS)所開發調適性栽培研究室 (Adative cropping system laboratory, ACSL) 所開發,該程式目前包含玉米、大豆、棉花、馬鈴薯等作物之的長模式,未來預計會加入水稻,以2d soil 模式負責土壤-作物-大氣圈的運算,提供單一作物栽培模擬或輪作模擬,使用者可以選擇 玉米-大豆-休耕-馬鈴薯等方式,模擬作物生產系統當中的營養收支。 程式安裝之後,會在程式集處看到CLASSIM資料夾,在CLASSIM程式處按右鍵,選擇「以系統管理員開啟」。 畫面相當的簡潔,操作也很直觀,使用者只要依序填完 區域(Site), 土壤(Soil), 品種 (Cultivar), 管理(Management) 就可以進行模擬。

CURV function

DSSAT程式裡面常使用CURV function 計算,這個公式位於UTILS.for 當中,以下我們對curve function 進行研析。 這個函式使用CURV當作回傳值,包含不同的curve type (CTYPE) 以及轉折點,分別為XB, X1, X2, XM, X 預設的CURV 為1,因此如果選擇CTYPE是non時,就會得到1。 FUNCTION CURV(CTYPE,XB,X1,X2,XM,X) IMPLICIT NONE CHARACTER*3 CTYPE REAL CURV,XB,X1,X2,XM,X CURV = 1.0 IF (CTYPE .EQ. 'NON' .OR. CTYPE .EQ. 'non') RETURN LIN - 梯形公式 首先是線性反應方程式(LIN),它是個梯形公式,在X1, X2 之間是1,XB和X1之間以及X2和XM之間是線性變化。 我們選擇XB = 8, X1 = 25, X2 = 34, XM = 44,得到結果如下: C-------------------------------------------------------------------- IF(CTYPE .EQ. 'LIN' .OR. CTYPE .EQ. 'lin') THEN CURV = 0. IF(X .GT. XB .AND. X .LT. X1)CURV = (X-XB)/(X1-XB) IF(X .GE. X1 .AND. X .LE. X2)CURV = 1. IF(X .GT. X2 .AND. X .LT. XM)CURV = 1.0 - (X-X2)/(XM-X2) CURV = MAX(CURV,0.0) CURV = MIN(CURV,1.0) ENDIF C--------------------------------------------------------------------...