The economics module in APSIM was developed primarily to serve as another input to the management module - as an index of farm "stress" that modifies the risk aversion of the farm manager.
To this end, it simply maintains a cash balance through the simulation, which monitors all financial activity (eg. income, expenses, loan repayments).
The bottom line is that all events that occur on a farm have a cost, and these events MUST be captured by the economics module for a realistic simulation.
This includes not only crop income & expenses, but also annual operating expenses and capital replacement.
As with all apsim modules, the economics module responds to events. The main events of interest are "income" and "expenditure" events. The module will generate an "end_financial_year" event that other modules may have an interest in, internally it will calculate loan repayments on this date.
Typically, these events are generated from within the manager module, for instance when sowing or harvesting a crop, preparing a seedbed, spraying for weeds and so on.
The events contain parameters; typically most define a rate, category and area. The module will write a line to the summary file describing the outcome of the event, and alos a line in the cash journal.
economics expenditure category = seedcost, name = wheat, rate = 120 (kg/ha), area = 200 (ha)
Here the module will look up the entry "wheat" in its "seedcost" section, multiply by rate by area and subtract the total from the current balance.
Note that while units are specified, no unit conversion is performed. As well the paddock area must be specified.
cropyieldTONNES = wheat.yield / 1000.0
protein = wheat.grain_protein
economics income category= cropprice, name = wheat, yield = cropyieldTONNES, protein = protein, area = 200 (ha)
cropyieldTONNES = sorghum.yield / 1000.0
economics income category= cropprice, name = sorghum, yield = cropyieldTONNES, area = 200 (ha)
The first example shows the manager calculating a crop yield in tonnes and grain protein content, then telling the economics module (wheat price is dependent on quality). The second is a simpler version of the same.
The simulation starts with an initial capital investment loan. All machinery items have an initial age, and are replaced when they exceeds thier useful life. Payments for these loans are made at the end of each financial year.
Additional machinery is created by duplicating an existing node in the the ApsimUI tree. Simply rename the node, and check that the "Apsim Name" is unique.