Fertiliser
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
endif
endif
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).