Skip to content

03 EP: Calculate a Planning Balance

luFrVa edited this page Feb 6, 2025 · 48 revisions

Request Structure

Main JSON Object Structure (Collapsed)

The main structure of a planning balance request depicts the calculation process and is divided into the following main objects:

{
    "nutrientCycle": {
        "animalStock": [{
        "storage": {
        "fieldSpreading": {
        "lifetimePerformance": {
        "farmManureTrading": {
        "fodder": {
        "fieldCultivation": {
        "generateReport": true
    },
    "additionalModules": {
        "impex": [{
        "linearCorrection": {
    }
}

The request is divided in nutrientCycle and additionalModules. While the objects of nutrientCycle calculate the main part of NC, additionalModules can be used for an upstream IMPEX and LK calculation. IMPEX and LK results can subsequently used for nutrientCycle calculations, as described in the Chapter nutrientCycle.animalStock.

nutrientCycle

The nutrient cycle (NC) shows the cycle of nutrients inside and outside a farm. With regard to the subsequent nutrient balance (ExBi & SuiBi), the number of nutrients produced and reused within the farm is analysed, taking numerous factors into account. Nutrients are generally balanced per farm.

Object Structure Description

name type description dependency
animalStock array Animal livestock properties. For each animal an object inside the array animalStock needs to exist. Array can be left empty if business has no animal livestock. none
storage object Manure and slurry storage properties Object can be left empty if business has no manure or slurry storage. none
fieldSpreading object Field spreading and application of farm manure, recycling and mineral fertiliser properties. Object can be left empty if business has no specific spreading measures. none
lifetimePerformance object Lifetime Performance properties of animalStock. Object can be left empty if animalStock has no specific Lifetime Performance measurement. none
farmManureTrading object Manure and slurry trading information Object can be left empty if business has no manure or slurry trading. none
fodder object Fodder trading and production from non fodder cropland. Information is required in order to calculate fodder balance. Object can be left empty if business has no fodder consumption by animal stock. none
fieldCultivation object Plant Cultivation information Object can be left empty if business has no plant cultivations. none
generateReport boolean When set to TRUE PDF-report for SuisseBilanz Results is generated. none

Based on the number of animals present, their duration of stay on the farm including absences NBS calculates for each animalCategoryPRIF the entirely excreted total nitrogen (NTOT) and the amount of soluble nitrogen (NLOS) as well as the nutrients phosphorus pentoxide (P2O5), potassium oxide (K2O5) and magnesium (MG). Ammonia Emission (NH3) is calculated based on the inputs of nutrientCycle.animalStock.formOfDetention, nutrientCycle.storage and nutrientCycle.fieldSpreading The input of emission modifying factors (EMF) for the correction of the calculated nitrogen and NH3 emissions are optional for ExBi.

The following objects in nutrientCycle have optional input fields correcting nutrients by EMF:

nutrientCycle.animalStock

The array animalStock inside nutrientCycle is needed to percieve informaiton regarding general information of animal livestock, form of animal detention and feeding, and also provides the connecting point between additionalModules and nutrientCycle. For each animalCategoryPRIF one animalStock object has to be declared. Information regarding form of detention such as grazing and housing have to be declared for each animalCategoryPRIF separately.

JSON Object Structure (Expanded)

        "animalStock": [{
                "order": "string",
                "animalCategoryPRIF": 0,
                "livestockReportViaAnimalTracingOriginal": {
                    "quantityTotal": 0,
                    "surveyFarmDetails": {
                        "quantity": 0,
                        "durationSum": 0
                    }
                },
                "livestockReportedViaAnimalTracingFinal": {
                    "quantityTotal": 0,
                    "surveyFarmDetails": {
                        "quantity": 0,
                        "durationSum": 0
                    }
                },
                "selfReportedLivestock": {
                    "averageQuantity": 0,
                    "durationSum": 0
                },
                "daysAbsent": 0,
                "utilisation": 0,
                "formOfDetention": {
                    "hasGrazing": true,
                    "pasture": {
                        "days": 0,
                        "hoursPerDay": 0
                    },
                    "stall": {
                        "stableSystem": "string",
                        "stableCapacity": 0,
                        "stableVentilationType": 0,
                        "stableAirPurificaiton": 0,
                        "hasStableDeepLitter": true,
                        "hasStableManureBeltDrying ": true,
                        "stableManureRemovalFrequency": 0,
                        "stableWaterSupply": 0,
                        "hasStableManureAndSlurryProduction": true,
                        "hasStableFeedingStationElevated": true,
                        "hasStableFloorSlopedUrineDrainage": true,
                        "hasYard": true,
                        "yardFeeding": 0,
                        "yardFloorType": 0,
                        "yardDays": 0,
                        "yardHoursPerDay": 0
                    }
                },
                "hasImpexDerivedExcretion": true,
                "hasLinearCorrectionDerivedExcretion": true,
                "feeding": {
                    "fodderConsumption": 0,
                    "concentratedFeedstuffConsumption": 0,
                    "winterFeeding": {
                        "feedingRoutine": [{
                                "feedstuffProductType": "string",
                                "transactionUnit": "string",
                                "quantity": 0
                            }
                        ],
                        "dailyConcentratedFeedStuff": {
                            "quantity": 0
                        }
                    },
                    "summerFeeding": {
                        "feedingRoutine": [{
                                "typeOfFeedstuffProduct": "string",
                                "transactionUnit": "string",
                                "quantity": 0
                            }
                        ],
                        "dailyConcentratedFeedStuff": {
                            "quantity": 0
                        }
                    }
                }
            }
        ]

Object Structure Description

Objects and arrays are linked with their respective structure description

name type description dependency
order string Order of the animal. Helps to identify animal in result set. No limitations in terminology. none
animalCategoryPRIF number(id) PRIF-animal categories correspond to all listed animal categories according to the Suisse-Bilanz guidelines. The nutrient content in Ntot, P2O5, Mg and K2O per animal category is based on the PRIF. The proportion of NLOS according to the Agrammon technical parameter model. none
livestockReportViaAnimalTracingOriginal object Information on animal stock data according to animal tracing. Mandatory if livestockReportViaAnimalTracingFinal and selfReportedLivestock are empty livestockReportedViaAnimalTracingFinal selfReportedLivestock
livestockReportedViaAnimalTracingFinal object Information on animal stock according to animal tracing and cantonal correction. Mandatory if livestockReportViaAnimalTracingOriginal and selfReportedLivestock are empty livestockReportViaAnimalTracingOriginal selfReportedLivestock
selfReportedLivestock object Self declared information on animal stock. Mandatory if livestockReportViaAnimalTracingOriginal and livestockReportViaAnimalTracingOriginal are empty livestockReportViaAnimalTracingOriginal livestockReportViaAnimalTracingOriginal
daysAbsent number(float) Temporarily absent animals from the specific animal group on the entire farm. E.g. retired cattle. Summering has already been taken into account. none
utilisation number(id) Form of utilisation of animalCategoryPRIF none
formOfDetention object Information regarding animal detention none
hasImpexDerivedExcretion boolean Has to be set "true" when nutrient accumulation for animal is derived from impex in additionalModules. Can only be set as true if same animalCategoryPRIF is used for calculation of IMPEX balanceLowerBound additionalModules.impex.balanceLowerBound
hasLinearCorrectionDerivedExcretion boolean Has to be set "true" when nutrient accumulation for animal is derived from linearCorrection in additionalModules. Can only be set as true if same animalCategoryPRIF is used for linearCorrection calculation. additionalModules.linearCorrection.balanceLowerBoun
feeding object Feeding information of animalCategoryPRIF. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.animalStock.livestockReportViaAnimalTracingOriginal

Object Structure Description

name type description dependency
quantity number(float) Number of animalCategoryPRIF according to animal tracing. none
durationSum number(id) Number of animalCategoryPRIF in days according to animal tracing. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.animalStock.livestockReportedViaAnimalTracingFinal

Object Structure Description

name type description dependency
quantity number(float) Number of animalCategoryPRIF according to animal tracing and after cantonal correction. none
durationSum number(id) Number of animalCategoryPRIF in days according to animal tracing and after cantonal correction. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.animalStock.selfReportedLivestock

Object Structure Description

name type description dependency
averageQuantity number(float) Total number of animals per animalCategoryPRIF of all animal categories self declared. none
durationSum number(id) Total stay per animalCategoryPRIF and year on the farm in days for all animal categories self declared. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.animalStock.formOfDetention

Object Structure Description

Objects and arrays are linked with their respective structure description

name type description dependency
hasGrazing boolean Set 'true' if animalCategoryPRIF has grazing (freerange or stay on pasture) none
pasture object Object for quantitative input for animalCategoryPRIF during pasture stay. Dependend on animalCategoryPRIF if input allowed. animalCategoryPRIF
stall object Object housing input for animalCategoryPRIF. Dependend on hasGrazing in combimation with animalCategoryPRIF if input allowed. animalCategoryPRIF in combination with hasGrazing

Exceptions for ExBi and Suibi: stall

  • For animalCategoryPRIF belonging to zoologicalAnimal Pigs with hasGrazin is set "true":
  • Object stall must be empty.
nutrientCycle.animalStock.formOfDetention.pasture

Object Structure Description

name type description dependency
days number(float) Number of days per year spent on pasture per animalCategoryPRIF. Cannot be empty, when hasGrazing is set "true". Exceptions described below. hasGrazing animalCategoryPRIF
hoursPerDay number(float) Hours per day spent on pasture per animalCategoryPRIF. Cannot be empty, when hasGrazing is set "true". Exceptions described below. hasGrazing animalCategoryPRIF
stall object Object housing input for animalCategoryPRIF. Dependend on hasGrazing in combimation with animalCategoryPRIF if input allowed. animalCategoryPRIF in combination with hasGrazing

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

Exceptions for ExBi: days & hoursPerDay

  • For animalCategoryPRIF belonging to zoologicalAnimal Pigs:
  • If hasGrazing:true then days must be 365 and hoursPerDay must be 24
  • For animalCategoryPRIF belonging to zoologicalAnimal Poultry:
  • If hasGrazing:true then days and hoursPerDay must be empty, as values will be determinated automatically

Exceptions for SuiBi: hoursPerDay

  • For animalCategoryPRIF belonging to 'zoologicalAnimal' Pigs or Poultry:
  • If hasGrazing:true then days and hoursPerDay must be empty, as values will be determinated automatically
nutrientCycle.animalStock.formOfDetention.stall

Object Structure Description

name type description dependency
stableSystem string(code) The housing system determing the emission factor in the barn. Housing system must be permitted for the animalCategoryPRIF. animalCategoryPRIF
stableCapacity number(float) Maximum number of animal places in stableSystem. The number of animal places in stableSystem is greater than the stock if, for example, additional animal places are available of a future expansion of stableSystem. none
stableVentilationType number(id) NH3-Emission-modifying air ventilation for stableSystem. Only permitted for certain stableSystem. stableSystem
stableAirPurification number(id) NH3-Emission-modifying exhaust air purifiers for stableSystem. Only permitted for certain stableSystem. stableSystem
hasStableDeepLitter boolean If stableSystem has spreaded straw or sawdust material in indoor booths. Only permitted for certain stableSystem. Can only be set to "true" when hasStableManureAndSlurryProduction is empty or set to "false" stableSystem hasStableManureAndSlurryProduction
hasStableManureBeltDrying boolean If stableSystem has manure drying system where manure falls down on the underlying belt. Only permitted for certain stableSystem. stableSystem
stableManureRemovalFrequency number(id) NH3-Emission-modifying manure removal intervals for stableSystem. Only permitted for certain stableSystem. stableSystem
stableWaterSupply number(id) NH3-Emission-modifying watering system for stableSystem. Only permitted for certain stableSystem. stableSystem
hasStableManureAndSlurryProduction boolean If stableSystem produces both, slurry and manure. Only permitted for certain stableSystem. Can only be set to "true" when hasStableDeepLitter is empty or set to "false" stableSystem hasStableDeepLitter
hasStableFeedingStationElevated boolean If stableSystem has NH3-Emission-modifying feeding level increased to the walkway. Only permitted for certain stableSystem`. stableSystem
hasStableFeedingStationElevated boolean If stableSystem has NH3-Emission-modifying feeding level increased to the walkway. Only permitted for certain stableSystem`. stableSystem
hasStableFloorSlopedUrineDrainage boolean If stableSystem has NH3-Emission-modifying cross slope and urine drainage. Only permitted for certain stableSystem`. stableSystem
hasYard boolean If stableSystem has exercise yard. Only permitted for certain stableSystem`. stableSystem
yardFeeding number(id) Type of forage feeding in the exercise yard. Only permitted for certain stableSystem and when hasYard is set "true". stableSystem hasYard
yardDays number(float) Access time in days per year to the exercise yard. Mandatory when hasYard is set "true" otherwise not permitted. stableSystem hasYard
yardHoursPerDay number(float) Access time in hours per day to the exercise yard. Only permitted for certain stableSystem and when hasYard is set "true". stableSystem hasYard

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

Exceptions for SuiBi:

hasStableDeepLitter

  • For stableSystem belonging to zoologicalAnimal Pigs:
  • hasStableDeepLitter set to "true" is not allowed

stableAirPurification

  • For stableSystem belonging to zoologicalAnimal Pigs or Poultry:
  • Input for stableAirPurification is mandatory
nutrientCycle.animalStock.feeding

Object Structure Description

name type description dependency
fodderConsumption number(float) Consumed fodder in KG per declared animalCategoryPRIF unit. Only allowed for specific animalCategoryPRIF animalCategoryPRIF
concentratedFeedstuffConsumption number(float) Totally consumed concentraded Feedstuff in KG per animalCategoryPRIF. Only allowed for specific animalCategoryPRIF animalCategoryPRIF
winterFeeding object Information regarding feeding hatibs during winter per animalCategoryPRIF. Only allowed for specific animalCategoryPRIF animalCategoryPRIF
summerFeeding object Information regarding feeding hatibs during summer per animalCategoryPRIF. Only allowed for specific animalCategoryPRIF animalCategoryPRIF

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.animalStock.feeding.winterFeeding
name type description dependency
feedingRoutine array Information regarding product type and amount of feedstuff per animalCategoryPRIF. none
dailyConcentratedFeedStuff object Information regarding fed amount of concentraded feedstuff per day per animalCategoryPRIF. none
nutrientCycle.animalStock.feeding.summerFeeding

See winterFeeding

nutrientCycle.animalStock.feeding.winterFeeding.feedingRoutine
name type description dependency
feedstuffProductType string(code) Type of product fed to animalCategoryPRIF. none
transactionUnit string Transaction unit for declared feedstuffProductType describing quantity animalCategoryPRIF. feedstuffProductType
quantity number(float) Amount per product fed to animalCategoryPRIF. none
nutrientCycle.animalStock.feeding.summerFeeding.feedingRoutine

See feedingRoutine

nutrientCycle.animalStock.feeding.winterFeeding.dailyConcentratedFeedStuff
name type description dependency
quantity number(float) Fed amount of concentraded feedstuff per day per animalCategoryPRIF. none
nutrientCycle.animalStock.feeding.summerFeeding.feedingRoutine

See dailyConcentratedFeedStuff

nutrientCycle.storage

The object storage inside nutrientCycle is used to percieve information regarding storage of manure and slurry in their respective manurePit and slurryTank object. Manure and slurry from the following two different objects can be declared as stored: animalStock and farmManureTrading.supply.

JSON Object Structure (Expanded)

        "storage": {
            "stableStrawLitter": 0,
            "manureSupplyProportionStored": 0,
            "slurrySupplyProportionStored": 0,
            "createFacilitySpecificManureProduct": true,
            "createFacilitySpecificSlurryProduct": true,			
            "manurePit": [{
                    "descriptor": "string",
                    "cover": 0,
                    "manureFromAnimalStockStored": [{
                            "manureDerivation": "string",
                            "proportionStored": 1
                        }
                    ]
                }
            ],
            "slurryTankQuantity": 0,
            "dilutionRatio": 0,
            "slurryTank": [{
                    "descriptor": "string",
                    "volumeInM3": 0,
                    "depthInM": 0,
                    "cover": 0,
                    "mixingFrequency": 0,
                    "manureDerivation": [
                        "string"
                    ]
                }
            ]
        }

Object Structure Description

name type description dependency
stableStrawLitter number (float) Amount of straw litter in kilograms distributed in all stabling systems. none
createFacilitySpecificManureProduct boolean If set to true, facility specific manure products are being generated. For this manurePit needs to be declared. manurePit
createFacilitySpecificSlurryProduct boolean If set to true, facility specific slurry products are being generated. For this slurryTank needs to be declared. slurryTank
manureSupplyProportionStored number (float) Percentage of supplied manure from object farmManureTrading.supply which is stored. Percentage which is not declared as stored will be counted as directly applied to the field. Default value is 0, when field is empty. none
dilutionRatio number (float) Average dilution ratio of slurry. If 3m³ of slurry is diluted with 9000 litres of water (1:3), the factor 3 must be entered in the field. none
slurrySupplyProportionStored number (float) Percentage of supplied slurry from object farmManureTrading.supply which is stored. Percentage which is not declared as stored will be counted as directly applied to the field. Default value is 0, when field is empty. none
slurryTankQuantity number (float) Number of present slurry tanks. none
manurePit array Object manure storage input for manure derived from animalStock. If multiple manure pits are present multiple manurePit objects can be declared. none
slurryTank array Object slurry storage input for slurry derived from animalStock. If multiple slurry tanks are present multiple slurryTank objects can be declared. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.storage.manurePit

Object Structure Description

name type description dependency
descriptor string User specific deisgnation of the declared manurePit object. createFacilitySpecificManureProduct
cover number (id) NH3-Emission-modifying cover for declared manurePit object. none
manureFromAnimalStockStored array List of zoologicalAnimal from animalStock for which manure is stored inside declared manurePit object. none
nutrientCycle.storage.slurryTank

Object Structure Description

name type description dependency
descriptor string User specific deisgnation of the declared slurryTank object. animalStock
stall
volumeInM3 number (float) Self-declaration of the volume of the declared slurryTank for calculating the surface area. none
depthInM number (float) Self-declaration of the depth of the declared slurryTank for calculating the surface area. none
mixingFrequency number (id) NH3-Emission-modifying mixing frequency for declared slurryTank object. none
cover number (id) NH3-Emission-modifying cover for declared slurryTank object. none
manureDerivation string(code) List of zoologicalAnimal from animalStock for which slurry is stored inside declared slurryTank object. Only animals from animalStock can be declared, having accumulation of slurry in yard or stall. If zoologicalAnimal with production of slurry is not declared, neither storage nor fieldSpreading nutrition will be calculated for the zoologicalAnimal. animalStock stall
nutrientCycle.storage.manurePit.manureFromAnimalStockStored

Object Structure Description

name type description dependency
manureDerivation string(code) zoologicalAnimal from animalStock for which manure is stored inside declared manurePit object. Only animals from animalStock can be declared, having accumulation of manure in in yard or stall animalStock stall
proportionStored array Percentage of totally accumulated manure in stall and yard from declared zoologicalAnimal wich is stored in the declared manurePit. Percentage which is not declared as stored will be counted as directly applied to the field. none

nutrientCycle.farmManureTrading

The object farmManureTrading inside nutrientCycle is used to percieve information regarding trading of farm manure products such as manure, slurry and fermented slurry. Supplied nutrient from manure and slurry can be added to the storage by declaring manureSupplyProportionStored or slurrySupplyProportionStored inside storage object. Nutrients from manure and slurry which are dispensed are directly substracted from the respective storage of the declared zoologicalAnimal inside the array manureDerivation. Dispensed fermented slurry is substracted from the supplied fermented slurry (if avaliable). Farm manure products can be dispensed even when the declared product is not inside the storage or there was no supply of the product. This case will not result in negative nutrient balance.

JSON Object Structure (Expanded)

        "farmManureTrading": {
            "supply": [{
                    "quantity": 0,
                    "typeOfManureRecyclinogProduct": "string",
                    "transactionUnit": "string",
                    "manureDerivation": [
                        "string"
                    ],
                    "ingredient": [{
                            "quantity": 0,
                            "substance": "string"
                        }
                    ]
                }
            ],
            "dispense": [{
                    "quantity": 0,
                    "typeOfManureRecyclingProduct": "string",
                    "transactionUnit": "string",
                    "manureDerivation": [
                        "string"
                    ],
                    "ingredient": [{
                            "quantity": 0,
                            "substance": "string"
                        }
                    ]
                }
            ]
        }

Object Structure Description

name type description dependency
supply array Object farm manure supply input for supplied farm manure. none
dispense array Object farm manure dispense input for dispensed farm manure. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.farmManureTrading.supply

Object Structure Description

name type description dependency
quantity number(float) Quantity of supplied or dispensed typeOfManureRecyclinogProduct if liquid in m³ if solid in tons. none
typeOfManureRecyclinogProduct string(code) Type of farm manure product supplied or dispensed. Only farm manure products as input possible. none
transactionUnit string Transaction unit for declared typeOfManureRecyclinogProduct describing quantity typeOfManureRecyclinogProduct
manureDerivation array List of zoologicalAnimal from which supplied or dispensed typeOfManureRecyclinogProduct originates. none
ingredient array Nutrient ingredients of supplied or dispensed typeOfManureRecyclingProduct. none
nutrientCycle.farmManureTrading.dispense

See supply

nutrientCycle.farmManureTrading.supply.ingredient

Object Structure Description

name type description dependency
substance string(code) Nutrient substance for declaration of quantity. Mandatory/allowed inputs for typeOfManureRecyclingProduct supply : NTOT,NLOS, P2O5, K2O, MG none
quantity number(float) Quantity of declared substance if liquid per m³ if solid per ton of typeOfManureRecyclingProduct none
nutrientCycle.farmManureTrading.dispense.ingredient

See supply.ingretient |

nutrientCycle.fieldSpreading

The objectfieldSpreading inside nutrientCycle is used to percieve informaiton regarding application of all fertiliser categories on the fields. Application of fertilisers such as recycling and mineral fertilisers can be declared inside the objects recycling and fertiliser respectively. Application characteristics of manure derived from storage.manurePit and non stored manure directly applied from animalStock or farmManureTrading.supply is percieved inside the object fieldSpreading.manure. Application characteristics of slurry derived from storage.slurryPit and non stored slurry directly applied from farmManureTrading.supply is percieved inside the object fieldSpreading.slurry.

JSON Object Structure (Expanded)

        "fieldSpreading": {
            "soilPh": 0,
            "slurry": {
                "quantity": 0,
                "dilutionRatio": 0,
                "otherApplicationTechnologies": [{
                        "applicationTechnologyType": 0,
                        "proportionOfArea": 0
                    }
                ],
                "applicationDuringWarmDays": 0,
                "proportionAppliedSummerMonths": 0,
                "proportionAppliedOtherMonths": 0,
                "proportionAppliedAfter6PM": 0,
                "dragHoseAreaSize": 0
            },
            "manure": {
                "applicationIncorporationTime": 0,
                "proportionAppliedSummerMonths": 0,
                "proportionAppliedOtherMonths": 0
            },
            "fertiliser": [{
                    "fertiliserProductCategory": "string",
                    "quantity": 0,
                    "transactionUnit": "string",
                    "ingredient": [{
                            "substance": "string",
                            "quantity": 0
                        }
                    ]
                }
            ],
            "recycling": [{
                    "typeOfManureRecyclingProduct": "string",
                    "quantity": 0,
                    "transactionUnit": "string",
                    "ingredient": [{
                            "substance": "string",
                            "quantity": 0
                        }
                    ]
                }
            ]
        }

Object Structure Description

name type description dependency
soilPh number (id) Type soil pH range. Mandatory when object fertiliser is declared. none
slurry object Object for slurry application characteristics input for slurry derived from storage.slurryPit and non stored slurry directly applied from farmManureTrading.supply none
manure object Object for manure application characteristics input for manure derived from storage.manurePit and non stored manure directly applied from animalStock or `farmManureTrading.supply
fertiliser array Object for mineral fertiliser application input.
recycling array Object for recycling fertiliser application input.

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.fieldSpreading.slurry

Object Structure Description

name type description dependency
quantity number(float) Average quantity m³ of slurry applied per square acre of land. none
dilutionRatio number(float) Average dilution ratio of slurry. If 3m³ of slurry is diluted with 9000 litres of water (1:3), the factor 3 must be entered in the field. none
otherApplicationTechnologies array Other application technologies than drag hose used for slurry spreading. none
applicationDuringWarmDays number(id) NH3-Emission-modifying declaration of application during warm days. If declared factor is applied to fermented slurry too. none
proportionAppliedSummerMonths number(float) NH3-Emission-modifying declaration of percentage of slurry applied during moths of june, july and august. If declared factor is applied to fermented slurry too. none
proportionAppliedOtherMonths number(float) NH3-Emission-modifying declaration of percentage of slurry applied during rest of the year. If declared factor is applied to fermented slurry too. none
proportionAppliedAfter6PM number(float) NH3-Emission-modifying declaration of percentage of slurry applied after 6pm. If declared factor is applied to fermented slurry too. none
nutrientCycle.fieldSpreading.manure

Object Structure Description

name type description dependency
fertiliserProductCategory string(code) Applied mineral fertiliser product category. none
quantity number(float) Quantity of applied fertiliserProductCategory in kg. none
ingredient array Nutrient ingredients of applied fertiliserProductCategory. none
nutrientCycle.fieldSpreading.fertiliser

Object Structure Description

name type description dependency
fertiliserProductCategory string(code) Applied mineral fertiliser product category. none
transactionUnit string Transaction unit for declared fertiliserProductCategory describing quantity fertiliserProductCategory
quantity number(float) Quantity of applied fertiliserProductCategory in kg. none
ingredient array Nutrient ingredients of applied fertiliserProductCategory. none
nutrientCycle.fieldSpreading.recycling

Object Structure Description

name type description dependency
typeOfManureRecyclingProduct string(code) Applied mineral fertiliser product category. none
transactionUnit string Transaction unit for declared typeOfManureRecyclingProduct describing quantity typeOfManureRecyclingProduct
quantity number(float) Quantity of applied typeOfManureRecyclingProduct if liquid in m³ if solid in tons. none
ingredient array Nutrient ingredients of applied typeOfManureRecyclingProduct. none
nutrientCycle.fieldSpreading.slurry.otherApplicationTechnologies

Object Structure Description

name type description dependency
applicationTechnologyType number(id) NH3-Emission-modifying slurry application type used during field spreading. If declared factor is applied to fermented slurry too. none
proportion number(float) Proportion of non drag horse area in percent, to which extend the declared applicationTechnologyType was applied. none
nutrientCycle.fieldSpreading.fertiliser.ingredient

Object Structure Description

name type description dependency
substance string(code) Nutrient substance for declaration of quantity. Mandatory/allowed inputs for fertiliserProductCategory: NTOT, P2O5, K2O, MG none
quantity number(float) Quantity of declared substance per kg of fertiliserProductCategory none
nutrientCycle.fieldSpreading.recycling.ingredient

Object Structure Description

name type description dependency
substance string(code) Nutrient substance for declaration of quantity. Mandatory/allowed inputs for typeOfManureRecyclingProduct: NTOT, NLOS,P2O5, K2O, MG none
quantity number(float) Quantity of declared substance per typeOfManureRecyclingProduct if liquid per m³ if solid per ton. none

nutrientCycle.lifetimePerformance

The object lifetimePerformance inside nutrientCycle is used to percieve information regarding average lifetime performance of animals declared inside animalStock. The input influences correction of nutrient excretion. lifetimePerformance information is split into the categories beefCattle and dairyCattle. The respective objects can only be declared if an animalCategoryPRIF belonging to the associated animalGroup is declared. If input is given all nutrient excretion of every animalCategoryPRIF belonging to the associated animalGroup will be corrected.

JSON Object Structure (Expanded)

        "lifetimePerformance": {
            "beefCattle": {
                "dailyGain": 0,
                "liveWeight": 0
            },
            "dairyCattle": {
                "milkProductionReport": {
                    "value": 0
                }
            }
        }

Object Structure Description

name type description dependency
beefCattle object Object beef cattle lifetime performance input for animalCategoryPRIF. Belonging to animalGroup beef catte. periodStartDate periodEndDate
dairyCattle object Object dairy cattle lifetime performance input for animalCategoryPRIF. Belonging to animalGroup dairy cattle. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.lifetimePerformance.beefCattle

Object Structure Description

name type description dependency
dailyGain number(float) Average daily weight gain in kg per beef cattle animal. Input for adjustment of nutrient excretion. Only allowed if animalCategoryPRIF belonging to animalGroup beef cattle is declared in `animalStock. animalCategoryPRIF
liveWeight number(float) Average live weight in kg per beef cattle animal. Input for adjustment of nutrient excretion. Only allowed if animalCategoryPRIF belonging to animalGroup beef cattle is declared in `animalStock. animalCategoryPRIF
nutrientCycle.lifetimePerformance.dairyCattle

Object Structure Description

name type description dependency
value number(float) Average yearly milk production in kg per dairy cattle animal. Input for adjustment of nutrient excretion. Only allowed if animalCategoryPRIF belonging to animalGroup dairy cattle is declared in `animalStock. animalCategoryPRIF

nutrientCycle.fodder

The object fodder inside nutrientCycle is used to percieve information regarding avaliable fodder by declaring fodder supply, dispense and cropFromNonFodderCropland. The input is balanced with fodder consumption of declared animalCategoryPRIF from animalStock resulting in fodder balance. Balance can be corrected by declaring proportionStorageLoss and totalBalanceErrorMargin.

JSON Object Structure (Expanded)

        "fodder": {
            "trading": {
                "supply": [{
                        "typeOfFeedstuffProduct": "string",
                        "quantity": 0,
                        "transactionUnit": "string",
                        "ingredient": [{
                                "quantity": 0,
                                "substance": "string"
                            }
                        ]
                    }
                ],
                "dispense": [{
                        "typeOfFeedstuffProduct": "string",
                        "quantity": 0,
                        "transactionUnit": "string",
                        "ingredient": [{
                                "quantity": 0,
                                "substance": "string"
                            }
                        ]
                    }
                ]
            },
            "cropFromNonFodderCropland": [{
                    "typeOfFeedstuffProduct": "string",
                    "quantity": 0,
                    "transactionUnit": "string",
                    "ingredient": [{
                            "quantity": 0,
                            "substance": "string"
                        }
                    ]
                }
            ],
            "proportionStorageLoss": 0,
            "totalBalanceErrorMargin": 0
        }

Object Structure Description

name type description dependency
trading object Object fodder trading input for fodder balance calculation. none
cropFromNonFodderCropland object Object fodder from non fodder cultivation cropland input for fodder balance calculation. For each fodder product one object needs to be declared. none
proportionStorageLoss number(float) Percentage storage loss for fodder balance calculation. none
totalBalanceErrorMargin number(float) Percentage storage loss for fodder balance calculation. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.fodder.trading

Object Structure Description

name type description dependency
supply array Object fodder supply input for supplied fodder. For each supply one object needs to be declared. none
dispense array Object fodder dispense input for dispensed fodder. For each dispense one object needs to be declared. none
nutrientCycle.fodder.trading.supply

Object Structure Description

name type description dependency
quantity number(float) Quantity of supplied, dispensed or harvest from non fodder cropland feedstuffProductType per kg dry matter substance none
transactionUnit string Transaction unit for declared feedstuffProductType describing quantity feedstuffProductType
feedstuffProductType string(code) Type of fodder product supplied, dispensed or harvested form non fodder croppland. Only fodder products as input possible. none
dryMatterContent number(float) Percentage of dry matter for the declared feedstuffProductType. none
nutrientCycle.fodder.trading.dispense

See fodder.trading.supply

nutrientCycle.fodder.cropFromNonFodderCropland

See fodder.trading.supply

nutrientCycle.fieldCultivation

The object fieldCultivation inside nutrientCycle is used to percieve information plant cultivations, resulting in the calculation for yield and nutrient requirement by declaring cultivations of the categories fodderCropland, arableLand and special. Depending on the cultivation category, different input fields are allowed and/or required. The resulting nutrient requirement is finally balanced with the calculated nutrient accumulation for the final nutrient balance.

JSON Object Structure (Expanded)

        "fieldCultivation": {
            "buildingZoneAreaSize": 0,
            "fodderCropland": [{
                    "agronomicCropCategory": "string",
                    "areaSize": 0,
                    "yieldPerSquareMeasure": 0,
                    "cultivationType": 0,
                    "fieldName": "string",
                    "calculateYieldThroughFodderBalance": true
                }
            ],
            "arableLand": [{
                    "agronomicCropCategory": "string",
                    "areaSize": 0,
                    "yieldPerSquareMeasure": 0,
                    "cultivationType": 0,
                    "hasLongTermYieldDivergence": true
                }
            ],
            "special": [{
                    "agronomicCropCategory": "string",
                    "areaSize": 0,
                    "cultivationType": 0,
                    "yieldPerSquareMeasure": 0
                }
            ]
        }

Object Structure Description

name type description dependency
buildingZoneAreaSize number(float) Percentage storage loss for fodder balance calculation. none
fodderCropland array Object fodder cropland input for cultivations of the category fodder cropland. For each agronomicCropCategory one object needs to be decleared. none
arableLand array Object fodder cropland input for cultivations of the category arable land. For each agronomicCropCategory one object needs to be decleared. none
special array Object fodder cropland input for cultivations of the category special cultivations. For each agronomicCropCategory one object needs to be decleared. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

nutrientCycle.fieldCultivation.fodderCropland

Object Structure Description

name type description dependency
agronomicCropCategory string(code) Category of agronimic cultivation. Only cultivation categories belonging to the cateroy of the object allowed. none
cultivationType number(id) Type of cultivation usage. Depending on input, declared agronomicCropCategory is used for nutrient balance calculation and areaSize is included in main crop area. none
fieldName string Name given to the small-scale part of the total area of all cultivations specifically for the agronomicCropCategory. Only allowed for object fodderCropland none
areaSize number(float) Size of declared agronomicCropCategory Area in square meters. none
calculateYieldThroughFodderBalance boolean If set to true, yield is automatically set to the rest amount of fodder yield necessary to cover animal fodder consumption. The value is calculated using requiredEffectiveYieldFromFodderCropland.totalBalance.quantity and totalEffectiveYieldFromFodderCropland.quantity. Only allowed for object fodderCropland none
yieldPerSquareMeasure number(float) Yield of declared agronomicCropCategory in kilograms per square meters. Input is only allowed if nutrition requirement form agronomicCropCategory is calculated via yieldPerSquareMeasure. none
hasLongTermYieldDivergence boolean If yield is above/below the standard yield. Set true if average yields of the declared agronomicCropCategory of last 3 years are above or below the standard yield. Only allowed for object arableLand none
nutrientCycle.fieldCultivation.arableLand

See fieldCultivation.fodderCropland

nutrientCycle.fieldCultivation.special

See fieldCultivation.fodderCropland

additionalModules

With the object additionalModules it is possible declare input for a non standardized animal nutrient excretion calculation. This corrected nutrient excretion can subsequently be used for the calculation of nutrient balance inside nutrientCycle, without having to extract the results manually. additionalModules is divided into the objects impex and linearCorrection, which both can be used independently from each other as well as independent form the object nutrientCycle. For both additional modules (AM) separate result pdf reports can be generated

additionalModules.impex

With the IMPEX-module it is possible to calculate a non standardized nutrient excretion per animal based on animal and feed stuff inventory at beginning and at the end of a calculation period. However it has to be taken into account, that only NTOT and P2O5 excretion are calculated within the IMPEX module.

Key Characteristics

  • impexcan be calculated without an input for the object nutrientCycle.
  • Multiple impex objects can be declared.
  • Only one impex object can be declared per impexCategory.
  • impex PDF reports can be generated independently from each other.
  • The result of the calculation is a single result for each nutrient per declared impex object.

JSON Object Structure (Expanded)

        "impex": [{
                "impexCategory": "string",
                "periodStartDate": "1111-11-11",
                "periodEndDate": "1111-11-11",
                "animalStock": [{
                        "order": "string",
                        "animalCategoryIMPEX": "string",
                        "descriptor": "string",
                        "stableCapacity": 0,
                        "beginningInventory": {
                            "declarationDayQuantity": 0,
                            "livingWeight": 0
                        },
                        "endingInventory": {
                            "declarationDayQuantity": 0,
                            "livingWeight": 0
                        },
                        "trading": {
                            "supply": [{
                                    "date": "1111-11-11",
                                    "quantity": 0,
                                    "sumLivingWeight": 0
                                }
                            ],
                            "dispense": [{
                                    "date": "1111-11-11",
                                    "quantity": 0,
                                    "sumLivingWeight": 0,
                                    "sumSlaughterWeight": 0,
                                    "isSkinned": true
                                }
                            ]
                        },
                        "broilerRotation": [{
                                "stableNr": 0,
                                "rotation": [{
                                        "rotationNr": 0,
                                        "stabling": {
                                            "date": "1111-11-11",
                                            "declarationDayQuantity": 0
                                        },
                                        "slaughter": [{
                                                "slaughterNr": 0,
                                                "date": "1111-11-11",
                                                "sumLivingWeight": 0,
                                                "declarationDayQuantity": 0
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ],
                "feedstuff": [{
                        "order": "string",
                        "descriptor": "string",
                        "typeOfFeedstuffProduct": "string",
                        "transactionUnit": "string",
                        "ingredient": [{
                                "quantity": 0,
                                "substance": "string"
                            }
                        ],
                        "beginningInventory": 0,
                        "endingInventory": 0,
                        "trading": {
                            "supply": [{
                                    "date": "1111-11-11",
                                    "quantity": 0
                                }
                            ],
                            "dispense": [{
                                    "date": "1111-11-11",
                                    "quantity": 0
                                }
                            ]
                        }
                    }
                ],
                "balanceLowerBound": [{
                        "animalCategoryPRIF": 0,
                        "livestockReportViaAnimalTracingOriginal": {
                            "quantityTotal": 0,
                            "surveyFarmDetails": {
                                "quantity": 0,
                                "durationSum": 0
                            }
                        },
                        "livestockReportedViaAnimalTracingFinal": {
                            "quantityTotal": 0,
                            "surveyFarmDetails": {
                                "quantity": 0,
                                "durationSum": 0
                            }
                        },
                        "selfReportedLivestock": {
                            "averageQuantity": 0,
                            "durationSum": 0
                        }
                    }
                ],
                "generateReport": true
            }
        ]

Object Structure Description

name type description dependency
impexCategory string(code) Category of impex. impexCategory can only be declared once in object impex none
periodStartDate date Start of impex period in format yyyy.mm.dd from declared impexCategory none
periodEndDate date End of impex period in format yyyy.mm.dd from declared impexCategory none
animalStock array Object animal livestock properties relevant for export balance calculation. For each animal an object inside the array animalStock needs to be declared. none
feedstuff array Object feedstuff relevant for import balance calculation. For each feedstuff an object inside the array feedstuff needs to be declared. none
balanceLowerBound array Object for animal nutrient excreiton lower bound calculation input relevant for impex balance plausibility check. For each animal an object inside the array balanceLowerBound needs to be declared. none
generateReport boolean When set to TRUE PDF-report for IMPEX results is generated. none

Transfer impex Result to nutrientCycle

If desired, the calculated nutrient excretion can be used for the calculation of the nutrient balance (SuiBi & Exbi). In order to acess this functionality the following conditions have to be fulfilled:

  1. The exact animalCategoryPRIF for which the nutrient excretion should be imported form the IMPEX result needs to be declared inside the objects nutrientCycle.animalStock as well as inside the object additionalModules.impex.balanceLowerBound
  2. For the animalCategoryPRIF for which the nutrient excretion should be imported form the IMPEX result the flag hasImpexDerivedExcretion needs to be set to true inside the object nutrientCycle.animalStock.

Resulting nutrient excretion from IMPEX can be transferred for multiple animalCategoryPRIF if the conditions above are fulfilled. If in nutrientCycle.animalStock the same animalCategoryPRIF, for which nutrient excretion is transferred from IMPEX , is present multiple times, the result form IMPEX is distributed over all identical animalCategoryPRIF inside the object nutrientCycle.animalStock according to the declared livestock quantity .

additionalModules.impex.animalStock

Object Structure Description

name type description dependency
animalCategoryIMPEX string(code) Category of animal for export balance calculation. Only animals are allowed belonging to declared impexCategory. impexCategory
order string Order of the animal. Helps to identify animal in result set. No limitations in terminology. none
stableCapacity number(float) Maximum number of animal places in stableSystem. The number of animal places in stableSystem is greater than the stock if, for example, additional animal places are available of a future expansion of stableSystem. none
beginningInventory object Object beginning inventory for declaration of quantity of animals during begin of impex period for declared animalCategoryIMPEX. none
endingInventory object Object ending inventory for declaration of quantity of animals during end of impex period for declared animalCategoryIMPEX. none
trading array Object trading for declaration of supply and dispense of declared animalCategoryIMPEX. none
broilerRotation array Object broiler rotation for of stables and rotaions for calculation of lower bound nutrient excretion. Only allowed for animalCategoryIMPEX broiler. For each stable one object broilerRotation needs to be declared animalCategoryIMPEX

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

additionalModules.impex.animalStock.beginningInventory

Object Structure Description

name type description dependency
declarationDayQuantity number(float) Quantity of animals during start or ending of impex period. none
livingWeight number(float) Average weight per animal during start or ending of impex period. none
additionalModules.impex.animalStock.endingInventory

Object Structure Description See impex.animalStock.beginningInventory

additionalModules.impex.animalStock.trading

Object Structure Description

name type description dependency
supply array Object supply input for supplied animals. For each supply one object needs to be declared. none
dispense array Object dispense input for dispensed animals. For each dispense one object needs to be declared. none
additionalModules.impex.animalStock.trading.supply

Object Structure Description

name type description dependency
date date Date of supply in format yyyy.mm.dd. Supply date must lay between periodStartDate and periodEndDate periodStartDate periodEndDate
quantity number(float) Quantity of supplied animals. none
sumLivingWeight number(float) Sum of living weight of supplied animals. none
isHeavyWeightCategory boolean Information wether all animals of supply weight more than 60 kilograms. Set: TRUE if living weight per animal is bigger than 60 kilograms. none
additionalModules.impex.animalStock.trading.dispense

Object Structure Description

name type description dependency
date date Date of dispense in format yyyy.mm.dd. Dispense date must lay between periodStartDate and periodEndDate periodStartDate periodEndDate
quantity number(float) Quantity of dispensed animals. none
sumLivingWeight number(float) Sum of living weight of dispensed animals. Input only necessary/allowed, if sumSlaughterWeight is empty. none
sumSlaughterWeight number(float) Sum of slaughter weight of dispensed animals. Input only necessary/allowed, if sumLivingWeight is empty. none
isHeavyWeightCategory boolean Information wether all animals of dispense weight more than 60 kilograms. Set: TRUE if living weight per animal is bigger than 60 kilograms. none
isSkinned boolean Information wether sumSlaughterWeight was measured after animal was skinned. Set TRUE if animal was skinned before measurement of sumSlaughterWeight. Only allowed for animalCategoryIMPEX dry sow and lactating sow. none
additionalModules.impex.animalStock.broilerRotation

Object Structure Description

name type description dependency
stableNr number(float) Unique identifier for declared stable of the object broilerRotation. Helps to identify stable and the belonging rotations in result set. All objects within broilerRotation must have a unique stableNr. none
rotation array Object rotation input for animal rotation. For each rotation cycle one object needs to be declared. none
additionalModules.impex.animalStock.broilerRotation.rotation

Object Structure Description

name type description dependency
rotationNr number(float) Unique identifier for declared rotation cycle of the object rotation. Helps to identify rotation cycle in result set. All objects within rotation must have a unique rotationNr. none
stabling object Object stabling input for stabling information during beginning of rotation cycle. none
slaughter array Object slaughter input for animal slaughter information within declared rotationNr. For each slaughter date one object needs to be declared. none
additionalModules.impex.animalStock.broilerRotation.rotation.stabling

Object Structure Description

name type description dependency
date date Date of stabling in format yyyy.mm.dd. Stabling date must lay either before periodStartDate or between periodStartDate and periodEndDate. Stabling date may only lay before periodStartDate if slaughter date of the corresponding rotationNr lays between periodStartDate and periodEndDate. none
declarationDayQuantity number(float) Amount of animals being installed in stable during start stabling date. none
slaughter array Object slaughter input for animal slaughter information within declared rotationNr. For each slaughter date one object needs to be declared. none
additionalModules.impex.animalStock.broilerRotation.rotation.slaughter

Object Structure Description

name type description dependency
slaughterNr number(float) Unique identifier for slaughter cycle of the object slaughter belonging to the corresponding rotation. Helps to identify slaughter cycle in result set. All objects within slaughter must have a unique slaughterNr. none
date object Date of slaughter in format yyyy.mm.dd. Slaughter date may only lay before periodStartDate the last slaughter date of the corresponding rotation lays between periodStartDate and periodEndDate. Slaughter date may only lay after periodEndDate for the last declared rotationNr of a stableNr. periodStartDate periodEndDate stabling.date
sumLivingWeight object Sum of the animal living weight being slaughtered in the corresponding slaughterNr. none
declarationDayQuantity object Quantity of animals being slaughtered in the corresponding slaughterNr. none
additionalModules.impex.feedstuff

Object Structure Description

name type description dependency
feedstuffProductType string(code) Category of feed stuff for import balance calculation. Only feedstuffProductType input possible which are allowed for impex. none
descriptor string Custom name for declared feedstuffProductType. Mandatory for feedstuffProductType mixed feed stuff, in order to be display correctly on PDF report. feedstuffProductType
order string Order of the feed stuff. Helps to identify feed stuff inside result set. No limitations in terminology. none
ingredient object Object nutritional ingredients for declaration of nutritional values of declared feedstuffProductType. none
transactionUnit string Transaction unit for declared feedstuffProductType describing quantity feedstuffProductType
beginningInventory number(float) Quantity in kilograms for of declared feedstuffProductType during begin of impex period. Quantity in kilograms dry substance for roughage feed stuff, in kilogram total feed stuff for concentrtated feed stuff or in kilogram solid substance for other feed stuff categories. none
endingInventory number(float) Quantity in kilograms for of declared feedstuffProductType during end of impex period. Quantity in kilograms dry substance for roughage feed stuff, in kilogram total feed stuff for concentrtated feed stuff or in kilogram solid substance for other feed stuff categories. none
trading object Object trading for declaration of supply and dispense of declared feedstuffProductType. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

additionalModules.impex.feedstuff.ingredient

Object Structure Description

name type description dependency
quantity number(float) Quantity of ingredient in kilograms per kilogram feedstuffProductType. Quantity in kilograms dry substance for roughage feed stuff, in kilogram total feed stuff for concentrtated feed stuff or in kilogram solid substance for other feed stuff categories. feedstuffProductType
substance string(code) Nutritional ingredient for declared feedstuffProductType. Depending on feedstuffProductType ingredients must be declared or left empty. feedstuffProductType
additionalModules.impex.feedstuff.trading

Object Structure Description

name type description dependency
supply array Object supply input for supplied feed stuff. For each supply one object needs to be declared. none
dispense array Object dispense input for dispensed feed stuff. For each dispense one object needs to be declared. none
additionalModules.impex.feedstuff.trading.supply

Object Structure Description

name type description dependency
date date Date of supply or dispense in format yyyy.mm.dd. Supply date must lay between periodStartDate and periodEndDate periodStartDate periodEndDate
quantity number(float) Quantity of supplied feed stuff in kilograms. Quantity in kilograms dry substance for roughage feed stuff, in kilogram total feed stuff for concentrtated feed stuff or in kilogram solid substance for other feed stuff categories. none
additionalModules.impex.feedstuff.trading.dispense

See impex.feedstuff.trading.supply

additionalModules.impex.balanceLowerBound

Object Structure Description

name type description dependency
animalCategoryPRIF number(id) Input for PRIF-animal categories for calculation of impex nutrient lower bound for declared impexCategory. Only animals allowed which belong to declared impexCategory. none
livestockReportViaAnimalTracingOriginal object Information on animal stock data according to animal tracing. Mandatory if livestockReportViaAnimalTracingFinal and selfReportedLivestock are empty livestockReportedViaAnimalTracingFinal selfReportedLivestock
livestockReportedViaAnimalTracingFinal object Information on animal stock according to animal tracing and cantonal correction. Mandatory if livestockReportViaAnimalTracingOriginal and selfReportedLivestock are empty livestockReportViaAnimalTracingOriginal selfReportedLivestock
selfReportedLivestock object Self declared information on animal stock. Mandatory if livestockReportViaAnimalTracingOriginal and livestockReportViaAnimalTracingOriginal are empty livestockReportViaAnimalTracingOriginal livestockReportViaAnimalTracingOriginal

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

additionalModules.linearCorrection

With the LC-module it is possible to calculate a non standardized nutrient excretion per animal based on feed stuff inventory at beginning and at the end of a calculation period. However it has to be taken into account, that only NTOT and P2O5 excretion are calculated within the LC module.

Key Characteristics

  • linearCorrection can be calculated without an input for the object nutrientCycle.
  • Only a single linearCorrectionc objects can be declared.

JSON Object Structure (Expanded)

        "linearCorrection": {
            "periodStartDate": "1111-11-11",
            "periodEndDate": "1111-11-11",
            "animalStock": [{
                    "animalCategoryPRIF": 0,
                    "livestockReportViaAnimalTracingOriginal": {
                        "quantityTotal": 0,
                        "surveyFarmDetails": {
                            "quantity": 0,
                            "durationSum": 0
                        }
                    },
                    "livestockReportedViaAnimalTracingFinal": {
                        "quantityTotal": 0,
                        "surveyFarmDetails": {
                            "quantity": 0,
                            "durationSum": 0
                        }
                    },
                    "selfReportedLivestock": {
                        "averageQuantity": 0,
                        "durationSum": 0
                    },
                    "stableCapacity": 0
                }
            ],
            "feedstuff": [{
                    "order": "string",
                    "descriptor": "string",
                    "typeOfFeedstuffProduct": "string",
                    "transactionUnit": "string",
                    "ingredient": [{
                            "quantity": 0,
                            "substance": "string"
                        }
                    ],
                    "beginningInventory": 0,
                    "endingInventory": 0,
                    "animalFed": [{
                            "animalCategoryPRIF": 0,
                            "proportionFed": 0
                        }
                    ],
                    "trading": {
                        "supply": [{
                                "date": "1111-11-11",
                                "quantity": 0
                            }
                        ],
                        "dispense": [{
                                "date": "1111-11-11",
                                "quantity": 0
                            }
                        ]
                    }
                }
            ],
            "generateReport": true
        }

Object Structure Description

name type description dependency
periodStartDate date Start of linear correction period in format yyyy.mm.dd none
periodEndDate date End of linear correction period in format yyyy.mm.dd none
animalStock array Object animal livestock properties relevant for nutrient correction calculation. For each animal an object inside the array animalStock needs to be declared. none
feedstuff array Object feedstuff relevant for nutrient correction calculation. For each feedstuff an object inside the array feedstuff needs to be declared. none
generateReport boolean When set to TRUE PDF-report for linear correction results is generated. none

Transfer linearCorrection Result to nutrientCycle

If desired, the calculated nutrient excretion can be used for the calculation of the nutrient balance (SuiBi & Exbi). In order to acess this functionality the following conditions have to be fulfilled:

  1. The exact animalCategoryPRIF for which the nutrient excretion should be imported form the LC result needs to be declared inside the objects nutrientCycle.animalStock as well as inside the object additionalModules.linearCorrection.animalStock
  2. For the animalCategoryPRIF for which the nutrient excretion should be imported form the IMPEX result the flag hasLinearCorrectionDerivedExcretion needs to be set to true inside the object nutrientCycle.animalStock.

Resulting nutrient excretion from LC can be transferred for multiple animalCategoryPRIF if the conditions above are fulfilled. If in nutrientCycle.animalStock the same animalCategoryPRIF, for which nutrient excretion is transferred from LC , is present multiple times, the result form LC is distributed over all identical animalCategoryPRIF inside the object nutrientCycle.animalStock according to the declared livestock quantity.

additionalModules.linearCorrection.animalStock

Object Structure Description

name type description dependency
order string Order of the animal. Helps to identify animal in result set. No limitations in terminology. none
animalCategoryPRIF number(id) PRIF-animal categories correspond to all listed animal categories according to the Suisse-Bilanz guidelines. none
livestockReportViaAnimalTracingOriginal object Information on animal stock data according to animal tracing. Mandatory if livestockReportViaAnimalTracingFinal and selfReportedLivestock are empty livestockReportedViaAnimalTracingFinal selfReportedLivestock
livestockReportedViaAnimalTracingFinal object Information on animal stock according to animal tracing and cantonal correction. Mandatory if livestockReportViaAnimalTracingOriginal and selfReportedLivestock are empty livestockReportViaAnimalTracingOriginal selfReportedLivestock
selfReportedLivestock object Self declared information on animal stock. Mandatory if livestockReportViaAnimalTracingOriginal and livestockReportViaAnimalTracingOriginal are empty livestockReportViaAnimalTracingOriginal livestockReportViaAnimalTracingOriginal
stableCapacity number(float) Maximum number of animal places in stableSystem. The number of animal places in stableSystem is greater than the stock if, for example, additional animal places are available of a future expansion of stableSystem. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

additionalModules.linearCorrection.feedstuff

Object Structure Description

name type description dependency
order string Order of the feed stuff. Helps to identify feed stuff inside result set. No limitations in terminology. none
descriptor string Custom name for declared feedstuffProductType. Mandatory for feedstuffProductType mixed feed stuff, in order to be display correctly on PDF report. feedstuffProductType
feedstuffProductType string(code) Category of feed stuff for import balance calculation. Only feedstuffProductType input possible which are allowed for linear correction. none
ingredient object Object nutritional ingredients for declaration of nutritional values of declared feedstuffProductType. none
beginningInventory number(float) Quantity in kilograms for of declared feedstuffProductType during begin of linear correction period. Quantity in kilograms dry substance for roughage feed stuff, in kilogram total feed stuff for concentrtated feed stuff or in kilogram solid substance for other feed stuff categories. none
endingInventory number(float) Quantity in kilograms for of declared feedstuffProductType during end of linear correction period. Quantity in kilograms dry substance for roughage feed stuff, in kilogram total feed stuff for concentrtated feed stuff or in kilogram solid substance for other feed stuff categories. none
animalFed array Array for declaration of fed animal distribution of declared feedstuffProductType. none
trading object Object trading for declaration of supply and dispense of declared feedstuffProductType. none

Impact on Calculation Results
Inputs inside request object may influence results of the following response objects:

additionalModules.linearCorrection.feedstuff.animalFed

Object Structure Description

name type description dependency
animalCategoryPRIF number(float) animalCategoryPRIF declared in animalStock of linear correction to which declared animalCategoryPRIF was fed. feedstuffProductType
proportionFed string(code) Amount in percent, of declared feedstuffProductType that was fed to declared feedstuffProductType. feedstuffProductType
additionalModules.linearCorrection.feedstuff.ingredient

Object Structure Description

name type description dependency
quantity number(float) Quantity of ingredient in kilograms per kilogram feedstuffProductType. Quantity in kilograms dry substance for roughage feed stuff, in kilogram total feed stuff for concentrtated feed stuff or in kilogram solid substance for other feed stuff categories. feedstuffProductType
substance string(code) Nutritional ingredient for declared feedstuffProductType. Depending on feedstuffProductType ingredients must be declared or left empty. feedstuffProductType
additionalModules.linearCorrection.feedstuff.trading

Object Structure Description

name type description dependency
supply array Object supply input for supplied feed stuff. For each supply one object needs to be declared. none
dispense array Object dispense input for dispensed feed stuff. For each dispense one object needs to be declared. none
additionalModules.linearCorrection.feedstuff.trading.supply

Object Structure Description

name type description dependency
date date Date of supply or dispense in format yyyy.mm.dd. Supply date must lay between periodStartDate and periodEndDate periodStartDate periodEndDate
quantity number(float) Quantity of supplied feed stuff in kilograms. Quantity in kilograms dry substance for roughage feed stuff, in kilogram total feed stuff for concentrtated feed stuff or in kilogram solid substance for other feed stuff categories. none
additionalModules.linearCorrection.feedstuff.trading.dispense

See linearCorrection.feedstuff.trading.supply

Response Structure

Main JSON Object Structure (Collapsed)

The main structure of a planning balance response depicts the calculation in analogy to the request and is divided into the following main objects:

{
    "nutrientCycle": {
        "nutrientBalance": {
        "fodderBalance": {
        "fieldCultivation": {
        "facilitySpecificProducts": {
        "report": "string"
    },
    "additionalModules": {
        "impex": [{
        "linearCorrection": {
    }
}

Like the request the response is divided in nutrientCycle and additionalModules. While the objects of nutrientCycle show the results of the main part of the NC, additionalModules shows the results of the upstream IMPEX and LK calculation.

nutrientCycle.nutrientBalance

Nutrient results showing accumulation and emission of nutrients along the chronological steps of the farmyard manure cascade. All nutrient relevant results for SuiBi and Exbi are depicted in this object. Every object inside nutrientBalance a calculation module within the NC calculation.

JSON Object Structure (Collapsed)

        "nutrientBalance": {
            "animalStock": {
            "storage": {
            "farmManureTrading": {
            "fieldSpreading": {
            "fieldCultivation": {
            "totalEmissionFarm": {
                "emission": [{
                        "quantity": 0,
                        "quantityCorrected": 0,
                        "unit": "string",
                        "substance": "string"
                    }
                ]
            },
            "totalBalance": [{
                    "quantity": 0,
                    "quantityCorrected": 0,
                    "unit": "string",
                    "substance": "string"
                }
            ]
        }

quantity vs. quantityCorrected

Nutrient results are shown, as defined by eCH-standard with a quantity value for each nutrient substance. quantity shows value per nutrient without any correction calculation For the purpose of NBS a quantityCorrected was added, corresponding to the results being corrected by the input of EMF. For nutrient results used for enforcement of SuiBi and thus as well for SuiBi-PDF generation only quantityCorrected values are used.

nutrientCycle.nutrientBalance results are divided into the following objects:

nutrientCycle.nutrientBalance.animalStock

The object animalStock inside nutrientBalance depicts nutrient results calculated from of animal detention and feeding inputs.

JSON Object Structure (Expanded)

            "animalStock": {
                "accumulationEntireExcretion": [{
                        "order": "string",
                        "animalCategoryPRIF": 0,
                        "accumulation": [{
                                "quantity": 0,
                                "quantityCorrected": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                ],
                "emissionAndAccumulationPasture": [{
                        "order": "string",
                        "animalCategoryPRIF": 0,
                        "accumulation": [{
                                "quantity": 0,
                                "quantityCorrected": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ],
                        "emission": [{
                                "quantity": 0,
                                "quantityCorrected": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                ],
                "emissionAndAccumulationYard": [{
                        "order": "string",
                        "animalCategoryPRIF": 0,
                        "manureExcretion": [{
                                "quantity": 0,
                                "unit": 0,
                                "typeOfManureRecyclingProduct": "string"
                            }
                        ],
                        "accumulation": [{
                                "quantity": 0,
                                "quantityCorrected": 0,
                                "unit": "string",
                                "substance": "string",
                                "productFamilyType": "string",
                                "typeOfManureRecyclingProduct": "string"
                            }
                        ],
                        "emission": [{
                                "quantity": 0,
                                "quantityCorrected": 0,
                                "unit": "string",
                                "substance": "string",
                                "productFamilyType": "string",
                                "typeOfManureRecyclingProduct": "string"
                            }
                        ]
                    }
                ],
                "emissionAndAccumulationStall": [{
                        "order": "string",
                        "animalCategoryPRIF": 0,
                        "manureExcretion": [{
                                "quantity": 0,
                                "unit": 0,
                                "typeOfManureRecyclingProduct": "string"
                            }
                        ],
                        "accumulation": [{
                                "quantity": 0,
                                "quantityCorrected": 0,
                                "unit": "string",
                                "substance": "string",
                                "productFamilyType": "string",
                                "typeOfManureRecyclingProduct": "string"
                            }
                        ],
                        "emission": [{
                                "quantity": 0,
                                "quantityCorrected": 0,
                                "unit": "string",
                                "substance": "string",
                                "productFamilyType": "string",
                                "typeOfManureRecyclingProduct": "string"
                            }
                        ]
                    }
                ],
                "totalAccumulationEntireExcretion": {
                    "accumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                },
                "totalEmissionAndAccumulationPasture": {
                    "accumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ],
                    "emission": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                },
                "totalEmissionAndAccumulationYard": {
                    "accumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ],
                    "emission": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                },
                "totalEmissionAndAccumulationStall": {
                    "accumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ],
                    "emission": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                },
                "totalEmissionAndAccumulationAnimalStock": {
                    "accumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ],
                    "emission": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                }
            }

For this purpose results are divided into the following objects:

nutrientCycle.nutrientBalance.animalStock.accumulationEntireExcretion

Depicts the entirely accumulated nutrients having left the sphincter of the animal, before being distributes via calculation over pasture, yard and stall. Results are shown per animalCategoryPRIF.

nutrientCycle.nutrientBalance.animalStock.emissionAndAccumulationPasture

Depicts the accumulated nutrients during the stay on the pasture, also known as grazing. Results are shown per animalCategoryPRIF. Results from pasture are directly used for nutrient balance calculation (nutrientCycle.nutrientBalance.totalBalance). as the nutrients are directly available to plants of pasture. Results are divided into accumulation and emission objects.

nutrientCycle.nutrientBalance.animalStock.emissionAndAccumulationYard

Depicts the accumulated nutrients during the stay inside the yard. Results are shown per animalCategoryPRIF. Results are divided into accumulation and emission objects.

nutrientCycle.nutrientBalance.animalStock.emissionAndAccumulationStall

Depicts the accumulated nutrients during the stay inside the stall. Results are shown per animalCategoryPRIF. Results are divided into accumulation and emission objects.

Summation of Results

For each object listed above a summed result object is shown with the prefix total[...]. These objects show summed up nutrient result for the whole farm and are again divided into accumulation and emission objects.

nutrientCycle.nutrientBalance.storage

The object storage inside nutrientBalance depicts nutrient calculation results form stored farm manure derived form animal livestock housing system (nutrientCycle.nutrientBalance.animalStock.emissionAndAccumulationYard and nutrientCycle.nutrientBalance.animalStock.emissionAndAccumulationStall) balanced with supplied and dispensed farm manure (nutrientCycle.nutrientBalance.animalStock.farmManureTrading).

JSON Object Structure (Expanded)

            "storage": {
                "emissionAndAccumulationManureStorage": {
                    "accumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string",
                            "productFamilyType": "string",
                            "typeOfManureRecyclingProduct": "string"
                        }
                    ],
                    "emission": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string",
                            "productFamilyType": "string",
                            "typeOfManureRecyclingProduct": "string"
                        }
                    ]
                },
                "totalEmissionAndAccumulationManureStorage": {
                    "accumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ],
                    "emission": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                }
            }

For this purpose results are divided into the following objects:

nutrientCycle.nutrientBalance.animalStock.emissionAndAccumulationManureStorage

Depicts the nutrients of available farm manure inside storage such as slurry tanks or manure pits. Results are shown per typeOfManureRecyclingProduct. Results are divided into accumulation and emission objects.

Summation of Results

For each object listed above a summed result object is shown with the prefix total[...]. These objects show summed up nutrient result for the whole farm and are again divided into accumulation and emission objects.

nutrientCycle.nutrientBalance.farmManureTrading

The object farmManureTrading inside nutrientBalance depicts nutrient calculation results form supplied and dispensed farm manure. Result is finally being used to calculate nutrient content in storage (nutrientCycle.nutrientBalance.animalStock.emissionAndAccumulationManureStorage) and applied to the cultivations (nutrientCycle.nutrientBalance.animalStock.fieldSpreading).

JSON Object Structure (Expanded)

            "farmManureTrading": {
                "dispensePerProduct": [{
                        "quantity": 0,
                        "unit": "string",
                        "typeOfManureRecyclingProduct": "string",
                        "ingredient": [{
                                "quantity": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                ],
                "supplyPerProduct": [{
                        "quantity": 0,
                        "unit": "string",
                        "typeOfManureRecyclingProduct": "string",
                        "ingredient": [{
                                "quantity": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                ],
                "balancePerProduct": [{
                        "quantity": 0,
                        "unit": "string",
                        "typeOfManureRecyclingProduct": "string",
                        "ingredient": [{
                                "quantity": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                ],
                "totalBalance": {
                    "ingredient": [{
                            "quantity": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                }
            }

For this purpose results are divided into the following objects:

nutrientCycle.nutrientBalance.farmManureTrading.dispensePerProduct

Depicts the nutrients including the quantity of farm manure product being dispensed form the farm. Results are shown per typeOfManureRecyclingProduct.

nutrientCycle.nutrientBalance.farmManureTrading.supplyPerProduct

Depicts the nutrients including the quantity of farm manure product being supplied to the farm. Results are shown per typeOfManureRecyclingProduct.

nutrientCycle.nutrientBalance.farmManureTrading.balancePerProduct

Depicts the nutrients including the quantity of farm manure product when balancing supply with dispense. Results are shown per typeOfManureRecyclingProduct.

Summation of Results

For each object listed above a summed result object is shown with the prefix total[...]. These objects show summed up nutrient result for the whole farm.

nutrientCycle.nutrientBalance.fieldSpreading

The object fieldSpreading inside nutrientBalance depicts nutrient calculation results from applied farm manure, recycling and mineral fertiliser to the field. Results from field spreading are directly used for nutrient balance calculation (nutrientCycle.nutrientBalance.totalBalance). as the nutrients are available to cultivations.

JSON Object Structure (Expanded)

            "fieldSpreading": {
                "emissionAndAccumulationFieldSpreading": {
                    "accumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string",
                            "fertiliserProductCategory": "string",
                            "productFamilyType": "string",
                            "typeOfManureRecyclingProduct": "string"
                        }
                    ],
                    "emission": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string",
                            "productFamilyType": "string",
                            "typeOfManureRecyclingProduct": "string",
                            "fertiliserProductCategory": "string"
                        }
                    ]
                },
                "totalEmissionAndAccumulationFieldSpreading": {
                    "accumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ],
                    "emission": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                }
            }

For this purpose results are divided into the following objects:

nutrientCycle.nutrientBalance.fieldSpreading.emissionAndAccumulationFieldSpreading

Depicts the nutrients applied to the field. Results are shown, depending on productFamilyType, either per typeOfManureRecyclingProduct or per fertiliserProductCategory. Results are divided into accumulation and emission objects.

Summation of Results

For each object listed above a summed result object is shown with the prefix total[...]. These objects show summed up nutrient result for the whole farm. Results are divided into accumulation and emission objects.

nutrientCycle.nutrientBalance.fieldCultivation

The object fieldCultivation inside nutrientBalance depicts nutrient requirement calculation results for the declared cultivation.

JSON Object Structure (Expanded)

            "fieldCultivation": {
                "requirementPerCultivationCategory": [{
                        "cultivationType": "string",
                        "cultivationCategory": "string",
                        "requirement": [{
                                "quantity": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                ],
                "requirementPerAgronomicCropCategory": [{
                        "cultivationType": "string",
                        "agronomicCropCategory": "string",
                        "fieldName": "string",
                        "requirement": [{
                                "quantity": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                ],
                "nutrientTransferUnfertilizedCultivation": [{
                        "quantity": 0,
                        "unit": "string",
                        "substance": "string"
                    }
                ],
                "totalRequirement": [{
                        "requirement": [{
                                "quantity": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                ]
            }

For this purpose results are divided into the following objects:

nutrientCycle.nutrientBalance.fieldCultivation.requirementPerCultivationCategory

Depicts the nutrients required per cultivation. Results are shown per cultivationCategory and cultivationType.

nutrientCycle.nutrientBalance.fieldCultivation.requirementPerCultivationCategory

Depicts the nutrients required per cultivation. Results are shown per agronomicCropCategory and cultivationType.

nutrientCycle.nutrientBalance.fieldCultivation.nutrientTransferUnfertilizedCultivation

Depicts the nutrients being transferred within the farm as a result of non fertilisable cultivation being present.

nutrientCycle.nutrientBalance.fieldCultivation.nutrientTransferUnfertilizedCultivation

Summation of results. Depicts total nutrient requirement for all the main crops belonging to the farm. Results are used for the final nutrient balance calculation (nutrientCycle.nutrientBalance.totalBalance).

nutrientCycle.nutrientBalance.totalEmissionFarm

Depicts the entirely emitted nitrogen compounds for the farm. The result is a summation of the nutrient emission results of the following objects:

  • nutrientCycle.nutrientBalance.animalStock.totalEmissionAndAccumulationAnimalStock.emission
  • nutrientCycle.nutrientBalance.storage.totalEmissionAndAccumulationManureStorage.emission
  • nutrientCycle.nutrientBalance.fieldSpreading.totalEmissionAndAccumulationFieldSpreading.emission

nutrientCycle.nutrientBalance.totalBalance

Depicts the final nutrient balance calculation result relevant for the official enforcement of SuiBi. The result is a balance of the following nutrient accumulation and nutrient requirement objects:

  • nutrientCycle.nutrientBalance.animalStock.totalEmissionAndAccumulationPasture.accumulation
  • nutrientCycle.nutrientBalance.fieldSpreading.totalEmissionAndAccumulationFieldSpreading.accumulation
  • nutrientCycle.nutrientBalance.fieldCultivation.totalRequirement.requirement

nutrientCycle.fodderBalance

fodderBalance shows results of fodder balance calculation, based on fodder trading, animal consumption, crop from non fodder cropland and effective yield of field cultivation. Results of fodder balance calculation are subsequently used to calculate effectiveYield for non-intense, medium intense and intense meadow cultivation, as for those type of cultivation yield estimation is nearly impossible for user.

JSON Object Structure (Collapsed)

        "fodderBalance": {
            "requiredEffectiveYieldFromFodderCropland": {
                "consumptionAnimalStock": [{
                "dispensePerProduct": [{
                "supplyPerProduct": [{
                "cropFromNonFodderCroplandPerProduct": [{
                "totalConsumptionAnimalStock": {
                "totalDispense": {
                "totalSupply": {
                "totalCropFromNonFodderCropland": {
                "totalBalance": {
            },
            "totalEffectiveYieldFromFodderCropland": {
                "quantity": 0,
                "unit": "string",
                "proportionNutrientPoorFodder": 0
            },
            "totalNutrientPoorFodder": {
                "quantity": 0,
                "unit": "string"
            },
            "totalBalance": {
                "quantity": 0,
                "unit": "string"
            }
        },

nutrientCycle.fodderBalance results are divided into the following objects:

nutrientCycle.fodderBalance.requiredEffectiveYieldFromFodderCropland

The object requiredEffectiveYieldFromFodderCropland inside fodderBalance depicts total effective yield which cultivation needs to produce in order to cover required fodder consumption from animal livestock.

JSON Object Structure (Expanded)

            "requiredEffectiveYieldFromFodderCropland": {
                "consumptionAnimalStock": [{
                        "animalCategoryPRIF": "string",
                        "quantity": 0,
                        "averageQuantity": 0,
                        "unit": "string"
                    }
                ],
                "dispensePerProduct": [{
                        "quantity": 0,
                        "unit": "string",
                        "feedstuffProductType": "string",
                        "isNutrientPoorFodder": true
                    }
                ],
                "supplyPerProduct": [{
                        "quantity": 0,
                        "unit": "string",
                        "feedstuffProductType": "string",
                        "isNutrientPoorFodder": true
                    }
                ],
                "cropFromNonFodderCroplandPerProduct": [{
                        "quantity": 0,
                        "unit": "string",
                        "feedstuffProductType": "string",
                        "isNutrientPoorFodder": true
                    }
                ],
                "totalConsumptionAnimalStock": {
                    "quantity": 0,
                    "unit": "string"
                },
                "totalDispense": {
                    "quantity": 0,
                    "unit": "string",
                    "proportionNutrientPoorFodder": 0
                },
                "totalSupply": {
                    "quantity": 0,
                    "unit": "string",
                    "proportionNutrientPoorFodder": 0
                },
                "totalCropFromNonFodderCropland": {
                    "quantity": 0,
                    "unit": "string",
                    "proportionNutrientPoorFodder": 0
                },
                "totalBalance": {
                    "quantity": 0,
                    "unit": "string",
                    "proportionStorageLoss": 0,
                    "totalBalanceErrorMargin": 0
                }
            }

For this purpose results are divided into the following objects:

nutrientCycle.fodderBalance.requiredEffectiveYieldFromFodderCropland.consumptionAnimalStock

Depicts the fodder consumption of the animal livestock. Results are shown per animalCategoryPRIF.

nutrientCycle.fodderBalance.requiredEffectiveYieldFromFodderCropland.dispensePerProduct

Depicts the amount of fodder dispensed from the farm. Results are shown per feedstuffProductType.

nutrientCycle.fodderBalance.requiredEffectiveYieldFromFodderCropland.supplyPerProduct

Depicts the amount of fodder supplied to the farm. Results are shown per feedstuffProductType.

nutrientCycle.fodderBalance.requiredEffectiveYieldFromFodderCropland.cropFromNonFodderCroplandPerProduct

Depicts the amount of fodder produced by cultivation not belonging to fodder cropland. Results are shown per feedstuffProductType.

Summation of Results

For each object listed above a summed result object is shown with the prefix total[...]. These objects show summed up nutrient result for the whole farm.

nutrientCycle.fodderBalance.requiredEffectiveYieldFromFodderCropland.totalBalance

Depicts the amount of fodder (= effective yield) which cultivation needs to produce. The result is a balance of the summation results of the objects inside requiredEffectiveYieldFromFodderCropland.

nutrientCycle.fodderBalance.totalEffectiveYieldFromFodderCropland

Depicts the entire amount of produced effective yield by fodder cultivation. The result is a summation of the ´effectiveYield´ results of the objects:

  • nutrientCycle.fieldCultivation.areaAndYieldPerCultivationCategory.areaAreaAndYieldPerCultivationType

nutrientCycle.fodderBalance.totalNutrientPoorFodder

Depicts the entire amount of fed nutrient poor fodder. The result is a balance calculation of the results of the following objects:

  • nutrientCycle.fodderBalance.requiredEffectiveYieldFromFodderCropland.totalBalance
  • nutrientCycle.fodderBalance.totalEffectiveYieldFromFodderCropland

nutrientCycle.fodderBalance.totalBalance

Shows the final results of fodder balance calculation. The result is a balance calculation of the results of the following objects:

  • nutrientCycle.fodderBalance.requiredEffectiveYieldFromFodderCropland.totalBalance
  • nutrientCycle.fodderBalance.totalEffectiveYieldFromFodderCropland

nutrientCycle.fieldCultivation

fieldCultivation shows results of cultivation such as yield and area.

JSON Object Structure (Collapsed)

        "fieldCultivation": {
            "areaAndYieldPerCultivationCategory": [{
                    "cultivationCategory": "string",
                    "areaAndYieldPerAgronomicCropCategory": [{
                            "agronomicCropCategory": "string",
                            "areaSize": 0,
                            "yieldPerSquareMeasure": 0,
                            "effectiveYield": 0,
                            "cultivationType": "string",
                            "isNutrientPoorFodder": true,
                            "fieldName": "string"
                        }
                    ],
                    "areaAreaAndYieldPerCultivationType": [{
                            "areaSize": 0,
                            "effectiveYield": 0,
                            "cultivationType": "string"
                        }
                    ]
                }
            ],
            "totalAreaAreaAndYieldMainCrop": {
                "areaSize": 0,
                "effectiveYield": 0
            }
        }

nutrientCycle.fieldCultivation results are divided into the following objects:

nutrientCycle.fieldCultivation.areaAndYieldPerCultivationCategory

The object areaAndYieldPerCultivationCategory inside fieldCultivation depicts yield and area information of cultivation per cultivationCategory.

JSON Object Structure (Expanded)

            "areaAndYieldPerCultivationCategory": [{
                    "cultivationCategory": "string",
                    "areaAndYieldPerAgronomicCropCategory": [{
                            "agronomicCropCategory": "string",
                            "areaSize": 0,
                            "yieldPerSquareMeasure": 0,
                            "effectiveYield": 0,
                            "cultivationType": "string",
                            "isNutrientPoorFodder": true,
                            "fieldName": "string"
                        }
                    ],
                    "areaAreaAndYieldPerCultivationType": [{
                            "areaSize": 0,
                            "effectiveYield": 0,
                            "cultivationType": "string"
                        }
                    ]
                }
            ],

For this purpose results are divided into the following objects:

nutrientCycle.fieldCultivation.areaAndYieldPerCultivationCategory.areaAndYieldPerAgronomicCropCategory

Depicts detailed yield and area information. Results are shown per agronomicCropCategory and cultivationType.

nutrientCycle.fieldCultivation.areaAndYieldPerCultivationCategory.areaAreaAndYieldPerCultivationType

Depicts summarized area information. Results are shown per cultivationType. The result is a summation of the results of the objects:

  • nutrientCycle.fieldCultivation.areaAndYieldPerCultivationCategory.areaAndYieldPerAgronomicCropCategory

nutrientCycle.fieldCultivation.totalAreaAreaAndYieldMainCrop

Depicts summarized area information for cultivation labelled as main cultivation. The result is a summation of the results of the objects:

  • nutrientCycle.fieldCultivation.areaAndYieldPerCultivationCategory.areaAreaAndYieldPerCultivationType

nutrientCycle.report

Depicts result of SuiBi calculation in Base64 encoded PDF. This file includes results and input relevant for enforcement to control SuiBi.

additionalModules.impex(Result)

impex shows nutrient accumulation results of the additional module calculating import export balance per impexCategory.

JSON Object Structure (Collapsed)

        "impex": [{
                "impexCategory": "string",
                "exportBalance": {
                "importBalance": {
                "broilerRotation": {
                "balanceLowerBound": {
                "validationData": {
                "totalBalancePerPeriod": [{
                        "quantity": 0,
                        "unit": "string",
                        "substance": "string"
                    }
                ],
                "totalBalance": [{
                        "quantity": 0,
                        "quantityCorrected": 0,
                        "unit": "string",
                        "substance": "string"
                    }
                ],
                "totalBalanceSharePerAnimal": [{
                        "animalCategoryPRIF": 0,
                        "quantity": 0,
                        "nutrientShare": [{
                                "quantity": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                ],
                "report: "string"
            }
        ],

additionalModules.impex results are divided into the following objects:

additionalModules.impex.exportBalance

The object exportBalance inside impex depicts calculation result regarding nutrient export of the declared animalCategoryIMPEX within the impexCategory. Final result of exportBalance is subsequently balanced with the final nutrient result of importBalance

JSON Object Structure (Expanded)

                "exportBalance": {
                    "beginningInventoryPerAnimal": [{
                            "animalCategoryIMPEX": "string",
                            "order": "string",
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true
                        }
                    ],
                    "endingInventoryPerAnimal": [{
                            "animalCategoryIMPEX": "string",
                            "order": "string",
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true
                        }
                    ],
                    "supplyPerAnimal": [{
                            "animalCategoryIMPEX": "string",
                            "order": "string",
                            "quantity": 0,
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true
                        }
                    ],
                    "dispensePerAnimal": [{
                            "animalCategoryIMPEX": "string",
                            "order": "string",
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true
                        }
                    ],
                    "beginningInventoryPerWeightCategory": [{
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true
                        }
                    ],
                    "endingInventoryPerWeightCategory": [{
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true
                        }
                    ],
                    "supplyPerWeightCategory": [{
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true
                        }
                    ],
                    "dispensePerWeightCategory": [{
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true
                        }
                    ],
                    "totalBeginningInventory": {
                        "sumLivingWeight": 0
                    },
                    "totalEndingInventory": {
                        "sumLivingWeight": 0
                    },
                    "totalSupply": {
                        "sumLivingWeight": 0
                    },
                    "totalDispense": {
                        "sumLivingWeight": 0
                    },
                    "totalBalancePerAnimal": [{
                            "animalCategoryIMPEX": "string",
                            "order": "string",
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true,
                            "nutrientExport": [{
                                    "quantity": 0,
                                    "unit": "string",
                                    "substance": "string"
                                }
                            ]
                        }
                    ],
                    "totalBalancePerWeightCategory": [{
                            "sumLivingWeight": 0,
                            "isHeavyWeightCategory": true,
                            "nutrientExport": [{
                                    "quantity": 0,
                                    "unit": "string",
                                    "substance": "string"
                                }
                            ]
                        }
                    ],
                    "totalBalance": {
                        "sumLivingWeight": 0,
                        "nutrientExport": [{
                                "quantity": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                }

For this purpose results are divided into the following objects:

additionalModules.impex.exportBalance.beginningInventoryPerAnimal

Depicts summarized weight information during beginning inventory . Results are shown per animalCategoryIMPEX and isHeavyWeightCategory.

additionalModules.impex.exportBalance.endingInventoryPerAnimal

Depicts summarized weight information during ending inventory . Results are shown per animalCategoryIMPEX and isHeavyWeightCategory.

additionalModules.impex.exportBalance.supplyPerAnimal

Depicts summarized weight information animal supply . Results are shown per animalCategoryIMPEX and isHeavyWeightCategory.

additionalModules.impex.exportBalance.dispensePerAnimal

Depicts summarized weight information animal dispense. Results are shown per animalCategoryIMPEX and isHeavyWeightCategory.

Summation of Results

For each object listed above a summed result object is shown. Objects are summarized by the following criteria:

  • Weight Category (naming convention with the ending [...]PerWeightCategory. Results are shown per isHeavyWeightCategory.
  • Sum over all animalCategoryIMPEX and all isHeavyWeightCategory with the prefix total[...].
additionalModules.impex.exportBalance.totalBalancePerAnimal

Depicts summarized export weight and nutrient calculation result balancing beginning inventory with supply, dispense and ending inventory. Results are shown per animalCategoryIMPEX and isHeavyWeightCategory.

additionalModules.impex.exportBalance.totalBalancePerWeightCategory

Depicts summarized export weight and nutrient calculation result balancing beginning inventory with supply, dispense and ending inventory. Results are shown per isHeavyWeightCategory.

additionalModules.impex.exportBalance.totalBalance

Depicts overall summarized export weight and nutrient calculation result balancing beginning inventory with supply, dispense and ending inventory. Nutrient result is finally balanced with additionalModules.impex.importBalance.totalBalance

additionalModules.impex.importBalance

The object importBalance inside impex depicts calculation result regarding nutrient import of the declared feedstuffProductType within the impexCategory. Final result of importBalance is subsequently balanced with the final nutrient result of exportBalance

JSON Object Structure (Expanded)

                "importBalance": {
                    "beginningInventoryPerProduct": [{
                            "feedstuffProductType": "string",
                            "order": "string",
                            "quantity": 0,
                            "unit": "string"
                        }
                    ],
                    "endingInventoryPerProduct": [{
                            "feedstuffProductType": "string",
                            "order": "string",
                            "quantity": 0,
                            "unit": "string"
                        }
                    ],
                    "supplyPerProduct": [{
                            "feedstuffProductType": "string",
                            "order": "string",
                            "quantity": 0,
                            "unit": "string"
                        }
                    ],
                    "dispensePerProduct": [{
                            "feedstuffProductType": "string",
                            "order": "string",
                            "quantity": 0,
                            "unit": "string"
                        }
                    ],
                    "totalBeginningInventory": [{
                            "quantity": 0,
                            "unit": "string"
                        }
                    ],
                    "totalEndingInventory": [{
                            "quantity": 0,
                            "unit": "string"
                        }
                    ],
                    "totalSupply": [{
                            "quantity": 0,
                            "unit": "string"
                        }
                    ],
                    "totalDispense": [{
                            "quantity": 0,
                            "unit": "string"
                        }
                    ],
                    "totalBalancePerProduct": [{
                            "feedstuffProductType": "string",
                            "order": "string",
                            "quantity": 0,
                            "unit": "string",
                            "nutrientImport": [{
                                    "quantity": 0,
                                    "unit": "string",
                                    "substance": "string"
                                }
                            ]
                        }
                    ],
                    "totalBalance": {
                        "quantity": 0,
                        "unit": "string",
                        "nutrientImport": [{
                                "quantity": 0,
                                "unit": "string",
                                "substance": "string"
                            }
                        ]
                    }
                }

For this purpose results are divided into the following objects:

additionalModules.impex.importBalance.beginningInventoryPerProduct

Depicts summarized quantity information during beginning inventory. Results are shown per feedstuffProductType and order.

additionalModules.impex.importBalance.endingInventoryPerProduct

Depicts summarized quantity information during ending inventory. Results are shown per feedstuffProductType and order.

additionalModules.impex.importBalance.supplyPerProduct

Depicts summarized quantity information feedstuff supply. Results are shown per feedstuffProductType and order.

additionalModules.impex.importBalance.dispensePerProduct

Depicts summarized quantity information feedstuff dispense. Results are shown per feedstuffProductType and order.

Summation of Results

For each object listed above a summed result object is shown. Objects are summarized by the following criteria:

  • Sum over all feedstuffProductType and all order with the prefix total[...].
additionalModules.impex.importBalance.totalBalancePerProduct

Depicts summarized import quantity and nutrient calculation result balancing beginning inventory with supply, dispense and ending inventory. Results are shown per feedstuffProductType and order.

additionalModules.impex.importBalance.totalBalance

Depicts overall summarized import quantity and nutrient calculation result balancing beginning inventory with supply, dispense and ending inventory. Nutrient import result is finally balanced with additionalModules.impex.exportBalance.totalBalance

additionalModules.impex.broilerRotation

The object broilerRotation inside impex depicts calculation result rotation of declared broiler animals within the impexCategory. broilerRotation does not neither show nutrient results nor export balance, as they are shown as within exportBalance. However results form broilerRotation are used to calculate exportBalance and balanceLowerBound.

JSON Object Structure (Expanded)

                "broilerRotation": {
                    "animalCategoryIMPEX": "string",
                    "rotation": [{
                            "stableNr": 0,
                            "rotationNr": 0,
                            "quantity": 0,
                            "quantityForLowerBound": 0,
                            "stableDaysOccupied": 0,
                            "stableDaysEmpty": 0,
                            "slaughterExitQuantity": 0,
                            "slaughterExitProportion": 0,
                            "slaughterExitLivingWeight": 0
                        }
                    ],
                    "stable": [{
                            "stableNr": 0,
                            "rotationCount": 0,
                            "averageStableDaysOccupiedPerPeriod": 0,
                            "stableDaysOccupiedPerPeriod": 0,
                            "minimumStableDaysOccupiedPerPeriod": 0,
                            "averageQuantity": 0,
                            "averageQuantityForLowerBound": 0,
                            "livestockUnit": 0
                        }
                    ],
                    "totalBroilerRotation": {
                        "averageQuantity": 0,
                        "averageQuantityForLowerBound": 0,
                        "livestockUnit": 0
                    }
                }

For this purpose results are divided into the following objects:

additionalModules.impex.importBalance.broilerRotation.rotation

Depicts results of single rotation for broiler. Results are shown per stableNr and rotationNr. Results are used for calculation of supplyPerAnimal and dispensePerAnimal.

additionalModules.impex.importBalance.broilerRotation.stable

Depicts summarized results of all rotations within one stable for broiler. Results are shown per stableNr.

additionalModules.impex.importBalance.broilerRotation.totalBroilerRotation

Depicts summarized results of all rotations all stables for broiler. Results are used for calculation of balanceLowerBound and exportBalance

additionalModules.impex.balanceLowerBound

The object balanceLowerBound inside impex depicts lower bound nutrient calculation result for each animalCategoryPRIF and for the whole impexCategory. Result is subsequently compared to impex.totalBalance. For broiler balanceLowerBound is calculated via results frombroilerRotation.

JSON Object Structure (Expanded)

                "balanceLowerBound": {
                    "lowerBoundPerAnimal": [{
                            "animalCategoryPRIF": 0,
                            "nutrientBound": [{
                                    "quantity": 0,
                                    "unit": "string",
                                    "substance": "string"
                                }
                            ]
                        }
                    ],
                    "totalLowerBound": [{
                            "quantity": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                }

For this purpose results are divided into the following objects:

additionalModules.impex.importBalance.balanceLowerBound.lowerBoundPerAnimal

Depicts results of lower bound nutrient calculation. Results are shown per animalCategoryPRIF and substance.

additionalModules.impex.importBalance.balanceLowerBound.totalLowerBound

Depicts summarized results of lower bound nutrient calculation. Results are shown per substance. Results are used for calculation of impex.totalBalance.quantityCorrected if lower bound is bigger than impex.totalBalance.quantity

additionalModules.impex.totalBalancePerPeriod

The object totalBalancePerPeriod inside impex depicts total import export nutrient balance of impexCategory for the declared impex period. Results are shown per substance and used for calculating nutrient balance for 365 days.

additionalModules.impex.totalBalance

The object totalBalance inside impex depicts total import export nutrient balance of impexCategory for 365 days using totalBalancePerPeriod. Results are shown per substance and divided into the following categories:

  • quantity: result of nutrient quantity of import export balance not yet compared to totalLowerBound
  • quantityCorrected: result of nutrient quantity of import export balance compared to and corrected with totalLowerBound.
    • quantity is identical to quantityCorrected for nutrients for wich impex.totalLowerBound.quantity is smaller or equal impex.totalBalance.quantity
    • quantityCorrected is set to same value as impex.totalLowerBound.quantity for nutrients for wich impex.totalBalance.quantity is bigger than impex.totalBalance.quantity

additionalModules.impex.totalBalanceSharePerAnimal

The object totalBalanceSharePerAnimal inside impex depicts import export nutrient balance for declared animalCategoryPRIF within balanceLowerBound, which subsequently is used for SuiBi calculation. For broiler impex totalBalanceSharePerAnimal is set for broiler animalCategoryPRIF without having to declare balanceLowerBound. This result can be transferred for all the listed animalCategoryPRIF within totalBalanceSharePerAnimal response by using hasImpexDerivedExcretion within animalLifestock request object.

additionalModules.impex.report

Depicts result of IMPEX calculation in Base64 encoded PDF. This file includes results and input relevant for enforcement to control IMPEX.

additionalModules.linearCorrection(Result)

linearCorrection shows nutrient accumulation results of the additional module calculating linear correction per animalCategoryPRIF.

JSON Object Structure (Collapsed)

        "linearCorrection": {
            "supplyPerProduct": [{
                    "feedstuffProductType": "string",
                    "order": "string",
                    "quantity": 0,
                    "unit": "string"
                }
            ],
            "dispensePerProduct": [{
                    "feedstuffProductType": "string",
                    "order": "string",
                    "quantity": 0,
                    "unit": "string"
                }
            ],
            "totalBalancePerProduct": [{
            "totalBalance": [{
            "report: "string"
        }

additionalModules.linearCorrection results are divided into the following objects:

additionalModules.linearCorrection.supplyPerProduct

Depicts summarized quantity information feedstuff supply. Results are shown per feedstuffProductType and order.

additionalModules.linearCorrection.dispensePerProduct

Depicts summarized quantity information feedstuff dispense. Results are shown per feedstuffProductType and order.

additionalModules.linearCorrection.totalBalancePerProduct

The object totalBalancePerProduct inside linearCorrection depiucts balance per feedstuffProductType based on results from supplyPerProduct and dispensePerProduct. Result is subsequently used to calculate consumption of animal stock resulting in totalBalance.

JSON Object Structure (Expanded)

            "totalBalancePerProduct": [{
                    "feedstuffProductType": "string",
                    "order": "string",
                    "quantity": 0,
                    "unit": "string",
                    "totalBalancePerAnimal": [{
                            "animalCategoryPRIF": 0,
                            "proportionFed": 0,
                            "quantity": 0,
                            "unit": "string"
                        }
                    ]
                }
            ]

For this purpose results are further divided into the following objects:

additionalModules.linearCorrection.totalBalancePerProduct.lowerBoundPerAnimal

Depicts calculation result balancing beginning inventory with supply, dispense and ending inventory. Results are shown per feedstuffProductType and order.

additionalModules.linearCorrection.totalBalance

The object totalBalance inside linearCorrection depicts feeding balance and based on feeding balance corrected nutrient excretion per animalCategoryPRIF. Results are based on results from totalBalancePerProduct.

JSON Object Structure (Expanded)

            "totalBalance": [{
                    "animalCategoryPRIF": 0,
                    "feedstuffNutrition": {
                        "totalSolidMatter": 0,
                        "totalDryMatter": 0,
                        "totalDryMatter88": 0,
                        "totalEnergy": 0,
                        "totalCrudeProtein": 0,
                        "totalPhosphor": 0,
                        "energyContent": 0,
                        "crudeProteinContent": 0,
                        "phosphorContent": 0,
                        "ratioCrudeProteinToEnergyContent": 0
                    },
                    "nutrientBound": [{
                            "quantity": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ],
                    "nutrientAccumulation": [{
                            "quantity": 0,
                            "quantityCorrected": 0,
                            "unit": "string",
                            "substance": "string"
                        }
                    ]
                }
            ]

For this purpose results are further divided into the following objects:

additionalModules.linearCorrection.totalBalance.feedstuffNutrition

Depicts composition of concentration and total nutritional values of declared LC-period. Results are shown per feedstuffProductType and order.

additionalModules.linearCorrection.totalBalance.nutrientBound

Depicts results of lower bound nutrient calculation. Results are shown per animalCategoryPRIF and substance.

additionalModules.linearCorrection.totalBalance.nutrientAccumulation

The object nutrientAccumulation depicts total excretion of animals calculated in LC using feedstuffNutrition. Results are shown per substance and divided into the following categories:

  • quantity: result of nutrient quantity of import export balance not yet compared to nutrientBound
  • quantityCorrected result of nutrient quantity of import export balance compared to and corrected with nutrientBound:
    • quantity: is identical to quantityCorrected for nutrients for wich totalBalance.nutrientBound.quantity is smaller or equal totalBalance.nutrientAccumulation.quantity
    • quantityCorrected is set to same value as totalBalance.nutrientBound.quantity for nutrients for wich totalBalance.nutrientBound.quantity is bigger than totalBalance.nutrientAccumulation.quantity

additionalModules.linearCorrection.report

Depicts result of LC-calculation in Base64 encoded PDF. This file includes results and input relevant for enforcement to control LC.

Clone this wiki locally