디지털 농업: 밀 작물 모형을 이용한 의사 결정
작물모형을 이용한 의사 결정을 위해 과거 40년 기상자료를 토대로 APSIM 결과 분석

모델링 - 지난 글




목표



과거 40년 기상 자료 분석

tavg_1983평균 온도


rainfall_1983강수량


밀 생장 단계 (Stage)

길잡이 stage

다음은 농진청의 농업기술길잡이의 밀 생장 단계이다.


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

image


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

image


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"


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 결과 분석

image

image

image


평균온도 (tavg) 분석


thermal_tavgfeekes stage

yield_tavg



강수량 및 토양 수분 분석

thermal_rain3강수량과 수량


thermal_soil토양 수분과 수량



                                                             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


                                                             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

dashboard

dashboard_rain_sws

dashboard_rain_toplow


Soil Water Content

image기존의 Soil Water Content


image재조정한 Soil Water Content


dashboard

dashboard_rain_sws

dashboard_rain_toplow



image2023년 Soil Water Content


image2023년 Soil Water Content