system-level hypothesis testing: a novel approach to developing parsimonious models of complex...
DESCRIPTION
System-level Hypothesis Testing: A Novel Approach to Developing Parsimonious Models of Complex Ecosystem Dynamics. Geoffrey Poole Clem Izurieta Robert Payn Ashley Helton Meredith Wright Emily Bernhardt Jack Stanford. SE techniques yield: Model parsimony - PowerPoint PPT PresentationTRANSCRIPT
System-level Hypothesis Testing: A Novel Approach to Developing Parsimonious Models of Complex Ecosystem Dynamics
Geoffrey PooleClem IzurietaRobert PaynAshley HeltonMeredith WrightEmily BernhardtJack Stanford
AN IMPERATIVESE techniques yield: Model parsimony Code reliability,
extensibility, reuse, longevity
Grid-based high-performance computing
Virtual laboratories
Scheller et al. 2009
THE NEED Virtual laboratory; model parsimony
Requires: rapid creation, maintenance, management, and execution of multiple competing model variants
Code reliability, extensibility, and reuse Requires: encapsulation and
modularization of code High performance computing
Requires: A simple means of developing multi-threaded code
WHAT IS A MODEL?
[Solute]
Upta
ke
Umax
k
Time
[Solute]
Biomass
RETHINKING MODELS...
Input/Output/
Initialization
Execution control
CalculationsR = 6.5
X = 13.4
r = 0.034
Ks = 1.73u = 6.2
U = 17.3W = 600
S =1800.0[S] = 3.00
Values Code
NEO
Model
Simulation run
CREATING A NEO SIMULATIONSolution Biomass
Uptake Respiration
C1 C2E1 E2
EdgeID FromCell ToCellE1 C1 C2E2 C2
NEO INPUT FILE: Matrix Table
C1 C2E1 E2
HolonID Variable ValueC1 W 600E1 Ks 1.73E1 u 6.2E2 R 0.034
NEO INPUT FILE: Parameter file
Wµ
Ks
r
Holon ID Holon TypeC1 SolutionC2 BiomassE1 UptakeE2 Respiration
NEO INPUT FILE: Holon Type Table
Solution BiomassUptake Respiration
C1 C2E1 E2
WS
[S] µ
Ks
r
eq4
eq5 Ueq1 R
eq2
Xeq3
45
3
1
2
Model code hierarchy
Cell type CarbonSolution aqueousBiomass microbial
NEO INPUT FILE: Cell Type Behavior Table
Edge type CarbonUptake michaelis_mentenRespiration microbial
NEO INPUT FILE: Edge Type Behavior Table
Solution BiomassUptake Respiration
C1 C2E1 E2
WS
[S] µ
Ks
r
eq4
eq5 Ueq1 R
eq2
Xeq3
Time
[Solute]
Biomass
public class Carbon extends Dynam { private StateVal Ks, u, conc, X; public double initialize() { Ks = myEdge.getStateVal(“Ks”); u = myEdge.getStateVal(“u”); conc = fromCell.getStateVal(“[S]”); X = toCell.getStateVal(“X”); return 0.0; } public double calculate() { return u.v * (Ks.v / (Ks.v + conc.v)) * X.v; } }
45
3
1
2
Model code hierarchy
Pseudo code
Solution BiomassUptake Respiration
C1 C2E1 E2
WS
[S] µ
Ks
r
eq4
eq5 Ueq1 R
eq2
Xeq3
“ToCell”
“MyEdge”“FromCe
ll”
“HorzGroundwaterFlux”
Wat
er fl
ux a
nd s
olut
e tr
ansp
ort
Microbial uptake and respiration
UptakeBiomassResp
S[S]
µKs
rURX
S
S
S[S]
µKs
rURX
S[S]
µKs
rURX
S
S
W
Q
Q
W
W
Q
Q
MULTIPLE INTERACTIVE CURRENCIES
HorizontalGWFluxH2ODOC
GWSWExchange
SWFlux
OC
H20DOC
SurfaceWater
Areal
UptakeOC
M-M
UptakeCO2
SWFlux
Biomass
CO2
Respiration
RespirationHorizont
alGWFlux
AdvectiveSoluteFlux
Biomass
Biomass
SurfaceWater
Surface Water Flux
GroundWater
Horizontal GW Flux
Areal
Uptake
CO2
Respiration
GWSW Exchange
CODE REUSE AND RECOMBINATION
M-M
Uptake
NEO model
spawner
Model outputs
Step 1: Perform multiple independent model executions (with different parameters) simultaneouslyacross multiple processing threads. Speedsapplications such as sensitivityanalyses.
Model execution
Model output
Processing threads
Step 2: Use parallel processing to
expedite run-time of individual model
executions.Speeds
applications ofhighly detailed or
complexmodels.
Model execution
s
Processing threads
PARALLEL PROCESSING
THE BOTTOM LINE… As a modeling framework, NEO allows:
Specification of model parameters, structure, and algorithms at run time
NEO facilitates: Rapid model development Simple management of code complexity Addition and removal of model dynamics Applications on HPC platforms Maintenance, management and execution of
multiple model variants
SYSTEM LEVEL HYPOTHESIS TESTING Hypothesis testing requires making predictions At a whole-system level, a model is required Models variants are competing hypotheses
Complexity can be added/removed Alternative behaviors can be substituted
Empirical data are used to reject models Last model standing (if any) is supported
SYNERGY WITH BAYESIAN APPROACHES? Sources of error in model assessment
Empirical data Model parameters Model structure
Bayesian approaches presume that model structure is fixed.
NEO opens the possibility of Bayesian assessment to determine the probability of alternative model structures.
http://www.montana.edu/FLL
public class Carbon extends Dynam { private StateVal k, u_max, conc, biomass; public double initialize() { k = myholon.getStateVal(“K”); u_max = myEdge.getStateVal(“u_max”); conc = fromCell.getStateVal(“CarbonConc”); biomass = toCell.getStateVal(“Carbon”); return 0.0; } public double calculate() { return u_max * (k / (k + conc)) * biomass; } }public class Carbon extends Dynam { private StateVal r, biomass; public double initialize() { r = myEdge.getStateVal(“r”); biomass = fromCell.getStateVal(“Carbon”); return 0.0; } public double calculate() { return -r * biomass; } }
45
3
1
2
Packages
Holons
Behaviors
Deviant
1
2
A) Model B) Illustrative codepublic class Carbon extends Dynam { private StateVal conc, water; public double initialize() { conc = fromCell.getStateVal(“CarbonConc”); water = myEdge.getStateVal(“Water”); return 0.0; } public double calculate() { return conc * water; } }
Model
ECOSYSTEMS AS MULTI-CURRENCY FLUX NETS
Model of solute transport/processing (currencies are water, heat, carbon, nitrogen, oxygen) within a linked hydro-biological system (network)
Helton et al. Accepted
PHYSICAL SYSTEMS AS FLUX NETWORKS
Surface and ground water (currency) flux across and through the Nyack Floodplain, Middle Fork Flathead River (network)
Poole et al. 2006
BIOTIC COMMUNITIES AS FLUX NETWORKS
Food web (network) representing carbon (currency) fluxBaxter et al. 2005