You are here

Biome model


This is closely based on the Prentice and ... Biome model, which aims to model the response of vegetation dynamics to climate change under conditions of water strees. The vegetation does not include any state variables (compartments). This is because the response is assessed in terms of net primary productivity (Pnet), rather than in terms of the consequent accumulation of biomass.

Note that the 'Vegetation Type' submodel is a multiple-instance submodel. This is to enable the model to simulate the response of several types of vegetation.

The original reason for implementing this model in Simile was to demonstrate Simile’s capabilities for plug-and-play modularity. For this purpose, two versions of the soil water submodel were developed: the original one from the Prentice and .... paper, which had a state variable for each of two soil layers, and a made-up artificial alternative, with a single state variable, which was then used to calculate the amount of water in each of the two layers. It is the second version which is included with this model.



Equations in Desktop
variable: D = graph(month)
variable: month = fmod(time(1),12)
variable: bare = 1-sum([f])
variable: total_transp1 = sum([transp1])
variable: total_transp2 = sum([transp2])

variable: Aa = ap*phi_d*phi_t 
   Units must be mol(CO2) per month
variable: temp = graph(month)
variable: a = 0.08
   "Ratio of leaf respiration to photosynthetic capacity" 
   (but also (p.653)    described as merely "an empirical parameter")
variable: sigma = (1-alpha/td)^0.5 
   "sigma is a dimensionless factor that depends only on the 
   fractional daylength (td) and the ratio of leaf respiration to 
   photosynthetic capacity (alpha)"
variable: Ap = fpar*sigma*phi*im 
   "Ap  =  monthly potential photosynthesis"
   Units must be mol(CO2) per month
variable: FPAR = 0.5
   Value???   "fraction of incoming PAR absorbed by the green vegetation"
variable: Im = graph(month)
   Value?????   "total monthly incident PAR"
   Units nust be mol(photons) per month
variable: td = 0.5
   "fractional daylength"
variable: phi = (if temp<13 then 0.07 else(if temp>38 then 0.04 else 0.04+0.03*(temp-13)/(38-13)))
   "quantum efficiency of gross photosynthesis at prescribed ambient CO2"
  "C3 plants at 13C  =  0.07, at 38C  =  0.04"
   "C4 plants  =  0.054, at any temp"
   "Field values c. 50% lower"
variable: PHI D = e/d 
   "drought scalar, ratio of actual to equilibrium evapotranspiration
    for the month as calculated by the water flux model"
variable: PHI T = (if temp<5 then 0 else(if temp>35 then 0 else(if temp<20 then(temp-5)/(20-5)else(if temp>30 then(temp-30)/(35-30)else 1))))
   "monthly temperature scalar, is set to unity across a range of 
   temperatures from T2 to T3.   Below T2 the scalar decreases linearly
   to a value of zero at a temperature T1, and above T3 the scalar decreases
   to zero at a temperature T4"
variable: alpha = z*w1/(z*w1+(1-z)*w2)
variable: f = element([1,0,0,0],index(1))
variable: E = min(s,d)
   Instantaneous evapotranspiration rate, mm/hour.   In the paper,
   this is "integrated analytically over the 24 hour period".  In the
   present model, it is NOT.  Need to think about this:  can we do
   numerically, by integrating over the fractiosn of a "typical day"
   for each month? (i.e. time unit  =  1 month, time step  =  0.05 'day')
variable: transp1 = alpha*f*e 
variable: beta = (1-z)*w2/(z*w1+(1-z)*w2)
variable: transp2 = beta*f*e 
variable: Z = element([0.33,0.33,0.9,0.9],index(1))
variable: Wr = z*w1+(1-z)*w2 
variable: C = 1
   mm/hour   "maximum possible rate of evapotranspiration by plant species"
   Value is given in paper.
variable: S = c*wr 
   "supply function" for plant species.  mm/hour
variable: Pnet = aa-0.4*ap 

Equations in WATER
compartment: Water = 100
flow: rain = 40
flow: transpiration = transp+transp2 
flow: evaporation = 20*bare 
variable: W1 = water*thetamax1*d1/(d1+d2)
variable: W2 = water*thetamax2*d2/(d1+d2)
variable: d1 = 500
   mm:  depth of upper layer
variable: d2 = 1500
   mm:  depth of lower layer
variable: thetamax2 = 200
variable: thetamax1 = 300


Binary Data biome1.sml450.4 KB