SOI PHASES MODULE: Adding SOI capability to APSIM

 

Introduction

Many farming decisions are influenced by the long-range climate outlook and specifically by the phases of the SOI (Stone et al., 1996). Examples are, for instance,

There are many more of these decisions. In order to simulate the tactical and strategic responses to SOI conditions, the SOI module was developed that allows conditional systems simulations based on the SOI phases.

 

Implementation

The SOI Phases module requires an up to date list of soi phases. This is usually comes with your apsim installation as %apsuite\apsim\soi\sample\phases.soi. This source of this file is \\thor\public\met\phases.soi .

 

To make the module available to APSIM the following line should be added to the configuration (.con) file:

 

    module = soi phases.soi [soi]

 

Manager Rules

The basic format of the SOI module syntax is:

 

    Soi[<month> or <lag>] = <phase>

 

Where <month> is a month in either numeric format (1,2,3,4….12) or 3-letter month abbreviation

(Jan,Feb,Mar….Dec). The full Date will also work, but remember the SOI Phases are monthly values.

 

Where <lag> is a negative or zero numerical value that indicates the number of months prior to the current

Date, that we are comparing the SOI Phase to. Eg: -1 is one month prior, -2 is two months prior…

 

Where <phase> is the SOI Phase we are comparing to. There are five Phases, 1 to 5:

 

1 – Consistently Negative SOI

2 – Consistently Positive SOI

3 – Rapidly Falling SOI

4 – Rapidly Rising SOI

5 – Consistently Near Zero SOI

 

Examples

! Sow Sorghum if the SOI Phase in February is Consistently Negative

If soi[Feb] = 1 then

    Sorgum sow …..

Else

    Cotton sow ….

Endif

 

! Set the Soilwater if the current SOI Phase is Rapidly Rising

if soi[0] = 4 then

    soilwat2 init

    soilwat2 set sw = 0.344 0.347 0.369 0.33 0.34 0.33 0.345 (mm/mm)

endif

 

Other examples

If soi[‘-1'] = 1 then ß Notice the inverted commas around the negative value

If soi[‘15-Oct'] = 5 then

if (today = date('15-Oct') AND soi[‘-2'] = 3) then

 

Report Rules

The SOI Phases module is used in the Report module as it is in the Manager, with one exception.

Because the Report module doesn't use the Manager to parse its variables, lag values (negative numbers) should not be enclosed in inverted commas.

 

Examples

Module_names = soi

Variable_names = soi[Apr]

Variable_alias = soi

Units = -

 

Module_names = soi

Variable_names = soi[-2]

Variable_alias = soi[-2]

Units = -