node00101node00102node00103node00104node00105node00124node00125node00156node00157node00158node00159node00160node00161node00174node00175node00176node00177node00178node00179node00180node00181node00187node00188node00189node00190node00191node00192node00193node00194node00195node00196node00197node00198node00199node00200node00201node00202node00203node00204node00205node00206node00207node00212node00501node00701node01003node01101node01102node01202node01203node01204node01205node01206node01212node01213trueModel of sugar-starch cycling in Arabidopsis thaliana leaves.nonenonenonearabidopsis_leaf_v10node00106node00107node00154node00155node00208node00209node00210node00211node00302node00303node00304node00305node00306node00307node00314node00315node00323node00324node00331node00335node00336node00337node00344node00345node00349node00350node00357node00358truewhiteallocationtrueSucrose for growth (g C / plant / time step)suc_growthtruefn203sum({suc_growth}) + sum({suc_growth_0})1sumsuc_growthsumsuc_growth_0trueSucrose to starch conversion (gC / plant over this time step)suc_statruefn47sum({suc_sta}) + sum({suc_sta_0})1sumsuc_stasumsuc_sta_0node00001node00308node00309node00312node00316node00319node00325node00326node00329node00332node00338node00339node00342node00346node00351node00352node00355node00359node00961node00962node00963node00964node00965node00966node00967node00968node00969node00970node00971node00972node00973node00974node00975truewhitefull organ demand metborder1trueLeaf growth actually achieved (g C / plant / time step)leaf_gro1truefn41leaf_gro1leaf_groborder5border9border12trueRoot growth actually achieved (g C / plant / time step)root_gro1truefn42root_gro1root_groborder14border17trueg C / plant / time step actually usedrlc_pt1truefn37rlc_pt1rlc_ptborder21border25trueg C / plant / time step actually usedrrc_pt1truefn39rrc_pt1rrc_ptborder28border32<fileref name="edited AS-NewBSC.f95" line="343" > Added to model to allow for mutant specific values (see lines 345 and 347). </fileref>trueFlag set to 1 to indicate that sucrose to starch conversion is enabled when needed, set flag to 0 to disable conversion at all times.suc_sta_0? truefn1011int1<fileref name="edited AS-NewBSC.f95" fromline="343" toline="348" > Note that on line 343 "<=" used for finding light period rather than the "<" used on line 305 </fileref>trueSucrose to starch conversion (gC / plant over this time step)suc_statruefn102if (is_light_ == 1) and (suc_sta_0_ == 1) then suc_c_disp - suc_growth else 01suc_c_dispsuc_growtheqis_light_1eqsuc_sta_0_10border1<fileref name="edited AS-NewBSC.f95" line="342" />trueSucrose for growth (g C / plant / time step)suc_growthtruefn201totdem1totdemborder1border3border6border8border9trueis met?truefn1full_demand_met_ == 1cond_speceqfull_demand_met_1border1node00310node00311node00313node00318node00320node00327node00328node00330node00334node00340node00341node00343node00348node00353node00354node00356node00361node00976node00977node00978node00979node00980node00981node00982node00983node00984node00985node00986node00987truewhitefull organ demand not met<fileref name="edited AS-NewBSC.f95" line="352" > Variable added to implement reuse of variable name. </fileref>trueLeaf growth actually achieved (g C / plant / time step)leaf_gro1truefn41leaf_gro * (suc_growth / totdem)1leaf_grosuc_growthtotdemborder6border11border13<fileref name="edited AS-NewBSC.f95" line="353" > Variable added to implement reuse of variable name. </fileref>trueRoot growth actually achieved (g C / plant / time step)root_gro1truefn42root_gro * (suc_growth / totdem)1root_grosuc_growthtotdemborder15border19trueg C / plant / time step actually usedrlc_pt1truefn37rlc_pt * (suc_growth / totdem)1rlc_ptsuc_growthtotdemborder22border27<fileref name="edited AS-NewBSC.f95" line="355" > Variable added to implement reuse of variable name. </fileref>trueg C / plant / time step actually usedrrc_pt1truefn39rrc_pt * (suc_growth / totdem)1rrc_ptsuc_growthtotdemborder29border34<fileref name="edited AS-NewBSC.f95" line="351" />trueSucrose to starch conversion (gC / plant over this time step)suc_statruefn103010border2<fileref name="edited AS-NewBSC.f95" line="350" />trueSucrose for growth (g C / plant over this time step)suc_growthtruefn202suc_c_disp1suc_c_dispborder2border4border5border7trueis not met?truefn2full_demand_met_ == 0cond_speceqfull_demand_met_0border2<fileref name="edited AS-NewBSC.f95" line="341" />trueSwitch variable set to 1 if full organ demand is met, otherwise it is set to 0full demand met?truefn103if (totdem < suc_c_disp ) then 1 else 0int1lttotdemsuc_c_disp0border1border2border3border4trueLeaf growth actually achieved (g C / plant / time step)leaf_gro1truefn41sum({leaf_gro1}) + sum({leaf_gro1_0})1sumleaf_gro1sumleaf_gro1_0border7border8trueRoot growth actually achieved (g C / plant / time step)root_gro1truefn42sum({root_gro1}) + sum({root_gro1_0})1sumroot_gro1sumroot_gro1_0border16border20trueg C / plant / time step actually usedrlc_pt1truefn37sum({rlc_pt1}) + sum({rlc_pt1_0})1sumrlc_pt1sumrlc_pt1_0border23border24trueg C / plant / time step actually usedrrc_pt1truefn39sum({rrc_pt1}) + sum({rrc_pt1_0})1sumrrc_pt1sumrrc_pt1_0border30border31node00213node00214node00215node00216node00217node00218node00219node00220node00221node00222node00223node00224node00225node00226node00227node00228node00229node00230node00231node00232node00233truewhiteinitialisationborder1border2border3border4border5<fileref name="edited AS-NewBSC.f95" line="219" />trueInitial specific leaf area index of Arabidopsis (m2 leaf / g C)sla_ini specific LAItruefn170.3810.38<fileref name="edited AS-NewBSC.f95" line="225" />trueAmount of leaf carbon when runs are started (g / plant)leaf_c_ini_unadjustedtruefn530.00013410.000134<fileref name="edited AS-NewBSC.f95" line="228" />trueleaf_c_ini_adjustedtruefn301leaf_c_ini_unadjusted * 0.941leaf_c_ini_unadjusted0.94<fileref name="edited AS-NewBSC.f95" line="230" > Added to model to allow for mutant specific values (see lines 230, 242, 254). </fileref>trueAmount of root carbon when runs are started (g / plant)root c initruefn302leaf_c_ini_adjusted * ini_root_c_as_prop_ini_leaf_c1leaf_c_ini_adjustedini_root_c_as_prop_ini_leaf_c<fileref name="edited AS-NewBSC.f95" line="230" > Added to model to allow for mutant specific values (see lines 230, 242, 254). </fileref>trueInitial root C as a proportion of initial leaf Cini root c as prop ini leaf ctruefn3030.1410.14<fileref name="edited AS-NewBSC.f95" line="231" />trueAmount of sucrose carbon when runs are started (g / plant)suc c initruefn3040.1 * leaf_c_ini_adjusted * sla_ini_specific_LAI10.1leaf_c_ini_adjustedsla_ini_specific_LAI<fileref name="edited AS-NewBSC.f95" line="232" > Added to model to allow for mutant specific values (see lines 232, 244, 256). </fileref>trueFlag set to 1 to indicate that the initial starch C value is calculated by formula, set flag to 0 to indicate initial C value is set to 0 instead.sta c ini calc?truefn3051int1<fileref name="edited AS-NewBSC.f95" line="232" > Added to model to allow for mutant specific values (see lines 232, 244, 256). </fileref>trueAmount of starch carbon when runs are started (g / plant)sta c initruefn306if sta_c_ini_calc_== 0 then 0.0 else 2.0 * 0.1 * leaf_c_ini_adjusted * sla_ini_specific_LAI10.0eqsta_c_ini_calc_02.00.1leaf_c_ini_adjustedsla_ini_specific_LAInode00234node00235node00236node00237node00238node00239node00240node00241node00242node00243node00244node00245node00246node00247node00248node00249node00250node00251node00252node00253node00503truewhitemaintenance respirationborder6border7border8border9border10border11border12border13<fileref name="edited AS-NewBSC.f95" line="292" > Original variable name ("Rl20") and the "293" and "20" used in line 296 suggest this is at 20oC and not the 25oC in the comments. </fileref>trueLeaf respiration at 20oC (g CO2 C / m2 / d)rl20_leaf resp 20oCtruefn9(0.0850 * suc_conc_s + 0.016) * 2410.085suc_conc_s0.01624<fileref name="edited AS-NewBSC.f95" line="295" />trueActivation energy for rl20 (kJ/mol)earl_activation energytruefn1066400166400<fileref name="edited AS-NewBSC.f95" line="296" > The constraint on "rl_leaf resp" at line 293 has been moved to this variable so that it is no longer before "rl_leaf resp" is set </fileref>trueLeaf respiration at leaf temperature (g CO2 C / m2 / d)rl_leaf resptruefn11num = earl_activation_energy * (tc_leaf_temp - 20), denom = 293 * 8.314 * (tc_leaf_temp + 273), if (suc_conc_s <= 0) then 0 else rl20_leaf_resp_20oC *exp(num / denom)1wherenumearl_activation_energytc_leaf_temp20denom2938.314tc_leaf_temp2730leqsuc_conc_s0rl20_leaf_resp_20oCexpnumdenom<fileref name="edited AS-NewBSC.f95" line="289" />trueSucrose conc / unit leaf area (g C / m2 leaf)suc_conc_struefn35suc_c_per_plant / leaf_s1suc_c_per_plantleaf_s<fileref name="edited AS-NewBSC.f95" line="299" />trueLeaf respiration per plant per time step (gC per plant per time step)rl_pt_plant leaf resptruefn36rl_leaf_resp * leaf_s * timestep1rl_leaf_respleaf_stimestep<fileref name="edited AS-NewBSC.f95" line="300" />truegC / plant / time steprrm_pttruefn38rl_pt_plant_leaf_resp * (root_c_per_plant / leaf_c_per_plant)1rl_pt_plant_leaf_resproot_c_per_plantleaf_c_per_plantborder3node00254node00301node00401node00613node00616node00620node00755node00756node00757node00758node00759node00760node00761node00762node00763node00764node00765node00766node00767node00768node00769node00770node00771node00772node00773node00774node00775node00776node00777node00778node00779node00780node00781node00782node00783node00784node00785node00786node00787node00788node00789node00790node00791node00792node00793node00794node00795node00796node00797node00798node00799truewhiteassimilatory flux and related starch and sucrose reactionsborder14border1border1border4border7border9border15border16border17border18border19border20border21border22border23border24border25border26border27<fileref name="edited AS-NewBSC.f95" line="304" > This calculation is done via a submodel containing the Farquhar, Caemmerer and Berry model of C3 photosynthesis </fileref>trueNet rate of leaf photosynthesis (micromol CO2 / m2 leaf / s)al_net rate leaf photosynthesistruefn3al_net_rate_leaf_photosynthesis1al_net_rate_leaf_photosynthesis<fileref name="edited AS-NewBSC.f95" line="279" />trueConversion factor for umol CO2/m2 leaf/sec to gC/m2 leaf/time stepconvert_to gC truefn19timestep * 86400 * 1e-6 * 121timestep864001.0e-0612trueAssimilatory flux per plant (g C / plant / time step)al_pt_plant assimtruefn20sum({al_pt_plant_assim}) + sum({al_pt_plant_assim_0})1sumal_pt_plant_assimsumal_pt_plant_assim_0<fileref name="edited AS-NewBSC.f95" line="168" />trueBaseline starch conversion coefficient (dimensionless)stabase_baseline starch convtruefn220.12510.125trueConversion of starch to soluble sugars (gC / plant / time step)sta_usetruefn43sum({sta_use}) + sum({sta_use_0})1sumsta_usesumsta_use_0trueg C / plant / time stepal_suctruefn44sum({al_suc}) + sum({al_suc_0})1sumal_sucsumal_suc_0<fileref name="edited AS-NewBSC.f95" fromline="330" toline="332" />trueComputation of the amount of available sugar for growth (gC / plant)suc_c_disptruefn45current_value = suc_c_intermed - (suc_equi * leaf_s), if (current_value <= 0) then 0 else current_value1wherecurrent_valuesuc_c_intermedsuc_equileaf_s0leqcurrent_value0current_value<fileref name="edited AS-NewBSC.f95" line="183" />trueEquilibrium sucrose plus hexose concentration in leaves (g C / m2 leaf)suc_equitruefn480.0510.05trueBaseline starch conversion (g C / plant / time step)suc_sta_basetruefn54sum({suc_sta_base}) + sum({suc_sta_base_0})1sumsuc_sta_basesumsuc_sta_base_0<fileref name="edited AS-NewBSC.f95" line="223" />trueProportion of end of light period starch content converted to soluble sugars during the dark period (dimensionless)sta_convert2_conv at nighttruefn640.8410.84<fileref name="edited AS-NewBSC.f95" line="325" />trueTotal assimilatory flux per plant (g C / plant ) during simulationaltottruefn601010<fileref name="edited AS-NewBSC.f95" line="305" > Variable added to model to implement light/dark cycles </fileref>trueSwitch variable set to 1 if light and 0 if darkis light?truefn701is_light_intis_light_node00800node00801node00802node00803node00804node00805node00806node00807node00808node00809node00810node00811node00812node00813node00814node00815node00816node00817node00818node00819node00820node00821node00822<fileref name="edited AS-NewBSC.f95" fromline="305" toline="312" />truenonenonewhitenonein light period 0truelight?truefn702is_light_ == 1cond_speceqis_light_1border1This calculation converts micromol CO2 to equivalent g fixed C <fileref name="edited AS-NewBSC.f95" line="306" />trueAssimilatory flux per plant (g C / plant / time step)al_pt_plant assimtruefn20al_net_rate_leaf_photosynthesis * leaf_s * convert_to_gC1al_net_rate_leaf_photosynthesisleaf_sconvert_to_gCborder3border4border5border6<fileref name="edited AS-NewBSC.f95" line="308" />trueBaseline starch conversion (g C / plant / time step)suc_sta_basetruefn54al_pt_plant_assim * stabase_baseline_starch_conv1al_pt_plant_assimstabase_baseline_starch_convborder8border10<fileref name="edited AS-NewBSC.f95" line="309" />truegC / plant / time stepal_suctruefn44al_pt_plant_assim - suc_sta_base1al_pt_plant_assimsuc_sta_baseborder11<fileref name="edited AS-NewBSC.f95" line="310" />trueConversion of starch to soluble sugars (gC / plant / time step)sta_usetruefn43010border13<fileref name="edited AS-NewBSC.f95" line="311" />trueVariable used to find starch carbon (g C per plant) at the end of the light periodsta_c_enddaytruefn1sta_c_per_plant1sta_c_per_plantborder1border2node00402node00502node00823node00824node00825node00826node00827node00828node00829node00830node00831node00832node00833node00834node00835node00836node00837node00838node00839node00840node00841node00842node00843<fileref name="edited AS-NewBSC.f95" fromline="313" toline="323" />truenonenonewhitenonein dark period0border2border2truedark?truefn703is_light_ == 0cond_speceqis_light_0border2<fileref name="edited AS-NewBSC.f95" line="315" />trueAssimilatory flux per plant (g C / plant / time stepal_pt_plant assimtruefn20010border7<fileref name="edited AS-NewBSC.f95" line="317" />trueBaseline starch conversion (g C / plant / time step)suc_sta_basetruefn54010border9<fileref name="edited AS-NewBSC.f95" line="316" />truegC / plant / time stepal_suctruefn44010border12<fileref name="edited AS-NewBSC.f95" line="320" />trueConversion of starch to soluble sugars (during dark periods only) (gC / plant / time step)sta_usetruefn43((sta_c_endday * sta_convert2_conv_at_night) / (24 - light_hr)) * timestep * 241sta_c_enddaysta_convert2_conv_at_night24light_hrtimestep24border14<fileref name="edited AS-NewBSC.f95" line="311" />trueStarch carbon (g C per plant) at the end of the last light periodsta_c_enddaytruefn103sta_c_endday1sta_c_enddayborder3border4border5border1<fileref name="edited AS-NewBSC.f95" line="311" />trueVariable used to find starch carbon (g C per plant) at the end of a light period and store it during the following dark periodsta_c_enddaytruefn102if (is_light_ == 1) then sum({sta_c_endday}) else prev(1)1sumsta_c_enddayeqis_light_1prev1<fileref name="edited AS-NewBSC.f95" line="324" />trueVariable added to model to allow for state variable's use as an intermediate variable in original code (g C / plant (during current time step))suc c intermedtruefn801suc_c_per_plant + sta_use + al_suc - rl_pt_plant_leaf_resp - rrm_pt1suc_c_per_plantsta_useal_sucrl_pt_plant_leaf_resprrm_pttruecd1truefn802al_pt_plant_assim1al_pt_plant_assimnode00317node00333node00347node00360node00505node00844node00845node00846node00847node00848node00849node00850node00851node00852node00853node00854node00855node00856node00857node00858node00859node00860node00861node00862node01201node01302node01303truewhiteorgan demandborder10border18border26border33border5border28border29border30<fileref name="edited AS-NewBSC.f95" line="164" />trueMaximum growth rate of leaves (g / g/ day)gromaxtruefn2317.0 * 0.001 * 24.0117.00.00124.0<fileref name="edited AS-NewBSC.f95" line="339" />trueTotal organ demand (g C / plant / time step)totdemtruefn24leaf_gro + root_gro + rlc_pt + rrc_pt1leaf_groroot_grorlc_ptrrc_pt<fileref name="edited AS-NewBSC.f95" fromline="480" toline="486" > Note that the leaf_s value used in the calcs is the value before the state variables were updated on lines 382 to 384. </fileref>trueRoot to shoot ratio (dimensionless)rsratiotruefn34leaf_s_use = last(leaf_s), if (time() == 0) then rsratio_ini elseif (leaf_s_use <= 0.0001216) then 0.12 elseif (leaf_s_use <= 0.0003958) then 0.04957 + 554.7 * leaf_s_use else 0.26911whereleaf_s_uselastleaf_srsratio_inieqtime100.12leqleaf_s_use0.00012160.04957554.7leaf_s_useleqleaf_s_use0.00039580.2691<fileref name="edited AS-NewBSC.f95" line="176" />trueGrowth respiration to total growth allocation (dimensionless)rc_coef_grow resp to tot grow alloctruefn400.19510.195<fileref name="edited AS-NewBSC.f95" line="335" />trueMaximal leaf growth (g C / plant / time step)leaf_grotruefn901gromax * leaf_c_per_plant * timestep1gromaxleaf_c_per_planttimestep<fileref name="edited AS-NewBSC.f95" line="336" />trueRoot growth (g C / plant / time step)root_grotruefn902leaf_gro * rsratio1leaf_grorsratio<fileref name="edited AS-NewBSC.f95" line="337" />trueIn g C / plant / time steprlc_pttruefn903num = leaf_gro * rc_coef_grow_resp_to_tot_grow_alloc, denom = 1 - rc_coef_grow_resp_to_tot_grow_alloc, num / denom1wherenumleaf_grorc_coef_grow_resp_to_tot_grow_allocdenom1rc_coef_grow_resp_to_tot_grow_allocnumdenom<fileref name="edited AS-NewBSC.f95" line="338" />trueIn g C / plant / time steprrc_pttruefn1001num = root_gro * rc_coef_grow_resp_to_tot_grow_alloc, denom = 1 - rc_coef_grow_resp_to_tot_grow_alloc, num / denom1wherenumroot_grorc_coef_grow_resp_to_tot_grow_allocdenom1rc_coef_grow_resp_to_tot_grow_allocnumdenom<fileref name="edited AS-NewBSC.f95" line="173" > The 0.1 value conflicts with the update on lines 480 to 486. Perhaps is meant to be used with commented out update on lines 473 to 479. </fileref>trueInitial root to shoot ratio (dimensionless)rsratio initruefn10.110.1border1<fileref name="edited AS-NewBSC.f95" line="286" />trueleaf area per plant (m2 / plant)leaf_struefn18leaf_c_per_plant * sla_specific_LAI1leaf_c_per_plantsla_specific_LAI<fileref name="edited AS-NewBSC.f95" line="488" />trueTotal C (gC / plant)totaltruefn52leaf_c_per_plant + root_c_per_plant + rmtot + rgtot + sta_c_per_plant + suc_c_per_plant1leaf_c_per_plantroot_c_per_plantrmtotrgtotsta_c_per_plantsuc_c_per_plant<fileref name="edited AS-NewBSC.f95" line="387" />trueStarch conc in nmol glucose / mg fresh leaf biomasssta_conctruefn55num = sta_c_per_plant * 1e9 / (6 *12), denom = 1000 * leaf_c_per_plant / (0.4 * 0.07), num / denom1wherenumsta_c_per_plant1000000000.0612denom1000leaf_c_per_plant0.40.07numdenom<fileref name="edited AS-NewBSC.f95" line="388" />trueSucrose conc in nmol glucose / mg fresh leaf biomasssuc_conctruefn56num = suc_c_per_plant * 1e9 / (6 *12), denom = 1000 * leaf_c_per_plant / (0.4 * 0.07), num / denom1wherenumsuc_c_per_plant1000000000.0612denom1000leaf_c_per_plant0.40.07numdenom<fileref name="edited AS-NewBSC.f95" line="381" > Initialised at line 231. </fileref>trueSucrose carbon (g C per plant)suc_c_per planttruefn65suc_c_ini1suc_c_ini<fileref name="edited AS-NewBSC.f95" line="383" > Initialised at line 229. </fileref>trueLeaf carbon (g C per plant)leaf_c_per planttruefn67leaf_c_ini_adjusted1leaf_c_ini_adjusted<fileref name="edited AS-NewBSC.f95" line="384" > Initialised at line 230. </fileref>trueRoot carbon (g C per plant)root_c_per planttruefn68root_c_ini1root_c_ini<fileref name="edited AS-NewBSC.f95" line="382" > Initialised at line 232. </fileref>trueStarch carbon (g C per plant)sta_c_per planttruefn69sta_c_ini1sta_c_initruefn401sta_use1sta_usetruefn402leaf_trans1leaf_transtruefn403root_trans1root_transtruefn404suc_sta1suc_statruefn405leaf_gro11leaf_gro1truefn406root_gro11root_gro1truecd5truefn412al_suc1al_suctruecd6truefn413suc_sta_base1suc_sta_base<fileref name="edited AS-NewBSC.f95" line="357" />truegC / plantrgtottruefn501010truefn502rlc_pt11rlc_pt1truefn503rrc_pt11rrc_pt1<fileref name="edited AS-NewBSC.f95" line="301" />trueg C / plantrmtottruefn504010truefn506rl_pt_plant_leaf_resp1rl_pt_plant_leaf_resptruefn507rrm_pt1rrm_ptnode00863node00864node00865node00866node00867node00868node00869node00870node00871node00872node00873node00874node00875node00876node00877node00878node00879node00880node00881node00882node00883node00884C3 photosynthesis model of Farquhar, von Caemmerer and Berrytruenonenonewhitenonephotosynthesis0Net rate of photosynthesis is the minimum of the rates calculated under rubisco limitation and RuBP regeneration limitation. <fileref name="edited photosynthesis.f95" line="81" > Value returned from model. </fileref>trueNet rate of leaf photosynthesis (micromol CO2 m-2 leaf s_1)al_net rate leaf photosynthesistruefn3if (sqrt_error_flag == 1) then av_rub_limited_photosyn else min(av_rub_limited_photosyn, aj_RuBP_regen_limited_photosyn)1av_rub_limited_photosyneqsqrt_error_flag1minav_rub_limited_photosynaj_RuBP_regen_limited_photosyn<fileref name="edited photosynthesis.f95" line="1" > Value passed to model. </fileref>trueExperimental atmospheric CO2 partial pressure (Pa)ca_atmos co2truefn4ca_atmos_co21ca_atmos_co2<fileref name="edited photosynthesis.f95" line="1" > Value passed to model. </fileref>trueLeaf temperature (oC)tc_leaf temptruefn6tc_leaf_temp1tc_leaf_temp<fileref name="edited photosynthesis.f95" line="33" />trueCO2 compensation point of photosynthesis in the absence of mitochondrial respiration (Pa)gammastar_co2 comp point without mit resptruefn73.69 + 0.188 * (tc_leaf_temp - 25) + 0.0036 * ((tc_leaf_temp -25)^2)13.690.188tc_leaf_temp250.0036tc_leaf_temp252<fileref name="edited photosynthesis.f95" line="40" />trueIntercellular CO2 partial pressure (Pa)ci_intercell co2truefn120.7 * ca_atmos_co210.7ca_atmos_co2<fileref name="edited photosynthesis.f95" line="1" > Value passed to model. </fileref>truePhotosynthetic rubisco capacity per unit leaf area at 25oC (micomol CO2 m-2 s-1)vlmax25_photosyn rub captruefn13vlmax25_photosyn_rub_cap1vlmax25_photosyn_rub_cap<fileref name="edited photosynthesis.f95" line="13" />trueUniversal gas constant (J mol-1 k-1)r_gas consttruefn148.31418.314border1node00885node00886node00887node00888node00889node00890node00891node00892node00893node00894node00895node00896node00897node00898node00899node00900node00901node00902node00903node00904node00905node00906node00907node00908node00909node00910node00911node00912node00913node00914node00915node00916node00917node00918node00919node00920node00921node00922node00923node00924node00925node00926node00927node00928node00929node00930node00931node00932truewhitecalc rate of photosynthesis limited by RuBP (ribulose bis-phosphate) regeneration<fileref name="edited photosynthesis.f95" fromline="68" toline="70" />trueFlag that indicates that a term to be square rooted is negativesqrt error flagtruefn1if (rho <= 0) then 1 else 0int1leqrho00border1Enables the user to see how many times an error occured during a simulation without having to view the "sqrt error flag" at each integration step. <fileref name="edited photosynthesis.f95" fromline="68" toline="70" />trueNumber of times error occured during simulationnum errorstruefn101prev(1) + sqrt_error_flagintprev1sqrt_error_flag<fileref name="edited photosynthesis.f95" line="74" />trueRate of photosynthesis limited by RuBP (ribulose bis-phosphate) regeneration (micromol CO2 m-2 leaf s_1)aj_RuBP regen limited photosyntruefn2num = jl_electron_transport * (ci_intercell_co2 - gammastar_co2_comp_point_without_mit_resp), denom = 4 * (ci_intercell_co2 + 2 * gammastar_co2_comp_point_without_mit_resp), num / denom1wherenumjl_electron_transportci_intercell_co2gammastar_co2_comp_point_without_mit_respdenom4ci_intercell_co22gammastar_co2_comp_point_without_mit_respnumdenom<fileref name="edited photosynthesis.f95" line="1" > Value passed to model. </fileref>trueTotal absorbed PAR (photosynthetically active radiation ) per unit leaf area (micromol m-2 s-1)il_total absorbed partruefn8il_total_absorbed_par1il_total_absorbed_par<fileref name="edited photosynthesis.f95" line="36" />trueSpectral correction factor. PAR absorbed by other tissue than the chloroplast lamella.fspec_spectral correctiontruefn90.1510.15<fileref name="edited photosynthesis.f95" line="38" />truePhotosynthetically active radiation (PAR) effectively absorbed by PSII (photosystem II) (micromol m-2 s-1)ile_par absorbed psiitruefn10il_total_absorbed_par * (1 - fspec_spectral_correction) / 21il_total_absorbed_par1fspec_spectral_correction2<fileref name="edited photosynthesis.f95" line="45" />truePotential rate of electron transport per unit leaf area at 25oC (micromol m-2 s-1)jm25_pot elec transport 25octruefn242.1 * vlmax25_photosyn_rub_cap12.1vlmax25_photosyn_rub_cap<fileref name="edited photosynthesis.f95" line="52" />trueActivation energy for jm25 (kJ mol-1)eajm_act energy jm25truefn2537000137000<fileref name="edited photosynthesis.f95" line="47" />trueCurvature parameter of Jm (J mol-1)h_curvature param of jmtruefn262200001220000<fileref name="edited photosynthesis.f95" line="50" />trueElectron transport temperature response parameter (J K-1 mol-1)s_elec trans temp resptruefn277101710<fileref name="edited photosynthesis.f95" line="58" />truePotential rate of electron transport per unit leaf area (micromol m-2 s-1)jm_pot elec transporttruefn28jm25_pot_elec_transport_25oc * term1 * term2 / term31jm25_pot_elec_transport_25octerm1term2term3<fileref name="edited photosynthesis.f95" line="61" />trueCurvature of leaf response of electron transport to irradiance (dimensionless)thetal_curve respon elec to irradtruefn290.710.7<fileref name="edited photosynthesis.f95" line="66" />trueIntermediate calc used in quadratic formula for finding jlaatruefn30thetal_curve_respon_elec_to_irrad1thetal_curve_respon_elec_to_irrad<fileref name="edited photosynthesis.f95" line="64" />trueIntermediate calc used in quadratic formula for finding jlbbtruefn31-1 * (ile_par_absorbed_psii + jm_pot_elec_transport)11ile_par_absorbed_psiijm_pot_elec_transport<fileref name="edited photosynthesis.f95" line="65" />trueIntermediate calc used in quadratic formula for finding jlcctruefn32ile_par_absorbed_psii * jm_pot_elec_transport1ile_par_absorbed_psiijm_pot_elec_transport<fileref name="edited photosynthesis.f95" line="67" />trueIntermediate calc used in quadratic formula for finding jl (it is the term in the square root)rhotruefn33bb^2 - 4 * aa * cc1bb24aaccjl is obtained through the resolution of the equation: thetal * j^2 - (ile + jm) * j + ile * jm = 0 The solution is found using the standard quadratic formula. If the term in the square root of the formula (stored in variable "rho") is negative then there is no physically meaningful solution. Under these conditions "sqrt error flag" is set to 1 which sets "jl_electron transport" and aj_RuBP regen limited photosyn" to zero. The error flag also causes "al_net rate leaf photosynthesis" to be set to "av_rub limited photosyn". <fileref name="edited photosynthesis.f95" fromline="62" toline="71" > The Fortran program did not trap the square root error but relied on the generation of "not a number (NaN)" which caused the same effects as the flag system used in the Simile version. The Fortran just printed an error message to the screen. Also note that the message was printed when "rho <= 0" , the Simile version therefore also traps the 0. </fileref>trueElectron transportjl_electron transporttruejl_0if (sqrt_error_flag == 1) then 0 else (-1 * bb - sqrt(rho)) / (2 * aa)10eqsqrt_error_flag11bbsqrtrho2aa<fileref name="edited photosynthesis.f95" line="55" />trueIntermediate calc for jmterm1truefn35num = eajm_act_energy_jm25 * (tc_leaf_temp - 25), denom = 298 * r_gas_const * (tc_leaf_temp + 273), exp(num / denom)1wherenumeajm_act_energy_jm25tc_leaf_temp25denom298r_gas_consttc_leaf_temp273expnumdenom<fileref name="edited photosynthesis.f95" line="56" />trueIntermediate calc for jmterm2truefn36num = s_elec_trans_temp_resp * 298 - h_curvature_param_of_jm, denom = r_gas_const * 298, 1 + exp(num / denom)1wherenums_elec_trans_temp_resp298h_curvature_param_of_jmdenomr_gas_const2981expnumdenom<fileref name="edited photosynthesis.f95" line="57" />trueIntermediate calc for jmterm3truefn37num = s_elec_trans_temp_resp * (273 + tc_leaf_temp) - h_curvature_param_of_jm, denom = r_gas_const * (273 + tc_leaf_temp), 1 + exp(num / denom)1wherenums_elec_trans_temp_resp273tc_leaf_temph_curvature_param_of_jmdenomr_gas_const273tc_leaf_temp1expnumdenomborder1border2border3border4border5border6border5node00933node00934node00935node00936node00937node00938node00939node00940node00941node00942node00943node00944node00945node00946node00947node00948node00949node00950node00951node00952node00953node00954node00955node00956node00957node00958node00959node00960truewhitecalc rate of photosynthesis limited by rubisco<fileref name="edited photosynthesis.f95" line="42" />trueRubisco-limited photosynthesis (micromol CO2 m-2 leaf s_1)av_rub limited photosyntruefn1num = ci_intercell_co2 - gammastar_co2_comp_point_without_mit_resp, denom = ci_intercell_co2 + kprim_effective_mm_rub, vlmax_leaf_temp_photosyn_rub_cap * (num / denom)1wherenumci_intercell_co2gammastar_co2_comp_point_without_mit_respdenomci_intercell_co2kprim_effective_mm_rubvlmax_leaf_temp_photosyn_rub_capnumdenom<fileref name="edited photosynthesis.f95" line="27" />trueEffective Michaelis-Menten constant of Rubisco (Pa)kprim_effective mm rubtruefn51kc_leaf_temp_mm_rub_co21o2_partial_pressureko_leaf_temp_mm_rub_o2<fileref name="edited photosynthesis.f95" line="15" />trueOxygen partial pressure (Pa)o2_partial pressuretruefn1520500120500<fileref name="edited photosynthesis.f95" line="20" />trueMichaelis-Menten constant of Rubisco for CO2 at leaf temperature (Pa)kc_leaf temp mm rub co2truefn16num=eakc_act_energy_kc25*(tc_leaf_temp-25),denom=298*r_gas_const*(tc_leaf_temp+273),kc25_mic_ment_rub_co2*exp(num/denom)1wherenumeakc_act_energy_kc25tc_leaf_temp25denom298r_gas_consttc_leaf_temp273kc25_mic_ment_rub_co2expnumdenom<fileref name="edited photosynthesis.f95" line="17" />trueMichaelis-Menten constant of Rubisco for CO2 at 25oC (Pa)kc25_mic ment rub co2truefn1740.4140.4<fileref name="edited photosynthesis.f95" line="19" />trueActivation energy for kc25 (kJ mol-1)eakc_act energy kc25truefn1859400159400<fileref name="edited photosynthesis.f95" line="25" />trueMichaelis-Menten constant of Rubisco for O2 at leaf temperature (Pa)ko_leaf temp mm rub o2truefn19num=eako_act_energy_ko25*(tc_leaf_temp-25),denom=298*r_gas_const*(tc_leaf_temp+273),ko25_mic_ment_rub_o2*exp(num/denom)1wherenumeako_act_energy_ko25tc_leaf_temp25denom298r_gas_consttc_leaf_temp273ko25_mic_ment_rub_o2expnumdenom<fileref name="edited photosynthesis.f95" line="22" />trueMichaelis-Menten constant of Rubisco for O2 at 25oC (Pa)ko25_mic ment rub o2truefn2024800124800<fileref name="edited photosynthesis.f95" line="24" />trueActivation energy for ko25 (kJ mol-1)eako_act energy ko25truefn2136000136000<fileref name="edited photosynthesis.f95" line="30" />truePhotosynthetic rubisco capacity per unit leaf area at leaf temperature (micomol CO2 m-2 s-1)vlmax_leaf temp photosyn rub captruefn22num = eavlmax_act_energy_vlmax25 * (tc_leaf_temp - 25), denom = 298 * r_gas_const * (tc_leaf_temp + 273), vlmax25_photosyn_rub_cap * exp(num / denom)1wherenumeavlmax_act_energy_vlmax25tc_leaf_temp25denom298r_gas_consttc_leaf_temp273vlmax25_photosyn_rub_capexpnumdenom<fileref name="edited photosynthesis.f95" line="29" />trueActivation energy for vlmax25 (kJ mol-1)eavlmax_act energy vlmax25truefn2364800164800border7border8border9border10border11border12border1border2border3border4border6<fileref name="edited AS-NewBSC.f95" fromline="326" toline="329" />trueFlag set to 0 if state variable in valid range else simulation stops with error code 1suc c error 1?truefn803if (suc_c_per_plant <= 0) then stop(1) else 0intstop1leqsuc_c_per_plant00node00403node00504node00988node00989node00990node00991node00992node00993node00996node00997node01000node01001node01002node01401node01502node01503node01504node01505node01506node01507node01508truewhitetime controlborder3border4It is assumed that time() will be incrementing in steps of 1 (arbitary units)trueTime since start of simulation in dayselapsed time daystruefn1time()* timestep1time1timestep<fileref name="edited AS-NewBSC.f95" line="136" > The single light hours value replaces the (single value) do-loop starting at line 200. </fileref>trueNumber of light hours per daylight_hrtruefn38int8trueTime step length used to solve the model (days)timesteptruefn1011 / steps_per_day11steps_per_daytrueSwitch variable set to 1 if light and 0 if darkis light?truefn202if (steps_into_current_day < light_period_steps) then 1 else 0int1ltsteps_into_current_daylight_period_steps0border1border2border3<fileref name="edited AS-NewBSC.f95" line="122" > This is the 600 value in the calculation. </fileref>trueNumber of time steps per hoursteps per hourtruefn301600int600<fileref name="edited AS-NewBSC.f95" line="122" />trueNumber of steps per daysteps per daytruefn40224 * steps_per_hourint24steps_per_hourtrueLength of light period in stepslight period stepstruefn403light_hr * steps_per_hourintlight_hrsteps_per_hourtrueNumber of steps into current daysteps into current daytruefn404int(time() - int( time() / steps_per_day ) * steps_per_day)intinttime1inttime1steps_per_daysteps_per_daynode00601node00602node00603node00608node00609node00612node00614node00615node00617node00618node00619node00621node00702node00707node00708node00717node00718node00719node00720node00721node00722truewhitetranslocationtrueTranslocation from root (g C / plant (during current time step))root_transnode00604node00605node00610node00703node00704node00709node00710node00713node00715truewhitetranslocation not neededtruenot needed?truefn1translocation_needed_ == 0cond_speceqtranslocation_needed_0border1<fileref name="edited AS-NewBSC.f95" line="361" />trueTranslocation from root (g C / plant (during current time step))root_transtruefn62010<fileref name="edited AS-NewBSC.f95" line="360" />trueTranslocation from leaves (g C / plant (during current time step))leaf_transtruefn59010border1border3node00606node00607node00611node00705node00706node00711node00712node00714node00716node00723node00724node00725node00726node00727truewhitetranslocation neededtrueneeded?truefn2translocation_needed_ == 1cond_speceqtranslocation_needed_1border2<fileref name="edited AS-NewBSC.f95" line="367" />trueTranslocation from root (g C / plant (during current time step))root_transtruefn62scaling = root_c_per_plant / root_and_leaf_c, (suc_equi_plant - suc_c_intermed) * scaling1wherescalingroot_c_per_plantroot_and_leaf_csuc_equi_plantsuc_c_intermedscaling<fileref name="edited AS-NewBSC.f95" line="366" />trueTranslocation from leaves (g C / plant (during current time step))leaf_transtruefn59scaling = leaf_c_per_plant / root_and_leaf_c, (suc_equi_plant - suc_c_intermed) * scaling1wherescalingleaf_c_per_plantroot_and_leaf_csuc_equi_plantsuc_c_intermedscalingborder2border4border9border10border11border12border13<fileref name="edited AS-NewBSC.f95" line="363" />trueSwitch variable set to 1 if translocation needed, otherwise it is set to 0translocation needed?truefn3if (suc_c_intermed <= suc_equi_plant) then 1 else 0int1leqsuc_c_intermedsuc_equi_plant0border3border5border6<fileref name="edited AS-NewBSC.f95" line="363" > Used as part of the calculations on lines 363, 366 and 367. </fileref>trueEquilibrium sucrose plus hexose mass for whole plant (g C / plant)suc equi planttruefn4suc_equi * leaf_s1suc_equileaf_sborder8border10truefn62sum({root_trans}) + sum({root_trans_0})1sumroot_transsumroot_trans_0trueTranslocation from leaves (g C / plant (during current time step))leaf_transtruefn59sum({leaf_trans}) + sum({leaf_trans_0})1sumleaf_transsumleaf_trans_0border5border6trueTotal of root and leaf C (g C / plant)root and leaf ctruefn1root_c_per_plant + leaf_c_per_plant1root_c_per_plantleaf_c_per_plantborder7border8<fileref name="edited AS-NewBSC.f95" fromline="455" toline="458" > Note that the leaf_s value used in the calcs is the value before the state variables were updated on lines 382 to 384. </fileref>trueSpecific leaf area index of Arabidopsis (m2 leaf / g C)sla_specific LAInode00112node00113node00114node00115node00116node00117node00118node00119node01004node01005node01006node01007node01301node01402node01403node01404truewhitesettings for photosynthesis<fileref name="edited AS-NewBSC.f95" line="208" > The single CO2 value replaces the do-loop of CO2 values starting at line 206. </fileref>trueExperimental atmospheric CO2 partial pressure (Pa)ca_atmos co2truefn436136<fileref name="edited AS-NewBSC.f95" line="133" />trueLeaf temperature (oC)tc_leaf temptruefn520120<fileref name="edited AS-NewBSC.f95" line="129" > The single PAR value replaces the do-loop of PAR values starting at line 197. </fileref>trueTotal absorbed PAR (photosynthetically active radiation ) per unit leaf area (micromol m-2 s-1)il_total absorbed partruefn61201120<fileref name="edited AS-NewBSC.f95" line="470" />truePhotosynthetic rubisco capacity per unit leaf area at 25oC (micromol CO2 m-2 s-1)vlmax25_photosyn rub captruefn7if (time() == 0) then vlmax25_ini else vlmax20 / 0.641vlmax25_inieqtime10vlmax200.64border1border2border3border4<fileref name="edited AS-NewBSC.f95" line="146" > The 19 value conflicts with the update on lines 467 and 470. </fileref>trueInitial photosynthetic rubisco capacity per unit leaf area at 25oC (micromol CO2 m-2 s-1)vlmax25 initruefn119119<fileref name="edited AS-NewBSC.f95" line="467" />truePhotosynthetic rubisco capacity per unit leaf area at 20oC (micromol CO2 m-2 s-1)vlmax20truefn219119<fileref name="edited AS-NewBSC.f95" line="449" > Initialised at line 47. </fileref>trueNumber of leaves per plantleafcounttruefn201leaf_s_to_use = last(leaf_s), newval = 0.1549 + 0.2286 * exp(-2315 * leaf_s_to_use), if (time() == 0) then sla_ini_specific_LAI elseif (newval >= 0.4) then 0.4 / 0.94 else newval / 0.941whereleaf_s_to_uselastleaf_snewval0.15490.2286exp2315leaf_s_to_usesla_ini_specific_LAIeqtime100.40.94geqnewval0.4newval0.94truefn301111truecd1truefn302leaf_update1leaf_update<fileref name="edited AS-NewBSC.f95" fromline="449" toline="454" > Note that the leaf_s value used in the calcs is the value before the state variables were updated on lines 382 to 384. </fileref>trueUpdates leaf number per plantleaf updatetruefn303leaf_s_use = last(leaf_s), leaf_meas_use = element([leaf_s_meas], leafcount), if (time() == 0) then 0 elseif (leafcount <= 6) and (leaf_s_use >= leaf_meas_use) then 1 else 0intwhereleaf_s_uselastleaf_sleaf_meas_useelementleaf_s_measleafcount0eqtime101leqleafcount6geqleaf_s_useleaf_meas_use0<fileref name="edited AS-NewBSC.f95" fromline="41" toline="46" />trueThreshold leaf area per plant (m2 / plant) values for each leaf numberleaf_s_meastruefn1[0.000118, 0.000326, 0.000456, 0.000847, 0.001094, 0.002781]array160.0001180.0003260.0004560.0008470.0010940.002781i613i47truei304truei614i41truei2truei14i42truei19truei24i37truei133truei140i39truei147truei154i101truei302i102truei618truei305truei621i201truei208truei615truei620i1truei205truei306truei616i41truei4truei12truei17i42truei29truei21truei27i37truei145truei135truei143i39truei159truei149truei157i103truei307truei15truei28truei144truei158i202truei612truei617i2truei207truei204truei206i103truei408truei301truei619truei611truei209truei207truei16truei208i41truei1truei3truei6truei11truei13i42truei18truei20truei23truei26truei131i37truei132truei134truei137truei139truei142i39truei146truei148truei151truei153truei156truei702i17i53truei303truei302i301truei316i307truei324truei310i309truei317i312truei314truei326i318truei323i319truei320truei322truei325i9i10truei803i11truei801truei804truei705truei805truei704truei703i35truei1005i36truei806truei807truei1006truei809truei810i38truei808truei706truei1005truei1006truei619truei820i3truei602i19i20i22truei402i43truei423i44truei209i45truei1013truei219truei1012i48truei425i54i64i601truei607i901truei105truei904truei908truei910truei912truei914truei918truei923truei925truei931i902truei905i20truei909truei911truei913truei915i54truei922truei919truei924i44truei929truei930truei926i43truei932i1truei106truei108truei202truei603truei906truei916truei920truei927truei933truei115i903truei907i20truei917i54truei921i44truei928truei203truei604i43truei934truei112i103truei110truei116truei109i102truei104truei107truei1truei110truei1006truei1005i1001truei1002truei1003truei1004<fileref name="edited AS-NewBSC.f95" line="325" />trueAssimilatory flux per plant (g C / plant / time step)assim flux per pli1007truei1008truei7truei22truei138truei152truei207i23truei208i24i34i40truei10truei1405truei711truei1103i1101truei1102truei25truei1406i1104truei1105truei1106truei141truei1407i1107truei1108truei1109truei155truei1408i1402truei1403truei1404truei2i1truei4truei3truei703truei1013i18i52i55i56truei903truei1206truei704truei1011i65truei317truei802truei904truei1001trueleaf transltrueleaf growtruei701truei810truei1103i67truei303truei1002trueroot transltrueroot growtruei809i68truei316truei801truei1205truestarch to sol sugartruesuc to sta convtruei105i69truei323i401truei402i403i405i407truei408truei5i409truei130i411trueal_suci420truei423truebaseline sta convi424truei425truei1204truerlc_pt1truerrc_pt1i501truei136i502truei150i503truei1203<fileref name="edited AS-NewBSC.f95" line="301" />truegC / plant / time stepleaf resp per plant<fileref name="edited AS-NewBSC.f95" line="301" />truegC / plant / time steprrm_pti506i508truei511i509truei510truei820i3i4i6i7truei201i12truei204i13i14truei102truei304truei209truei213truei214truei405truei406truei408i1truei505truei503i101i2i8i9i10truei202truei203i24i25i26i27i28truei222i29i30truei305i31truei301truei302i32truei303truei304truei102i33truei306truei307truei308truei404truei103i34truei401truei402truei403truei223i35truei210truei224i36truei215truei216truei225i37truei218truei220truei408truei405truei406truei209truei217truei221truei214truei219truei213truei819truei206truei207truei407truei103truei104truei112i1truei208i5truei111i15truei109i16truei101i17truei102i18truei110i19truei105i20truei106i21truei205i22truei113i23truei407truei206truei207truei104truei108truei114truei103truei107truei115truei112truei812truei814truei816truei818truei821i1009truei1010truei301truei201truei601truei705truei710truei607i1truei404i4truei201i101i204truei606truei608i401truei504i402truei403truei512i505truei507truei511truei509i508truei302truei108truei217truei220truei109truei111truei114truei116i1truei5i62i59truei2truei106i2truei7i62i59truei104truei108truei119truei130truei121truei126truei123truei125truei127truei129truei4truei6i3truei109truei124truei222truei120i216truei218truei221i62truei1truei103i59truei105truei107truei110truei112truei118i113truei115truei128truei117truei122truei1003truei803truei811truei813truei815truei817i4i5i6i7truei815truei813truei817truei811truei104i1truei3i2i901truei902truei1004i1101trueupdate cnti1102truei1306i1303truei1305truei1307truei1304i1