모델링 - APSIM 7.10 UI 사용법 정리
APSIM 7.10 UI에 대한 설명과 사용 방법에 대하여 정리

모델링 - 지난 글

목차

  1. 기상 데이터
  2. APSIM UI




참고 링크:
작물 모형의 종류
APSIM Python
APSIM Python

APSIM이 무엇인지는 지난 글을 통해서 수차례 설명했기 때문에 본 글에서는 패스 하겠다. 궁금하다면 지난 글을 참고하고 그래도 모르겠다면 다른 레퍼런스들을 참고하면 좋을 듯 하다.


기상 데이터

작물 모형 (crop model) 을 구동하는 데에 있어 기상 환경 자료는 필수 불가결한 입력자료이다. 현재 까지 개발된 작물 모형은 G(Gene) x E(Environment) x M(Management) 의 메커니즘을 따른다. (스마트팜학과 학생이라면 정밀농업 수업에서 배우게 될 개념) 여기서 E에 해당하는 것이 바로 기상 자료이기 때문에 기상 자료가 없다면 작물 모형 구동이 불가능할 뿐더러 구동이 된다 하더라도 좋은 결과는 기대하기 어려울 것이다.

따라서 본 탭에서는 APSIM 이라는 작물 모형을 구동 하기 위해 필요한 기상 자료를 기상청 API를 통해서 수집하고 적합한 포멧으로 변환하는 방법을 소개하고자 한다.

https://github.com/EthanSeok/APSIM_Python 본 링크에서 APSIM_calibration 폴더에 기상자료 수집 및 전처리 과정을 파이썬을 이용하여 자동화 할 수 있도록 정리해 놓았다. 해당 폴더를 다운받고, preprocess 폴더 내에 있는 preprocess_weather.py 파일을 실행 시키면 기상 자료를 APSIM 포멧에 맞도록 수집 및 전저리가 가능할 것이다. (KOSIS 생산량 자료가 있는 지역만 다운로드 가능하도록 되어있음. 자세한 구동방법은 README 참고)

정상적으로 실행 시 output 폴더가 생성되며, 그 구조는 다음과 같다.

├─output
│ ├─cache_weather
│ ├─kosis
│ ├─kosis_wheat
│ ├─weather_met
│ ├─weather_txt
│ └─weather_xlsx

여기서 우리가 APSIM을 구동하는데에 있어 필요한 파일은 weather_met 폴더 내에 있는 파일이다. 기상 자료 포멧은 는 다음과 같다. image



APSIM UI

APSIM GUI를 구동하면 다음과 같은 화면을 볼 수 있다.

image


최상단 및 하단에 있는 메뉴 박스에는 APSIM에서 사용가능한 다양한 기능들이 아이콘 형태로 표시되어 있다. 작물 모형을 구동하는 과정을 진행하면서 하나하나 살펴보도록 하겠다.


New Simulation 생성

왼쪽 최상단에 위치한 New Simulation 버튼은 클릭하면 다음과 같은 폴더가 출력된다.

image


여기서 각종 시뮬레이션 옵션의 Base 세팅을 볼 수 있다. 여러 작목에 대한 기상, 물, 잡초 등의 시나리오를 시뮬레이션 할 수있다. 하지만 본 글에서는 국내 밀(Wheat)의 연속 작기에 대한 시뮬레이션 을 다루어 볼 것이므로 Continuous Wheat.apsim을 클릭하여 생성해 주자.

생성시 다음과 같은 화면이 출력된다.

image


좌측 바에 다양한 메뉴가 생성되었으며, 추가하거나 제거하여 실험에 적합한 환경을 설정하는 Calibration 작업을 수행할 수 있다. (이것 또한 정밀농업에서 다루는 개념이니 작물 모형을 공부하고 싶다면 반드시 정밀농업을 수강하세요)


met

왼쪽 메뉴바에서 met을 클릭하면 다음과 같은 화면이 출력된다.

image


APSIM에서 기본으로 제공하는 디폴트 기상환경이며, 우리는 국내 환경에 대한 기상자료를 적용해 볼 것이다. 기상 자료는 위에서 잘 만들었으니 경로만 잘 설정해 주면 될 것이다. Browse 버튼을 클릭하여 위에서 생성한 output - weather_met 폴더에서 Andong_weather.met을 지정해 보도록 하자.

image


혹시나 아래와 같은 에러가 발생했다면, 이는 테이블에 nan 값이 존재하여 발생한 에러이므로, nan이 존재하는 행을 지우고 다시 불러오면 해결될 것이다.

image


올바르게 불러왔다면 다음과 같에 에러 없이 테이블이 바뀐 것을 확인할 수 있을 것이다.

image


기상 자료를 불러오면 APSIM UI 내에서 자동으로 그래프를 그려준다. ex) 연도별 강수량, 월별 강수량, 기온, 광량

image image image image



clock

왼쪽 메뉴바에 있는 clock은 시뮬레이션을 진행할 시간을 설정하는 탭이다. 시뮬레이션 하고자 하는 시간을 yyyy-mm-dd 포멧으로 입력한다.

image

추가로 APSIM config 파일에는 다음과 같이 업데이트 된다.

image



summaryfile

summaryfile은 시뮬레이션 구동시 시뮬레이션 과정을 로깅하는 .sum 파일을 UI상에 출력해주는 기능이라 생각하면 된다.


paddock

토양 옵션 - 추가 업데이트 예정

soil - Initial water

image


soil - water

image


soil - SoilOrganicMatter

image


soil - Analysis

image


soil - Initial nitrogen

image


SurfaceOrganicMatter

유기물 옵션

image


Description value
Organic Matter pool name wheat
Organic Matter type wheat
Initial surface residue (kg/ha) 0
C:N ratio of initial residue 0
Fraction of residue standing 0


wheat

작물의 상세 품종에 관한 설정 옵션

작물 마다 상세 품종에 대한 변수를 추가로 설정할 수 있다. 밀의 경우 조경, 새금강, 금강 등이 있으며, 본 글에서는 새금강 품종을 적용 시켜 볼 것이다. 새금강에 대한 APSIM 품종 자료는 이곳에서 확인할 수 있다.

image


”‘'" 사이에 링크 내에 코드를 입력하면 적용된다.


Manager folder - Crop Management

image


sowing criteria

Description value
Enter sowing window START date (dd-mmm) 10-Oct
Enter cultivar change date (na if not in use) na
Enter sowing window END date (dd-mmm) 22-Oct
Must sow yes
Enter amount of cumulative rainfall (mm) 25
Enter number of days to accumulate rainfall (days) 7
Enter amount of soil water (mm) 100


sowing Parameters

Description value
Enter cultivar : Saegeumgang
Enter 2nd Cultivar (na if not using a second cultivar) na
Enter sowing density (plants/m2) 100
Enter sowing depth (mm) 30
Enter row spacing (mm) 250


Extra Parameters

Description value
Enter Fertile Tiller Number (na for auto) : na
Skip row : solid
Name of tillage implement (na if not in use): na


Manager folder - Fertilise at sowing

하단 Management를 클릭하면, 아래 화면과 같이 Toolbox 메뉴바가 출력된다.

image


Management - Manager (common task) 폴더에 다음과 같이 다양한 Management 옵션을 확인할 수 있으며. 원하는 옵션을 Manager foler로 드래그 앤 인풋하여 추가한다.

image


image

When should fertiliser be applied

Description value
On which module should the event come from : wheat
On which event should fertiliser be applied : sowing


Fertiliser application details

Description value
Module used to apply the fertiliser : fertiliser
Amount of starter fertiliser at sowing (kg/ha) : 100
Sowing fertiliser type : urea_N


Manager folder - Sow on a fixed date

image

Description value
Enter sowing date (dd-mmm) : wheat
Enter sowing density (plants/m2) : 280
Enter sowing depth (mm) : 50
Enter cultivar : saegeumgang
Enter crop growth class : plant
Enter row spacing (mm) : 200


Manager folder - Harvesting rule

image

Description value
Enter name of crop to harvest when ripe : wheat


Manager folder - Fertilise on fixed date

image

When should fertiliser be applied

Description value
Enter fertiliser date (dd-mmm) : 24-Mar
Don’t add fertiliser if N in top 2 layers exceeds (kg/ha) : 1000


Fertiliser application details

Description value
Module used to apply the fertiliser : fertiliser
Amount of fertiliser to apply (kg/ha) : 100
Fertiliser type : urea_N



outputfile


outputfile - Variables

outputfile은 모델 결과를 출력하기 위한 설정 탭이다. Variables에서 출력할 결과 목록을 추가할 수 있다.

image

Output file columns Variables to drag onto grid:
dd/mm/yyyy as Date clock
biomass wheat
yield wheat
grain_protein wheat
grain_size wheat
esw soil
lai wheat
fertiliser fertiliser


outputfile - Variables

Output file columns Frequency list - drag to the grid
end_day clock

end_day는 시뮬레이션 결과 도출을 시뮬레이션이 끝나는 날 까지 매일 결과를 기록한다.


Run

모든 설정을 완료했다면 오른쪽 상단에 있는 run을 클릭하여 모형을 구동할 수 있다.


구동 결과

image


다음과 같이 모델이 정상적으로 구동되었다면, outputfile 탭에 정상적으로 출력될 것이다. 만약 값이 없거나 올바르게 출력되지 않는다면, summaryfile을 체크해 보도록 하자. error 메세지가 있을 테니..


Graph

다음은 모형 결과를 토대로 그래프를 그리는 방법에 대하여 소개하겠다.

아래 하단 graph를 클릭하면 다음과 같이 그래프 생성 툴박스가 출력된다.

image


XY를 simulations 폴더에 추가하고, Plot을 클릭하면, 그래프 옵션을 선택할 수 있다.

Graph - Plot

image


중앙 두개의 박스를 클릭하면 분홍색으로 바뀌며, 이때 아래 테이블의 컬럼을 클릭하면 해당 값에 해당하는 그래프를 그릴 수 있다.


아래 그림은 작기에 따른 LAI 그래프이다.

image