The APSIM fertiliser 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 fertiliser components.

Requesting fertiliser application from other modules

Any module can request fertiliser application using standard APSIM messages.
The only data required to specify the operation is amount of fertiliser to apply, the type of fertiliser, 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.

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

In this case “fertiliser” is the name of the module and “apply” is the action that it responds to.”.

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

if das = 1 then

soilno3 = no3(1) + no3(2)

if (soilno3 < 50) then

fertiliser.fert_no3_n = 50 – soilno3




In this example manager logic the fertiliser 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 Fertiliser Constituents

The user has the total flexibility to configure (or describe) within the module’s constants (.ini) file what a certain fertiliser contains. To do this the user specifies the fractional (on weight basis) component of the fertiliser 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 fertiliser ‘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 fertiliser:-

[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 fertiliser 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.

Fertiliser Module Outputs

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