APSIM component communications
SWIM Plant Communications

<type name="WaterUptakes"> <field name="Uptakes" array="T"> <field name="Name" kind="string"/> <field name="Amount" kind="double" unit="mm" array="T"/> </field></type>Arbitrator Communications

Notes: Arbitrator could be more than one component, for example, light arbitration might be in a separate component to water and nutrient arbitration.
<type name=”CohortCanopy”> <field name="CohortID" kind="string"/> <field name="RowAngle" kind="double" unit=”radian”/> <field name="RowDistance " kind="double" unit=”m”/> <field name="RowOffset " kind="double" unit=”m”/> <field name="ColumnDistance " kind="double" unit=”m”/> <field name="ColumnOffset " kind="double" unit=”m”/> <type name="CanopyLayer" array=”T”> <field name="Top" kind="double" unit=”m”/> <field name="RowExtent" kind="double" unit=”m”/> <field name="ColumnExtent" kind="double" unit=”m”/> <field name="LiveAI" kind="double" unit=”m^2/m^”/> <field name="DeadAI" kind="double" unit=”m^2/m^”/> <field name="LiveK" kind="double" unit=”-“/> <field name="DeadK" kind="double" unit=”-“/> <field name="Albedo" kind="double" unit=”-“/> <field name="Transmission" kind="double" unit=”-“/> <field name=”Emissivity" kind="double" unit=”-“/> <field name="StomatalGMax" kind="double" unit=”m/s”/> <field name="StomatalGHalfSat" kind="double" unit=”J/m^2/s”/> </type></type><type name=”CohortWaterDemand”> <field name="CohortID" kind="string" /> e.g. seedling, plant <field name="Demand" kind="double" unit=”kg/m^2”/> <field name="PsiXylemMin" kind="double" unit=”MPa”/> <type name=”RootSystemLayer” array=”T”> <field name="Bottom" kind="double" unit=”m”/> <field name="LL" kind="double" unit=”m^3/m^3”/> <field name="KL" kind="double" unit=”/day”/> <field name="RootLengthDensity" kind="double" unit=”m/m^3”/> <field name="RootRadius" kind="double" unit=”mm”/> <field name="RootConductance" kind="double" unit=””/> </type></type> <type name=”CohortNutrientDemand”> <field name="CohortID" kind="string" /> e.g. seedling, plant <field name="Demand" kind="double" unit=”kg/ha”/> <type name=”RootSystemLayer” array=”T”> <field name="Bottom" kind="double" unit=”m”/> <field name="MaxUptakeN" kind="double" unit=”kg/ha”/> <field name="MaxUptakeP" kind="double" unit=”kg/ha”/> <field name="MaxUptakeS" kind="double" unit=”kg/ha”/> <field name="MaxUptakeAshAlk" kind="double" unit=”mol/ha”/> </type></type><type name=”CanopyArbitration”> <field name="CohortID" kind="string"/> <type name="CanopyLayer" array=”T”> <field name="AbsorbedRadiation" kind="double" unit=”MJ/m^2”/> <field name="WaterDemand" kind="double" unit=”kg/m^2”/> <field name="Inteception" kind="double" unit=”kg/m^2“/> </type></type><type name=”CohortWaterSupply”> <field name="CohortID" kind="string" /> e.g. seedling, plant <type name=”RootSystemLayer” array=”T”> <field name="Bottom" kind="double" unit=”m”/> <field name="Supply" kind="double" unit=”kg/m^2”/> </type></type><type name=”CohortNutrientSupply”> <field name="CohortID" kind="string" /> e.g. seedling, plant <type name=”RootSystemLayer” array=”T”> <field name="Bottom" kind="double" unit=”m”/> <field name="SupplyNO3" kind="double" unit=”kg/ha” /> <field name="SupplyNH4" kind="double" unit=”kg/ha” /> <field name="SupplyPOx" kind="double" unit=”kg/ha” /> <field name="SupplySO4" kind="double" unit=”kg/ha” /> <field name="SupplyAshAlk" kind="double" unit=”mol/ha” /> </type></type>
Grazing Communications

<type name="CohortAvailableToAnimal"> <field name="CohortID" kind="string"/> e.g. seedling <field name="Organ" kind=”string” /> e.g. leaf, stem <field name="AgeID" kind="string" /> e.g. “secondleaf”, “live”, “dead” <field name="Bottom" kind="double" unit="mm" /> <field name="Top" kind="double" unit="mm" /> <field name="Chem" kind=”string” /> e.g. digestible, indigestible <field name="Weight” kind=”double” unit=”kg/ha” /> <field name="N” kind=”double” unit=”kg/ha” /> <field name="P” kind=”double” unit=”kg/ha” /> <field name="S” kind=”double” unit=”kg/ha” /> <field name="AshAlk” kind=”double” unit=”mol/ha” /> </type><type name="CohortRemovedByAnimal"> <field name="CohortID" kind="string"/> e.g. seedling <field name="Organ" kind=”string” /> e.g. leaf, stem <field name="AgeID" kind="string" /> e.g. “secondleaf”, “live”, “dead” <field name="Bottom" kind="double" unit="mm" /> <field name="Top" kind="double" unit="mm" /> <field name="Chem" kind=”string” /> e.g. digestible, indigestible <field name="WeightRemoved” kind=”double” unit=”kg/ha” /> </type>
Jobs:
Implement in PLANT2 – DH
Change STOCK – AM
PASTURE – AM
Delete Stock Science Converter? DH
Implement in GRASP – PdeV
Move AgPasture into PLANT2 – Frank Li
Excreta Return Communications

<type name="AddFaeces"> <field name="Defaecations" unit="-" kind="double"/> <field name="VolumePerDefaecation" unit="m^3" kind="double"/> <field name="AreaPerDefaecation" unit="m^2" kind="double"/> <field name="Eccentricity" unit="-" kind="double"/> <field name="OMWeight" unit="kg/ha" kind="double"/> <field name="OMN" unit="kg/ha" kind="double"/> <field name="OMP" unit="kg/ha" kind="double"/> <field name="OMS" unit="kg/ha" kind="double"/> <field name="OMAshAlk" unit="mol/ha" kind="double"/> <field name="NO3N" unit="kg/ha" kind="double"/> <field name="NH4N" unit="kg/ha" kind="double"/> <field name="POXP" unit="kg/ha" kind="double"/> <field name="SO4S" unit="kg/ha" kind="double"/></type><type name = "AddUrine"> <field name="Urinations" unit="-" kind="double"/> <field name="VolumePerUrination" unit="m^3" kind="double"/> <field name="AreaPerUrination" unit="m^2" kind="double"/> <field name="Eccentricity" unit="-" kind="double"/> <field name="Urea" unit="kg/ha" kind="double"/> <field name="POX" unit="kg/ha" kind="double"/> <field name="SO4" unit="kg/ha" kind="double"/> <field name="AshAlk" unit="mol/ha" kind="double"/></type>Jobs by September:
AM – Stock changed to send AddFaeces and AddUrine.
EZ – SurfaceOm to change to accept AddFaeces
BJ – SurfaceOrganicMatter to change to accept AddFaeces
EZ – SoilN to change to accept AddUrine
BJ / VS – SoilNitrogen to change to accept AddUrine and to include urine patch algorithm.
DH – StockHerbageConverter – remove faeces and urine code.
