on
디지털 농업: 밀 작물 모형을 이용한 의사 결정
모델링 - 지난 글
목표
-
밀의 경우 가을에 파종하여 다음해 봄에 수확하며, 대부분의 농가가 벼를 재배하지 않는 기간 동안 재배하는 이모작 형태의 재배가 많다. 심지어 밀을 파종하고 거의 관리하고 방치하는 농가가 태반이다.
-
밀의 국내 자급률은 1%에도 미치지 못하며 대부분 수입에 의존하고 있다. 국내는 1ha당 평균 4톤 가량의 밀을 재배하고 있으며, 이는 일본에 비하면 절반에도 미치지 못하는 수치이다.
-
일본도 우리와 환경이 비슷하나 어째서 우리의 면적당 생산량을 두배 이상 수확할 수 있는 것일까? 정답은 의사결정 방법에 있을 수도 있다.
-
재배는 선택의 연속이다. 비료 시비를 얼마나 해야하는 지, 관개를 얼마나 해야하는 지, 언제 수확해야 하는 지 등등 수많은 선택지를 환경과 작물의 상태를 보고 판단해야한다.
-
밀과 같은 노지 작물의 경우는 온실 작물과는 다르게 환경 조절이 불가능에 가깝기 때문에 환경 예측이 힘들고, 매우 큰 타격을 받는다
-
작물 모형을 이용하여 미리 시뮬레이션 할 수 있다면, 앞으로의 기상 예보와 과거 기상 자료를 이용하면 앞으로 어떤 처방을 해야 이익을 극대화 할 수 있을지 판단하는데데 도움을 줄 수 있을 것이라 판단하였다.
-
이에 대표적인 노지 작물 모형중 하나인 APSIM-Wheat를 활용하여 국내 과거 40년 기상자료를 이용하여 시뮬레이션하고, 성장 단계마다 기상자료와 생산량에 어떠한 상관관계가 있는지 분석해 보고자 한다.
과거 40년 기상 자료 분석
-
과거 40년 기상자료는 공공데이터포털 API를 통해 수집하였으며, 누락된
광량
의 경우 Penman-monteith eqn을 사용하여 보간하였다. -
작기는 2022.10월에 파종하여 - 2023.06월 수확이며, 2023.03.01 이후는 과거 40년 기상자료로 채워넣도록 전처리 하였다.
-
수집한 데이터는 작물 모형 입력자료 자동화를 개량하여 정리하였다.
-
전처리한 기상자료는 다음과 같다
평균 온도
강수량
밀 생장 단계 (Stage)
길잡이 stage
다음은 농진청의 농업기술길잡이
의 밀 생장 단계이다.
-
발아: 파종 후 초엽이 지상에 나타나 싹이 트는 시기가 발아기이며 아생기는 발아 후 주로 씨젖(胚乳)의 양분으로 생육하는 어린 시기를 말한다. 이 시기에는 주간 엽수는 늘 어나지만 분얼은 되지 않는다.
-
이유기: 아생기의 말기로 주간 엽수가 2.5개인 시기에 해당된다. 배유의 양분이 거의 소실되 고 뿌리로부터 양분 흡수를 의존하게 되는 전환기이며 뿌리의 기능이 종자근에서 주로 관근으로 이양된다
-
유묘기: 이유기가 지난 후 주간 엽수가 4개가 되는 시기까지이다. 이 시기 말기에는 분얼이 시작되고 원줄기에서는 어린 이삭이 분화된다
-
분얼기: 주간 엽수 3~6개의 시기는 초기 분얼이 시작하는 시기로 분얼수의 증가는 완만하 다. 밀은 이 시기에 월동하게 되는데 주간 엽수가 5~6개 일 때 겨울나기 동안 추위 에 가장 강하다. 주간 엽수가 7~8개의 시기는 초기 및 중기 분얼이 같이 발생하여 분얼수의 증가가 현저하며 이 시기를 최고 분얼기라 한다. 수원 지방에서는 4월 상 순경에 해당한다. 분얼한 줄기는 모두 이삭을 형성하지 못하는데 이삭을 형성하는 얼자를 유효분얼이라 하고 이삭을 형성하지 못하는 얼자를 무효 분얼이라 한다. 유 효 분얼 한계기는 수원 지방에서 3월 하순이며 그 이후 발생하는 분얼은 무효 분얼 이 된다.
-
신장기: 절간 신장이 시작되어 출수 개화기 이후까지 줄기의 신장이 계속되는 기간이다. 절 간 신장은 하위 절간부터 시작하며 수원 지방에서 4월 상순에 절간 신장이 시작되 고 그 후 온도가 올라감에 따라 급속히 신장한다.
-
수잉기: 넓은 의미로는 유수 형성기 이후부터 이삭이 나오기 전까지의 기간을 말하며 좁게 는 이삭이 나오기 전 이삭이 상당히 커져서 지엽의 엽초 속에 배어 있는 이삭이 외 부에서 완전히 식별되는 후반기를 말한다
-
출수 개화기: 이삭이 지엽의 엽설 밖으로 나오는 것이 출수인데 출수기는 중부 지방은 5월 중순경 이다. 밀은 이삭이 나온 후 약 3~7일에 꽃이 피며, 개화 후에 수정이 된다.
-
등숙기: 개화, 수정한 뒤부터 종실이 완전히 익을 때까지의 과정을 등숙이라 하고 이 기간을 등숙기라 한다. 등숙이 끝나서 양분이 더 이상 이삭으로 전이되지 않는 시기를 성숙 기라 하며, 수원 지방에서는 6월 초중순이 된다. 밀의 일생은 씨앗을 뿌린 후 성숙 기까지의 소요 일수로 수원 지방에서 약 260일이 소요된다
def determine_stage(row):
if (row['datetime'] >= 20221019 and (row['datetime'] <= 20221120)): # 파종
return 'sowing'
elif (row['datetime'] >= 20221120 and (row['datetime'] <= 20230120)): # 유묘기
return 'seedling'
elif (row['datetime'] >= 20230120 and (row['datetime'] <= 20230401)): # 분얼기
return 'tiler_domancy'
elif (row['datetime'] >= 20230401 and (row['datetime'] <= 20230415)): # 신장기
return 'joining'
elif (row['datetime'] >= 20230415 and (row['datetime'] <= 20230515)): # 수잉기
return 'boot'
elif (row['datetime'] >= 20230515 and (row['datetime'] <= 20230601)): # 개화 출수기
return 'heading'
elif (row['datetime'] >= 20230601): # 등숙기
return 'ripening'
APSIM stage
- APSIM에서 밀의 생장 단계를 논하는 방법으로 Thermal Temperature (GDD)를 사용한다.
- 모델의 결과는 허구의 결과일 뿐, 실제 데이터와 다를 수 있을 뿐더러 모델의 결과로 인과 관계를 논하는 것은 한계가 있다. 따라서 공부용 (참고용) 으로만 활용할 예정
def thermal_stage(row):
if (row['GDD'] >= 0 and (row["GDD"] <=400)):
return '4. End of Juvenile'
elif(row['GDD'] >= 400 and (row["GDD"] <=955)):
return "5. Floral Initiation"
elif(row['GDD'] >= 955 and (row["GDD"] <=1075)):
return "6. Flowering"
elif(row['GDD'] >= 1075 and (row["GDD"] <=1575)):
return "7. Start of Grain Filling"
elif(row['GDD'] >= 1575 and (row["GDD"] <=1610)):
return "9. Maturity"
elif(row['GDD'] >= 1610):
return "10. Harvest"
Feekes stage
-
이 척도는 1부터 11까지의 번호 체계를 사용하며, 각 숫자는 새로운 성장 단계를 나타낸다. 각 숫자는 소수를 사용하여 더 세분화하여 주어진 단계를 더 자세히 설명할 수 있다.
-
(참고자료) 에서는 GDD에 따라 feekes stage를 나누었고, 이를 참고하여 분석하고자 함.
-
이번 분석에서는 크게 Tilering, Stem Extension, Heading, Ripening으로 나누어 분석하고자 함.
def feeks_stage(row):
if (row['GDD'] >= 0 and (row["GDD"] <=40)):
return '1'
elif(row['GDD'] >= 40 and (row["GDD"] <=95)):
return "2"
elif(row['GDD'] >= 95 and (row["GDD"] <=160)):
return "3"
elif(row['GDD'] >= 160 and (row["GDD"] <=235)):
return "4"
elif(row['GDD'] >= 235 and (row["GDD"] <=320)):
return "5"
elif(row['GDD'] >= 320 and (row["GDD"] <=320)):
return "5"
elif(row['GDD'] >= 320 and (row["GDD"] <=415)):
return "6"
elif(row['GDD'] >= 415 and (row["GDD"] <=520)):
return "7"
elif(row['GDD'] >= 520 and (row["GDD"] <=635)):
return "8"
elif(row['GDD'] >= 635 and (row["GDD"] <=760)):
return "9"
elif(row['GDD'] >= 760 and (row["GDD"] <=895)):
return "10"
elif(row['GDD'] >= 895 and (row["GDD"] <=1040)):
return "10.1"
elif(row['GDD'] >= 1040 and (row["GDD"] <=1195)):
return "10.5"
elif(row['GDD'] >= 1195):
return "11"
-
feekes general stage
-
기존의 feekes stage는 너무 세분화 되어있기 때문에 간략화한 stage를 추가로 분석하였다.
def feeks_stage_general(row):
if (row['GDD'] >= 0 and (row["GDD"] <355)):
return 'Tillering'
elif(row['GDD'] >= 355 and (row["GDD"] <930)):
return "Stem Extension"
elif(row['GDD'] >= 930 and (row["GDD"] <=1230)):
return "Heading"
elif(row['GDD'] >= 1230):
return "Ripening"
APSIM 결과 분석
-
(APSIM Python)을 이용하여 40년 기상자료를 한번에 시뮬레이션 할 수 있다.
-
자세한 APSIM에 대한 문서는 (참고자료)를 참고할 것.
-
APSIM Wheat의 전체적인 기관은 아래 그림과 같다.
- APSIM Wheat의 전체적인 바이오매스 산정 프로세스는 다음과 같다.
-
한가지 주목해야 할 점은 Grain demand가 부족할 경우 Stem의 바이오매스가 Grain으로 re-translocation 될 수 있다는 점이다.
-
APSIM은 RUE (Radiation Use Efficiency)를 사용하여 바이오매스를 산정한다.
-
“밀 생육 기간 중 광합성은 수잉기인 4월 중순에 최고점에 달하고 그 후 출수기에 약간 낮아지며 출수 후 21일경까지는 완만히 진행되고 이후 급속히 저하한다. 광 합성은 일사량의 증대와 아울러 증가한다.” - 길잡이 66p
-
APSIM 모델 결과 항목은 다음과 같다.
dd/mm/yyyy as Date
,day
,biomass
,yield
,grain_protein
,grain_size
,esw
,lai
,sws
,sw_stress_expan
,n_stress_expan
-
stress_expan
은 아래 자료와 같이 기본값 1에서 스트레스를 받을 수록 작은 값이 할당 되어 전체적인 엽면적 및 바이오매스 생성에 영향을 끼치는 요소이다.
- 생산량 top 5: [2004, 2020, 2005, 2021, 2002]
- 생산량 low 5: [2010, 2007, 1996, 2022, 2009]
평균온도 (tavg) 분석
- “출수 후 등숙 기간에 있어서 기온 교차가 크고 강수량이 적은 것은 천립중의 증가에 영향을 주어 곡립을 충실하게 한다.” - 길잡이 70p
feekes stage
-
평균온도 (tavg)의 경우 생산량이 많을 때와 적을 때 통계적으로 유의하지 않았음.
-
Stage 마다 온도는 생산량과 크게 직결되지 않았음.
강수량 및 토양 수분 분석
-
“출수 후 등숙 기간에 있어서 기온 교차가 크고 강수량이 적은 것은 천립중의 증가에 영향을 주어 곡립을 충실하게 한다.” - 길잡이 70p
-
“밀재배기간 중 가뭄에 의한 감수를 피하기 위하여 관수를 할 경우가 있는데, 강우량이 적은 3월부터 5월까지 밀 생육 시기에 따른 관수 효과는 이삭 밸 때(수잉기)부터 이삭 팰때(출수기)에 관수하면 16% 정도 증수한다.” - 길잡이 152p
-
Stem Extenstion (신장기)와 Ripening (등숙기)는 강수량에 따른 수량 증대에 있어 통계적으로 유의했으나, Heading(출수 및 개화기)의 경우 유의함을 보이지 않았다.
-
“벼에 있어서 등숙기는 뿌리의 활력이 급격히 감소되는 시기 이므로 계획적인 관개 조절은 벼 생육에도 도움이 되고 밀 파종에도 반드시 필요한 작업이다.” - 길잡이 107p
-
출수 후 등숙 기간에 있어 강수량이 적은 것이 천립중의 증대에 영향을 준다는 길잡이와는 다르게 수량이 많이 나온 해에 등숙기 강수량이 많았다는 점에서 모형이 이를 묘사하지 못하거나, 등숙기의 경우 뿌리의 활력이 감소되기 때문에 강수량이 충분한 시기에 생육에 도움이 될 수도 있는 두가지 관점으로 해석이 가능할 것으로 보인다.
강수량과 수량
- 토양 수분
토양 수분과 수량
-
Stem Extension (신장기), Heading (출수 개화기), Ripening (등숙기)는 모두 통계적으로 유의했으나, Tillering (분얼기)는 유의하지 않았다.
-
low5의 토양 수분이 Heading (출수 개화기), Ripening (등숙기)에서 Top5 보다 작았다는 점에서 길잡이에서 주장하는 수잉기, 출수 개화기에 토양 수분 함량이 높을 경우 수량이 증가한다는 이론에 부합하는 결과로 해석할 수 있으며, 관수시 수량을 증대 시킬 수도 있다는 결론을 내릴 수 있을 것으로 보인다.
-
Heading 시기에 top 5와 low5 사이에서 강수량의 경우 유의미한 차이가 없었으나, 토양 수분의 경우 유의미한 차이가 있었다.
-
Ripening (등숙기)에 Top5 와 low5 사이에서 강수량과 토양수분 모두 유의한 차이가 있었다.
-
“개화기 이후에는 단기 수분 부족일지라도 종실 수량에 지대한 영향을 줄 수 있다. 출수 전후 20일간의 가뭄에 의한 피해가 가장 커서 밀의 경우 73%나 감수한다. 감수 원인은 수량 구성 요소 중에서 이삭 당 입수와 천립중의 감소가 컸으며, 생육 재생기 전후의 장기간 가뭄 피해는 불임이 많이 발생하는 것이 특징이다.” - 길잡이 152p
- 강수량의 Stage별 ANOVA 분석
coef std err t P>|t| [0.025 0.975]
--------------------------------------------------------------------------------------------------------------------------
Intercept 20.6756 5.736 3.604 0.000 9.427 31.924
C(yield_rank)[T.top5]:C(thermal_stage)[Heading] 1.7948 7.973 0.225 0.822 -13.840 17.430
C(yield_rank)[T.top5]:C(thermal_stage)[Ripening] 44.1884 11.519 3.836 0.000 21.601 66.776
C(yield_rank)[T.top5]:C(thermal_stage)[Stem Extension] 21.0751 4.329 4.869 0.000 12.587 29.564
C(yield_rank)[T.top5]:C(thermal_stage)[Tillering] -6.6996 2.577 -2.600 0.009 -11.752 -1.647
- 토양 수분의 Stage별 ANOVA 분석
coef std err t P>|t| [0.025 0.975]
--------------------------------------------------------------------------------------------------------------------------
Intercept 0.4304 0.005 90.138 0.000 0.421 0.440
C(yield_rank)[T.top5]:C(thermal_stage)[Heading] 0.0558 0.007 8.411 0.000 0.043 0.069
C(yield_rank)[T.top5]:C(thermal_stage)[Ripening] 0.0800 0.010 8.344 0.000 0.061 0.099
C(yield_rank)[T.top5]:C(thermal_stage)[Stem Extension] 0.0225 0.004 6.258 0.000 0.015 0.030
C(yield_rank)[T.top5]:C(thermal_stage)[Tillering] -0.0014 0.002 -0.666 0.506 -0.006 0.003
APSIM Scenario Dashboard
Soil Water Content
-
윤교수님과의 디스커션 이후 initial Soil Water Content를 다르게 시도해보았다.
-
Soil Water Content를 산정할 때 LL (Lower Limit)와 DUL (Drained Upper Limit) 사이를 PAWC (Plant Available Water Capacity)로 정의한다. 예를 들자면 LL은 양동이의 바닥이고, DUL은 포장 용수량, SAT는 양동이의 맨 위를 의미한다.
-
기존의 Soil Water Content는 다음과 같았다.
기존의 Soil Water Content
-
용적 밀도 (Bulk Density, BD)가 loam과는 다른 0.7 수준이었으며, 모델에서 제한하는 Wheat LL (Lower Limit water availability)는 0.3수준이고 포화 수분 함량 (Saturation, SAT) 지점이 0.6으로 이미 충분히 물이 공급되어있는 상태였다.
-
이를 미루어 짐작해 보았을 때 위 APSIM Scenario Dashboad에서 Best와 Worst 사이의 수량 차이가 크지 않았다.
-
이미 토양에 물이 충분했기 때문에 fluctuation이 크지 않았을 가능성이 있다고 판단하여 Soil Water Content를 줄여서 다시 시뮬레이션하였다.
재조정한 Soil Water Content
- 용적밀도 (Bulk Density, BD)를 1.5로 상향 조정하였고, Soil Water Content를 줄이고자 DUL (Drained Upper Limit)를 0.4 수준으로 하향 조정하였다.
-
통계 결과는 변하지 않았으나, 생산량 상위 5년과 하위 5년 사이의 Yield, Soil Water Storage, Rain의 차이는 조금 더 눈에 띄는 정도로 차이가 발생하였다.
-
특히 Rain의 경우 생산량 상위 5년의 강수량이 하위 5년 보다 높게 나타났다.
2023년 Soil Water Content
- 전북 남원시 운봉읍의 2023 밀 시험 포장 필지의 토양 수분 데이터와 APSIM 토양 수분 데이터와 비교한 결과이며, R 스퀘어는
0.79
수준이다.
2023년 Soil Water Content
-
하지만 2022년의 경우 R 스퀘어는
0.70
수준이지만, 전체적으로 위로 시프트 되어있었다. -
원인 파악 및 해결을 위해 1983년 부터 2023년까지 한번에 시뮬레이션하여 (Simulation Continuous) 년마다 끊어서 시뮬레이션 했을 때와의 차이를 확인하고자 했으나, 큰 차이는 보이지 않았다.
-
2022년의 토양 수분 함량의 실제 값과 모델 값의 차이가 큰 이유로는 벼 이모작, 경운을 반영하지 않았다는 점이 있다. 벼 재배, 경운으로 인하여 토양 성질이 변하였을 가능성이 있다. 하지만 모델에는 이 점을 반영하지 않았다.
-
2022년 토양 수분 함량의 경우 시뮬레이션 값이 높게 도출되었으나, 전체적인 경향은 일치하다는 점에서 기상요인과 생육으로 인한 토양 수분 함량 변화는 잘 묘사할 수 있는 것으로 보인다.