2021年12月29日 星期三

DSSAT - weather

資料夾結構

氣象資料位於"Weather"的資料夾底下,路徑應該為C:\DSSAT47\Weather
這裡面可以觀察到有"Climate"資料夾以及.WTH的氣象檔,前者是以資料夾的形式儲存每個區域氣象站的基本資訊,而.WTH則是每一年一個檔案。


Climate 資料檔

以自建的TWTA.CLI為例,檔案內容可以分為數段

1. 測站基本資料

*CLIMATE : TAICHUNG, TAIWAN
@ INSI      LAT     LONG  ELEV   TAV   AMP  SRAY  TMXY  TMNY  RAIY
  TARI   34.250  -85.960   573  15.1  12.9  16.0  21.5   8.6  1349
@START  DURN  ANGA  ANGB REFHT WNDHT SOURCE
  1980    14  0.25  0.50 -99.0 -99.0 Calculated_from_daily_data
@ GSST  GSDU
     1   365
TAV是全年度平均溫度
SRAY是全年日射量平均值(MJ m-2 day-1)
TMXY是全年日高溫平均值
TMNY是全年日低溫平均值
RAIY是年降雨量累積值(mm)
DURN是Duration of summarization period for climate files
ANGA是Angstrom 'a' coefficient, yearly,
ANGB是Angstrom 'b' coefficient, yearly,  
REFHT是氣象量測的高度 (m)
WNDHT是風速的量測高度 (m)

2.每月平均值

*MONTHLY AVERAGES
@MONTH  SAMN  XAMN  NAMN  RTOT  RNUM  SHMN  AMTH  BMTH
     1   9.2  11.1  -2.0 122.1  11.9 -99.0 0.250 0.500
     2  11.3  14.1  -0.1 137.7  10.5 -99.0 0.250 0.500
     3  14.5  16.9   4.0 143.5  10.5 -99.0 0.250 0.500
     4  18.5  20.9   8.0 109.5  10.0 -99.0 0.250 0.500
     5  21.6  25.0  12.9 107.0  10.4 -99.0 0.250 0.500
     6  22.7  29.2  17.3 107.8   9.1 -99.0 0.250 0.500
     7  22.3  31.3  19.3 120.9   9.7 -99.0 0.250 0.500
     8  20.4  31.1  18.4  89.3   9.6 -99.0 0.250 0.500
     9  16.9  27.8  14.7 103.3   7.9 -99.0 0.250 0.500
    10  14.6  22.0   8.2  77.5   6.8 -99.0 0.250 0.500
    11  10.6  16.8   4.1 120.6   9.9 -99.0 0.250 0.500
    12   9.4  12.3  -1.2 109.6   9.9 -99.0 0.250 0.500
SAMN是每個月所有天數日射量平均值 (MJ m-2 d-1)
XAMN是每個月所有天數日高溫平均值(C)
NAMN是每個月所有天數日低溫平均值(C)
RTOT是每個月降雨量累計值 (mm/month)
RNUM是每個月降雨日數累計值
SHMN是Daily sunshine duration(%)
AMTH和BMTH都是Angstrom的係數  

3. 氣象衍生器的參數檔

資料如下,這邊就不詳細介紹
<
*WGEN PARAMETERS
@  MTH  SDMN  SDSD  SWMN  SWSD  XDMN  XDSD  XWMN  XWSD  NAMN  NASD ALPHA  RTOT   PDW  RNUM
     1  12.0   3.0   4.5   2.2  11.1   3.8  11.0   3.7  -2.0   5.6 0.739 122.1 0.267  11.9
     2  14.3   3.6   6.2   3.1  14.1   5.0  14.1   4.4  -0.1   6.1 0.673 137.7 0.266  10.5
     3  17.4   4.5   9.0   4.3  17.0   5.7  16.5   5.4   4.0   5.5 0.790 143.5 0.279  10.5
     4  21.5   5.6  12.6   5.9  21.2   5.6  20.3   4.9   8.0   5.1 0.857 109.5 0.272  10.0
     5  25.3   3.3  14.3   6.3  25.4   3.7  24.3   3.9  12.9   4.0 0.719 107.0 0.253  10.4
     6  26.2   3.2  14.6   6.0  29.9   2.8  27.7   3.2  17.3   2.8 0.910 107.8 0.218   9.1
     7  25.3   2.5  15.6   6.0  32.2   2.3  29.4   3.1  19.3   1.8 0.685 120.9 0.260   9.7
     8  23.1   2.6  14.4   5.1  31.4   2.6  30.2   3.4  18.4   2.3 0.751  89.3 0.260   9.6
     9  19.7   2.9   9.2   4.2  28.1   3.8  26.8   4.3  14.7   4.4 0.618 103.3 0.198   7.9
    10  16.7   3.1   6.8   3.3  22.4   4.2  20.4   4.6   8.2   5.4 0.724  77.5 0.155   6.8
    11  13.3   2.2   5.1   2.4  16.4   5.5  17.4   4.3   4.1   5.8 0.745 120.6 0.232   9.9
    12  11.9   2.0   4.3   1.9  11.8   4.5  13.1   4.8  -1.2   6.2 0.782 109.6 0.223   9.9

4. 標示檔


*FLAGGED DATA COUNT
 BEGYR BEGDY ENDYR ENDDY
  1980     1  1994   120
@         TOTAL   SRAD   TMAX   TMIN   RAIN
TOTAL  :  20936   5234   5234   5234   5234
VALID  :  20648   5234   4952   5228   5234
MISSING:      0      0      0      0      0
ERROR  :      0      0      0      0      0
ABOVE  :      0      0      0      0      0
BELOW  :    288      0    282      6      0
RATE   :      0      0      0      0      0

WTH資料檔

WTH資料檔包含當年度每日的氣象檔,也是模式執行主要的資料檔
  1. 1個區域+年度 就包成1個氣象檔,例如範例是 TWTA1801.WTH,如果是2018年就必須儲存為1801;如果為1991,則為9101
  2. 檔案裡面的表頭(1-4行),是測站的基本背景資訊,包括緯度(LAT)、經度(LONG)、海拔(ELEV)、年平均溫(TAV)、測量參考高度(REFHT)、風速測量高度(WNDHT)
  3. 第5行開始就是每日的氣象資訊,包括日射量(SRAD)、最高溫(TMAX)、最低溫(TMIN)、降雨量(RAIN)、露點溫度(DEWP)、風速(WIND)、蒸發散(EVAP)、相對濕度(RHUM)
  4. 最少資料:日高溫、日低溫、降雨量、輻射量,就是用以下的格式,其他都用-99
*WEATHER DATA : TAICHUNG,TAIWAN

@ INSI      LAT     LONG  ELEV   TAV   AMP REFHT WNDHT
  TWTA   24.022  120.697    80   0.0   0.0 -99.0 -99.0
@DATE  SRAD  TMAX  TMIN  RAIN 
18001  17.4  22.5  12.5   0.0 

其中@DATE以下就是每日的測量值
年度的部分是YYDOY的格式

注意事項

1. 對齊
需要特別留意的是:DSSAT模式對於氣象格式的特別要求,以上述氣象為例SRAD和17.4必須對齊,如果兩者之間有差異,則匯無法閱讀
例如
   SRAD
17.4
如次一來程式可能無法抓到日射量資料,而且必須試D和4對齊。
為了避免讀檔的錯誤,日射量、最高溫、最低溫都資料都需儲存為小數點1位,如果使用Python產出氣象資料,可以選擇(%4.1f)。
降雨量則必須保持有效位數三位,若降雨量超過100則不留小數點(%5.0f);降雨量低於100則保持小數點一位(%5.1f)

2. 參考範例 與 小工具
如果使用臺灣氣候變遷推估與調適知識平台(TCCIP)產出之「臺灣歷史氣候重建資料」5公里網格者。可以在Spyder建立以下程式碼產出WTH檔,值得注意的是,我們過去曾使用農試所的氣象資料比對,發現「臺灣歷史氣候重建資料」的日射量有高估的情形,該網站產出的「網格化衛星反演日資料」所列的日射量資料與實際觀測值比較接近。

另外有一個makeWTH_CWB.py的作品,如果缺值會直接寫-99.9,使用Weatherman程式就可以把缺值進行修改


DSSAT - soil

 以下的資料是從soil.soil的表頭,可以觀察到的是,DSSAT把所有的土壤資料都放在同一個資料夾裡面,如果往後要做批次模擬的話,就要在這個檔案裏面增加內容。


目前測試的結果是,我們只要輸入質地、有機質含量資料,DSSAT會自動計算水利參數。
表頭有講到總體密度、lower limit (LL)- 近似萎凋點, drainage upper limit (DUL)- 近似田間容水量、SAT-飽和水分含量的估計方法所使用的paper,另外有一個質地和物理性質的對照表,頗實用的。



*SOILS: General DSSAT Soil Input File! DSSAT v4.7; 09/01/2017
!
! Standard Soil Profiles
!
! The following generic information was developed by A.J. Gijsman:
!
! - BD was estimated as BD = 100 / (SOM% / 0.224 + (100 - SOM%) / mineral BD)
!   (Adams, 1973; Rawls and Brakensiek, 1985).
! - LL and DUL are according to Saxton et al., 1986.
! - SAT was taken as a fraction of porosity (Dalgliesh and Foale, 1998):
!   0.93 for soil classes S, SL and LS; 0.95 for soil classes L, SIL, SI,
!   SCL and SC; and 0.97 for soil classes C, CL, SIC and SICL.
!   For this, porosity was estimated as: POR = 1 - BD / APD (in which APD
!   is the adjusted particle density, i.e. corrected for SOM; Baumer and Rice, 1988).
! - The ranges of LL and DUL values were calculated by stepping through the
!   complete texture triangle in steps of 1% sand, 1% silt and 1% clay (>5000
!   combinations), but with the texture limitations that Saxton set for his method
!   taken into consideration. For SAT, these limitations do not hold, as this was
!   based on POR and not on Saxton. See Gijsman et al., 2002.
! - The root growth distribution function SRGF was was calculated as:
!   SRGF = 1 * EXP(-0.02 * LAYER_CENTER); SRGF was set 1 for LAYER_BOTTOM <= 15.
!
! SOIL CLASS       BD         LL            DUL            SAT
! ========== ============= ================================
!   C     1.129 - 1.512   0.220 - 0.346   0.330 - 0.467   0.413 - 0.488
!   CL    1.243 - 1.502   0.156 - 0.218   0.282 - 0.374   0.417 - 0.512
!   L     1.245 - 1.483   0.083 - 0.156   0.222 - 0.312   0.415 - 0.501
!   LS    1.353 - 1.629   0.059 - 0.110   0.137 - 0.185   0.355 - 0.416
!   S     1.446 - 1.574   0.055 - 0.085   0.123 - 0.158   0.374 - 0.400
!   SC    1.501 - 1.593   0.195 - 0.294   0.276 - 0.389   0.376 - 0.409
!   SCL	  1.475 - 1.636   0.132 - 0.191   0.213 - 0.304   0.360 - 0.418
!   SI    0.978 - 1.464   0.096 - 0.099   0.299 - 0.307   0.442 - 0.488
!   SIC   1.307 - 1.446   0.224 - 0.326   0.379 - 0.456   0.455 - 0.489
!   SICL   1.248 - 1.464   0.155 - 0.219   0.324 - 0.392   0.448 - 0.511
!   SIL   0.968 - 1.464   0.082 - 0.152   0.240 - 0.333   0.439 - 0.547
!   SL    1.142 - 1.647   0.066 - 0.133   0.164 - 0.243   0.348 - 0.499

如果要建立新的土壤資料,點選Soil DATA的按鍵,就會進入SBuilde程式當中,首先我們可以看到,程式打開的資料夾是Soil.SOL,建立的土壤屬性資料就會記錄在這個檔案的最底端。從這裡,我們可以先聯想一下,以後建立全台灣的土壤資料庫,另存成一個資料夾即可提供使用。



點擊Profile → New 就可以建立新的土壤資料檔案


DSSAT使用筆記

DSSAT (Decision Support System for Agrotechnoloy Transfer) 可以說是最廣為使用的作物生長模式,包含CERES、CROPGRO等不同架構的模式,目前程式已經更新到V4.7.5,包含了32種作物的架構。程式前由佛羅里達大學進行管理,持續進行模式與使用者介面的更新。另外在Github上面也有DSSAT foundation,申請加入後可以瀏覽程式的原始碼,是持續更新又保持開源的系統。

上網註冊取得授權之後即可下載安裝程式,主程式會位於C槽底下DSSAT47的資料夾,主程式在運作的時候抓取不同的資料夾,以玉米為例程式會讀取:(1)MAIZE資料夾下.MZA , .MZT, .MZX資料檔、(2)Soil資料夾下的.SOL、(3)Weather資料夾下的.WTH、(4) 作物參數檔

實驗資料夾 - Maize

1. MZX

MZX實驗檔是DSSAT程式第一個讀取的檔案,這個檔案當中的*FIELDS,就會有標示氣象資料ID與土壤資料ID,主要讀取的檔案,

這個資料檔為試驗處理主要為試驗處理的資料,包含試驗處理(TREATMENTS)、品種(CULTIVARS)、耕地(FIELDS)、土壤分析(SOIL ANALYSIS)、初始狀態(INITIAL CONDITIONS):作物萌芽後的葉面積、養分濃度、種植細節(PLANTING DETAILS):種植密度、種植日期、灌溉與水分管理(IRRIGATION AND WATER MANAGEMENT):灌溉時間、灌溉量、肥料(FERTILIZERS):指的是化學肥料氮肥的施用量,包含施肥日期(FDATE)、施肥深度(FDEP)、殘體與有機肥料(RESIDUE AND ORGANIC FERTILIZERS)、模擬控制(SIMULATION CONTROLS)、自動管理(AUTOMATIC MANAGEMENT)



*FIELDS
@L ID_FIELD WSTA....  FLSA  FLOB  FLDT  FLDD  FLDS  FLST SLTX  SLDP  ID_SOIL    FLNAME
 1 TWTB2020 TWTA         0   -99 DR001    10   -99     0 L      180  TATAFARM48 -99
@L ...........XCRD ...........YCRD .....ELEV .............AREA .SLEN .FLWR .SLAS FLHST FHDUR
 1              24           120.3        80               -99   -99   -99     0 FH101   -99

這邊可以看到氣象檔是透過WSTA設置,目前這一個檔案是讀取TWTA開頭的氣象檔,如果要跑網格模擬,可以試試看在這邊放入不同的氣象檔,另外需要修改的是XCRD、YCRD、ELEV等經緯度、高度資料

*SIMULATION CONTROLS
@N GENERAL     NYERS NREPS START SDATE RSEED SNAME.................... SMODEL
 1 GE              1     1     S 02060  2150 2002 Maize Experiment Ir
@N OPTIONS     WATER NITRO SYMBI PHOSP POTAS DISES  CHEM  TILL   CO2
 1 OP              Y     Y     N     N     N     N     N     Y     M
@N METHODS     WTHER INCON LIGHT EVAPO INFIL PHOTO HYDRO NSWIT MESOM MESEV MESOL
 1 ME              M     M     E     R     S     R     R     1     G     S     2
@N MANAGEMENT  PLANT IRRIG FERTI RESID HARVS
 1 MA              R     R     R     N     M
@N OUTPUTS     FNAME OVVEW SUMRY FROPT GROUT CAOUT WAOUT NIOUT MIOUT DIOUT VBOSE CHOUT OPOUT FMOPT
 1 OU              N     Y     Y     1     Y     Y     Y     Y     N     N     Y     N     N     A


參數檔簡介
DSSAT的參數檔位於 C:\DSSAT47 的資料夾當中,只要尋找副檔名為CDE的檔案,就會有每一個參數的簡介。

輸出檔

如果要查看DSSAT輸出檔的清單,可以開啟OUTPUT.LST,即可看到當次模擬的輸出檔清單,DSSAT也是以副檔名進行管理,每一次的檔名會和.MZX檔相同,例如如果模擬的檔案是TW480001.MZX,輸出檔就會是TW48001為檔名的其他副檔名檔案。以下我們針對個別的副檔名進行說明

.OMO  每日管理檔的輸出,包含累積有效灌溉水量(IRRC, mm)、灌溉次數(IR#C)、最後耕犁深度(TLDD, cm)
.OPG   植物模擬結果的輸出,葉面積、各部位乾重模擬結果都在這個檔案
.OPN   和植體的氮相關,包含地上部氮含量(CNAD, kg/ha)、穀粒氮含量(GNAD)、
.OSC    每日土壤有機碳的輸出檔,表土20公分土壤有機碳(SCDD, kg/ha)、
.OTS    每日土壤溫度輸出檔
.OWE   每日氣象結果輸出檔
.OEV     模擬與實測值比較結果的輸出檔
.OME    管理事件紀錄檔,包含主要生育期的模擬時間,以及施肥和時間
.OOV   產季結果摘要輸出檔,這邊可以找到最後的產量
SoilBal.OUT   產季土壤有機碳平衡
SoilCBalSum.OUT  土壤碳平衡輸出檔
.OSU  季節摘要檔

肥料成分計算

很早以前肥料是先灰化再進行成分分析,因此對於那一些不揮發的元素,通常會使用氧化物的型態進行表示,例如磷就使用P2O5 、鉀則使用K2O 肥料1,肥料品目為硝酸鈣 (Calcium nitrate) 銨態氮              1.26 % 硝酸態氮        13.5...