@@ -139,19 +139,12 @@ function compute_autrophic_respiration(
139139)
140140
141141 (; ne, ηsl, σl, μr, μs, Rel) = model. parameters
142- FT = typeof (LAI)
143-
144- # Root and stem maintenance respiration: LAI-independent (trees keep roots and stems in winter)
145- Ra_root = Rd * μr * RAI
146- Ra_stem = Rd * μs * ηsl * h * SAI / σl
147-
148- # Leaf maintenance and growth respiration: canopy-scaled (→ 0 as LAI → 0)
149- Rpm_leaf = Rd * β
150- Rg = plant_respiration_growth (Rel, An, Rpm_leaf)
151- canopy_scale = (1 - exp (- K * LAI * Ω)) / (K * Ω)
152- Ra_canopy = max (FT (0 ), Rpm_leaf + Rg) * canopy_scale
153-
154- return Ra_canopy + Ra_root + Ra_stem
142+ Nl, Nr, Ns =
143+ nitrogen_content (ne, Vcmax25, LAI, SAI, RAI, ηsl, h, σl, μr, μs)
144+ Rpm = plant_respiration_maintenance (Rd, β, Nl, Nr, Ns)
145+ Rg = plant_respiration_growth (Rel, An, Rpm)
146+ Ra = Rpm + Rg
147+ return Ra * (1 - exp (- K * LAI * Ω)) / (K * Ω) # adjust to canopy level
155148end
156149
157150Base. broadcastable (model:: AutotrophicRespirationModel ) = tuple (model) # this is so that @. does not broadcast on Ref(canopy.autotrophic_respiration)
@@ -211,7 +204,7 @@ function nitrogen_content(
211204 μr:: FT , # Ratio root nitrogen to top leaf nitrogen (-), typical value 1.0
212205 μs:: FT , # Ratio stem nitrogen to top leaf nitrogen (-), typical value 0.1
213206) where {FT}
214- Sc = ηsl * h * SAI
207+ Sc = ηsl * h * LAI * ClimaLand . heaviside ( SAI)
215208 Rc = σl * RAI
216209 nm = Vcmax25 / ne
217210 Nl = nm * σl * LAI
0 commit comments