Installing the example data#

The Virtual Ecosystem model package includes example data to run a model. This page provides:

  • a guide to installing the example model data,

  • an introduction to the example model file structure,

  • an overview of the configuration and data files in the example model.

Installing the example model data#

The first step before running the example model is to install the data. You will need to open a terminal (e.g. bash or Powershell) to run the installation command below. The command creates a new directory called ve_example inside the directory you specify:

ve_run --install-example /install/path/
ve_run --install-example C:\install\path\

The following sections describe the sub-directories in the example data and their contents.

Configuration files#

The config directory contains configuration files required to configure simulation runs using the example data. To configure a simulation ve_run needs to be provided with the data configuration, as well as a configuration file for each model you wish to run. All models need to be provided, with the exception of the abiotic model which can be replaced with the abiotic_simple model.

The specific contents of each config file are as follows:

  • The data_config.toml file configures the initial variables to be loaded and sets the paths to the source files providing those variables.

  • The abiotic_config.toml file provides basic configuration needed to setup the abiotic model.

  • The abiotic_simple_config.toml file provides basic configuration needed to setup the abiotic_simple model. If you wish to run the abiotic_simple model, you must ve_run with a path to this config file instead of abiotic_config.toml.

  • The animal_config.toml file provides basic configuration for the animal model to set functional group definitions and cohort data export.

  • The hydrology_config.toml file provides basic configuration needed to setup the abiotic model.

  • The litter_config.toml file provides basic configuration needed to setup the litter model.

  • The plant_config.toml file provides basic configuration for the plants model to set functional group definitions.

  • The soil_config.toml file provides basic configuration for the soil model to set microbial functional group definitions.

The dropdown boxes below reveal the contents of these files, so you can see what the configuration format and example settings look like in practice.

config/data_config.toml
[core.data_output_options]
save_initial_state = true

# Climate data
[[core.data.variable]]
file_path = "../data/example_climate_data.nc"
var_name = "air_temperature_ref"
[[core.data.variable]]
file_path = "../data/example_climate_data.nc"
var_name = "relative_humidity_ref"
[[core.data.variable]]
file_path = "../data/example_climate_data.nc"
var_name = "atmospheric_pressure_ref"
[[core.data.variable]]
file_path = "../data/example_climate_data.nc"
var_name = "precipitation"
[[core.data.variable]]
file_path = "../data/example_climate_data.nc"
var_name = "atmospheric_co2_ref"
[[core.data.variable]]
file_path = "../data/example_climate_data.nc"
var_name = "mean_annual_temperature"
[[core.data.variable]]
file_path = "../data/example_climate_data.nc"
var_name = "wind_speed_ref"
[[core.data.variable]]
file_path = "../data/example_climate_data.nc"
var_name = "downward_longwave_radiation"

# Elevation
[[core.data.variable]]
file_path = "../data/example_elevation_data.nc"
var_name = "elevation"

# Soil
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "pH"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "clay_fraction"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_cnp_pool_lmwc"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_cnp_pool_maom"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_c_pool_bacteria"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_c_pool_saprotrophic_fungi"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_c_pool_arbuscular_mycorrhiza"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_c_pool_ectomycorrhiza"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_cnp_pool_pom"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_cnp_pool_necromass"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_enzyme_pom_bacteria"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_enzyme_maom_bacteria"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_enzyme_pom_fungi"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_enzyme_maom_fungi"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_n_pool_ammonium"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_n_pool_nitrate"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_p_pool_primary"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_p_pool_secondary"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "soil_p_pool_labile"
[[core.data.variable]]
file_path = "../data/example_soil_data.nc"
var_name = "fungal_fruiting_bodies"

# Litter 
[[core.data.variable]]
file_path = "../data/example_litter_data.nc"
var_name = "litter_pool_above_metabolic_cnp"
[[core.data.variable]]
file_path = "../data/example_litter_data.nc"
var_name = "litter_pool_above_structural_cnp"
[[core.data.variable]]
file_path = "../data/example_litter_data.nc"
var_name = "litter_pool_woody_cnp"
[[core.data.variable]]
file_path = "../data/example_litter_data.nc"
var_name = "litter_pool_below_metabolic_cnp"
[[core.data.variable]]
file_path = "../data/example_litter_data.nc"
var_name = "litter_pool_below_structural_cnp"
[[core.data.variable]]
file_path = "../data/example_litter_data.nc"
var_name = "lignin_above_structural"
[[core.data.variable]]
file_path = "../data/example_litter_data.nc"
var_name = "lignin_woody"
[[core.data.variable]]
file_path = "../data/example_litter_data.nc"
var_name = "lignin_below_structural"
config/abiotic_config.toml
[abiotic]
config/abiotic_simple_config.toml
[abiotic_simple]
config/animal_config.toml
# animal_functional_groups.toml

[animal]
functional_group_definitions_path = '../data/animal_functional_groups.csv'

[animal.cohort_data_export]
enabled = true

# select whichever subset of attributes is of interest
cohort_attributes = [
  "time",
  "cohort_id",
  "functional_group",
  "diet_type",
  "development_type",
  "age",
  "individuals",
  "is_alive",
  "is_mature",
  "time_to_maturity",
  "time_since_maturity",
  "location_status",
  "centroid_key",
  "territory_size",
  "territory",
  "occupancy_proportion",
  "largest_mass_achieved",
  "mass_carbon",
  "mass_nitrogen",
  "mass_phosphorus",
  "reproductive_mass_carbon",
  "reproductive_mass_nitrogen",
  "reproductive_mass_phosphorus",
]

float_format = "%0.5f"


[animal.resource_pool_export]
enabled = true
float_format = "%0.5f"
config/hydrology_config.toml
[hydrology]
config/litter_config.toml
[litter]
config/plant_config.toml
[plants]
cohort_data_path = "../data/example_plant_cohorts.csv"
pft_definitions_path = "../data/plant_pfts.csv"

# Plant data
[[core.data.variable]]
file_path = "../data/example_plant_data.nc"
var_name = "plant_pft_propagules"
[[core.data.variable]]
file_path = "../data/example_plant_data.nc"
var_name = "downward_shortwave_radiation"
[[core.data.variable]]
file_path = "../data/example_plant_data.nc"
var_name = "subcanopy_vegetation_biomass"
[[core.data.variable]]
file_path = "../data/example_plant_data.nc"
var_name = "subcanopy_seedbank_biomass"
config/soil_config.toml
# N.B. Values taken from Wang et al. often have to be transformed from the (mg C/g soil)
# units used in that paper into the (kg C/m^3) units we use, by multiplying by an
# estimated bulk density of 1400.0 kg/m^3
[[soil.microbial_group_definition]]
name = "bacteria"
taxonomic_group = "bacteria"
max_uptake_rate_labile_C = 0.04 # Fatichi et al. Global Biogeochemical Cycles (2019)
activation_energy_uptake_rate = 47000 # Mean value from Wang et al. Ecological Applications (2013)
half_sat_labile_C_uptake = 0.364 # Fatichi et al. Global Biogeochemical Cycles (2019)
activation_energy_uptake_saturation = 30000 # Mean value from Wang et al. Ecological Applications (2013)
max_uptake_rate_ammonium = 5e-3 # Complete guess
half_sat_ammonium_uptake = 0.02275 # Complete guess
max_uptake_rate_nitrate = 5e-4 # Complete guess
half_sat_nitrate_uptake = 0.02275 # Complete guess
max_uptake_rate_labile_p = 0.0025 # Complete guess
half_sat_labile_p_uptake = 0.02275 # Complete guess
turnover_rate = 0.005 # Fatichi et al. Global Biogeochemical Cycles (2019)
activation_energy_turnover = 20000 # Mean value from Wang et al. Ecological Applications (2013)
reference_temperature = 12.0
c_n_ratio = 5.2 # Fatichi et al. Global Biogeochemical Cycles (2019)
c_p_ratio = 16 # Fatichi et al. Global Biogeochemical Cycles (2019)
enzyme_production.pom = 0.005 # Complete guess
enzyme_production.maom = 0.005 # Complete guess
reproductive_allocation = 0.0 # Has to be zero by definition
symbiote_nitrogen_uptake_fraction = 0.0 # Has to be zero by definition
symbiote_phosphorus_uptake_fraction = 0.0 # Has to be zero by definition

[[soil.microbial_group_definition]]
name = "saprotrophic_fungi"
taxonomic_group = "fungi"
max_uptake_rate_labile_C = 0.02 # Fatichi et al. Global Biogeochemical Cycles (2019)
activation_energy_uptake_rate = 47000 # Assumed same as bacteria (bad assumption)
half_sat_labile_C_uptake = 0.364 # Assumed same as bacteria (terrible assumption)
activation_energy_uptake_saturation = 30000 # Assumed same as bacteria (terrible assumption)
max_uptake_rate_ammonium = 5e-3 # Assumed same as bacteria (terrible assumption)
half_sat_ammonium_uptake = 0.02275 # Assumed same as bacteria (terrible assumption)
max_uptake_rate_nitrate = 5e-4 # Assumed same as bacteria (terrible assumption)
half_sat_nitrate_uptake = 0.02275 # Assumed same as bacteria (terrible assumption)
max_uptake_rate_labile_p = 0.0025 # Assumed same as bacteria (terrible assumption)
half_sat_labile_p_uptake = 0.0227 # Assumed same as bacteria (terrible assumption)
turnover_rate = 0.002 # Fatichi et al. Global Biogeochemical Cycles (2019)
activation_energy_turnover = 20000 # Assumed same as bacteria (bad assumption)
reference_temperature = 12.0
c_n_ratio = 6.5 # Fatichi et al. Global Biogeochemical Cycles (2019)
c_p_ratio = 40.0 # Fatichi et al. Global Biogeochemical Cycles (2019)
enzyme_production.pom = 0.005 # Complete guess
enzyme_production.maom = 0.005 # Complete guess
reproductive_allocation = 0.1 # Complete guess
symbiote_nitrogen_uptake_fraction = 0.0 # Has to be zero by definition
symbiote_phosphorus_uptake_fraction = 0.0 # Has to be zero by definition

[[soil.microbial_group_definition]]
name = "arbuscular_mycorrhiza"
taxonomic_group = "fungi"
max_uptake_rate_labile_C = 0.02 # Assumed same across fungi
activation_energy_uptake_rate = 47000 # Assumed same as bacteria (bad assumption)
half_sat_labile_C_uptake = 0.364 # Assumed same as bacteria (terrible assumption)
activation_energy_uptake_saturation = 30000 # Assumed same as bacteria (terrible assumption)
max_uptake_rate_ammonium = 5e-3 # Assumed same as bacteria (terrible assumption)
half_sat_ammonium_uptake = 0.02275 # Assumed same as bacteria (terrible assumption)
max_uptake_rate_nitrate = 5e-4 # Assumed same as bacteria (terrible assumption)
half_sat_nitrate_uptake = 0.02275 # Assumed same as bacteria (terrible assumption)
max_uptake_rate_labile_p = 0.0025 # Assumed same as bacteria (terrible assumption)
half_sat_labile_p_uptake = 0.02275 # Assumed same as bacteria (terrible assumption)
turnover_rate = 0.0012 # Fatichi et al. Global Biogeochemical Cycles (2019)
activation_energy_turnover = 20000 # Assumed same as bacteria (bad assumption)
reference_temperature = 12.0
c_n_ratio = 18.0 # Fatichi et al. Global Biogeochemical Cycles (2019)
c_p_ratio = 120.0 # Fatichi et al. Global Biogeochemical Cycles (2019)
enzyme_production.pom = 0.0 # Assume that AMF do no produce enzymes at all (needs to be double checked)
enzyme_production.maom = 0.0 # Assume that AMF do no produce enzymes at all (needs to be double checked)
reproductive_allocation = 0.1 # Complete guess
symbiote_nitrogen_uptake_fraction = 0.2 # Complete guess
symbiote_phosphorus_uptake_fraction = 0.2 # Complete guess

[[soil.microbial_group_definition]]
name = "ectomycorrhiza"
taxonomic_group = "fungi"
max_uptake_rate_labile_C = 0.02 # Assumed same across fungi
activation_energy_uptake_rate = 47000 # Assumed same as bacteria (bad assumption)
half_sat_labile_C_uptake = 0.364 # Assumed same as bacteria (terrible assumption)
activation_energy_uptake_saturation = 30000 # Assumed same as bacteria (bad assumption)
max_uptake_rate_ammonium = 5e-3 # Assumed same as bacteria (terrible assumption)
half_sat_ammonium_uptake = 0.02275 # Assumed same as bacteria (terrible assumption)
max_uptake_rate_nitrate = 5e-4 # Assumed same as bacteria (terrible assumption)
half_sat_nitrate_uptake = 0.02275 # Assumed same as bacteria (terrible assumption)
max_uptake_rate_labile_p = 0.0025 # Assumed same as bacteria (terrible assumption)
half_sat_labile_p_uptake = 0.02275 # Assumed same as bacteria (terrible assumption)
turnover_rate = 0.0012 # Fatichi et al. Global Biogeochemical Cycles (2019)
activation_energy_turnover = 20000 # Assumed same as bacteria (bad assumption)
reference_temperature = 12.0
c_n_ratio = 18.0 # Fatichi et al. Global Biogeochemical Cycles (2019)
c_p_ratio = 120.0 # Fatichi et al. Global Biogeochemical Cycles (2019)
enzyme_production.pom = 0.02 # Complete guess
enzyme_production.maom = 0.02 # Complete guess
reproductive_allocation = 0.1 # Complete guess
symbiote_nitrogen_uptake_fraction = 0.2 # Complete guess
symbiote_phosphorus_uptake_fraction = 0.2 # Complete guess

[[soil.enzyme_class_definition]]
source = "bacteria"
substrate = "pom"
maximum_rate = 60.0 # Mean value (for cellulose) from Wang et al. Ecological Applications (2013)
half_saturation_constant = 70.0  # Mean value from Wang et al. Ecological Applications (2013)
activation_energy_rate = 37000 # Mean value from Wang et al. Ecological Applications (2013)
activation_energy_saturation = 30000 # Mean value from Wang et al. Ecological Applications (2013)
reference_temperature = 12.0
turnover_rate = 2.4e-2 # Mean value from Wang et al. Ecological Applications (2013)
c_n_ratio = 5.2 # Chosen to match the stoichiometry of bacteria
c_p_ratio = 16 # Chosen to match the stoichiometry of bacteria

[[soil.enzyme_class_definition]]
source = "bacteria"
substrate = "maom"
maximum_rate = 24.0 # Mean value from Wang et al. Ecological Applications (2013)
half_saturation_constant = 350.0 # Mean value from Wang et al. Ecological Applications (2013)
activation_energy_rate = 47000 # Mean value from Wang et al. Ecological Applications (2013)
activation_energy_saturation = 30000 # Mean value from Wang et al. Ecological Applications (2013)
reference_temperature = 12.0
turnover_rate = 2.4e-2 # Mean value from Wang et al. Ecological Applications (2013)
c_n_ratio = 5.2 # Chosen to match the stoichiometry of bacteria
c_p_ratio = 16 # Chosen to match the stoichiometry of bacteria

[[soil.enzyme_class_definition]]
source = "fungi"
substrate = "pom"
maximum_rate = 120.0 # Double bacteria case (so that fungal enzymes are "better")
half_saturation_constant = 35.0 # half bacteria case (so that fungal enzymes are "better")
activation_energy_rate = 37000 # Assumed thermal responses are the same as for bacterial enzymes (shaky assumption)
activation_energy_saturation = 30000 # Assumed thermal responses are the same as for bacterial enzymes (shaky assumption)
reference_temperature = 12.0
turnover_rate = 2.4e-2 # Assumed all enzymes have the same turnover rate regardless of source (dubious)
c_n_ratio = 6.5 # Chosen to match the stoichiometry of saprotrophic fungi
c_p_ratio = 40.0 # Chosen to match the stoichiometry of saprotrophic fungi

[[soil.enzyme_class_definition]]
source = "fungi"
substrate = "maom"
maximum_rate = 48.0 # Double bacteria case (so that fungal enzymes are "better")
half_saturation_constant = 175.0 # half bacteria case (so that fungal enzymes are "better")
activation_energy_rate = 47000 # Assumed thermal responses are the same as for bacterial enzymes (shaky assumption)
activation_energy_saturation = 30000 # Assumed thermal responses are the same as for bacterial enzymes (shaky assumption)
reference_temperature = 12.0
turnover_rate = 2.4e-2 # Assumed all enzymes have the same turnover rate regardless of source (dubious)
c_n_ratio = 6.5 # Chosen to match the stoichiometry of saprotrophic fungi
c_p_ratio = 40.0 # Chosen to match the stoichiometry of saprotrophic fungi

Data files#

Warning

All of these data files currently contain artificial data to test the program flow and data handling of the Virtual Ecosystem simulation. Although some values are taken from real source data, this is not yet a meaningful real world example dataset.

The data directory contains files containing the variables required to initialise the model and then iterate over a time series.

Array data#

Most of the data required by the Virtual Ecosystem is organised on well defined axes and so is imported into a central data store. These input data are typically stored in NetCDF format files, which is a format designed around array data on defined axes.

The data in the files then needs to be linked into the variables required by the Virtual Ecosystem model. This is set in the configuration TOML files using the core.data.variable option, which identifies the NetCDF file containing a particular variable. For example:

[[core.data.variable]]
file_path = "../data/example_litter_data.nc"
var_name = "litter_pool_above_metabolic_cnp"

The configuration setting needs to be provided which for every variable required by a given simulation setup - see the example TOML contents above for more examples.

Within the Virtual Ecosystem, the data system is used to load and track these variables. The system also checks that the axes of loaded data are congruent with the following expected data axis definitions from the core model settings.

  • The x, y and cell_id axes all record the spatial location of input cells. All cells have an x and y coordinate, but we also map cells onto a unique cell_id axis to make it easier to calculate values across cells.

  • The time_index axis is used to store variables that vary in time through a simulation - the simulation updates iterate along this axis to change the conditions within the model.

  • The pft axis is used to separate outputs within cells that come from different plant functional types.

The NetCDF files provided in the example data provide a long set of required variables and the sections below show the data variables defined in each of the NetCDF files:

  • the variable name used within model,

  • a short description,

  • the units for the variable, and

  • a list of the axes that apply to the input variable.

Elevation data

This dataset contains a simple digital elevation map for the simulation, required to run the hydrology_model.

Variable

Description

Units

Axes

elevation

Height above sea level

m

(‘x’, ‘y’)

Climate data

The dummy climate data for the example simulation provides reference data for the climatic conditions above the canopy for all time steps in the model, along with climatological data on the mean annual temperature.

Variable

Description

Units

Axes

air_temperature_ref

Air temperature above canopy

°C

(‘cell_id’, ‘time_index’)

relative_humidity_ref

Relative humidity above canopy

(‘cell_id’, ‘time_index’)

precipitation

Total monthly precipitation

mm

(‘cell_id’, ‘time_index’)

atmospheric_pressure_ref

Atmospheric pressure above canopy

kPa

(‘cell_id’, ‘time_index’)

atmospheric_co2_ref

Atmospheric CO2 concentration

ppm

(‘cell_id’, ‘time_index’)

wind_speed_ref

Wind speed above the canopy

m s-1

(‘cell_id’, ‘time_index’)

downward_longwave_radiation

Missing attribute

Missing attribute

(‘cell_id’, ‘time_index’)

mean_annual_temperature

Mean annual temperature

°C

(‘cell_id’, ‘time_index’)

time

Missing attribute

Missing attribute

(‘time_index’,)

Soil data

This dataset contains example values for the various pools used in the soil_model.

Variable

Description

Units

Axes

pH

pH of the soil

pH

(‘x’, ‘y’)

clay_fraction

fraction of the soil which is clay

NA

(‘x’, ‘y’)

soil_cnp_pool_lmwc

Carbon, nitrogen and phosphorus content of the low molecular weight carbon pool

kg m^-3

(‘x’, ‘y’, ‘element’)

soil_cnp_pool_maom

Carbon, nitrogen and phosphorus content of the mineral associated organic matter pool

kg m^-3

(‘x’, ‘y’, ‘element’)

soil_c_pool_bacteria

Bacterial biomass in the soil

kg C m^-3

(‘x’, ‘y’)

soil_c_pool_saprotrophic_fungi

Saprotrophic fungal biomass in the soil

kg C m^-3

(‘x’, ‘y’)

soil_c_pool_arbuscular_mycorrhiza

Arbuscular mycorrhizal biomass in the soil

kg C m^-3

(‘x’, ‘y’)

soil_c_pool_ectomycorrhiza

Ectomycorrhizal biomass in the soil

kg C m^-3

(‘x’, ‘y’)

soil_cnp_pool_pom

Carbon, nitrogen and phosphorus content of the particulate organic matter pool

kg m^-3

(‘x’, ‘y’, ‘element’)

soil_cnp_pool_necromass

Carbon, nitrogen and phosphorus content of the microbial necromass pool

kg m^-3

(‘x’, ‘y’, ‘element’)

soil_enzyme_pom_bacteria

Amount of bacterial POM degrading enzymes

kg C m^-3

(‘x’, ‘y’)

soil_enzyme_maom_bacteria

Amount of bacterial MAOM degrading enzymes

kg C m^-3

(‘x’, ‘y’)

soil_enzyme_pom_fungi

Amount of fungal POM degrading enzymes

kg C m^-3

(‘x’, ‘y’)

soil_enzyme_maom_fungi

Amount of fungal MAOM degrading enzymes

kg C m^-3

(‘x’, ‘y’)

soil_n_pool_ammonium

Size of the soil ammonium pool

kg N m^-3

(‘x’, ‘y’)

soil_n_pool_nitrate

Size of the soil nitrate pool

kg N m^-3

(‘x’, ‘y’)

soil_p_pool_primary

Amount of inorganic phosphorus in a primary mineral form

kg P m^-3

(‘x’, ‘y’)

soil_p_pool_secondary

Amount of inorganic phosphorus in a secondary mineral form

kg P m^-3

(‘x’, ‘y’)

soil_p_pool_labile

Amount of inorganic phosphorus in a labile form

kg P m^-3

(‘x’, ‘y’)

fungal_fruiting_bodies

Abundance of fungal fruiting bodies on the ground.

kg C m^-2

(‘x’, ‘y’)

Litter data

This dataset contains example values for the various litter pools used in the litter_model.

Variable

Description

Units

Axes

litter_pool_above_metabolic_cnp

Size of the above ground metabolic litter pool in carbon, nitrogen and phosphorus units

kg m^-2

(‘x’, ‘y’, ‘element’)

litter_pool_above_structural_cnp

Size of the above ground structural litter pool in carbon, nitrogen and phosphorus units

kg m^-2

(‘x’, ‘y’, ‘element’)

litter_pool_woody_cnp

Size of the woody litter pool in carbon, nitrogen and phosphorus units

kg m^-2

(‘x’, ‘y’, ‘element’)

litter_pool_below_metabolic_cnp

Size of the below ground metabolic litter pool in carbon, nitrogen and phosphorus units

kg m^-2

(‘x’, ‘y’, ‘element’)

litter_pool_below_structural_cnp

Size of the below ground structural litter pool in carbon, nitrogen and phosphorus units

kg m^-2

(‘x’, ‘y’, ‘element’)

lignin_above_structural

Proportion of above-ground structural pool carbon that is lignin

kg lignin C (kg C)^-1

(‘x’, ‘y’)

lignin_woody

Proportion of woody pool carbon that is lignin

kg lignin C (kg C)^-1

(‘x’, ‘y’)

lignin_below_structural

Proportion of below-ground structural pool carbon that is lignin

kg lignin C (kg C)^-1

(‘x’, ‘y’)

Plant data

Missing description

Variable

Description

Units

Axes

plant_pft_propagules

Missing attribute

Missing attribute

(‘cell_id’, ‘pft’)

subcanopy_vegetation_biomass

Missing attribute

Missing attribute

(‘cell_id’,)

subcanopy_seedbank_biomass

Missing attribute

Missing attribute

(‘cell_id’,)

downward_shortwave_radiation

Missing attribute

Missing attribute

(‘cell_id’, ‘time_index’)

time

Missing attribute

Missing attribute

(‘time_index’,)

Other data files#

The data directory also provides some model specific files that are required to initialise a simulation:

Plant functional type definitions#

The plants_pft.csv file is a CSV file that contains a set of plant functional types. It defines a set of named PFTs and then provides a set of traits that define the behaviour of individuals in each PFT.

Initial plant cohort data#

The example_plant_cohorts.csv file is a CSV file that defines the initial plant communities found in each cell. It provides a set of rows identifying size structured cohorts of PFTs occurring in each cell.

Animal functional group definitions#

The animal_functional_groups.csv file is a CSV file that defines the animal functional groups to be used within the simulation. Each row defines a uniquely named functional group along with key traits such as the adult body mass and diet.

Output directory#

The out directory is empty when the example data is installed and is simply used as a location to store model outputs when the model is run.

Additional directories#

The example model data directory also contains:

  • The generation_scripts directory contains Python scripts that are used to generate the contents of the data directory.

    You don’t really need to look at these, but they provide simple recipes for creating or editing the example data files, so might be useful for tinkering with the example inputs. For any real model you want to fit, you will need to prepare actual data inputs using data for your ecosystem.

  • The static_config directory is empty and is used as part of the advanced usage of static models in the Virtual Ecosystem.