The APSIM Fertilizer Module (FERTILIZ )

 

The APSIM fertiliz module allows the user to specify the application of solid fertilizer to an APSIM “system” using a schedule spanning multiple years. There is also total flexibility for user specification of fertilizer components.

 

Parameter File Settings

The user has the option of specifying a fixed fertilizer schedule via the fertiliz module's parameter file .

 

Keyword = Setting

Description

day = day1, day2, ... , dayn

Day of year of application

year = year1, year2, ... , yearn

Year of application

amount = amount1, amount2, ... , amountn

Amount of fertilizer applied in kg/ha

type = type1, type2, ... , typen

Type of Fertilizer applied

depth = depth1, depth2, ... , depthn

depth of application in mm

 

An example of the required initialisation data follows:-

 

[user_data_group.fertiliz .parameters]

  day = 100 120 ()       ! day of year of application

  year = 1994 1994 ()    ! year of application

  amount = 50 30 (kg/ha) ! amount of fertilizer (kg/ha)

  type = urea urea ()    ! code for fertilizer type

  depth = 5 10 (mm) ! depth of application (mm)

 

Note:- This schedule specification is totally optional and can be ignored if scheduling is to be achieved via the manager or another module.

 

Requesting fertilizer application from other modules

 

Any module can request fertilizer application using standard APSIM messages. The only data required to specify the operation is amount of fertilizer to apply, the type of fertilizer, and the depth at which it is applied. The format of a message to apply 50 kg/ha of urea at a depth of 50 mm would be as follows.

 

fertiliz apply amount = 50(kg/ha), depth = 50 (mm), type = urea()

 

In this case “fertiliz ” is the name of the module and “apply” is the action that it responds to. The action “fertilize” can be used in place of the action “apply”.

 

An alternate approach is to use a keyword naming convention to “set” a fertilizer application property in the fertilizer module. The fertilizer module will interpret any set command variable name starting with “fert_” as a fertilizer command and will use this information to apply fertilizer to the surface layer.

 

if das = 1 then

    soilno3 = no3(1) + no3(2)

    if (soilno3 < 50) then

        fertiliz.fert_no3_n = 50 – soilno3

    endif

endif

 

In this example manager logic the fertilizer module will apply adequate nitrate nitrogen to bring the total nitrogen content of the top 2 surface layers to 50 kg/ha on the day of sowing.

 

Specifying Fertilizer Constituents

The user has the total flexibility to configure (or describe) within the module's constants (.ini) file what a certain fertilizer contains. To do this the user specifies the fractional (on weight basis) component of the fertilizer for any substance known by the system. A full name can also be specified for use in model outputs.

 

For example:-

    [standard.fertiliz .NO3_N]

        full_name = Nitrogen as Nitrate

        components = no3

        fraction = 1.0

 

This tells us that the fertilizer ‘NO3_N' is made up of one substance called no3. More complex examples may be:-

 

To specify Urea in terms of N per unit area:-

    [standard.fertiliz .Urea_N]

        full_name = Nitrogen as Urea

        components = urea

        fraction = 1.0

 

To specify Urea in terms of weight of fertilizer:-

    [standard.fertiliz .Urea]

        full_name = Urea

        components = urea

        fraction = 0.46

 

(the component called urea is described in APSIM in terms of weight of nitrogen and so the fraction must represent the fractional weight of nitrogen in urea)

 

To specify the relevant components of a compost:-

    [standard.fertiliz .compost]

        fullname = Organic Matter (Compost)

        components = no3 nh4 org_n org_c_pool3

        fraction = .05 .05 .10 .50

 

Where org_c_pool3 is the carbon pool least susceptible to decomposition and org_n is the nitrogen content of fresh organic matter. See the SoilN2 documentation for further details.

 

Once you have specified the composition of a fertilizer the module will find any module that owns each of the components and will send an increment to them respectively. There is a current limit of twenty components per specification.

 

Fertiliz Module Outputs

The Fertilz module has one output, fertilizer, which is the total amount of fertilizer added on any day (kg/ha).