90 likes | 254 Views
Monday 19th August. ApsimX Design Workshop. Monday. Tuesday. CSIRO internally funded project will:.
E N D
Monday 19th August ApsimX Design Workshop Monday Tuesday
CSIRO internally funded project will: • Implement a next-generation version of the APSIM software that "runs fast, runs everywhere" (i.e. on Windows, iOS and Android devices) and that significantly reduces the costs of maintaining the APSIM code in the medium term (working title “ApsimX”) • Make a major contribution to the ongoing maintenance and curation of the APSIM software, including support for regular releases of new versions and addition of new models (Ausfarm, Dymex, ...). • Reduce the “data-wrangling” required to obtain insight from large modelling studies, by enhancing support by APSIM for the organization of outputs from large collections of related simulation.
Rationale • The advent of ubiquitous mobile computing, much of it based on variants of the Unix operating system, means that the existing Windows-centric code base will become inadequate to meet users’ needs within the next 5-10 years. • Increases in available computing power – mainly through the harnessing of multiple CPUs – mean that researchers are using APSIM to carry out ever-larger simulation experiments in scientific contexts including genetic evaluation, land use tradeoffs and climate change adaptation. This is resulting in demand for greater execution speeds and for efficient ways of delivering modelling results at the level of the simulation experiment rather than the individual simulation run.
CSIRO internally funded project deliverables: • APSIM next generation (ApsimX) • Development of ApsimX framework with tests and spec. doc. • User interface that will run on Windows/Linux/Mac • Development of ApsimX models • Wrapper for old APSIM components • Develop a simple web interface proof-of-concept • Develop a simple android / ipad interface proof-of-concept. • Enhanced validation / calibration test suite • Seamless pasture / livestock / DYMEX model integration into APSIM. • A new APSIM overview paper accepted for publication in a peer-reviewed journal • A new facility in the APSIM suite that captures and organizes output data from complex simulation experiments in easily accessible storage • A new SWIM water balance model within ApsimX, incorporating enhancements recently devised by Peter Ross that will increase its execution speed & functionality. A paper describing the new SWIM version submitted for publication. • Ongoing maintenance and release of APSIM and ApsimX • YieldProphet ongoing support and handover to BCG by Dec 2014.
An opportunity to: • Completely rethink APSIM’s design, the way it is implemented, tested and deployed. • Find the simplest (and quickest) implementation of APSIM that we can (a micro kernel) • Implement new science on SoilWater, SWIM and below ground arbitration of resources. • Develop a new user interface, inter-model communication ‘protocol’. • Rethink the way we test APSIM (all models must have a validation, sensibility test and new documentation) • Move to a auto-upgrade facility (on a user defined schedule) from the web. • Move to a new, distributed, version control system? • ‘Think outside the square’
Remainder of the workshop • I will present one possible design for a new APSIM. • I’m interested in alternatives or suggestions.
Action plan • Suppository Git vsSvnPete • Continuous integration tool selection (Cruise Control?) Pete • Testing / stats / R framework. Justin & Paul. • Write a sequence diagram for a complete simulation and interfaces Eric • Write translator: .apsim to .apsimxDean • Decide on User Interface display technology GTK#, Mono Develop? • ------- VC ------- • Zone (add tests) Neville • Tests for clock – check for regional settings Neville • ManagerDean • SoilWater • Rework code to run in ApsimXShaun • Tests/Validation Justin with Neil and Hamish • SoilNitrogen • Rework code to run in ApsimXShaun • Tests/Validation Rogerio & Jo
Surface organic matter (validation with sugar, wheat) • Rework code to run in ApsimXEric • Tests/Validation Jo + Neil • Irrigation, fertiliser, sysbal? Justin, • Report Dean • MicroClimate (Rework code Eric) Tests(Neil) • Summary file? How? Text vs binary? Both.Dean • Operations modelPeter • Weather model add tests, add daylength, adding hourly temperatures, calc tav/amp from file or use global gridded lookup (Neil knows what to do). Neville
User interface Dean • Links (shortcuts) in GUI – how? Dean • Internationalisation issues in GUI. Dean • No spaces in model names. GUI to enforce. Dean • How is a soil represented in GUI and model. (single soil, child models for soilwater, soil nitrogen) Dean • Auto updater from web • Below ground resource arbitration. Define interface and implement dummy model. Val & Hamish will modify Plant2 to use interface. • Plant potato Hamish (do this before wheat) Feb 2014 decision point, wheat Neil Mar-June , sugarcane, oilpalm, agpasture • Soil temperature (remove from soil nitrogen), add tests. • What do we do about unreleased models? • Solute