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