Reference guide#

This manual details, for each module of openalea.growthwheat, the functions and objects included in openalea.growthwheat, describing what they are and what they do.

openalea.growthwheat package#

growthwheat#

The model Growth-Wheat.

Mechanistic model of wheat growth. See:

  • growthwheat.simulation for the front-end of the model,

  • growthwheat.model for the equations of the model,

  • growthwheat.parameters for the parameters of the model.

openalea.growthwheat.model module#

openalea.growthwheat.model.calculate_delta_Nstruct(delta_mstruct)[source]#

delta Nstruct of hidden zone and emerged tissue (lamina and sheath).

Parameters:

delta_mstruct (float) – delta of mstruct (g)

Returns:

delta Nstruct (g)

Return type:

float

openalea.growthwheat.model.calculate_delta_emerged_tissue_mstruct(SW, previous_mstruct, metric)[source]#

delta mstruct of emerged tissue (lamina, sheath and internode). Calculated from tissue area.

Parameters:
  • SW (float) – For Lamina : Structural Specific Weight (g m-2); For sheath and internode : Lineic Structural Weight (g m-1)

  • previous_mstruct (float) – mstruct at the previous time step i.e. not yet updated (g)

  • metric (float) – For Lamina : Area at the current time step, as updated by the geometrical model (m2); For sheath and internode : Length at the current time step (m)

Returns:

delta mstruct (g)

Return type:

float

openalea.growthwheat.model.calculate_delta_internode_enclosed_mstruct(internode_L, delta_internode_L, ratio_mstruct_DM)[source]#

Relation between length and mstruct for the internode segment located in the hidden zone. Same relationship than for enclosed leaf corrected by RATIO_ENCLOSED_LEAF_INTERNODE. Parameters alpha_mass_growth and beta_mass_growth estimated from Williams (1975) and expressed in g of dry mass. The actual ratio_mstruct_DM is then used to convert in g of structural dry mass.

Parameters:
  • internode_L (float) – Enclosed internode length (m)

  • delta_internode_L (float) – delta of enclosed internode length (m)

  • ratio_mstruct_DM (float) – Ratio mstruct/dry matter (dimensionless)

Returns:

delta_enclosed_internode_mstruct (g)

Return type:

float

openalea.growthwheat.model.calculate_delta_internode_enclosed_mstruct_postL(delta_internode_pseudo_age, internode_pseudo_age, internode_L, internode_pseudostem_L, internode_Lmax, LSIW, enclosed_mstruct)[source]#

mstruct of the enclosed internode from the ligulation of the leaf to the end of elongation. Final mstruct of the enclosed internode matches internode mstruct calculation when it is mature.

Parameters:
  • delta_internode_pseudo_age (float) – Delta of Pseudo age of the internode since beginning of automate elongation (s)

  • internode_pseudo_age (float) – Pseudo age of the internode since beginning of automate elongation (s)

  • internode_L (float) – Current lenght of the internode (m)

  • internode_pseudostem_L (float) – Pseudostem length of the internode (m)

  • internode_Lmax (float) – Final length of the internode (m)

  • LSIW (float) – Lineic Structural Internode Weight (g m-1).

  • enclosed_mstruct (float) – mstruct of the enclosed leaf (g)

Returns:

delta_internode_enclosed_mstruct (g)

Return type:

float

openalea.growthwheat.model.calculate_delta_leaf_enclosed_mstruct(leaf_L, delta_leaf_L, ratio_mstruct_DM)[source]#

Relation between length and mstruct for the leaf segment located in the hidden zone during the exponential-like growth phase. Parameters alpha_mass_growth and beta_mass_growth estimated from Williams (1960) and expressed in g of dry mass) The actual ratio_mstruct_DM is then used to convert in g of structural dry mass.

Parameters:
  • leaf_L (float) – Total leaf length (m)

  • delta_leaf_L (float) – delta of leaf length (m)

  • ratio_mstruct_DM (float) – Ratio mstruct/dry matter (dimensionless)

Returns:

delta_leaf_enclosed_mstruct (g)

Return type:

float

openalea.growthwheat.model.calculate_delta_leaf_enclosed_mstruct_postE(delta_leaf_pseudo_age, leaf_pseudo_age, leaf_pseudostem_L, enclosed_mstruct, LSSW)[source]#

mstruct of the enclosed leaf from the emergence of the leaf to the end of elongation. Final mstruct of the enclosed leaf matches sheath mstruct calculation when it is mature. #TODO : Hiddenzone mstruct calculation is not correct for sheath shorten than previous one.

Parameters:
  • delta_leaf_pseudo_age (float) – Delta of Pseudo age of the leaf since beginning of automate elongation (s)

  • leaf_pseudo_age (float) – Pseudo age of the leaf since beginning of automate elongation (s)

  • leaf_pseudostem_L (float) – Pseudostem length (m)

  • enclosed_mstruct (float) – mstruct of the enclosed leaf (g)

  • LSSW (float) – Lineic Structural Sheath Weight (g m-1).

Returns:

delta_leaf_enclosed_mstruct (g)

Return type:

float

openalea.growthwheat.model.calculate_export(delta_mstruct, metabolite, hiddenzone_mstruct)[source]#

Export of metabolite from the hidden zone towards the emerged part of the leaf integrated over delta_t.

Parameters:
  • delta_mstruct (float) – Delta of structural dry mass of the emerged part of the leaf (g)

  • metabolite (float) – Metabolite amount in the hidden zone (µmol C or N)

  • hiddenzone_mstruct (float) – Structural mass of the hidden zone (g)

Returns:

metabolite export (µmol N)

Return type:

float

openalea.growthwheat.model.calculate_init_cytokinins_emerged_tissue(delta_mstruct)[source]#

Initial amount of cytokinins allocated in the mstruct of a newly emerged tissue.

Parameters:

delta_mstruct (float) – Delta of structural dry mass of the emerged part of the leaf (g)

Returns:

cytokinins addition (AU)

Return type:

float

openalea.growthwheat.model.calculate_mineral_plant(mstruct, senesced_mstruct)[source]#

Mineral mass.

Parameters:
  • mstruct (float) – structural mass of the plant (g)

  • senesced_mstruct (float) – senesced structural mass of the plant (g)

Returns:

Mineral mass of the plant (g)

Return type:

float

openalea.growthwheat.model.calculate_ratio_mstruct_DM(mstruct, sucrose, fructans, amino_acids, proteins)[source]#

Ratio mstruct/dry matter (dimensionless)

Parameters:
  • mstruct (float) – Strutural mass (g)

  • sucrose (float) – Sucrose amount (µmol C)

  • fructans (float) – Fructans amount (µmol C)

  • amino_acids (float) – Amino acids amount (µmol N)

  • proteins (float) – proteins amount (µmol N)

Returns:

Ratio mstruct/dry matter (dimensionless)

Return type:

float

openalea.growthwheat.model.calculate_roots_mstruct_growth(sucrose, amino_acids, mstruct, delta_teq, postflowering_stages)[source]#

Root structural dry mass growth integrated over delta_t

Parameters:
  • sucrose (float) – Amount of sucrose in roots (µmol C)

  • amino_acids (float) – Amount of amino acids in roots (µmol N)

  • mstruct (float) – Root structural mass (g)

  • delta_teq (float) – Time compensated for the effect of temperature - Time equivalent at Tref (s)

  • postflowering_stages (bool) – Option : True to run a simulation with postflo parameter

Returns:

mstruct_C_growth (µmol C), mstruct_growth (g), Nstruct_growth (g), Nstruct_N_growth (µmol N)

Return type:

(float, float, float, float)

openalea.growthwheat.model.calculate_roots_s_mstruct_sucrose(delta_roots_mstruct, s_Nstruct_amino_acids_N)[source]#

Consumption of sucrose for the calculated mstruct growth (µmol C consumed by mstruct growth)

Parameters:
  • delta_roots_mstruct (float) – mstruct growth of the roots (g)

  • s_Nstruct_amino_acids_N (float) – Total amino acid consumption (µmol N) due to Nstruct (µmol N)

Returns:

Sucrose consumption (µmol C)

Return type:

float

openalea.growthwheat.model.calculate_s_Nstruct_amino_acids(delta_hiddenzone_Nstruct, delta_lamina_Nstruct, delta_sheath_Nstruct, delta_internode_Nstruct)[source]#

Consumption of amino acids for the calculated mstruct growth (µmol N consumed by mstruct growth)

Parameters:
  • delta_hiddenzone_Nstruct (float) – Nstruct growth of the hidden zone (g)

  • delta_lamina_Nstruct (float) – Nstruct growth of the lamina (g)

  • delta_sheath_Nstruct (float) – Nstruct growth of the sheath (g)

  • delta_internode_Nstruct (float) – Nstruct growth of the internode (g)

Returns:

Amino acid consumption (µmol N)

Return type:

float

openalea.growthwheat.model.calculate_s_mstruct_sucrose(delta_hiddenzone_mstruct, delta_lamina_mstruct, delta_sheath_mstruct, s_Nstruct_amino_acids_N)[source]#

Consumption of sucrose for the calculated mstruct growth (µmol C consumed by mstruct growth)

Parameters:
  • delta_hiddenzone_mstruct (float) – mstruct growth of the hidden zone (g)

  • delta_lamina_mstruct (float) – mstruct growth of the lamina (g)

  • delta_sheath_mstruct (float) – mstruct growth of the sheath (g)

  • s_Nstruct_amino_acids_N (float) – Total amino acid consumption (µmol N) due to Nstruct (µmol N)

Returns:

Sucrose consumption (µmol C)

Return type:

float

openalea.growthwheat.model.calculate_sheath_mstruct(sheath_L, LSSW)[source]#

mstruct of the sheath. Final mstruct of the enclosed leaf matches sheath mstruct calculation when it is mature.

Parameters:
  • sheath_L (float) – Sheath length (m)

  • LSSW (float) – Lineic Structural Sheath Weight (g m-1).

Returns:

Structural mass of the sheath (g)

Return type:

float

openalea.growthwheat.simulation module#

openalea.growthwheat.simulation.HIDDENZONE_INPUTS = ['leaf_is_growing', 'internode_is_growing', 'leaf_pseudo_age', 'delta_leaf_pseudo_age', 'internode_pseudo_age', 'delta_internode_pseudo_age', 'leaf_L', 'delta_leaf_L', 'internode_L', 'delta_internode_L', 'leaf_pseudostem_length', 'delta_leaf_pseudostem_length', 'internode_distance_to_emerge', 'delta_internode_distance_to_emerge', 'SSLW', 'LSSW', 'LSIW', 'leaf_is_emerged', 'internode_is_visible', 'sucrose', 'amino_acids', 'fructan', 'proteins', 'leaf_enclosed_mstruct', 'leaf_enclosed_Nstruct', 'internode_enclosed_mstruct', 'internode_enclosed_Nstruct', 'mstruct', 'internode_Lmax', 'leaf_Lmax', 'sheath_Lmax', 'is_over', 'leaf_is_remobilizing', 'internode_is_remobilizing']#

the inputs needed by GrowthWheat

openalea.growthwheat.simulation.HIDDENZONE_INPUTS_OUTPUTS = ['AA_consumption_mstruct', 'LSIW', 'LSSW', 'Nstruct', 'Respi_growth', 'SSLW', 'amino_acids', 'delta_internode_L', 'delta_internode_distance_to_emerge', 'delta_internode_pseudo_age', 'delta_leaf_L', 'delta_leaf_pseudo_age', 'delta_leaf_pseudostem_length', 'fructan', 'internode_L', 'internode_Lmax', 'internode_distance_to_emerge', 'internode_enclosed_Nstruct', 'internode_enclosed_mstruct', 'internode_is_growing', 'internode_is_remobilizing', 'internode_is_visible', 'internode_pseudo_age', 'is_over', 'leaf_L', 'leaf_Lmax', 'leaf_enclosed_Nstruct', 'leaf_enclosed_mstruct', 'leaf_is_emerged', 'leaf_is_growing', 'leaf_is_remobilizing', 'leaf_pseudo_age', 'leaf_pseudostem_length', 'mstruct', 'proteins', 'sheath_Lmax', 'sucrose', 'sucrose_consumption_mstruct']#

the inputs and outputs of GrowthWheat.

openalea.growthwheat.simulation.HIDDENZONE_OUTPUTS = ['sucrose', 'amino_acids', 'fructan', 'proteins', 'leaf_enclosed_mstruct', 'leaf_enclosed_Nstruct', 'internode_enclosed_mstruct', 'internode_enclosed_Nstruct', 'mstruct', 'Nstruct', 'Respi_growth', 'sucrose_consumption_mstruct', 'AA_consumption_mstruct', 'is_over', 'leaf_is_remobilizing', 'internode_is_remobilizing']#

the outputs computed by GrowthWheat

class openalea.growthwheat.simulation.Simulation(delta_t=1, update_parameters=None)[source]#

Bases: object

The Simulation class permits to initialize and run a simulation.

delta_t#

the delta t of the simulation (in seconds)

initialize(inputs)[source]#

Initialize inputs from inputs.

Parameters:

inputs (dict) – must be a dictionary with the same structure as inputs.

inputs#

The inputs of growth-Wheat.

inputs is a dictionary of dictionaries:
{‘hiddenzone’: {(plant_index, axis_label, metamer_index): {hiddenzone_input_name: hiddenzone_input_value, …}, …},

‘elements’: {(plant_index, axis_label, metamer_index, organ_label, element_label): {organ_input_name: organ_input_value, …}, …}, ‘roots’: {(plant_index, axis_label): {root_input_name: root_input_value, …}, …}}

See :TODO? for more information about the inputs.

outputs#

The outputs of growth-Wheat.

outputs is a dictionary of dictionaries:
{‘hiddenzone’: {(plant_index, axis_label, metamer_index): {hiddenzone_input_name: hiddenzone_input_value, …}, …},

‘elements’: {(plant_index, axis_label, metamer_index, organ_label, element_label): {organ_input_name: organ_input_value, …}, …} ‘roots’: {(plant_index, axis_label): {root_input_name: root_input_value, …}, …}}

See :TODO? for more information about the inputs.

run(postflowering_stages=False)[source]#

Run the simulation.

Parameters:

postflowering_stages (bool) – if True the model will calculate root growth with the parameters calibrated for post flowering stages

exception openalea.growthwheat.simulation.SimulationError[source]#

Bases: Exception

exception openalea.growthwheat.simulation.SimulationRunError[source]#

Bases: SimulationError

openalea.growthwheat.converter module#

openalea.growthwheat.converter.HIDDENZONE_TOPOLOGY_COLUMNS = ['plant', 'axis', 'metamer']#

the columns which define the topology in the input/output dataframe

openalea.growthwheat.converter.from_dataframes(hiddenzone_inputs, element_inputs, root_inputs, axis_inputs)[source]#

Convert inputs/outputs from Pandas dataframe to Growth-Wheat format.

Parameters:
  • hiddenzone_inputs (pandas.DataFrame) – Hidden zone inputs dataframe to convert, with one line by hidden zone.

  • element_inputs (pandas.DataFrame) – Element inputs dataframe to convert, with one line by element.

  • root_inputs (pandas.DataFrame) – Root inputs dataframe to convert, with one line by root.

  • axis_inputs (pandas.DataFrame) – axis inputs dataframe to convert, with one line by axis.

Returns:

The inputs in a dictionary.

Return type:

dict [str, dict]

See also

see simulation.Simulation.inputs for the structure of Growth-Wheat inputs.

openalea.growthwheat.converter.to_dataframes(data_dict)[source]#

Convert outputs from Growth-Wheat format to Pandas dataframe.

Parameters:

data_dict (dict) – The outputs in Growth-Wheat format.

Returns:

Four dataframes : for hiddenzone outputs, element outputs, roots outputs and axes outputs

Return type:

pandas.DataFrame

See also

see simulation.Simulation.outputs for the structure of Growth-Wheat outputs.

openalea.growthwheat.parameters module#

openalea.growthwheat.parameters.AMINO_ACIDS_C_RATIO = 4.15#

Mean number of mol of C in 1 mol of the major amino acids of plants (Glu, Gln, Ser, Asp, Ala, Gly) from (Penning de Vries, Witlage and Kremer, 1978)

openalea.growthwheat.parameters.AMINO_ACIDS_MOLAR_MASS_N_RATIO = 0.135#

Mean contribution of N in amino acids mass of the major amino acids of plants (Glu, Gln, Ser, Asp, Ala, Gly)

openalea.growthwheat.parameters.AMINO_ACIDS_N_RATIO = 1.25#

Mean number of mol of N in 1 mol of the major amino acids of plants (Glu, Gln, Ser, Asp, Ala, Gly) from (Penning de Vries, Witlage and Kremer, 1978)

openalea.growthwheat.parameters.BETA = 1.28#

Parameter of the relation between leaf mass and leaf length (dimensionless)

openalea.growthwheat.parameters.CONVERSION_FACTOR_20_TO_12 = 0.45#

modified_Arrhenius_equation(12)/modified_Arrhenius_equation(20)

openalea.growthwheat.parameters.C_MOLAR_MASS = 12#

Carbon molar mass (g mol-1)

openalea.growthwheat.parameters.FITTED_L0 = 0.01557936#

Fitted value of leaf length at t=0 after rescaling the beta function with L0 (m); Fournier 2005 sur courbe corrigee

openalea.growthwheat.parameters.FITTED_L0_IN = 0.01694915254237288#

Scaling factor of the internode in automate growth (dimensionless), fitted from Malvoisin 1984 II

openalea.growthwheat.parameters.HEXOSE_MOLAR_MASS_C_RATIO = 0.42#

Contribution of C in hexose mass

openalea.growthwheat.parameters.INIT_CYTOKININS_EMERGED_TISSUE = 200#

Initial amount of cytokinins allocated in the mstruct of a newly emerged tissue

openalea.growthwheat.parameters.K_ROOTS_GROWTH = 1250#

Affinity coefficient of root structural dry matter growth (µmol C g-1 MS) post flo

openalea.growthwheat.parameters.MINERAL_LIVING_TISSUE = 0.05#

Mineral content of the structural mass (g g-1 mstruct) (Thornley and Cannell, 2000)

openalea.growthwheat.parameters.MINERAL_SENESCED_TISSUE = 0.025#

Mineral content of the structural mass of a senescent tissue (g g-1 mstruct) (Thornley and Cannell, 2000)

openalea.growthwheat.parameters.N_MOLAR_MASS = 14#

Nitrogen molar mass (g mol-1)

class openalea.growthwheat.parameters.OrganInit[source]#

Bases: object

Initial values for organs

Nresidual#

g

Nstruct#

g

amino_acids#

µmol N

conc_cytokinins#

AU / g mstruct # Not used

cytokinins#

g

fructan#

µmol C

green_area#

m2

mstruct#

g

nitrates#

µmol N

proteins#

µmol N

senesced_length_element#

m

senesced_mstruct#

g

sucrose#

µmol C

openalea.growthwheat.parameters.PROTEINS_MOLAR_MASS_N_RATIO = 0.151#

Mean contribution of N in protein mass (Penning De Vries 1989)

openalea.growthwheat.parameters.RATIO_AMINO_ACIDS_MSTRUCT = 0.005#

Mass of N (under amino acid/protein form, g) in 1 g of mstruct (Penning de Vries, Witlage and Kremer, 1978)

openalea.growthwheat.parameters.RATIO_C_MSTRUCT_ROOTS = 0.444#

same as shoot

Type:

Mean contribution of carbon to root structural dry mass (g C g-1 Mstruct)

openalea.growthwheat.parameters.RATIO_ENCLOSED_LEAF_INTERNODE = 5#

lamina of the specific structural dry masses (from data of J. Bertheloot, 2004)

Type:

We use ratio sheath

openalea.growthwheat.parameters.RATIO_MSTRUCT_DM = 0.8#

Ratio mstruct/dry matter (dimensionless)

openalea.growthwheat.parameters.RATIO_N_MSTRUCT_ROOTS_ = 0.005#

same as shoot

Type:

Mean contribution of nitrogen to root structural dry mass (g N g-1 Mstruct)

openalea.growthwheat.parameters.RATIO_SUCROSE_MSTRUCT = 0.444#

0.384 from (Penning de Vries, Witlage and Kremer, 1978), 0.444 for cellulose (about 45% C in

Type:

Mass of C (under carbohydrate form, g) in 1 g of mstruct

openalea.growthwheat.parameters.VMAX_ROOTS_GROWTH_POSTFLO = 0.00675#

Maximal rate of root structural dry matter growth (µmol C s-1 g-1 MS) post flo at 12°C

openalea.growthwheat.parameters.VMAX_ROOTS_GROWTH_PREFLO = 0.038475#

Maximal rate of root structural dry matter growth (µmol C s-1 g-1 MS) pre flo at 12°C

openalea.growthwheat.parameters.conc_sucrose_offset = 240#

sucrose concentration under which no root growth occurs (µmol of C g-1 mstruct) - same for leaf and internode growth, see elongwheat

openalea.growthwheat.parameters.te = 2160000.0#

end of leaf elongation in automate growth (s at 12°c); fitted from adapted data from Fournier 2005

openalea.growthwheat.parameters.te_IN = 1512000.0#

end of internode elongation in automate growth (s at 12°c) ; fitted from Malvoisin 1984 II